removed faad2 source
authortheuni <theuni-nospam-@xbmc.org>
Thu, 17 Feb 2011 16:38:34 +0000 (11:38 -0500)
committertheuni <theuni-nospam-@xbmc.org>
Thu, 17 Feb 2011 17:08:39 +0000 (12:08 -0500)
281 files changed:
lib/libfaad2/AUTHORS [deleted file]
lib/libfaad2/COPYING [deleted file]
lib/libfaad2/ChangeLog [deleted file]
lib/libfaad2/INSTALL [deleted file]
lib/libfaad2/Makefile.am [deleted file]
lib/libfaad2/Makefile.in [deleted file]
lib/libfaad2/NEWS [deleted file]
lib/libfaad2/README [deleted file]
lib/libfaad2/README.linux [deleted file]
lib/libfaad2/TODO [deleted file]
lib/libfaad2/aacDECdrop/Script.rc [deleted file]
lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.dsp [deleted file]
lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.dsw [deleted file]
lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.sln [deleted file]
lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.vcproj [deleted file]
lib/libfaad2/aacDECdrop/audio.c [deleted file]
lib/libfaad2/aacDECdrop/audio.h [deleted file]
lib/libfaad2/aacDECdrop/decode.c [deleted file]
lib/libfaad2/aacDECdrop/decode.h [deleted file]
lib/libfaad2/aacDECdrop/decthread.c [deleted file]
lib/libfaad2/aacDECdrop/decthread.h [deleted file]
lib/libfaad2/aacDECdrop/main.c [deleted file]
lib/libfaad2/aacDECdrop/misc.c [deleted file]
lib/libfaad2/aacDECdrop/misc.h [deleted file]
lib/libfaad2/aacDECdrop/resource.h [deleted file]
lib/libfaad2/aacDECdrop/resource/AAC01.bmp [deleted file]
lib/libfaad2/aacDECdrop/resource/AAC01.ico [deleted file]
lib/libfaad2/aacDECdrop/resource/AAC02.bmp [deleted file]
lib/libfaad2/aacDECdrop/resource/AAC03.bmp [deleted file]
lib/libfaad2/aacDECdrop/resource/AAC04.bmp [deleted file]
lib/libfaad2/aacDECdrop/resource/AAC05.bmp [deleted file]
lib/libfaad2/aacDECdrop/resource/AAC06.bmp [deleted file]
lib/libfaad2/aacDECdrop/resource/AAC07.bmp [deleted file]
lib/libfaad2/aacDECdrop/resource/AAC08.bmp [deleted file]
lib/libfaad2/aacDECdrop/wave_out.c [deleted file]
lib/libfaad2/aacDECdrop/wave_out.h [deleted file]
lib/libfaad2/aclocal.m4 [deleted file]
lib/libfaad2/bootstrap [deleted file]
lib/libfaad2/common/Makefile.am [deleted file]
lib/libfaad2/common/Makefile.in [deleted file]
lib/libfaad2/common/faad/aacinfo.c [deleted file]
lib/libfaad2/common/faad/aacinfo.dsp [deleted file]
lib/libfaad2/common/faad/aacinfo.dsw [deleted file]
lib/libfaad2/common/faad/aacinfo.h [deleted file]
lib/libfaad2/common/faad/aacinfo.sln [deleted file]
lib/libfaad2/common/faad/aacinfo.vcproj [deleted file]
lib/libfaad2/common/faad/filestream.c [deleted file]
lib/libfaad2/common/faad/filestream.h [deleted file]
lib/libfaad2/common/faad/getopt.c [deleted file]
lib/libfaad2/common/faad/getopt.h [deleted file]
lib/libfaad2/common/faad/id3v2tag.c [deleted file]
lib/libfaad2/common/faad/id3v2tag.h [deleted file]
lib/libfaad2/common/mp4ff/Makefile.am [deleted file]
lib/libfaad2/common/mp4ff/Makefile.in [deleted file]
lib/libfaad2/common/mp4ff/drms.c [deleted file]
lib/libfaad2/common/mp4ff/drms.h [deleted file]
lib/libfaad2/common/mp4ff/drmstables.h [deleted file]
lib/libfaad2/common/mp4ff/mp4atom.c [deleted file]
lib/libfaad2/common/mp4ff/mp4ff.c [deleted file]
lib/libfaad2/common/mp4ff/mp4ff.dsp [deleted file]
lib/libfaad2/common/mp4ff/mp4ff.h [deleted file]
lib/libfaad2/common/mp4ff/mp4ff.vcproj [deleted file]
lib/libfaad2/common/mp4ff/mp4ff_int_types.h [deleted file]
lib/libfaad2/common/mp4ff/mp4ffint.h [deleted file]
lib/libfaad2/common/mp4ff/mp4meta.c [deleted file]
lib/libfaad2/common/mp4ff/mp4sample.c [deleted file]
lib/libfaad2/common/mp4ff/mp4tagupdate.c [deleted file]
lib/libfaad2/common/mp4ff/mp4util.c [deleted file]
lib/libfaad2/config.guess [deleted file]
lib/libfaad2/config.h.in [deleted file]
lib/libfaad2/config.sub [deleted file]
lib/libfaad2/configure [deleted file]
lib/libfaad2/configure.in [deleted file]
lib/libfaad2/depcomp [deleted file]
lib/libfaad2/docs/Ahead AAC Decoder library documentation.doc [deleted file]
lib/libfaad2/docs/Ahead AAC Decoder library documentation.pdf [deleted file]
lib/libfaad2/faad2.spec.in [deleted file]
lib/libfaad2/frontend/Makefile.am [deleted file]
lib/libfaad2/frontend/Makefile.in [deleted file]
lib/libfaad2/frontend/audio.c [deleted file]
lib/libfaad2/frontend/audio.h [deleted file]
lib/libfaad2/frontend/faad.dsp [deleted file]
lib/libfaad2/frontend/faad.dsw [deleted file]
lib/libfaad2/frontend/faad.sln [deleted file]
lib/libfaad2/frontend/faad.vcproj [deleted file]
lib/libfaad2/frontend/main.c [deleted file]
lib/libfaad2/in_mpeg4aac.nsi [deleted file]
lib/libfaad2/include/faad.h [deleted file]
lib/libfaad2/include/neaacdec.h [deleted file]
lib/libfaad2/install-sh [deleted file]
lib/libfaad2/libfaad/Makefile.am [deleted file]
lib/libfaad2/libfaad/Makefile.in [deleted file]
lib/libfaad2/libfaad/analysis.h [deleted file]
lib/libfaad2/libfaad/bits.c [deleted file]
lib/libfaad2/libfaad/bits.h [deleted file]
lib/libfaad2/libfaad/cfft.c [deleted file]
lib/libfaad2/libfaad/cfft.h [deleted file]
lib/libfaad2/libfaad/cfft_tab.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_1.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_10.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_11.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_2.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_3.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_4.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_5.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_6.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_7.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_8.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_9.h [deleted file]
lib/libfaad2/libfaad/codebook/hcb_sf.h [deleted file]
lib/libfaad2/libfaad/common.c [deleted file]
lib/libfaad2/libfaad/common.h [deleted file]
lib/libfaad2/libfaad/decoder.c [deleted file]
lib/libfaad2/libfaad/decoder.h [deleted file]
lib/libfaad2/libfaad/drc.c [deleted file]
lib/libfaad2/libfaad/drc.h [deleted file]
lib/libfaad2/libfaad/drm_dec.c [deleted file]
lib/libfaad2/libfaad/drm_dec.h [deleted file]
lib/libfaad2/libfaad/error.c [deleted file]
lib/libfaad2/libfaad/error.h [deleted file]
lib/libfaad2/libfaad/filtbank.c [deleted file]
lib/libfaad2/libfaad/filtbank.h [deleted file]
lib/libfaad2/libfaad/fixed.h [deleted file]
lib/libfaad2/libfaad/hcr.c [deleted file]
lib/libfaad2/libfaad/huffman.c [deleted file]
lib/libfaad2/libfaad/huffman.h [deleted file]
lib/libfaad2/libfaad/ic_predict.c [deleted file]
lib/libfaad2/libfaad/ic_predict.h [deleted file]
lib/libfaad2/libfaad/iq_table.h [deleted file]
lib/libfaad2/libfaad/is.c [deleted file]
lib/libfaad2/libfaad/is.h [deleted file]
lib/libfaad2/libfaad/kbd_win.h [deleted file]
lib/libfaad2/libfaad/libfaad.dsp [deleted file]
lib/libfaad2/libfaad/libfaad.dsw [deleted file]
lib/libfaad2/libfaad/libfaad.sln [deleted file]
lib/libfaad2/libfaad/libfaad.vcproj [deleted file]
lib/libfaad2/libfaad/libfaad2.def [deleted file]
lib/libfaad2/libfaad/libfaad2.vcp [deleted file]
lib/libfaad2/libfaad/libfaad2.vcw [deleted file]
lib/libfaad2/libfaad/libfaad2_dll.dsp [deleted file]
lib/libfaad2/libfaad/libfaad2_dll.dsw [deleted file]
lib/libfaad2/libfaad/libfaad2_dll.sln [deleted file]
lib/libfaad2/libfaad/libfaad2_dll.vcproj [deleted file]
lib/libfaad2/libfaad/libfaad2_dll.vcxproj [deleted file]
lib/libfaad2/libfaad/libfaad2_dll.vcxproj.filters [deleted file]
lib/libfaad2/libfaad/lt_predict.c [deleted file]
lib/libfaad2/libfaad/lt_predict.h [deleted file]
lib/libfaad2/libfaad/mdct.c [deleted file]
lib/libfaad2/libfaad/mdct.h [deleted file]
lib/libfaad2/libfaad/mdct_tab.h [deleted file]
lib/libfaad2/libfaad/mp4.c [deleted file]
lib/libfaad2/libfaad/mp4.h [deleted file]
lib/libfaad2/libfaad/ms.c [deleted file]
lib/libfaad2/libfaad/ms.h [deleted file]
lib/libfaad2/libfaad/output.c [deleted file]
lib/libfaad2/libfaad/output.h [deleted file]
lib/libfaad2/libfaad/pns.c [deleted file]
lib/libfaad2/libfaad/pns.h [deleted file]
lib/libfaad2/libfaad/ps_dec.c [deleted file]
lib/libfaad2/libfaad/ps_dec.h [deleted file]
lib/libfaad2/libfaad/ps_syntax.c [deleted file]
lib/libfaad2/libfaad/ps_tables.h [deleted file]
lib/libfaad2/libfaad/pulse.c [deleted file]
lib/libfaad2/libfaad/pulse.h [deleted file]
lib/libfaad2/libfaad/rvlc.c [deleted file]
lib/libfaad2/libfaad/rvlc.h [deleted file]
lib/libfaad2/libfaad/sbr_dct.c [deleted file]
lib/libfaad2/libfaad/sbr_dct.h [deleted file]
lib/libfaad2/libfaad/sbr_dec.c [deleted file]
lib/libfaad2/libfaad/sbr_dec.h [deleted file]
lib/libfaad2/libfaad/sbr_e_nf.c [deleted file]
lib/libfaad2/libfaad/sbr_e_nf.h [deleted file]
lib/libfaad2/libfaad/sbr_fbt.c [deleted file]
lib/libfaad2/libfaad/sbr_fbt.h [deleted file]
lib/libfaad2/libfaad/sbr_hfadj.c [deleted file]
lib/libfaad2/libfaad/sbr_hfadj.h [deleted file]
lib/libfaad2/libfaad/sbr_hfgen.c [deleted file]
lib/libfaad2/libfaad/sbr_hfgen.h [deleted file]
lib/libfaad2/libfaad/sbr_huff.c [deleted file]
lib/libfaad2/libfaad/sbr_huff.h [deleted file]
lib/libfaad2/libfaad/sbr_noise.h [deleted file]
lib/libfaad2/libfaad/sbr_qmf.c [deleted file]
lib/libfaad2/libfaad/sbr_qmf.h [deleted file]
lib/libfaad2/libfaad/sbr_qmf_c.h [deleted file]
lib/libfaad2/libfaad/sbr_syntax.c [deleted file]
lib/libfaad2/libfaad/sbr_syntax.h [deleted file]
lib/libfaad2/libfaad/sbr_tf_grid.c [deleted file]
lib/libfaad2/libfaad/sbr_tf_grid.h [deleted file]
lib/libfaad2/libfaad/sine_win.h [deleted file]
lib/libfaad2/libfaad/specrec.c [deleted file]
lib/libfaad2/libfaad/specrec.h [deleted file]
lib/libfaad2/libfaad/ssr.c [deleted file]
lib/libfaad2/libfaad/ssr.h [deleted file]
lib/libfaad2/libfaad/ssr_fb.c [deleted file]
lib/libfaad2/libfaad/ssr_fb.h [deleted file]
lib/libfaad2/libfaad/ssr_ipqf.c [deleted file]
lib/libfaad2/libfaad/ssr_ipqf.h [deleted file]
lib/libfaad2/libfaad/ssr_win.h [deleted file]
lib/libfaad2/libfaad/structs.h [deleted file]
lib/libfaad2/libfaad/syntax.c [deleted file]
lib/libfaad2/libfaad/syntax.h [deleted file]
lib/libfaad2/libfaad/tns.c [deleted file]
lib/libfaad2/libfaad/tns.h [deleted file]
lib/libfaad2/ltmain.sh [deleted file]
lib/libfaad2/make-xbmc-lib.sh [deleted file]
lib/libfaad2/missing [deleted file]
lib/libfaad2/plugins/Makefile.am [deleted file]
lib/libfaad2/plugins/Makefile.in [deleted file]
lib/libfaad2/plugins/QCD/QCDFAAD.c [deleted file]
lib/libfaad2/plugins/QCD/QCDFAAD.dsp [deleted file]
lib/libfaad2/plugins/QCD/QCDFAAD.dsw [deleted file]
lib/libfaad2/plugins/QCD/QCDInputDLL.h [deleted file]
lib/libfaad2/plugins/QCD/QCDModDefs.h [deleted file]
lib/libfaad2/plugins/QCD/QCDModInput.h [deleted file]
lib/libfaad2/plugins/QCD/ReadMe.txt [deleted file]
lib/libfaad2/plugins/QCD/logo.bmp [deleted file]
lib/libfaad2/plugins/QCD/plugin_dlg.rc [deleted file]
lib/libfaad2/plugins/QCD/resource.h [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDInputDLL.h [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDModDefs.h [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDModInput.h [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDModTagEditor.h [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDMp4.c [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDMp4.dsp [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDMp4.dsw [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDMp4.rc [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDMp4.sln [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDMp4.vcproj [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDMp4Tag.cpp [deleted file]
lib/libfaad2/plugins/QCDMp4/QCDTagsDLL.h [deleted file]
lib/libfaad2/plugins/QCDMp4/aac2mp4.cpp [deleted file]
lib/libfaad2/plugins/QCDMp4/aac2mp4.h [deleted file]
lib/libfaad2/plugins/QCDMp4/aacinfo.c [deleted file]
lib/libfaad2/plugins/QCDMp4/aacinfo.h [deleted file]
lib/libfaad2/plugins/QCDMp4/config.c [deleted file]
lib/libfaad2/plugins/QCDMp4/config.h [deleted file]
lib/libfaad2/plugins/QCDMp4/mbs.h [deleted file]
lib/libfaad2/plugins/QCDMp4/resource.h [deleted file]
lib/libfaad2/plugins/QCDMp4/utils.c [deleted file]
lib/libfaad2/plugins/QCDMp4/utils.h [deleted file]
lib/libfaad2/plugins/in_mp4/aac2mp4.cpp [deleted file]
lib/libfaad2/plugins/in_mp4/aac2mp4.h [deleted file]
lib/libfaad2/plugins/in_mp4/aacinfo.c [deleted file]
lib/libfaad2/plugins/in_mp4/aacinfo.h [deleted file]
lib/libfaad2/plugins/in_mp4/config.c [deleted file]
lib/libfaad2/plugins/in_mp4/config.h [deleted file]
lib/libfaad2/plugins/in_mp4/in2.h [deleted file]
lib/libfaad2/plugins/in_mp4/in_mp4.c [deleted file]
lib/libfaad2/plugins/in_mp4/in_mp4.dsp [deleted file]
lib/libfaad2/plugins/in_mp4/in_mp4.dsw [deleted file]
lib/libfaad2/plugins/in_mp4/in_mp4.rc [deleted file]
lib/libfaad2/plugins/in_mp4/in_mp4.sln [deleted file]
lib/libfaad2/plugins/in_mp4/in_mp4.vcproj [deleted file]
lib/libfaad2/plugins/in_mp4/mbs.h [deleted file]
lib/libfaad2/plugins/in_mp4/out.h [deleted file]
lib/libfaad2/plugins/in_mp4/resource.h [deleted file]
lib/libfaad2/plugins/in_mp4/utils.c [deleted file]
lib/libfaad2/plugins/in_mp4/utils.h [deleted file]
lib/libfaad2/plugins/mpeg4ip/Makefile.am [deleted file]
lib/libfaad2/plugins/mpeg4ip/Makefile.in [deleted file]
lib/libfaad2/plugins/mpeg4ip/README_WIN32.txt [deleted file]
lib/libfaad2/plugins/mpeg4ip/aa_file.cpp [deleted file]
lib/libfaad2/plugins/mpeg4ip/aa_file.h [deleted file]
lib/libfaad2/plugins/mpeg4ip/faad2.cpp [deleted file]
lib/libfaad2/plugins/mpeg4ip/faad2.h [deleted file]
lib/libfaad2/plugins/mpeg4ip/faad2_plugin.dsp [deleted file]
lib/libfaad2/plugins/mpeg4ip/faad2_plugin.dsw [deleted file]
lib/libfaad2/plugins/xmms/AUTHORS [deleted file]
lib/libfaad2/plugins/xmms/ChangeLog [deleted file]
lib/libfaad2/plugins/xmms/INSTALL [deleted file]
lib/libfaad2/plugins/xmms/Makefile.am [deleted file]
lib/libfaad2/plugins/xmms/Makefile.in [deleted file]
lib/libfaad2/plugins/xmms/NEWS [deleted file]
lib/libfaad2/plugins/xmms/README [deleted file]
lib/libfaad2/plugins/xmms/TODO [deleted file]
lib/libfaad2/plugins/xmms/src/Makefile.am [deleted file]
lib/libfaad2/plugins/xmms/src/Makefile.in [deleted file]
lib/libfaad2/plugins/xmms/src/aac_utils.c [deleted file]
lib/libfaad2/plugins/xmms/src/libmp4.c [deleted file]
lib/libfaad2/plugins/xmms/src/mp4_utils.c [deleted file]

diff --git a/lib/libfaad2/AUTHORS b/lib/libfaad2/AUTHORS
deleted file mode 100644 (file)
index 4f8d766..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-
-M. Bakker (mbakker(at)nero.com)
- - complete library
-
-Alexander Kurpiers (a.kurpiers(at)nt.tu-darmstadt.de)
- - HCR code
- - DRM stuff
- - lot's of bug fixes
-
-Volker Fischer (v.fischer(at)nt.tu-darmstadt.de)
- - DRM code
- - lot's of bug fixes
-
-Gian-Carlo Pascutto (gpascutto(at)nero.com)
- - DRM PS code
- - bugfixes
\ No newline at end of file
diff --git a/lib/libfaad2/COPYING b/lib/libfaad2/COPYING
deleted file mode 100644 (file)
index 920c4e6..0000000
+++ /dev/null
@@ -1,350 +0,0 @@
-
-Any non-GPL usage of this software or parts of this software is strictly
-forbidden.
-
-Commercial non-GPL licensing of this software is possible.
-For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-
-
-
-
-            GNU GENERAL PUBLIC LICENSE
-               Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-\f
-            GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-\f
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-\f
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-\f
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-             END OF TERMS AND CONDITIONS
-\f
-        How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) 19yy  <name of author>
-
-    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
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) 19yy name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/lib/libfaad2/ChangeLog b/lib/libfaad2/ChangeLog
deleted file mode 100644 (file)
index d38ec16..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-21 january 2005  gpascutto(at)nero.com
-    - hcr.c, drm_dec.c: updates for DRM PS standard, error resilience changes
-    - reverted above error resilience changes
-
-8 december 2004  mbakker(at)nero.com
-    - ps_dec.c, ps_syntax.c: PS fixes (OPD huffman table and modulo decoding)
-
-6 december 2004  gpascutto(at)nero.com
-    - drm_dec.c, drm_dec.h, sbr_dec.c: DRM PS Standards update
-
-5 december 2004  gpascutto(at)nero.com
-    - syntax.c, hcr.c, decoder.c, sbr_syntax.c, specrec.c:
-        Improved (DRM) error resilience
-
-18 october 2004  mbakker(at)nero.com
-    - sbr_dec.c, sbr_hfadj.c, common.h: fixed Low Power SBR decoding
-
-18 october 2004  mbakker(at)nero.com
-    - main.c: added "quiet" option to frontend
-
-5 october 2004  mbakker(at)nero.com
-    - decoder.c: skip ID3 tags in library
-
-24 september 2004  mbakker(at)nero.com
-    - syntax.c,h, lt_predict.c, mp4.c, decoder.c:
-         Added stereo DRM support, removed fake scalable support
-
-21 september 2004  mbakker(at)nero.com
-    - specrec.c, bits.h, common.h, error.h, sbr_hfadj.h, structs.h,
-      decoder.c, error.c, hcr.c, sbr_dec.c, sbr_hfadj.c, sbr_syntax.c, syntax.c:
-         Improved error detection and handling.
-
-16 september 2004  mbakker(at)nero.com
-    - specrec.c, bits.h, common.h, error.h, sbr_hfadj.h, structs.h,
-      decoder.c, error.c, hcr.c, sbr_dec.c, sbr_hfadj.c, sbr_syntax.c, syntax.c:
-         Improved error detection and handling.
-
-8 september 2004  mbakker(at)nero.com
-    - specrec.c: fixed compilation without PS
-
-4 september 2004  mbakker(at)nero.com
-    - sbr_fbt.c, sbr_hfgen.c: fixed possible lockup with bad data.
-
-4 september 2004  mbakker(at)nero.com
-    - cfft.c,h, common.c,h, filtbank.c,h, mdct.h, sbr_qmf.h, structs.h, decoder.c, specrec.c:
-         Removed USE_SSE
-
-4 september 2004  gpascutto(at)nero.com
-    - specrec.c: small optimizations to inverse quant
-
-3 september 2004  mbakker(at)nero.com
-    - neaacdec.h, decoder.c, syntax.c, structs.h: added output flag for PS
-
-3 september 2004  mbakker(at)nero.com
-    - common.c: added log2_fix()
-
-28 august 2004  gpascutto(at)nero.com
-    - sbr_syntax.c: bugfix with PS_DEC and DRM_PS defines
-
-21 august 2004  mbakker(at)nero.com
-    - cfft.c, cfft_tab.h: added size 128 fixed point FFT tables for HVXC
-
-18 august 2004  mbakker(at)nero.com
-    - sbr_syntax.c: allow only 1 PS data element per SBR extension data
-
-18 august 2004  gpascutto(at)nero.com
-    - specrec.c: safeguard against PS suddenly going on
-
-4 august 2004   gpascutto(at)nero.com
-    - drm_dec.c: make sure we still copy to the right channel if there's no data
-
-2 august 2004   gpascutto(at)nero.com
-    - hcr.c: bugfix
-
-31 july 2004    gpascutto(at)nero.com
-    - hcr.c: Rewritten and optimized
-
-29 july 2004    mbakker(at)nero.com
-    - /mp4ff/mp4ff.c,mp4atoms.c: support video decoding better
-
-28 july 2004    gpascutto(at)nero.com
-    - drm_dec.*, sbr_dec.c, syntax.c: improved error concealment
-
-27 july 2004    gpascutto(at)nero.com
-    - sbr_dec.c, sbr_syntax.c: duplicate code removal
-
-25 july 2004    gpascutto(at)nero.com
-    - syntax.c: re-enable SBR CRC checking for DRM
-
-22 july 2004    gpascutto(at)nero.com
-    - drm_dec.*: changed delay filter to 2 samples plus fractional delay, as in normal PS AAC
-                (DRM standard is wrong here)
-                
-2 july 2004     mbakker(at)nero.com
-    - huffman.c: Implemented VCB11 error concealment
-
-22 june 2004    mbakker(at)nero.com
-    - ps_dec.c: Removed samplerate dependancy in PS, likely to be updated in corrigendum
-
-15 june 2004    mbakker(at)nero.com
-    - sbr_dct.c,h: Removed huge ugly DCT_4_64...
-    - sbr_qmf.c: replaced DCT_IV in qmf synthesis
-
-13 june 2004    mbakker(at)nero.com
-    - ps_dec.c: Fixed fixed point code, no more cos() and sin() used
-
-7 june 2004     mbakker(at)nero.com
-    - sbr_*.c,h: Overall speedups and improvements in SBR code.
-
-4 june 2004     gpascutto(at)nero.com
-    - drm_dec.c: Fixed a bug in the standard (PAN mixing)
-
-3 june 2004     mbakker(at)nero.com
-    - ps_syntax.c: fixed a bug in one of the huffman tables
-2 june 2004     gpascutto(at)nero.com
-    - drm_dec.c: Fully working fixed point support
-27 may 2004     mbakker(at)nero.com
-    - sbr_qmf.c, sbr_dec.h: Fixed fixed point problems with downsampled QMF
-
-17 may 2004     mbakker(at)nero.com
-    - syntax.c, decoder.c: Added some logging output
-
-17 may 2004     mbakker(at)nero.com
-    - mp4atom.c: Fixed an issue with broken MP4 files
-
-16 may 2004     mbakker(at)nero.com
-    - ps_dec.c: fixed point: forgot to convert a few multiplies
-
-14 may 2004     mbakker(at)nero.com
-    - sbr_*.c: reduced memory usage
-
-6 may 2004      mbakker(at)nero.com
-    - common.c: added some bit tricks and fixed point log2/pow2
-    - sbr_hfadj.c: log2/pow2 based gain calculation for SBR
-    - sbr_hfgen.c: use block exponent instead of stupid search to find max value
-
-5 may 2004      mbakker(at)nero.com
-    - decoder.c, neaacdec.h, decoder.h: added extra decode function to which a
-      buffer can be provided. Instead of the library providing a buffer.
-
-5 may 2004      mbakker(at)nero.com
-    - mdct.c: fixed fixed point MDCT with framesizes 960, 480, 120
-
-2 may 2004      mbakker(at)nero.com
-    - mdct_tab.h, mdct.c: Added tables for MDCT, for increased accuracy in fixed point
-    - specrec.c: Moved quantisation, scaling and reordering to 1 function
-
-20 april 2004   gpacutto(at)nero.com
-    - drm_dec.c, drm_dec.h: Don't do PS processing if no data was read this frame.
-      Fix for bitstread reading bug in specification.
-
-15 april 2004   mbakker(at)nero.com
-    - sbr_hfadj.c: fixed buffer overflow
-    - multiple: fixed some eVC problems
-
-12 april 2004   mbakker(at)nero.com
-    - common.h, ps_dec.c: Updates for PS fixed point, should completely work now
-
-12 april 2004   gpascutto(at)nero.com
-    - drm_dec.c, drm_dec.h: eliminated sqrt and SA mapping/dequantization from DRM PS decoder                
-
diff --git a/lib/libfaad2/INSTALL b/lib/libfaad2/INSTALL
deleted file mode 100644 (file)
index d3c5b40..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-Installation Instructions
-*************************
-
-Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
-2006, 2007 Free Software Foundation, Inc.
-
-This file is free documentation; the Free Software Foundation gives
-unlimited permission to copy, distribute and modify it.
-
-Basic Installation
-==================
-
-Briefly, the shell commands `./configure; make; make install' should
-configure, build, and install this package.  The following
-more-detailed instructions are generic; see the `README' file for
-instructions specific to this package.
-
-   The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation.  It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions.  Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, and a
-file `config.log' containing compiler output (useful mainly for
-debugging `configure').
-
-   It can also use an optional file (typically called `config.cache'
-and enabled with `--cache-file=config.cache' or simply `-C') that saves
-the results of its tests to speed up reconfiguring.  Caching is
-disabled by default to prevent problems with accidental use of stale
-cache files.
-
-   If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release.  If you are using the cache, and at
-some point `config.cache' contains results you don't want to keep, you
-may remove or edit it.
-
-   The file `configure.ac' (or `configure.in') is used to create
-`configure' by a program called `autoconf'.  You need `configure.ac' if
-you want to change it or regenerate `configure' using a newer version
-of `autoconf'.
-
-The simplest way to compile this package is:
-
-  1. `cd' to the directory containing the package's source code and type
-     `./configure' to configure the package for your system.
-
-     Running `configure' might take a while.  While running, it prints
-     some messages telling which features it is checking for.
-
-  2. Type `make' to compile the package.
-
-  3. Optionally, type `make check' to run any self-tests that come with
-     the package.
-
-  4. Type `make install' to install the programs and any data files and
-     documentation.
-
-  5. You can remove the program binaries and object files from the
-     source code directory by typing `make clean'.  To also remove the
-     files that `configure' created (so you can compile the package for
-     a different kind of computer), type `make distclean'.  There is
-     also a `make maintainer-clean' target, but that is intended mainly
-     for the package's developers.  If you use it, you may have to get
-     all sorts of other programs in order to regenerate files that came
-     with the distribution.
-
-  6. Often, you can also type `make uninstall' to remove the installed
-     files again.
-
-Compilers and Options
-=====================
-
-Some systems require unusual options for compilation or linking that the
-`configure' script does not know about.  Run `./configure --help' for
-details on some of the pertinent environment variables.
-
-   You can give `configure' initial values for configuration parameters
-by setting variables in the command line or in the environment.  Here
-is an example:
-
-     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
-
-   *Note Defining Variables::, for more details.
-
-Compiling For Multiple Architectures
-====================================
-
-You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory.  To do this, you can use GNU `make'.  `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script.  `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
-   With a non-GNU `make', it is safer to compile the package for one
-architecture at a time in the source code directory.  After you have
-installed the package for one architecture, use `make distclean' before
-reconfiguring for another architecture.
-
-Installation Names
-==================
-
-By default, `make install' installs the package's commands under
-`/usr/local/bin', include files under `/usr/local/include', etc.  You
-can specify an installation prefix other than `/usr/local' by giving
-`configure' the option `--prefix=PREFIX'.
-
-   You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files.  If you
-pass the option `--exec-prefix=PREFIX' to `configure', the package uses
-PREFIX as the prefix for installing programs and libraries.
-Documentation and other data files still use the regular prefix.
-
-   In addition, if you use an unusual directory layout you can give
-options like `--bindir=DIR' to specify different values for particular
-kinds of files.  Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
-   If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
-Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System).  The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
-   For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
-There may be some features `configure' cannot figure out automatically,
-but needs to determine by the type of machine the package will run on.
-Usually, assuming the package is built to be run on the _same_
-architectures, `configure' can figure that out, but if it prints a
-message saying it cannot guess the machine type, give it the
-`--build=TYPE' option.  TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name which has the form:
-
-     CPU-COMPANY-SYSTEM
-
-where SYSTEM can have one of these forms:
-
-     OS KERNEL-OS
-
-   See the file `config.sub' for the possible values of each field.  If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the machine type.
-
-   If you are _building_ compiler tools for cross-compiling, you should
-use the option `--target=TYPE' to select the type of system they will
-produce code for.
-
-   If you want to _use_ a cross compiler, that generates code for a
-platform different from the build platform, you should specify the
-"host" platform (i.e., that on which the generated programs will
-eventually be run) with `--host=TYPE'.
-
-Sharing Defaults
-================
-
-If you want to set default values for `configure' scripts to share, you
-can create a site shell script called `config.site' that gives default
-values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists.  Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Defining Variables
-==================
-
-Variables not defined in a site shell script can be set in the
-environment passed to `configure'.  However, some packages may run
-configure again during the build, and the customized values of these
-variables may be lost.  In order to avoid this problem, you should set
-them in the `configure' command line, using `VAR=value'.  For example:
-
-     ./configure CC=/usr/local2/bin/gcc
-
-causes the specified `gcc' to be used as the C compiler (unless it is
-overridden in the site shell script).
-
-Unfortunately, this technique does not work for `CONFIG_SHELL' due to
-an Autoconf bug.  Until the bug is fixed you can use this workaround:
-
-     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
-
-`configure' Invocation
-======================
-
-`configure' recognizes the following options to control how it operates.
-
-`--help'
-`-h'
-     Print a summary of the options to `configure', and exit.
-
-`--version'
-`-V'
-     Print the version of Autoconf used to generate the `configure'
-     script, and exit.
-
-`--cache-file=FILE'
-     Enable the cache: use and save the results of the tests in FILE,
-     traditionally `config.cache'.  FILE defaults to `/dev/null' to
-     disable caching.
-
-`--config-cache'
-`-C'
-     Alias for `--cache-file=config.cache'.
-
-`--quiet'
-`--silent'
-`-q'
-     Do not print messages saying which checks are being made.  To
-     suppress all normal output, redirect it to `/dev/null' (any error
-     messages will still be shown).
-
-`--srcdir=DIR'
-     Look for the package's source code in directory DIR.  Usually
-     `configure' can determine that directory automatically.
-
-`configure' also accepts some other, not widely useful, options.  Run
-`configure --help' for more details.
-
diff --git a/lib/libfaad2/Makefile.am b/lib/libfaad2/Makefile.am
deleted file mode 100644 (file)
index cfdd3e5..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-SUBDIRS = libfaad common frontend plugins
-
-EXTRA_DIST = faad2.spec
-
-rpm:   Makefile
-       make dist
-       $(RPMBUILD) -ta $(PACKAGE)-$(VERSION).tar.gz
-       rm $(PACKAGE)-$(VERSION).tar.gz
diff --git a/lib/libfaad2/Makefile.in b/lib/libfaad2/Makefile.in
deleted file mode 100644 (file)
index 184d618..0000000
+++ /dev/null
@@ -1,647 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in $(srcdir)/config.h.in \
-       $(srcdir)/faad2.spec.in $(top_srcdir)/configure AUTHORS \
-       COPYING ChangeLog INSTALL NEWS TODO config.guess config.sub \
-       depcomp install-sh ltmain.sh missing
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
- configure.lineno config.status.lineno
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = faad2.spec
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
-top_distdir = $(distdir)
-am__remove_distdir = \
-  { test ! -d $(distdir) \
-    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
-         && rm -fr $(distdir); }; }
-DIST_ARCHIVES = $(distdir).tar.gz
-GZIP_ENV = --best
-distuninstallcheck_listfiles = find . -type f -print
-distcleancheck_listfiles = find . -type f -print
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-GTK_CONFIG = @GTK_CONFIG@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MP4FF_LIBS = @MP4FF_LIBS@
-NMEDIT = @NMEDIT@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-RPMBUILD = @RPMBUILD@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CONFIG = @XMMS_CONFIG@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-external_mp4v2 = @external_mp4v2@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = libfaad common frontend plugins
-EXTRA_DIST = faad2.spec
-all: config.h
-       $(MAKE) $(AM_MAKEFLAGS) all-recursive
-
-.SUFFIXES:
-am--refresh:
-       @:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
-             cd $(srcdir) && $(AUTOMAKE) --gnu  \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
-       cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           echo ' $(SHELL) ./config.status'; \
-           $(SHELL) ./config.status;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       $(SHELL) ./config.status --recheck
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(srcdir) && $(AUTOCONF)
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
-
-config.h: stamp-h1
-       @if test ! -f $@; then \
-         rm -f stamp-h1; \
-         $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
-       else :; fi
-
-stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
-       @rm -f stamp-h1
-       cd $(top_builddir) && $(SHELL) ./config.status config.h
-$(srcdir)/config.h.in:  $(am__configure_deps) 
-       cd $(top_srcdir) && $(AUTOHEADER)
-       rm -f stamp-h1
-       touch $@
-
-distclean-hdr:
-       -rm -f config.h stamp-h1
-faad2.spec: $(top_builddir)/config.status $(srcdir)/faad2.spec.in
-       cd $(top_builddir) && $(SHELL) ./config.status $@
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-distclean-libtool:
-       -rm -f libtool
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-           $$tags $$unique; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$tags$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$tags $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && cd $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       $(am__remove_distdir)
-       test -d $(distdir) || mkdir $(distdir)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-         else \
-           test -f $(distdir)/$$file \
-           || cp -p $$d/$$file $(distdir)/$$file \
-           || exit 1; \
-         fi; \
-       done
-       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-           distdir=`$(am__cd) $(distdir) && pwd`; \
-           top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-           (cd $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$top_distdir" \
-               distdir="$$distdir/$$subdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-       -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
-         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
-         ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
-       || chmod -R a+r $(distdir)
-dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-dist-bzip2: distdir
-       tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
-       $(am__remove_distdir)
-
-dist-lzma: distdir
-       tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
-       $(am__remove_distdir)
-
-dist-tarZ: distdir
-       tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
-       $(am__remove_distdir)
-
-dist-shar: distdir
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
-       $(am__remove_distdir)
-
-dist-zip: distdir
-       -rm -f $(distdir).zip
-       zip -rq $(distdir).zip $(distdir)
-       $(am__remove_distdir)
-
-dist dist-all: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
-       $(am__remove_distdir)
-
-# This target untars the dist file and tries a VPATH configuration.  Then
-# it guarantees that the distribution is self-contained by making another
-# tarfile.
-distcheck: dist
-       case '$(DIST_ARCHIVES)' in \
-       *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
-       *.tar.bz2*) \
-         bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
-       *.tar.lzma*) \
-         unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
-       *.tar.Z*) \
-         uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
-       *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
-       *.zip*) \
-         unzip $(distdir).zip ;;\
-       esac
-       chmod -R a-w $(distdir); chmod a+w $(distdir)
-       mkdir $(distdir)/_build
-       mkdir $(distdir)/_inst
-       chmod a-w $(distdir)
-       dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
-         && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
-         && cd $(distdir)/_build \
-         && ../configure --srcdir=.. --prefix="$$dc_install_base" \
-           $(DISTCHECK_CONFIGURE_FLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) \
-         && $(MAKE) $(AM_MAKEFLAGS) dvi \
-         && $(MAKE) $(AM_MAKEFLAGS) check \
-         && $(MAKE) $(AM_MAKEFLAGS) install \
-         && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
-         && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
-               distuninstallcheck \
-         && chmod -R a-w "$$dc_install_base" \
-         && ({ \
-              (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
-              && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
-                   distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
-             } || { rm -rf "$$dc_destdir"; exit 1; }) \
-         && rm -rf "$$dc_destdir" \
-         && $(MAKE) $(AM_MAKEFLAGS) dist \
-         && rm -rf $(DIST_ARCHIVES) \
-         && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
-       $(am__remove_distdir)
-       @(echo "$(distdir) archives ready for distribution: "; \
-         list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
-         sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
-distuninstallcheck:
-       @cd $(distuninstallcheck_dir) \
-       && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
-          || { echo "ERROR: files left after uninstall:" ; \
-               if test -n "$(DESTDIR)"; then \
-                 echo "  (check DESTDIR support)"; \
-               fi ; \
-               $(distuninstallcheck_listfiles) ; \
-               exit 1; } >&2
-distcleancheck: distclean
-       @if test '$(srcdir)' = . ; then \
-         echo "ERROR: distcleancheck can only run from a VPATH build" ; \
-         exit 1 ; \
-       fi
-       @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
-         || { echo "ERROR: files left in build directory after distclean:" ; \
-              $(distcleancheck_listfiles) ; \
-              exit 1; } >&2
-check-am: all-am
-check: check-recursive
-all-am: Makefile config.h
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-hdr \
-       distclean-libtool distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-info: install-info-recursive
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-       -rm -rf $(top_srcdir)/autom4te.cache
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-       install-strip
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am am--refresh check check-am clean clean-generic \
-       clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
-       dist-gzip dist-lzma dist-shar dist-tarZ dist-zip distcheck \
-       distclean distclean-generic distclean-hdr distclean-libtool \
-       distclean-tags distcleancheck distdir distuninstallcheck dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-data install-data-am install-dvi install-dvi-am \
-       install-exec install-exec-am install-html install-html-am \
-       install-info install-info-am install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs installdirs-am \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags tags-recursive uninstall uninstall-am
-
-
-rpm:   Makefile
-       make dist
-       $(RPMBUILD) -ta $(PACKAGE)-$(VERSION).tar.gz
-       rm $(PACKAGE)-$(VERSION).tar.gz
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lib/libfaad2/NEWS b/lib/libfaad2/NEWS
deleted file mode 100644 (file)
index a18a522..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-
-6 February 2004
- - FAAD2 version 2.0 released
-
-25 July 2003
- - Release version with SBR decoding
-
diff --git a/lib/libfaad2/README b/lib/libfaad2/README
deleted file mode 100644 (file)
index c50e110..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-
-Freeware Advanced Audio (AAC) Decoder including SBR decoding
-http://www.audiocoding.com/
-
-FAAD2 is a HE, LC, MAIN and LTP profile, MPEG2 and MPEG-4 AAC decoder.
-FAAD2 includes code for SBR (HE AAC) decoding.
-FAAD2 is licensed under the GPL.
-
-
-__________
-COPYRIGHTS
-
-For FAAD2 the following license applies:
-
-******************************************************************************
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-******************************************************************************
-
-
-Please note that the use of this software may require the payment of
-patent royalties. You need to consider this issue before you start
-building derivative works. We are not warranting or indemnifying you in
-any way for patent royalities! YOU ARE SOLELY RESPONSIBLE FOR YOUR OWN
-ACTIONS!
-
-
-______
-PEOPLE
-
-FAAD2 is written by:
- - M. Bakker (mbakker(at)nero.com).
-
-
-_______________
-VERSION HISTORY
-
-Sorry, try building a ChangeLog from CVS.
-
-___________________
-DIRECTORY STRUCTURE
-
-faad2 - top level directory.
-
-   aacDECdrop - windows decoder/player with drag'n'drop functionality
-
-   common - generally used libraries and code.
-
-      faad - general common functions like filereading and streaming
-             as well as getting info from aac files.
-
-      mp4ff - Small MP4 file format library (includes tagging abilities).
-      
-   frontend - command line frontend to the FAAD2 library, also supports
-              MPEG-4 file decoding.
-
-   include - inlude file for the FAAD2 library.
-
-   libfaad - the FAAD2 AAC decoder library including SBR.
-   
-      codebook - Huffman codebooks
-
-   plugins - plugins for all kinds of pograms.
-   
-      in_mp4 - winamp MPEG-4 AAC file input plugin.
-      
-      QCD - Quintessential player AAC plugin.
-
-      QCDMp4 - Quintessential player MP4 plugin.
-
-      xmms - xmms AAC plugin
-
-      mpeg4ip - plugin for the mpeg4ip player
-
diff --git a/lib/libfaad2/README.linux b/lib/libfaad2/README.linux
deleted file mode 100644 (file)
index f30cf4c..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-To compile under Linux.
-----------------------
-just run :
-
-autoreconf -vif
-./configure --with-mp4v2
-make
-sudo make install
-
-
-about the xmms plugin.
----------------------
- The xmms plugin need to be build after the install of the faad project.
-so after you have installed correctly faad (--with-xmms options) you need
-to configure and build the xmms plugin part in the plugins/xmms directory.
-Read the README and INSTALL files into the xmms directory.
diff --git a/lib/libfaad2/TODO b/lib/libfaad2/TODO
deleted file mode 100644 (file)
index e78a925..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-
-- Not much...
diff --git a/lib/libfaad2/aacDECdrop/Script.rc b/lib/libfaad2/aacDECdrop/Script.rc
deleted file mode 100644 (file)
index f1ebe80..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
-IDB_TF01                BITMAP                  "resource/AAC01.bmp"
-IDB_TF02                BITMAP                  "resource/AAC02.bmp"
-IDB_TF03                BITMAP                  "resource/AAC03.bmp"
-IDB_TF04                BITMAP                  "resource/AAC04.bmp"
-IDB_TF05                BITMAP                  "resource/AAC05.bmp"
-IDB_TF06                BITMAP                  "resource/AAC06.bmp"
-IDB_TF07                BITMAP                  "resource/AAC07.bmp"
-IDB_TF08                BITMAP                  "resource/AAC08.bmp"
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    "#include ""winres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Menu
-//
-
-IDR_MENU1 MENU 
-BEGIN
-    POPUP "Menu"
-    BEGIN
-        MENUITEM "&Decoder Options",            IDM_VOLUME
-        MENUITEM "&Stop Decoding",              IDM_STOP_DEC
-        MENUITEM "&About",                      IDM_ABOUT
-        MENUITEM SEPARATOR
-        MENUITEM "&Errors to Log File",         IDM_LOGERR
-        MENUITEM "&Always on Top",              IDM_ONTOP
-        MENUITEM SEPARATOR
-        MENUITEM "E&xit\tAlt+F4",               IDM_QUIT
-    END
-    MENUITEM SEPARATOR
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-IDI_ICON1               ICON                    "resource/AAC01.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_VOLUME DIALOGEX 0, 0, 255, 257
-STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | 
-    WS_SYSMENU
-CAPTION "Decoder Options V1.2"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    GROUPBOX        "Decoding Settings",IDC_STATIC,7,7,241,23
-    CONTROL         "Playback",IDC_PLAYBACK,"Button",BS_AUTORADIOBUTTON | 
-                    WS_GROUP,15,17,55,10
-    CONTROL         "Decode to File",IDC_DECODE,"Button",BS_AUTORADIOBUTTON,
-                    125,17,65,10
-    GROUPBOX        "Output Format Settings",IDC_STATIC,7,31,241,50
-    CONTROL         "Microsoft WAV",IDC_WAV,"Button",BS_AUTORADIOBUTTON | 
-                    WS_GROUP,15,45,65,10
-    CONTROL         "Apple/SGI AIFF",IDC_AIFF,"Button",BS_AUTORADIOBUTTON | 
-                    WS_DISABLED,125,45,65,10
-    CONTROL         "Sun/NeXT AU",IDC_SUNAU,"Button",BS_AUTORADIOBUTTON | 
-                    WS_DISABLED,15,60,65,10
-    CONTROL         "DEC AU",IDC_DECAU,"Button",BS_AUTORADIOBUTTON | 
-                    WS_DISABLED,125,60,65,10
-    GROUPBOX        "Output Sample Format Settings",IDC_STATIC,7,82,241,91
-    CONTROL         "16 bit PCM",IDC_16BIT,"Button",BS_AUTORADIOBUTTON | 
-                    WS_GROUP,15,96,65,10
-    CONTROL         "24 bit PCM",IDC_24BIT,"Button",BS_AUTORADIOBUTTON,125,
-                    96,65,10
-    CONTROL         "32 bit PCM",IDC_32BIT,"Button",BS_AUTORADIOBUTTON,15,
-                    111,65,10
-    CONTROL         "32 bit floats",IDC_FLOATS,"Button",BS_AUTORADIOBUTTON,
-                    125,111,65,10
-    CONTROL         "16 bit PCM - Dithered",IDC_16BIT_DITHER,"Button",
-                    BS_AUTORADIOBUTTON,15,126,83,10
-    CONTROL         "16 bit PCM - Dithered with",IDC_16BIT_L_SHAPE,"Button",
-                    BS_AUTORADIOBUTTON,125,126,98,10
-    CONTROL         "16 bit PCM - Dithered with",IDC_16BIT_M_SHAPE,"Button",
-                    BS_AUTORADIOBUTTON,15,146,98,10
-    CONTROL         "16 bit PCM - Dithered with",IDC_16BIT_H_SHAPE,"Button",
-                    BS_AUTORADIOBUTTON,125,146,98,10
-    LTEXT           "LIGHT Noise Shaping",IDC_STATIC,138,136,70,8
-    LTEXT           "HEAVY Noise Shaping",IDC_STATIC,138,156,73,8
-    LTEXT           "MEDIUM Noise Shaping",IDC_STATIC,28,156,78,8
-    GROUPBOX        "Object Type Settings",IDC_STATIC,7,174,241,50
-    CONTROL         "Main",IDC_MAIN,"Button",BS_AUTORADIOBUTTON | WS_GROUP,
-                    15,188,65,10
-    CONTROL         "Low Complexity",IDC_LC,"Button",BS_AUTORADIOBUTTON,125,
-                    188,65,10
-    CONTROL         "Long Term Prediction",IDC_LTP,"Button",
-                    BS_AUTORADIOBUTTON,15,203,85,10
-    CONTROL         "Low Delay",IDC_LD,"Button",BS_AUTORADIOBUTTON,125,203,
-                    65,10
-    DEFPUSHBUTTON   "Accept",IDC_BUTTON1,102,233,50,16
-END
-
-IDD_ABOUT DIALOGEX 0, 0, 255, 194
-STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | 
-    WS_SYSMENU
-CAPTION "About aacDECdrop V1.22"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    GROUPBOX        "",IDC_STATIC,7,5,241,157
-    CTEXT           "A decoder to decode/playback aac/Mpeg4 files.",
-                    IDC_STATIC,70,13,155,8
-    CTEXT           "Copyright 2002 John Edwards.",IDC_STATIC,70,30,97,8
-    CTEXT           "Utilises standard libfaad2 from Menno Bakker.",
-                    IDC_STATIC,70,46,145,8
-    LTEXT           "This program is free software; you can redistribute it and/or modify it",
-                    IDC_STATIC,13,62,212,8
-    LTEXT           "under the terms of the GNU Public Licence as published by the Free",
-                    IDC_STATIC,13,72,215,8
-    LTEXT           "Software Foundation; either version 2 of the Licence, or (at your option)",
-                    IDC_STATIC,13,82,224,8
-    LTEXT           "any later version.",IDC_STATIC,13,92,54,8
-    LTEXT           "This program is distributed in the hope that it will be useful, but",
-                    IDC_STATIC,13,112,195,8
-    LTEXT           "WITHOUT ANY WARRANTY; without even the implied warranty of",
-                    IDC_STATIC,13,122,213,8
-    LTEXT           "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.",
-                    IDC_STATIC,13,132,218,8
-    LTEXT           "See the GNU General Public Licence for more details.",
-                    IDC_STATIC,13,142,170,8
-    DEFPUSHBUTTON   "OK",IDC_BUTTON6,102,171,50,16
-    CONTROL         112,IDC_STATIC,"Static",SS_BITMAP | SS_SUNKEN,12,13,43,
-                    40
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO 
-BEGIN
-    IDD_VOLUME, DIALOG
-    BEGIN
-        BOTTOMMARGIN, 256
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.dsp b/lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.dsp
deleted file mode 100644 (file)
index 10b490d..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-# Microsoft Developer Studio Project File - Name="aacDECdrop" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Application" 0x0101
-
-CFG=aacDECdrop - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "aacDECdrop.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "aacDECdrop.mak" CFG="aacDECdrop - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "aacDECdrop - Win32 Release" (based on "Win32 (x86) Application")
-!MESSAGE "aacDECdrop - Win32 Debug" (based on "Win32 (x86) Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "aacDECdrop - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /G6 /MD /GX /O2 /I "..\..\include" /I "..\..\common\mp4ff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /QaxK /Qsox- /Qip /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x809 /d "NDEBUG"
-# ADD RSC /l 0x809 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"LIBCMT.lib"
-
-!ELSEIF  "$(CFG)" == "aacDECdrop - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\include" /I "..\..\common\mp4ff" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x809 /d "_DEBUG"
-# ADD RSC /l 0x809 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ws2_32.lib winmm.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "aacDECdrop - Win32 Release"
-# Name "aacDECdrop - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\audio.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\decode.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\decthread.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\main.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\misc.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\wave_out.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\audio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\decode.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\decthread.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\misc.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\resource.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\wave_out.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=..\resource\AAC01.bmp
-# End Source File
-# Begin Source File
-
-SOURCE=..\resource\AAC01.ico
-# End Source File
-# Begin Source File
-
-SOURCE=..\Script.rc
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.dsw b/lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.dsw
deleted file mode 100644 (file)
index 0e1fad7..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "aacDECdrop"=.\aacDECdrop.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libfaad
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name mp4ff
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libfaad"=..\..\libfaad\libfaad.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "mp4ff"=..\..\common\mp4ff\mp4ff.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.sln b/lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.sln
deleted file mode 100644 (file)
index 4b31d46..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual C++ Express 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aacDECdrop", "aacDECdrop.vcproj", "{C23A88D7-4997-4026-BBDB-5B0B2B22FDFF}"
-       ProjectSection(ProjectDependencies) = postProject
-               {F470BB4A-7675-4D6A-B310-41F33AC6F987} = {F470BB4A-7675-4D6A-B310-41F33AC6F987}
-               {BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114} = {BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114}
-       EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfaad", "..\..\libfaad\libfaad.vcproj", "{BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mp4ff", "..\..\common\mp4ff\mp4ff.vcproj", "{F470BB4A-7675-4D6A-B310-41F33AC6F987}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Win32 = Debug|Win32
-               Release|Win32 = Release|Win32
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {C23A88D7-4997-4026-BBDB-5B0B2B22FDFF}.Debug|Win32.ActiveCfg = Debug|Win32
-               {C23A88D7-4997-4026-BBDB-5B0B2B22FDFF}.Debug|Win32.Build.0 = Debug|Win32
-               {C23A88D7-4997-4026-BBDB-5B0B2B22FDFF}.Release|Win32.ActiveCfg = Release|Win32
-               {C23A88D7-4997-4026-BBDB-5B0B2B22FDFF}.Release|Win32.Build.0 = Release|Win32
-               {BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114}.Debug|Win32.ActiveCfg = Debug|Win32
-               {BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114}.Release|Win32.ActiveCfg = Release|Win32
-               {F470BB4A-7675-4D6A-B310-41F33AC6F987}.Debug|Win32.ActiveCfg = Debug|Win32
-               {F470BB4A-7675-4D6A-B310-41F33AC6F987}.Debug|Win32.Build.0 = Debug|Win32
-               {F470BB4A-7675-4D6A-B310-41F33AC6F987}.Release|Win32.ActiveCfg = Release|Win32
-               {F470BB4A-7675-4D6A-B310-41F33AC6F987}.Release|Win32.Build.0 = Release|Win32
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-EndGlobal
diff --git a/lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.vcproj b/lib/libfaad2/aacDECdrop/aacDECdrop/aacDECdrop.vcproj
deleted file mode 100644 (file)
index 6c489ec..0000000
+++ /dev/null
@@ -1,335 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="8,00"
-       Name="aacDECdrop"
-       ProjectGUID="{C23A88D7-4997-4026-BBDB-5B0B2B22FDFF}"
-       RootNamespace="aacDECdrop"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="1"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               MkTypLibCompatible="true"
-                               SuppressStartupBanner="true"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Release/aacDECdrop.tlb"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="2"
-                               InlineFunctionExpansion="1"
-                               EnableIntrinsicFunctions="true"
-                               FavorSizeOrSpeed="1"
-                               AdditionalIncludeDirectories="..\..\include;..\..\common\mp4ff"
-                               PreprocessorDefinitions="WIN32,NDEBUG,_WINDOWS"
-                               StringPooling="true"
-                               RuntimeLibrary="2"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Release/aacDECdrop.pch"
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="2057"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="advapi32.lib shell32.lib gdi32.lib odbc32.lib odbccp32.lib winmm.lib ws2_32.lib user32.lib"
-                               OutputFile=".\Release/aacDECdrop.exe"
-                               LinkIncremental="1"
-                               SuppressStartupBanner="true"
-                               IgnoreDefaultLibraryNames=""
-                               ProgramDatabaseFile=".\Release/aacDECdrop.pdb"
-                               SubSystem="2"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCWebDeploymentTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                               Description="Compressing using UPX..."
-                               CommandLine="upx --best .\release\aacDECdrop.exe"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="1"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               MkTypLibCompatible="true"
-                               SuppressStartupBanner="true"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Debug/aacDECdrop.tlb"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories="..\..\include;..\..\common\mp4ff"
-                               PreprocessorDefinitions="WIN32,_DEBUG,_WINDOWS"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Debug/aacDECdrop.pch"
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               DebugInformationFormat="4"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="2057"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="advapi32.lib shell32.lib gdi32.lib odbc32.lib odbccp32.lib winmm.lib ws2_32.lib user32.lib"
-                               OutputFile=".\Debug/aacDECdrop.exe"
-                               LinkIncremental="2"
-                               SuppressStartupBanner="true"
-                               GenerateDebugInformation="true"
-                               ProgramDatabaseFile=".\Debug/aacDECdrop.pdb"
-                               SubSystem="2"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCWebDeploymentTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-                       >
-                       <File
-                               RelativePath="..\audio.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\decode.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\decthread.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\main.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\misc.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\wave_out.c"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl"
-                       >
-                       <File
-                               RelativePath="..\audio.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\decode.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\decthread.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\misc.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\resource.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\wave_out.h"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Resource Files"
-                       Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-                       >
-                       <File
-                               RelativePath="..\resource\AAC01.bmp"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\resource\AAC01.ico"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\resource\AAC02.bmp"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\resource\AAC03.bmp"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\resource\AAC04.bmp"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\resource\AAC05.bmp"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\resource\AAC06.bmp"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\resource\AAC07.bmp"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\resource\AAC08.bmp"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\Script.rc"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCResourceCompilerTool"
-                                               AdditionalIncludeDirectories="\aac\cvsrep\faad2\aacDECdrop;$(NoInherit)"
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCResourceCompilerTool"
-                                               AdditionalIncludeDirectories="\aac\cvsrep\faad2\aacDECdrop;$(NoInherit)"
-                                       />
-                               </FileConfiguration>
-                       </File>
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/lib/libfaad2/aacDECdrop/audio.c b/lib/libfaad2/aacDECdrop/audio.c
deleted file mode 100644 (file)
index 5e94406..0000000
+++ /dev/null
@@ -1,494 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com
-**
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: audio.c,v 1.11 2004/02/06 10:23:27 menno Exp $
-**/
-
-#ifdef _WIN32
-#include <io.h>
-#endif
-#include <stdlib.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <math.h>
-#include <faad.h>
-#include "audio.h"
-
-
-audio_file *open_audio_file(char *infile, int samplerate, int channels,
-                            int outputFormat, int fileType, long channelMask)
-{
-    audio_file *aufile = malloc(sizeof(audio_file));
-
-    aufile->outputFormat = outputFormat;
-
-    aufile->samplerate = samplerate;
-    aufile->channels = channels;
-    aufile->total_samples = 0;
-    aufile->fileType = fileType;
-    aufile->channelMask = channelMask;
-
-    switch (outputFormat)
-    {
-    case FAAD_FMT_16BIT:
-        aufile->bits_per_sample = 16;
-        break;
-    case FAAD_FMT_24BIT:
-        aufile->bits_per_sample = 24;
-        break;
-    case FAAD_FMT_32BIT:
-    case FAAD_FMT_FLOAT:
-        aufile->bits_per_sample = 32;
-        break;
-    default:
-        if (aufile) free(aufile);
-        return NULL;
-    }
-
-    if(infile[0] == '-')
-    {
-#ifdef _WIN32
-        setmode(fileno(stdout), O_BINARY);
-#endif
-        aufile->sndfile = stdout;
-    } else {
-        aufile->sndfile = fopen(infile, "wb");
-    }
-
-    if (aufile->sndfile == NULL)
-    {
-        if (aufile) free(aufile);
-        return NULL;
-    }
-
-    if (aufile->fileType == OUTPUT_WAV)
-    {
-        if (aufile->channelMask)
-            write_wav_extensible_header(aufile, aufile->channelMask);
-        else
-            write_wav_header(aufile);
-    }
-
-    return aufile;
-}
-
-int write_audio_file(audio_file *aufile, void *sample_buffer, int samples, int offset)
-{
-    char *buf = (char *)sample_buffer;
-    switch (aufile->outputFormat)
-    {
-    case FAAD_FMT_16BIT:
-        return write_audio_16bit(aufile, buf + offset*2, samples);
-    case FAAD_FMT_24BIT:
-        return write_audio_24bit(aufile, buf + offset*4, samples);
-    case FAAD_FMT_32BIT:
-        return write_audio_32bit(aufile, buf + offset*4, samples);
-    case FAAD_FMT_FLOAT:
-        return write_audio_float(aufile, buf + offset*4, samples);
-    default:
-        return 0;
-    }
-
-    return 0;
-}
-
-void close_audio_file(audio_file *aufile)
-{
-    if (aufile->fileType == OUTPUT_WAV)
-    {
-        fseek(aufile->sndfile, 0, SEEK_SET);
-
-        if (aufile->channelMask)
-            write_wav_extensible_header(aufile, aufile->channelMask);
-        else
-            write_wav_header(aufile);
-    }
-
-    fclose(aufile->sndfile);
-
-    if (aufile) free(aufile);
-}
-
-static int write_wav_header(audio_file *aufile)
-{
-    unsigned char header[44];
-    unsigned char* p = header;
-    unsigned int bytes = (aufile->bits_per_sample + 7) / 8;
-    float data_size = (float)bytes * aufile->total_samples;
-    unsigned long word32;
-
-    *p++ = 'R'; *p++ = 'I'; *p++ = 'F'; *p++ = 'F';
-
-    word32 = (data_size + (44 - 8) < (float)MAXWAVESIZE) ?
-        (unsigned long)data_size + (44 - 8)  :  (unsigned long)MAXWAVESIZE;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    *p++ = 'W'; *p++ = 'A'; *p++ = 'V'; *p++ = 'E';
-
-    *p++ = 'f'; *p++ = 'm'; *p++ = 't'; *p++ = ' ';
-
-    *p++ = 0x10; *p++ = 0x00; *p++ = 0x00; *p++ = 0x00;
-
-    if (aufile->outputFormat == FAAD_FMT_FLOAT)
-    {
-        *p++ = 0x03; *p++ = 0x00;
-    } else {
-        *p++ = 0x01; *p++ = 0x00;
-    }
-
-    *p++ = (unsigned char)(aufile->channels >> 0);
-    *p++ = (unsigned char)(aufile->channels >> 8);
-
-    word32 = (unsigned long)(aufile->samplerate + 0.5);
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    word32 = aufile->samplerate * bytes * aufile->channels;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    word32 = bytes * aufile->channels;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 0);
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 8);
-
-    *p++ = 'd'; *p++ = 'a'; *p++ = 't'; *p++ = 'a';
-
-    word32 = data_size < MAXWAVESIZE ?
-        (unsigned long)data_size : (unsigned long)MAXWAVESIZE;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    return fwrite(header, sizeof(header), 1, aufile->sndfile);
-}
-
-static int write_wav_extensible_header(audio_file *aufile, long channelMask)
-{
-    unsigned char header[68];
-    unsigned char* p = header;
-    unsigned int bytes = (aufile->bits_per_sample + 7) / 8;
-    float data_size = (float)bytes * aufile->total_samples;
-    unsigned long word32;
-
-    *p++ = 'R'; *p++ = 'I'; *p++ = 'F'; *p++ = 'F';
-
-    word32 = (data_size + (68 - 8) < (float)MAXWAVESIZE) ?
-        (unsigned long)data_size + (68 - 8)  :  (unsigned long)MAXWAVESIZE;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    *p++ = 'W'; *p++ = 'A'; *p++ = 'V'; *p++ = 'E';
-
-    *p++ = 'f'; *p++ = 'm'; *p++ = 't'; *p++ = ' ';
-
-    *p++ = /*0x10*/0x28; *p++ = 0x00; *p++ = 0x00; *p++ = 0x00;
-
-    /* WAVE_FORMAT_EXTENSIBLE */
-    *p++ = 0xFE; *p++ = 0xFF;
-
-    *p++ = (unsigned char)(aufile->channels >> 0);
-    *p++ = (unsigned char)(aufile->channels >> 8);
-
-    word32 = (unsigned long)(aufile->samplerate + 0.5);
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    word32 = aufile->samplerate * bytes * aufile->channels;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    word32 = bytes * aufile->channels;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 0);
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 8);
-
-    /* cbSize */
-    *p++ = (unsigned char)(22);
-    *p++ = (unsigned char)(0);
-
-    /* WAVEFORMATEXTENSIBLE */
-
-    /* wValidBitsPerSample */
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 0);
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 8);
-
-    /* dwChannelMask */
-    word32 = channelMask;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    /* SubFormat */
-    if (aufile->outputFormat == FAAD_FMT_FLOAT)
-    {
-        /* KSDATAFORMAT_SUBTYPE_IEEE_FLOAT: 00000003-0000-0010-8000-00aa00389b71 */
-        *p++ = 0x03;
-        *p++ = 0x00;
-        *p++ = 0x00;
-        *p++ = 0x00;
-        *p++ = 0x00; *p++ = 0x00; *p++ = 0x10; *p++ = 0x00; *p++ = 0x80; *p++ = 0x00;
-        *p++ = 0x00; *p++ = 0xaa; *p++ = 0x00; *p++ = 0x38; *p++ = 0x9b; *p++ = 0x71;
-    } else {
-        /* KSDATAFORMAT_SUBTYPE_PCM: 00000001-0000-0010-8000-00aa00389b71 */
-        *p++ = 0x01;
-        *p++ = 0x00;
-        *p++ = 0x00;
-        *p++ = 0x00;
-        *p++ = 0x00; *p++ = 0x00; *p++ = 0x10; *p++ = 0x00; *p++ = 0x80; *p++ = 0x00;
-        *p++ = 0x00; *p++ = 0xaa; *p++ = 0x00; *p++ = 0x38; *p++ = 0x9b; *p++ = 0x71;
-    }
-
-    /* end WAVEFORMATEXTENSIBLE */
-
-    *p++ = 'd'; *p++ = 'a'; *p++ = 't'; *p++ = 'a';
-
-    word32 = data_size < MAXWAVESIZE ?
-        (unsigned long)data_size : (unsigned long)MAXWAVESIZE;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    return fwrite(header, sizeof(header), 1, aufile->sndfile);
-}
-
-static int write_audio_16bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples)
-{
-    int ret;
-    unsigned int i;
-    short *sample_buffer16 = (short*)sample_buffer;
-    char *data = malloc(samples*aufile->bits_per_sample*sizeof(char)/8);
-
-    aufile->total_samples += samples;
-
-    if (aufile->channels == 6 && aufile->channelMask)
-    {
-        for (i = 0; i < samples; i += aufile->channels)
-        {
-            short r1, r2, r3, r4, r5, r6;
-            r1 = sample_buffer16[i];
-            r2 = sample_buffer16[i+1];
-            r3 = sample_buffer16[i+2];
-            r4 = sample_buffer16[i+3];
-            r5 = sample_buffer16[i+4];
-            r6 = sample_buffer16[i+5];
-            sample_buffer16[i] = r2;
-            sample_buffer16[i+1] = r3;
-            sample_buffer16[i+2] = r1;
-            sample_buffer16[i+3] = r6;
-            sample_buffer16[i+4] = r4;
-            sample_buffer16[i+5] = r5;
-        }
-    }
-
-    for (i = 0; i < samples; i++)
-    {
-        data[i*2] = (char)(sample_buffer16[i] & 0xFF);
-        data[i*2+1] = (char)((sample_buffer16[i] >> 8) & 0xFF);
-    }
-
-    ret = fwrite(data, samples, aufile->bits_per_sample/8, aufile->sndfile);
-
-    if (data) free(data);
-
-    return ret;
-}
-
-static int write_audio_24bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples)
-{
-    int ret;
-    unsigned int i;
-    long *sample_buffer24 = (long*)sample_buffer;
-    char *data = malloc(samples*aufile->bits_per_sample*sizeof(char)/8);
-
-    aufile->total_samples += samples;
-
-    if (aufile->channels == 6 && aufile->channelMask)
-    {
-        for (i = 0; i < samples; i += aufile->channels)
-        {
-            long r1, r2, r3, r4, r5, r6;
-            r1 = sample_buffer24[i];
-            r2 = sample_buffer24[i+1];
-            r3 = sample_buffer24[i+2];
-            r4 = sample_buffer24[i+3];
-            r5 = sample_buffer24[i+4];
-            r6 = sample_buffer24[i+5];
-            sample_buffer24[i] = r2;
-            sample_buffer24[i+1] = r3;
-            sample_buffer24[i+2] = r1;
-            sample_buffer24[i+3] = r6;
-            sample_buffer24[i+4] = r4;
-            sample_buffer24[i+5] = r5;
-        }
-    }
-
-    for (i = 0; i < samples; i++)
-    {
-        data[i*3] = (char)(sample_buffer24[i] & 0xFF);
-        data[i*3+1] = (char)((sample_buffer24[i] >> 8) & 0xFF);
-        data[i*3+2] = (char)((sample_buffer24[i] >> 16) & 0xFF);
-    }
-
-    ret = fwrite(data, samples, aufile->bits_per_sample/8, aufile->sndfile);
-
-    if (data) free(data);
-
-    return ret;
-}
-
-static int write_audio_32bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples)
-{
-    int ret;
-    unsigned int i;
-    long *sample_buffer32 = (long*)sample_buffer;
-    char *data = malloc(samples*aufile->bits_per_sample*sizeof(char)/8);
-
-    aufile->total_samples += samples;
-
-    if (aufile->channels == 6 && aufile->channelMask)
-    {
-        for (i = 0; i < samples; i += aufile->channels)
-        {
-            long r1, r2, r3, r4, r5, r6;
-            r1 = sample_buffer32[i];
-            r2 = sample_buffer32[i+1];
-            r3 = sample_buffer32[i+2];
-            r4 = sample_buffer32[i+3];
-            r5 = sample_buffer32[i+4];
-            r6 = sample_buffer32[i+5];
-            sample_buffer32[i] = r2;
-            sample_buffer32[i+1] = r3;
-            sample_buffer32[i+2] = r1;
-            sample_buffer32[i+3] = r6;
-            sample_buffer32[i+4] = r4;
-            sample_buffer32[i+5] = r5;
-        }
-    }
-
-    for (i = 0; i < samples; i++)
-    {
-        data[i*4] = (char)(sample_buffer32[i] & 0xFF);
-        data[i*4+1] = (char)((sample_buffer32[i] >> 8) & 0xFF);
-        data[i*4+2] = (char)((sample_buffer32[i] >> 16) & 0xFF);
-        data[i*4+3] = (char)((sample_buffer32[i] >> 24) & 0xFF);
-    }
-
-    ret = fwrite(data, samples, aufile->bits_per_sample/8, aufile->sndfile);
-
-    if (data) free(data);
-
-    return ret;
-}
-
-static int write_audio_float(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples)
-{
-    int ret;
-    unsigned int i;
-    float *sample_buffer_f = (float*)sample_buffer;
-    unsigned char *data = malloc(samples*aufile->bits_per_sample*sizeof(char)/8);
-
-    aufile->total_samples += samples;
-
-    if (aufile->channels == 6 && aufile->channelMask)
-    {
-        for (i = 0; i < samples; i += aufile->channels)
-        {
-            float r1, r2, r3, r4, r5, r6;
-            r1 = sample_buffer_f[i];
-            r2 = sample_buffer_f[i+1];
-            r3 = sample_buffer_f[i+2];
-            r4 = sample_buffer_f[i+3];
-            r5 = sample_buffer_f[i+4];
-            r6 = sample_buffer_f[i+5];
-            sample_buffer_f[i] = r2;
-            sample_buffer_f[i+1] = r3;
-            sample_buffer_f[i+2] = r1;
-            sample_buffer_f[i+3] = r6;
-            sample_buffer_f[i+4] = r4;
-            sample_buffer_f[i+5] = r5;
-        }
-    }
-
-    for (i = 0; i < samples; i++)
-    {
-        int exponent, mantissa, negative = 0 ;
-        float in = sample_buffer_f[i];
-
-        data[i*4] = 0; data[i*4+1] = 0; data[i*4+2] = 0; data[i*4+3] = 0;
-        if (in == 0.0)
-            continue;
-
-        if (in < 0.0)
-        {
-            in *= -1.0;
-            negative = 1;
-        }
-        in = (float)frexp(in, &exponent);
-        exponent += 126;
-        in *= (float)0x1000000;
-        mantissa = (((int)in) & 0x7FFFFF);
-
-        if (negative)
-            data[i*4+3] |= 0x80;
-
-        if (exponent & 0x01)
-            data[i*4+2] |= 0x80;
-
-        data[i*4] = mantissa & 0xFF;
-        data[i*4+1] = (mantissa >> 8) & 0xFF;
-        data[i*4+2] |= (mantissa >> 16) & 0x7F;
-        data[i*4+3] |= (exponent >> 1) & 0x7F;
-    }
-
-    ret = fwrite(data, samples, aufile->bits_per_sample/8, aufile->sndfile);
-
-    if (data) free(data);
-
-    return ret;
-}
diff --git a/lib/libfaad2/aacDECdrop/audio.h b/lib/libfaad2/aacDECdrop/audio.h
deleted file mode 100644 (file)
index 906d503..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2004 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: audio.h,v 1.9 2004/02/06 10:23:27 menno Exp $
-**/
-
-#ifndef AUDIO_H_INCLUDED
-#define AUDIO_H_INCLUDED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MAXWAVESIZE     4294967040LU
-
-#define OUTPUT_WAV 1
-#define OUTPUT_RAW 2
-
-typedef struct
-{
-    int outputFormat;
-    FILE *sndfile;
-    unsigned int fileType;
-    unsigned long samplerate;
-    unsigned int bits_per_sample;
-    unsigned int channels;
-    unsigned long total_samples;
-    long channelMask;
-} audio_file;
-
-audio_file *open_audio_file(char *infile, int samplerate, int channels,
-                            int outputFormat, int fileType, long channelMask);
-int write_audio_file(audio_file *aufile, void *sample_buffer, int samples, int offset);
-void close_audio_file(audio_file *aufile);
-static int write_wav_header(audio_file *aufile);
-static int write_wav_extensible_header(audio_file *aufile, long channelMask);
-static int write_audio_16bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples);
-static int write_audio_24bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples);
-static int write_audio_32bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples);
-static int write_audio_float(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/aacDECdrop/decode.c b/lib/libfaad2/aacDECdrop/decode.c
deleted file mode 100644 (file)
index 4677797..0000000
+++ /dev/null
@@ -1,566 +0,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: decode.c,v 1.16 2004/04/03 19:08:37 menno Exp $
-** $Id: decode.c,v 1.16 2004/04/03 19:08:37 menno Exp $
-**/
-
-#ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#define off_t __int64
-#else
-#include <time.h>
-#endif
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <neaacdec.h>
-#include <mp4ff.h>
-
-#include "audio.h"
-#include "decode.h"
-#include "misc.h"
-#include "wave_out.h"
-
-#ifndef min
-#define min(a,b) ( (a) < (b) ? (a) : (b) )
-#endif
-
-#define MAX_CHANNELS 8 /* make this higher to support files with
-                          more channels */
-
-/* FAAD file buffering routines */
-/* declare buffering variables */
-#define DEC_BUFF_VARS \
-    int fileread, bytesconsumed, k; \
-    int buffercount = 0, buffer_index = 0; \
-    unsigned char *buffer; \
-    unsigned int bytes_in_buffer = 0;
-
-/* initialise buffering */
-#define INIT_BUFF(file) \
-    fseek(file, 0, SEEK_END); \
-    fileread = ftell(file); \
-    fseek(file, 0, SEEK_SET); \
-    buffer = (unsigned char*)malloc(FAAD_MIN_STREAMSIZE*MAX_CHANNELS); \
-    memset(buffer, 0, FAAD_MIN_STREAMSIZE*MAX_CHANNELS); \
-    bytes_in_buffer = fread(buffer, 1, FAAD_MIN_STREAMSIZE*MAX_CHANNELS, file);
-
-/* skip bytes in buffer */
-#define UPDATE_BUFF_SKIP(bytes) \
-    fseek(infile, bytes, SEEK_SET); \
-    buffer_index += bytes; \
-    buffercount = 0; \
-    bytes_in_buffer = fread(buffer, 1, FAAD_MIN_STREAMSIZE*MAX_CHANNELS, infile);
-
-/* update buffer */
-#define UPDATE_BUFF_READ \
-    if (bytesconsumed > 0) { \
-        for (k = 0; k < (FAAD_MIN_STREAMSIZE*MAX_CHANNELS - bytesconsumed); k++) \
-            buffer[k] = buffer[k + bytesconsumed]; \
-        bytes_in_buffer += fread(buffer + (FAAD_MIN_STREAMSIZE*MAX_CHANNELS) - bytesconsumed, 1, bytesconsumed, infile); \
-        bytesconsumed = 0; \
-    }
-
-/* update buffer indices after NeAACDecDecode */
-#define UPDATE_BUFF_IDX(frame) \
-    bytesconsumed += frame.bytesconsumed; \
-    buffer_index += frame.bytesconsumed; \
-    bytes_in_buffer -= frame.bytesconsumed;
-
-/* true if decoding has to stop because of EOF */
-#define IS_FILE_END buffer_index >= fileread
-
-/* end buffering */
-#define END_BUFF if (buffer) free(buffer);
-
-
-
-/* globals */
-char *progName;
-extern int stop_decoding;
-
-int id3v2_tag(unsigned char *buffer)
-{
-    if (strncmp(buffer, "ID3", 3) == 0) {
-        unsigned long tagsize;
-
-        /* high bit is not used */
-        tagsize = (buffer[6] << 21) | (buffer[7] << 14) |
-            (buffer[8] <<  7) | (buffer[9] <<  0);
-
-        tagsize += 10;
-
-        return tagsize;
-    } else {
-        return 0;
-    }
-}
-
-char *file_ext[] =
-{
-    NULL,
-    ".wav",
-    ".aif",
-    ".au",
-    ".au",
-    NULL
-};
-
-/* MicroSoft channel definitions */
-#define SPEAKER_FRONT_LEFT             0x1
-#define SPEAKER_FRONT_RIGHT            0x2
-#define SPEAKER_FRONT_CENTER           0x4
-#define SPEAKER_LOW_FREQUENCY          0x8
-#define SPEAKER_BACK_LEFT              0x10
-#define SPEAKER_BACK_RIGHT             0x20
-#define SPEAKER_FRONT_LEFT_OF_CENTER   0x40
-#define SPEAKER_FRONT_RIGHT_OF_CENTER  0x80
-#define SPEAKER_BACK_CENTER            0x100
-#define SPEAKER_SIDE_LEFT              0x200
-#define SPEAKER_SIDE_RIGHT             0x400
-#define SPEAKER_TOP_CENTER             0x800
-#define SPEAKER_TOP_FRONT_LEFT         0x1000
-#define SPEAKER_TOP_FRONT_CENTER       0x2000
-#define SPEAKER_TOP_FRONT_RIGHT        0x4000
-#define SPEAKER_TOP_BACK_LEFT          0x8000
-#define SPEAKER_TOP_BACK_CENTER        0x10000
-#define SPEAKER_TOP_BACK_RIGHT         0x20000
-#define SPEAKER_RESERVED               0x80000000
-
-long aacChannelConfig2wavexChannelMask(NeAACDecFrameInfo *hInfo)
-{
-    if (hInfo->channels == 6 && hInfo->num_lfe_channels)
-    {
-        return SPEAKER_FRONT_LEFT + SPEAKER_FRONT_RIGHT +
-            SPEAKER_FRONT_CENTER + SPEAKER_LOW_FREQUENCY +
-            SPEAKER_BACK_LEFT + SPEAKER_BACK_RIGHT;
-    } else {
-        return 0;
-    }
-}
-
-int decodeAACfile(char *sndfile, int def_srate, aac_dec_opt *opt)
-{
-    int tagsize;
-    unsigned long samplerate;
-    unsigned char channels;
-    void *sample_buffer;
-
-    FILE *infile;
-
-    audio_file *aufile;
-
-    NeAACDecHandle hDecoder;
-    NeAACDecFrameInfo frameInfo;
-    NeAACDecConfigurationPtr config;
-
-    int first_time = 1;
-
-
-    /* declare variables for buffering */
-    DEC_BUFF_VARS
-
-    infile = fopen(opt->filename, "rb");
-    if (infile == NULL)
-    {
-        /* unable to open file */
-        error_handler("Error opening file: %s\n", opt->filename);
-        return 1;
-    }
-    INIT_BUFF(infile)
-
-    tagsize = id3v2_tag(buffer);
-    if (tagsize)
-    {
-        UPDATE_BUFF_SKIP(tagsize)
-    }
-
-    hDecoder = NeAACDecOpen();
-
-    /* Set the default object type and samplerate */
-    /* This is useful for RAW AAC files */
-    config = NeAACDecGetCurrentConfiguration(hDecoder);
-    if (def_srate)
-        config->defSampleRate = def_srate;
-    config->defObjectType = opt->object_type;
-    config->outputFormat = opt->output_format;
-
-    NeAACDecSetConfiguration(hDecoder, config);
-
-    if ((bytesconsumed = NeAACDecInit(hDecoder, buffer, bytes_in_buffer,
-        &samplerate, &channels)) < 0)
-    {
-        /* If some error initializing occured, skip the file */
-        error_handler("Error initializing decoder library.\n");
-        END_BUFF
-        NeAACDecClose(hDecoder);
-        fclose(infile);
-        return 1;
-    }
-    buffer_index += bytesconsumed;
-
-    do
-    {
-        /* update buffer */
-        UPDATE_BUFF_READ
-
-        sample_buffer = NeAACDecDecode(hDecoder, &frameInfo, buffer, bytes_in_buffer);
-
-        /* update buffer indices */
-        UPDATE_BUFF_IDX(frameInfo)
-
-        if (frameInfo.error > 0)
-        {
-            error_handler("Error: %s\n",
-            NeAACDecGetErrorMessage(frameInfo.error));
-        }
-
-        opt->progress_update((long)fileread, buffer_index);
-
-        /* open the sound file now that the number of channels are known */
-        if (first_time && !frameInfo.error)
-        {
-            if(opt->decode_mode == 0)
-            {
-                if (Set_WIN_Params (INVALID_FILEDESC, samplerate, SAMPLE_SIZE,
-                                frameInfo.channels) < 0)
-                {
-                    error_handler("\nCan't access %s\n", "WAVE OUT");
-                    END_BUFF
-                    NeAACDecClose(hDecoder);
-                    fclose(infile);
-                    return (0);
-                }
-            }
-            else
-            {
-                aufile = open_audio_file(sndfile, samplerate, frameInfo.channels,
-                    opt->output_format, opt->file_type, aacChannelConfig2wavexChannelMask(&frameInfo));
-
-                if (aufile == NULL)
-                {
-                    END_BUFF
-                    NeAACDecClose(hDecoder);
-                    fclose(infile);
-                    return 0;
-                }
-            }
-            first_time = 0;
-        }
-
-        if ((frameInfo.error == 0) && (frameInfo.samples > 0))
-        {
-            if(opt->decode_mode == 0)
-                WIN_Play_Samples((short*)sample_buffer, frameInfo.channels*frameInfo.samples);
-            else
-                write_audio_file(aufile, sample_buffer, frameInfo.samples, 0);
-        }
-
-        if (buffer_index >= fileread)
-            sample_buffer = NULL; /* to make sure it stops now */
-
-        if(stop_decoding)
-            break;
-
-    } while (sample_buffer != NULL);
-
-    NeAACDecClose(hDecoder);
-
-    fclose(infile);
-
-    if(opt->decode_mode == 0)
-        WIN_Audio_close();
-    else
-    {
-        if (!first_time)
-            close_audio_file(aufile);
-    }
-
-    END_BUFF
-
-    return frameInfo.error;
-}
-
-int GetAACTrack(mp4ff_t *infile)
-{
-    /* find AAC track */
-    int i, rc;
-    int numTracks = mp4ff_total_tracks(infile);
-
-    for (i = 0; i < numTracks; i++)
-    {
-        unsigned char *buff = NULL;
-        int buff_size = 0;
-        mp4AudioSpecificConfig mp4ASC;
-
-        mp4ff_get_decoder_config(infile, i, &buff, &buff_size);
-
-        if (buff)
-        {
-            rc = NeAACDecAudioSpecificConfig(buff, buff_size, &mp4ASC);
-            free(buff);
-
-            if (rc < 0)
-                continue;
-            return i;
-        }
-    }
-
-    /* can't decode this */
-    return -1;
-}
-
-unsigned long srates[] =
-{
-    96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000,
-    12000, 11025, 8000
-};
-
-uint32_t read_callback(void *user_data, void *buffer, uint32_t length)
-{
-    return fread(buffer, 1, length, (FILE*)user_data);
-}
-
-uint32_t seek_callback(void *user_data, uint64_t position)
-{
-    return fseek((FILE*)user_data, position, SEEK_SET);
-}
-
-int decodeMP4file(char *sndfile, aac_dec_opt *opt)
-{
-    int track;
-    unsigned long samplerate;
-    unsigned char channels;
-    void *sample_buffer;
-
-    mp4ff_t *infile;
-    FILE *mp4File;
-    int sampleId, numSamples;
-
-    audio_file *aufile;
-
-    NeAACDecHandle hDecoder;
-    NeAACDecFrameInfo frameInfo;
-
-    unsigned char *buffer;
-    int buffer_size;
-
-    int first_time = 1;
-
-    /* initialise the callback structure */
-    mp4ff_callback_t *mp4cb = malloc(sizeof(mp4ff_callback_t));
-
-    mp4File = fopen(opt->filename, "rb");
-    mp4cb->read = read_callback;
-    mp4cb->seek = seek_callback;
-    mp4cb->user_data = mp4File;
-
-    infile = mp4ff_open_read(mp4cb);
-    if (!infile)
-    {
-        /* unable to open file */
-        error_handler("Error opening file: %s\n", opt->filename);
-        return 1;
-    }
-
-    if ((track = GetAACTrack(infile)) < 0)
-    {
-        error_handler("Unable to find correct AAC sound track in the MP4 file.\n");
-        mp4ff_close(infile);
-        free(mp4cb);
-        fclose(mp4File);
-        return 1;
-    }
-
-    buffer = NULL;
-    buffer_size = 0;
-    mp4ff_get_decoder_config(infile, track, &buffer, &buffer_size);
-
-    hDecoder = NeAACDecOpen();
-
-    if(NeAACDecInit2(hDecoder, buffer, buffer_size, &samplerate, &channels) < 0)
-    {
-        /* If some error initializing occured, skip the file */
-        error_handler("Error initializing decoder library.\n");
-        NeAACDecClose(hDecoder);
-        mp4ff_close(infile);
-        free(mp4cb);
-        fclose(mp4File);
-        return 1;
-    }
-    if (buffer)
-        free(buffer);
-
-    numSamples = mp4ff_num_samples(infile, track);
-
-    for (sampleId = 0; sampleId < numSamples; sampleId++)
-    {
-        int rc;
-
-        /* get access unit from MP4 file */
-        buffer = NULL;
-        buffer_size = 0;
-
-        rc = mp4ff_read_sample(infile, track, sampleId, &buffer, &buffer_size);
-        if (rc == 0)
-        {
-            error_handler("Reading from MP4 file failed.\n");
-            NeAACDecClose(hDecoder);
-            mp4ff_close(infile);
-            free(mp4cb);
-            fclose(mp4File);
-            return 1;
-        }
-
-        sample_buffer = NeAACDecDecode(hDecoder, &frameInfo, buffer, buffer_size);
-
-        if (buffer)
-            free(buffer);
-
-        opt->progress_update((long)numSamples, sampleId);
-
-        /* open the sound file now that the number of channels are known */
-        if (first_time && !frameInfo.error)
-        {
-            if(opt->decode_mode == 0)
-            {
-                if (Set_WIN_Params (INVALID_FILEDESC, samplerate, SAMPLE_SIZE,
-                                frameInfo.channels) < 0)
-                {
-                    error_handler("\nCan't access %s\n", "WAVE OUT");
-                    NeAACDecClose(hDecoder);
-                    mp4ff_close(infile);
-                    free(mp4cb);
-                    fclose(mp4File);
-                    return (0);
-                }
-            }
-            else
-            {
-                aufile = open_audio_file(sndfile, samplerate, frameInfo.channels,
-                     opt->output_format, opt->file_type, aacChannelConfig2wavexChannelMask(&frameInfo));
-
-                if (aufile == NULL)
-                {
-                    NeAACDecClose(hDecoder);
-                    mp4ff_close(infile);
-                    free(mp4cb);
-                    fclose(mp4File);
-                    return 0;
-                }
-            }
-            first_time = 0;
-        }
-
-        if ((frameInfo.error == 0) && (frameInfo.samples > 0))
-        {
-            if(opt->decode_mode == 0)
-                WIN_Play_Samples((short*)sample_buffer, frameInfo.channels*frameInfo.samples);
-            else
-                write_audio_file(aufile, sample_buffer, frameInfo.samples, 0);
-        }
-
-        if (frameInfo.error > 0)
-        {
-            error_handler("Error: %s\n",
-            NeAACDecGetErrorMessage(frameInfo.error));
-            break;
-        }
-        if(stop_decoding)
-            break;
-    }
-
-
-    NeAACDecClose(hDecoder);
-
-
-    mp4ff_close(infile);
-    free(mp4cb);
-    fclose(mp4File);
-
-    if(opt->decode_mode == 0)
-        WIN_Audio_close();
-    else
-    {
-        if (!first_time)
-            close_audio_file(aufile);
-    }
-
-    return frameInfo.error;
-}
-
-int str_no_case_comp(char const *str1, char const *str2, unsigned long len)
-{
-    signed int c1 = 0, c2 = 0;
-
-    while (len--)
-    {
-        c1 = tolower(*str1++);
-        c2 = tolower(*str2++);
-
-        if (c1 == 0 || c1 != c2)
-            break;
-    }
-
-    return c1 - c2;
-}
-
-int aac_decode(aac_dec_opt *opt)
-{
-    int result;
-    int def_srate = 0;
-    int outfile_set = 0;
-    int mp4file = 0;
-    char *fnp;
-    char audioFileName[MAX_PATH];
-    unsigned char header[8];
-    FILE *hMP4File;
-
-
-    /* point to the specified file name */
-    strcpy(audioFileName, opt->filename);
-    fnp = (char *)strrchr(audioFileName,'.');
-    if (fnp)
-        fnp[0] = '\0';
-    strcat(audioFileName, file_ext[opt->file_type]);
-
-    mp4file = 0;
-    hMP4File = fopen(opt->filename, "rb");
-    if (!hMP4File)
-    {
-        return 1;
-    }
-    fread(header, 1, 8, hMP4File);
-    fclose(hMP4File);
-    if (header[4] == 'f' && header[5] == 't' && header[6] == 'y' && header[7] == 'p')
-        mp4file = 1;
-
-    if (mp4file)
-    {
-        result = decodeMP4file(audioFileName, opt);
-    }
-    else
-    {
-        result = decodeAACfile(audioFileName, def_srate, opt);
-    }
-
-    return 0;
-}
diff --git a/lib/libfaad2/aacDECdrop/decode.h b/lib/libfaad2/aacDECdrop/decode.h
deleted file mode 100644 (file)
index 5815826..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * function: Header file for aacDECdrop
- *
- * This program is distributed under the GNU General Public License, version 2.
- * A copy of this license is included with this source.
- *
- * Copyright (C) 2002 John Edwards
- */
-
-#ifndef __DECODE_H__
-#define __DECODE_H__
-
-#include <stdio.h>
-
-typedef void (*progress_func)(long totalsamples, long samples);
-typedef void (*error_func)(char *errormessage);
-
-typedef struct
-{
-       progress_func progress_update;
-       error_func error;
-       int decode_mode;
-       int output_format;
-       int file_type;
-       int object_type;
-       char *filename;
-} aac_dec_opt;
-
-
-int aac_decode(aac_dec_opt *opt);
-
-/*
- * Put this here for convenience
- */
-
-typedef struct {
-       char    TitleFormat[32];
-       int     window_x;
-       int     window_y;
-       int     always_on_top;
-       int     logerr;
-       int     decode_mode;
-       int     outputFormat;
-       int     fileType;
-       int     object_type;
-} SettingsAAC;
-
-/*
- * GLOBALS
- */
-
-extern SettingsAAC iniSettings;
-
-
-#endif /* __DECODE_H__ */
diff --git a/lib/libfaad2/aacDECdrop/decthread.c b/lib/libfaad2/aacDECdrop/decthread.c
deleted file mode 100644 (file)
index 5edbf21..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * function: Decoding thread for aacDECdrop
- *
- * This program is distributed under the GNU General Public License, version 2.
- * A copy of this license is included with this source.
- *
- * Copyright (C) 2002 John Edwards
- *
- * last mod: aacDecdrop decoder last updated 2002-03-14
- */
-
-#include <windows.h>
-#include <time.h>
-#include <string.h>
-
-#include "wave_out.h"
-#include "decode.h"
-#include "misc.h"
-
-extern int decoding_done;
-extern int animate;
-extern double file_complete;
-extern int totalfiles;
-extern int numfiles;
-int dec_mode;
-int outputFormat;
-int fileType;
-int object_type;
-extern char* fileName;
-int stop_decoding;
-
-typedef struct enclist_tag {
-       char *filename;
-       struct enclist_tag *next;
-} enclist_t;
-
-enclist_t *head = NULL;
-
-CRITICAL_SECTION mutex;
-
-DWORD WINAPI decode_thread(LPVOID arg);
-
-void decthread_init(void)
-{
-       int thread_id;
-       HANDLE thand;
-
-       numfiles = 0;
-       totalfiles = 0;
-       file_complete = 0.0;
-
-       InitializeCriticalSection(&mutex);
-
-       thand = CreateThread(NULL, 0, decode_thread, NULL, 0, &thread_id);
-       if (thand == NULL) {
-               // something bad happened, might want to deal with that, maybe...
-       }
-}
-
-void decthread_addfile(char *file)
-{
-       char *filename;
-       enclist_t *entry, *node;
-
-       if (file == NULL) return;
-
-       // create entry
-       filename = strdup(file);
-       entry = (enclist_t *)malloc(sizeof(enclist_t));
-
-       entry->filename = filename;
-       entry->next = NULL;
-
-       EnterCriticalSection(&mutex);
-
-       // insert entry
-       if (head == NULL) {
-               head = entry;
-       } else {
-               node = head;
-               while (node->next != NULL)
-                       node = node->next;
-
-               node->next = entry;
-       }
-       numfiles++;
-       totalfiles++;
-
-       LeaveCriticalSection(&mutex);
-}
-
-/*
- * the caller is responsible for deleting the pointer
- */
-
-char *_getfile()
-{
-       char *filename;
-       enclist_t *entry;
-
-       EnterCriticalSection(&mutex);
-
-       if (head == NULL) {
-               LeaveCriticalSection(&mutex);
-               return NULL;
-       }
-
-       // pop entry
-       entry = head;
-       head = head->next;
-
-       filename = entry->filename;
-       free(entry);
-
-       LeaveCriticalSection(&mutex);
-
-       return filename;
-}
-
-void decthread_set_decode_mode(int decode_mode)
-{
-       dec_mode = decode_mode;
-}
-
-void decthread_set_outputFormat(int output_format)
-{
-       outputFormat = output_format;
-}
-
-void decthread_set_fileType(int file_type)
-{
-       fileType = file_type;
-}
-
-void decthread_set_object_type(int object_type)
-{
-       object_type = object_type;
-}
-
-void _error(char *errormessage)
-{
-       // do nothing
-}
-
-void _update(long total, long done)
-{
-       file_complete = (double)done / (double)total;
-}
-
-DWORD WINAPI decode_thread(LPVOID arg)
-{
-       char *in_file;
-
-       while (!decoding_done)
-       {
-               while (in_file = _getfile())
-               {
-                       aac_dec_opt      dec_opts;
-                       animate = 1;
-
-                       if(stop_decoding){
-                               numfiles--;
-                               break;
-                       }
-                       set_filename(in_file);
-
-                       dec_opts.progress_update = _update;
-                       dec_opts.filename = in_file;
-                       dec_opts.decode_mode = dec_mode;
-                       dec_opts.output_format = outputFormat;
-                       dec_opts.file_type = fileType;
-                       dec_opts.object_type = object_type;
-                       fileName = in_file;
-
-                       aac_decode(&dec_opts);
-
-                       numfiles--;
-               } /* Finished this file, loop around to next... */
-
-               file_complete = 0.0;
-               animate = 0;
-               totalfiles = 0;
-               numfiles = 0;
-
-               Sleep(500);
-       } 
-
-       DeleteCriticalSection(&mutex);
-
-       return 0;
-}
-
-/******************************** end of decthread.c ********************************/
-
diff --git a/lib/libfaad2/aacDECdrop/decthread.h b/lib/libfaad2/aacDECdrop/decthread.h
deleted file mode 100644 (file)
index 89ac1bc..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * function: Header file for decthread.c
- *
- * This program is distributed under the GNU General Public License, version 2.
- * A copy of this license is included with this source.
- *
- * Copyright (C) 2002 John Edwards
- */
-#ifndef __DECTHREAD_H__
-#define __DECTHREAD_H__
-
-void decthread_init(void);
-void decthread_addfile(char *file);
-void decthread_set_decode_mode(int decode_mode);
-void decthread_set_outputFormat(int output_format);
-void decthread_set_fileType(int file_type);
-void decthread_set_object_type(int object_type);
-
-#endif  /* __DECTHREAD_H__ */
diff --git a/lib/libfaad2/aacDECdrop/main.c b/lib/libfaad2/aacDECdrop/main.c
deleted file mode 100644 (file)
index de3638b..0000000
+++ /dev/null
@@ -1,678 +0,0 @@
-/*
- * function: Main control program for aacDECdrop
- *
- * This program is distributed under the GNU General Public License, version 2.
- * A copy of this license is included with this source.
- *
- * Copyright (C) 2002 John Edwards
- *
- * last mod: aacDECdrop decoder last updated 2002-03-14
- */
-
-#include <windows.h>
-#include <shellapi.h>
-#include <string.h>
-#include <stdio.h>
-#include <commctrl.h>
-
-#include "resource.h"
-#include "decthread.h"
-#include "decode.h"
-#include "misc.h"
-
-#define LOSHORT(l)           ((SHORT)(l))
-#define HISHORT(l)           ((SHORT)(((DWORD)(l) >> 16) & 0xFFFF))
-
-#define INI_FILE "aacDECdrop.ini"
-
-#define CREATEFONT(sz) \
-       CreateFont((sz), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
-               VARIABLE_PITCH | FF_SWISS, "")
-   
-HANDLE event = NULL;
-int width = 130, height = 130;
-RECT bar1, bar2, vbrBR;
-int prog1 = 0, prog2 = 0;
-int moving = 0;
-POINT pt;
-HINSTANCE hinst;
-int frame = 0;
-HBITMAP hbm[12], temp;
-HMENU menu;
-int decoding_done = 0;
-int stop_decoding = 0;
-double file_complete;
-int totalfiles;
-int numfiles;
-HWND g_hwnd;
-HWND qcwnd;
-HFONT font2;
-char *fileName;
-
-SettingsAAC     iniSettings;            // iniSettings holds the parameters for the aacDECdrop configuration
-
-int animate = 0;
-
-LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam);
-
-BOOL CALLBACK QCProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam) ;
-
-
-/*
- *  Write the .ini file using the current aacDECdrop settings
- */
-
-int
-WriteIniFile ( const char* Filename )
-{
-       FILE* fp;
-
-       if ( (fp = fopen (Filename, "w")) == NULL )
-               return EOF;                             // could not open file
-
-       fprintf (fp, "[aacDECdrop]\n");
-       fprintf (fp, "Window_X=%i\n"          , iniSettings.window_x     );
-       fprintf (fp, "Window_Y=%i\n"          , iniSettings.window_y     );
-       fprintf (fp, "Always_on_top=%i\n"     , iniSettings.always_on_top);
-       fprintf (fp, "Logerr=%i\n"            , iniSettings.logerr       );
-       fprintf (fp, "DecodeMode=%i\n"        , iniSettings.decode_mode  );
-       fprintf (fp, "OutputFormat=%i\n"      , iniSettings.outputFormat );
-       fprintf (fp, "FileType=%i\n"          , iniSettings.fileType     );
-       fprintf (fp, "ObjectType=%i\n"        , iniSettings.object_type  );
-       return fclose (fp);
-}
-
-/*
- * Read the .ini file and set the aacDECdrop settings
- */
-
-int
-ReadIniFile ( FILE* fp )
-{
-       char  buff [256];
-       int   val;
-
-       rewind ( fp );
-       fgets ( buff, sizeof buff, fp );
-
-       if ( 0 != memcmp ( buff, "[aacDECdrop]", 12 ) )
-               return EOF;
-
-       while ( fgets ( buff, sizeof buff, fp ) != NULL ) {
-               if      ( 1 == sscanf ( buff, "Window_X=%d"     , &val ) )  iniSettings.window_x      = val;
-               else if ( 1 == sscanf ( buff, "Window_Y=%d"     , &val ) )  iniSettings.window_y      = val;
-               else if ( 1 == sscanf ( buff, "Always_on_top=%d", &val ) )  iniSettings.always_on_top = val;
-               else if ( 1 == sscanf ( buff, "Logerr=%d"       , &val ) )  iniSettings.logerr        = val;
-               else if ( 1 == sscanf ( buff, "DecodeMode=%d"   , &val ) )  iniSettings.decode_mode   = val;
-               else if ( 1 == sscanf ( buff, "OutputFormat=%d" , &val ) )  iniSettings.outputFormat  = val;
-               else if ( 1 == sscanf ( buff, "FileType=%d"     , &val ) )  iniSettings.fileType      = val;
-               else if ( 1 == sscanf ( buff, "ObjectType=%d"   , &val ) )  iniSettings.object_type   = val;
-       }
-
-       return 0;
-}
-
-
-/*
- * Get aacDECdrop settings at startup, writes .ini file, if not present
- */
-
-void
-GetAACdecSettings ( void )
-{
-       FILE*  fp = NULL;
-       char   PathAndName [] = {INI_FILE};
-
-       // set default values
-       iniSettings.window_x      =   64;        // default box position (x co-ord)
-       iniSettings.window_y      =   64;        // default box position (y co-ord)
-       iniSettings.always_on_top =    8;        // default = on
-       iniSettings.logerr        =    0;        // default = off
-       iniSettings.decode_mode   =    1;        // default = 1 (decode to file)
-       iniSettings.outputFormat  =    1;        // default = 1 (16 bit PCM)
-       iniSettings.fileType      =    1;        // default = 1 (Microsoft WAV)
-       iniSettings.object_type   =    1;        // default = 1 (Low Complexity)
-
-       // Read INI_FILE
-       if ( (fp = fopen (PathAndName, "r")) == NULL ) {    // file does not exist: write it!
-               WriteIniFile ( PathAndName );
-       }
-       else {                                              // file does exist: read it!
-               ReadIniFile (fp);
-               fclose (fp);
-       }
-
-       return;
-}
-
-void set_always_on_top(HWND hwnd, int v)
-{
-       CheckMenuItem(menu, IDM_ONTOP, v ? MF_CHECKED : MF_UNCHECKED);
-       SetWindowPos(hwnd, v ? HWND_TOPMOST : HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOSIZE | SWP_SHOWWINDOW | SWP_NOMOVE);
-       iniSettings.always_on_top = v;
-}
-
-void set_logerr(HWND hwnd, int v)
-{
-       CheckMenuItem(menu, IDM_LOGERR, v ? MF_CHECKED : MF_UNCHECKED);
-       iniSettings.logerr = v;
-       set_use_dialogs(v);
-}
-
-void set_decode_mode(int v)
-{
-       decthread_set_decode_mode(v);
-       iniSettings.decode_mode = v;
-}
-
-void set_outputFormat(int v)
-{
-       decthread_set_outputFormat(v);
-       iniSettings.outputFormat = v;
-}
-
-void set_fileType(int v)
-{
-       decthread_set_fileType(v);
-       iniSettings.fileType = v;
-}
-
-void set_object_type(int v)
-{
-       decthread_set_object_type(v);
-       iniSettings.object_type = v;
-}
-
-int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
-{
-       static char szAppName[] = "aacDECdrop";
-       HWND hwnd;
-       MSG msg;
-       WNDCLASS wndclass;
-       const int width = 130;
-       const int height = 130;
-       int x;
-       int y;
-
-       hinst = hInstance;
-
-       wndclass.style = CS_HREDRAW | CS_VREDRAW;
-       wndclass.lpfnWndProc = WndProc;
-       wndclass.cbClsExtra = 0;
-       wndclass.cbWndExtra = 0;
-       wndclass.hInstance = hInstance;
-       wndclass.hIcon = LoadIcon(hinst, MAKEINTRESOURCE(IDI_ICON1));
-       wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
-       wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
-       wndclass.lpszMenuName = NULL;
-       wndclass.lpszClassName = szAppName;
-
-       RegisterClass(&wndclass);
-
-       GetAACdecSettings();
-
-       x = max(min(iniSettings.window_x, GetSystemMetrics(SM_CXSCREEN) - width), 0);
-       y = max(min(iniSettings.window_y, GetSystemMetrics(SM_CYSCREEN) - height), 0);
-
-       hwnd = CreateWindow(szAppName, "aacDECdrop", WS_POPUP | WS_DLGFRAME, x, y,
-       width, height, NULL, NULL, hInstance, NULL);
-
-       g_hwnd = hwnd;
-
-       ShowWindow(hwnd, iCmdShow);
-       UpdateWindow(hwnd);
-
-       font2 = CREATEFONT(10);
-
-       SetTimer(hwnd, 1, 80, NULL);
-
-       set_always_on_top(hwnd, iniSettings.always_on_top);
-       set_logerr(hwnd, iniSettings.logerr);
-       set_decode_mode(iniSettings.decode_mode);
-       set_outputFormat(iniSettings.outputFormat);
-       set_fileType(iniSettings.fileType);
-       set_object_type(iniSettings.object_type);
-       
-       for (frame = 0; frame < 8; frame++)
-               hbm[frame] = LoadImage(hinst, MAKEINTRESOURCE(IDB_TF01 + frame), IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION);
-       frame = 0;
-
-       while (GetMessage(&msg, NULL, 0, 0))
-       {
-               TranslateMessage(&msg);
-               DispatchMessage(&msg);
-       }
-
-       for (frame = 0; frame < 8; frame++) 
-               DeleteObject(hbm[frame]);
-
-       return msg.wParam;
-}
-
-void HandleDrag(HWND hwnd, HDROP hDrop)
-{
-       int cFiles, i;
-       char szFile[MAX_PATH];
-       char *ext;
-       int flag = 0;
-
-       cFiles = DragQueryFile(hDrop, 0xFFFFFFFF, NULL, 0);
-       for (i = 0; i < cFiles; i++)
-       {
-               DragQueryFile(hDrop, i, szFile, sizeof(szFile));
-
-               if (ext = strrchr(szFile, '.'))
-               {
-                       if (stricmp(ext, ".aac") == 0 || stricmp(ext, ".mp4") == 0 ||
-                stricmp(ext, ".m4a") == 0 || stricmp(ext, ".m4p") == 0)
-                       {
-                               flag = 1;
-                               decthread_addfile(szFile);
-                               stop_decoding = 0;
-                       }
-               }
-       }
-
-       DragFinish(hDrop);
-
-       if (flag)
-               SetEvent(event);
-}
-
-LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
-{
-       HDC hdc, hmem;
-       static HDC offscreen;
-       PAINTSTRUCT ps;
-       RECT rect, rect2;
-       BITMAP bm;
-       POINT point;
-       static POINT start;
-       static int dragging = 0;
-       HDC desktop;
-       HBITMAP hbitmap;
-       HANDLE hdrop;
-       HFONT dfltFont;
-       int dfltBGMode;
-       double percomp;
-
-       switch (message)
-       {
-               case WM_CREATE:
-                       menu = LoadMenu(hinst, MAKEINTRESOURCE(IDR_MENU1));
-                       menu = GetSubMenu(menu, 0);
-
-                       offscreen = CreateCompatibleDC(NULL);
-                       desktop = GetDC(GetDesktopWindow());
-                       hbitmap = CreateCompatibleBitmap(desktop, 200, 200);
-                       ReleaseDC(GetDesktopWindow(), desktop);
-                       SelectObject(offscreen, hbitmap);
-
-                       // Start the engines
-                       decthread_init();
-
-                       // We accept drag&drop
-                       DragAcceptFiles(hwnd, TRUE);
-                       return 0;
-
-               case WM_PAINT:
-                       hdc = BeginPaint(hwnd, &ps);
-                       GetClientRect(hwnd, &rect);
-                       width = rect.right + 1;
-                       height = rect.bottom + 1;
-
-                       FillRect(offscreen, &rect, (HBRUSH)GetStockObject(WHITE_BRUSH));
-                       DrawText(offscreen, "Drop Files Here", -1, &rect, DT_SINGLELINE | DT_CENTER);
-                       SetRect(&rect2, 0, height - 110, width, height - 25);
-                       DrawText(offscreen, "For Decoding", -1, &rect2, DT_SINGLELINE | DT_CENTER);
-
-                       hmem = CreateCompatibleDC(offscreen);
-                       SelectObject(hmem, hbm[frame]);
-                       GetObject(hbm[frame], sizeof(BITMAP), &bm);
-                       BitBlt(offscreen, width / 2 - 33, height / 2 - 31, bm.bmWidth, bm.bmHeight, hmem, 0, 0, SRCCOPY);
-                       DeleteDC(hmem);
-
-                       percomp = ((double)(totalfiles - numfiles) + 1 - (1 - file_complete)) / (double)totalfiles;
-
-                       SetRect(&vbrBR, 0, height - 35, width, height - 19);
-
-                       dfltBGMode = SetBkMode(offscreen, TRANSPARENT);
-                       dfltFont = SelectObject(offscreen, font2);
-
-                       SetRect(&bar1, 0, height - 23, (int)(file_complete * width), height - 13);
-                       SetRect(&bar2, 0, height - 12, (int)(percomp * width), height - 2);
-
-                       FillRect(offscreen, &bar1, (HBRUSH)GetStockObject(LTGRAY_BRUSH));
-                       FillRect(offscreen, &bar2, (HBRUSH)GetStockObject(DKGRAY_BRUSH));
-
-                       if (fileName)
-                       {
-                               char* sep;
-                               char  fileCaption[80];
-
-                               if ((sep = strrchr(fileName, '\\')) != 0)
-                                       fileName = sep+1;
-
-                               (void) strcpy(fileCaption, "   ");
-                               (void) strcat(fileCaption, fileName);
-
-                               DrawText(offscreen, fileCaption, -1, &bar1, DT_SINGLELINE | DT_LEFT);
-                       }
-
-                       SelectObject(offscreen, dfltFont);
-                       SetBkMode(offscreen, dfltBGMode);
-
-                       BitBlt(hdc, 0, 0, width, height, offscreen, 0, 0, SRCCOPY);
-
-                       EndPaint(hwnd, &ps);
-
-                       return DefWindowProc(hwnd, message, wParam, lParam);
-                       //return 0;
-
-               case WM_TIMER:
-                       if (animate || frame)
-                       {
-                               frame++;
-                               if (frame > 7) 
-                                       frame -= 8;
-                       }
-                       else
-                       {
-                               frame = 0;
-                       }
-                       GetClientRect(hwnd, &rect);
-                       InvalidateRect(hwnd, &rect, FALSE);
-                       return 0;
-
-               case WM_LBUTTONDOWN:
-                       start.x = LOWORD(lParam);
-                       start.y = HIWORD(lParam);
-                       ClientToScreen(hwnd, &start);
-                       GetWindowRect(hwnd, &rect);
-                       start.x -= rect.left;
-                       start.y -= rect.top;
-                       dragging = 1;
-                       SetCapture(hwnd);
-                       return 0;
-
-               case WM_LBUTTONUP:
-                       if (dragging)
-                       {
-                               dragging = 0;
-                               ReleaseCapture();
-                       }
-                       return 0;
-
-               case WM_MOUSEMOVE:
-                       if (dragging)
-                       {
-                               point.x = LOSHORT(lParam);
-                               point.y = HISHORT(lParam);
-
-                               /* lParam can contain negative coordinates !
-                                * point.x = LOWORD(lParam);
-                                * point.y = HIWORD(lParam);
-                                */
-
-                               ClientToScreen(hwnd, &point);
-                               SetWindowPos(hwnd, 0, point.x - start.x, point.y - start.y, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_SHOWWINDOW);
-                               iniSettings.window_x = point.x - start.x;
-                               iniSettings.window_y = point.y - start.y;
-                       }
-                       return 0;
-
-               case WM_CAPTURECHANGED:
-                       if (dragging)
-                       {
-                               dragging = 0;
-                               ReleaseCapture();
-                       }
-                       return 0;
-
-               case WM_RBUTTONUP:
-                       point.x = LOWORD(lParam);
-                       point.y = HIWORD(lParam);
-                       ClientToScreen(hwnd, &point);
-                       TrackPopupMenu(menu, TPM_RIGHTBUTTON, point.x, point.y, 0, hwnd, NULL);
-                       return 0;
-
-               case WM_COMMAND:
-                       switch (LOWORD(wParam)) 
-                       {
-                               case IDM_QUIT:
-                                       WriteIniFile(INI_FILE);
-                                       decoding_done = 1;
-                                       PostQuitMessage(0);
-                                       break;
-                               case IDM_ONTOP:
-                                       set_always_on_top(hwnd, ~GetMenuState(menu, LOWORD(wParam), MF_BYCOMMAND) & MF_CHECKED);
-                                       break;  
-                               case IDM_LOGERR:
-                                       set_logerr(hwnd, ~GetMenuState(menu, LOWORD(wParam), MF_BYCOMMAND) & MF_CHECKED);
-                                       break;
-                               case IDM_STOP_DEC:
-                               {
-                                       int v = ~GetMenuState(menu, LOWORD(wParam), MF_BYCOMMAND) & MF_CHECKED;
-                                       if(v == 8)
-                                               stop_decoding = 1;
-                                       break;
-                               }
-                               case IDM_VOLUME:
-                               {
-                                       int value = 
-                                       DialogBox(
-                                       hinst,  
-                                       MAKEINTRESOURCE(IDD_VOLUME),   
-                                       hwnd, QCProc);
-
-                                       if (value == -2)
-                                               break;
-                                       break;
-                               }
-                               case IDM_ABOUT:
-                               {
-                                       int value = DialogBox(hinst, MAKEINTRESOURCE(IDD_ABOUT), hwnd, QCProc);
-                                       if (value == -7)
-                                               break;
-                                       break;
-                               }
-
-                       } // LOWORD(wParam)
-                       return 0;
-
-               case WM_DROPFILES:
-                       hdrop = (HANDLE)wParam;
-                       HandleDrag(hwnd, hdrop);
-                       return 0;
-       
-               case WM_DESTROY:
-                       decoding_done = 1;
-                       PostQuitMessage(0);
-                       return 0;
-       }
-
-       return DefWindowProc(hwnd, message, wParam, lParam);
-}
-
-/*
- *  Encode parameters dialog procedures.
- */
-
-BOOL CALLBACK QCProc(HWND hwndDlg, UINT message, 
-                     WPARAM wParam, LPARAM lParam) 
-{
-       switch (message) 
-       { 
-               case WM_INITDIALOG: 
-                       if(iniSettings.decode_mode == 0)
-                       {
-                               CheckDlgButton(hwndDlg,IDC_PLAYBACK,TRUE);
-                               CheckDlgButton(hwndDlg,IDC_WAV,TRUE);
-                               if(iniSettings.outputFormat != 1
-                                       && iniSettings.outputFormat != 5
-                                       && iniSettings.outputFormat != 6
-                                       && iniSettings.outputFormat != 7
-                                       && iniSettings.outputFormat != 8)
-                                       CheckDlgButton(hwndDlg,IDC_16BIT,TRUE);
-                               else if(iniSettings.outputFormat == 1)
-                                       CheckDlgButton(hwndDlg,IDC_16BIT,TRUE);
-                               else if(iniSettings.outputFormat == 5)
-                                       CheckDlgButton(hwndDlg,IDC_16BIT_DITHER,TRUE);
-                               else if(iniSettings.outputFormat == 6)
-                                       CheckDlgButton(hwndDlg,IDC_16BIT_L_SHAPE,TRUE);
-                               else if(iniSettings.outputFormat == 7)
-                                       CheckDlgButton(hwndDlg,IDC_16BIT_M_SHAPE,TRUE);
-                               else if(iniSettings.outputFormat == 8)
-                                       CheckDlgButton(hwndDlg,IDC_16BIT_H_SHAPE,TRUE);
-                               CheckDlgButton(hwndDlg,IDC_WAV,TRUE);
-                               EnableWindow(GetDlgItem(hwndDlg, IDC_AIFF), FALSE);
-                               EnableWindow(GetDlgItem(hwndDlg, IDC_SUNAU), FALSE);
-                               EnableWindow(GetDlgItem(hwndDlg, IDC_DECAU), FALSE);
-                               EnableWindow(GetDlgItem(hwndDlg, IDC_24BIT), FALSE);
-                               EnableWindow(GetDlgItem(hwndDlg, IDC_32BIT), FALSE);
-                               EnableWindow(GetDlgItem(hwndDlg, IDC_FLOATS), FALSE);
-                               EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT), TRUE);
-                               EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT_DITHER), TRUE);
-                       }
-                       else if(iniSettings.decode_mode == 1)
-                       {
-                               CheckDlgButton(hwndDlg,IDC_PLAYBACK,FALSE);
-                               if(iniSettings.outputFormat == 1)
-                                       CheckDlgButton(hwndDlg,IDC_16BIT,TRUE);
-                               else if(iniSettings.outputFormat == 2)
-                                       CheckDlgButton(hwndDlg,IDC_24BIT,TRUE);
-                               else if(iniSettings.outputFormat == 3)
-                                       CheckDlgButton(hwndDlg,IDC_32BIT,TRUE);
-                               else if(iniSettings.outputFormat == 4)
-                                       CheckDlgButton(hwndDlg,IDC_FLOATS,TRUE);
-                               else if(iniSettings.outputFormat == 5)
-                                       CheckDlgButton(hwndDlg,IDC_16BIT_DITHER,TRUE);
-                               else if(iniSettings.outputFormat == 6)
-                                       CheckDlgButton(hwndDlg,IDC_16BIT_L_SHAPE,TRUE);
-                               else if(iniSettings.outputFormat == 7)
-                                       CheckDlgButton(hwndDlg,IDC_16BIT_M_SHAPE,TRUE);
-                               else if(iniSettings.outputFormat == 8)
-                                       CheckDlgButton(hwndDlg,IDC_16BIT_H_SHAPE,TRUE);
-
-                               if(iniSettings.fileType == 1)
-                                       CheckDlgButton(hwndDlg,IDC_WAV,TRUE);
-                               else if(iniSettings.fileType == 2)
-                                       CheckDlgButton(hwndDlg,IDC_AIFF,TRUE);
-                               else if(iniSettings.fileType == 3)
-                                       CheckDlgButton(hwndDlg,IDC_SUNAU,TRUE);
-                               else if(iniSettings.fileType == 4)
-                                       CheckDlgButton(hwndDlg,IDC_DECAU,TRUE);
-                       }
-
-                       if(iniSettings.object_type == 0)
-                               CheckDlgButton(hwndDlg,IDC_MAIN,TRUE);
-                       else if(iniSettings.object_type == 1)
-                               CheckDlgButton(hwndDlg,IDC_LC,TRUE);
-                       else if(iniSettings.object_type == 3)
-                               CheckDlgButton(hwndDlg,IDC_LTP,TRUE);
-                       else if(iniSettings.object_type == 23)
-                               CheckDlgButton(hwndDlg,IDC_LD,TRUE);
-                       break;
-
-               case WM_CLOSE:
-                       EndDialog(hwndDlg, -1);
-                       break;
-
-               case WM_COMMAND: 
-                       switch (LOWORD(wParam)) 
-                       {
-                               case IDC_BUTTON1:
-                               {
-                                       if (IsDlgButtonChecked(hwndDlg, IDC_PLAYBACK) == BST_CHECKED)
-                                               set_decode_mode(0);            // Playback
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_DECODE) == BST_CHECKED)
-                                               set_decode_mode(1);            // Decode to File
-
-                                       if (IsDlgButtonChecked(hwndDlg, IDC_WAV) == BST_CHECKED)
-                                               set_fileType(1);             // Microsoft WAV
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_AIFF) == BST_CHECKED)
-                                               set_fileType(2);             // Apple/SGI AIFF
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_SUNAU) == BST_CHECKED)
-                                               set_fileType(3);             // Sun/NeXT AU
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_DECAU) == BST_CHECKED)
-                                               set_fileType(4);             // DEC AU
-
-                                       if (IsDlgButtonChecked(hwndDlg, IDC_16BIT) == BST_CHECKED)
-                                               set_outputFormat(1);             // 16 bit PCM
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_24BIT) == BST_CHECKED)
-                                               set_outputFormat(2);             // 24 bit PCM
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_32BIT) == BST_CHECKED)
-                                               set_outputFormat(3);             // 32 bit PCM
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_FLOATS) == BST_CHECKED)
-                                               set_outputFormat(4);             // 32 bit floats
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_16BIT_DITHER) == BST_CHECKED)
-                                               set_outputFormat(5);             // 16 bit PCM dithered
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_16BIT_L_SHAPE) == BST_CHECKED)
-                                               set_outputFormat(6);             // dithered LIGHT noise shaping
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_16BIT_M_SHAPE) == BST_CHECKED)
-                                               set_outputFormat(7);             // dithered MEDIUM noise shaping
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_16BIT_H_SHAPE) == BST_CHECKED)
-                                               set_outputFormat(8);             // dithered HEAVY noise shaping
-
-                                       if (IsDlgButtonChecked(hwndDlg, IDC_MAIN) == BST_CHECKED)
-                                               set_object_type(0);             // Main
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_LC) == BST_CHECKED)
-                                               set_object_type(1);             // Low Complexity
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_LTP) == BST_CHECKED)
-                                               set_object_type(3);             // Long Term Prediction
-                                       else if (IsDlgButtonChecked(hwndDlg, IDC_LD) == BST_CHECKED)
-                                               set_object_type(23);            // Low Delay
-
-                                       EndDialog(hwndDlg, -2);
-                                       return TRUE;
-                               }
-                               case IDC_BUTTON6:
-                                       EndDialog(hwndDlg, -7);
-                                       return TRUE;
-
-                               case IDC_PLAYBACK:
-                                       CheckDlgButton(hwndDlg,IDC_WAV,TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_AIFF), FALSE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_SUNAU), FALSE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_DECAU), FALSE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_24BIT), FALSE);
-                                       CheckDlgButton(hwndDlg,IDC_24BIT,FALSE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_32BIT), FALSE);
-                                       CheckDlgButton(hwndDlg,IDC_32BIT,FALSE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_FLOATS), FALSE);
-                                       CheckDlgButton(hwndDlg,IDC_FLOATS,FALSE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT), TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT_DITHER), TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT_L_SHAPE), TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT_M_SHAPE), TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT_H_SHAPE), TRUE);
-                                       if (IsDlgButtonChecked(hwndDlg, IDC_16BIT_DITHER) != BST_CHECKED
-                                               && IsDlgButtonChecked(hwndDlg, IDC_16BIT_L_SHAPE) != BST_CHECKED
-                                               && IsDlgButtonChecked(hwndDlg, IDC_16BIT_M_SHAPE) != BST_CHECKED
-                                               && IsDlgButtonChecked(hwndDlg, IDC_16BIT_H_SHAPE) != BST_CHECKED)
-                                               CheckDlgButton(hwndDlg,IDC_16BIT,TRUE);
-                                       break;
-                               case IDC_DECODE:
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_AIFF), FALSE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_SUNAU), FALSE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_DECAU), FALSE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_24BIT), TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_32BIT), TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_FLOATS), TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT), TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT_DITHER), TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT_L_SHAPE), TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT_M_SHAPE), TRUE);
-                                       EnableWindow(GetDlgItem(hwndDlg, IDC_16BIT_H_SHAPE), TRUE);
-                                       break;
-                               default:
-                                       break;
-                               }
-       }
-       return FALSE; 
-}
-
-
-/******************************** end of main.c ********************************/
-
diff --git a/lib/libfaad2/aacDECdrop/misc.c b/lib/libfaad2/aacDECdrop/misc.c
deleted file mode 100644 (file)
index 7b26532..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * function: Miscellaneous functions for aacDECdrop
- *
- * This program is distributed under the GNU General Public License, version 2.
- * A copy of this license is included with this source.
- *
- * Copyright (C) 2002 John Edwards
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <windows.h>
-#include "misc.h"
-
-static char *_filename;
-void (*error_handler)(const char *fmt, ...) = error_dialog;
-
-/*
- * Set the current input file name.
- */
-
-void set_filename(char *filename)
-{
-       _filename = filename;
-}
-
-/*
- * Display an error dialog, possibly adding system error information.
- */
-
-void error_dialog(const char *fmt, ...)
-{
-       va_list ap;
-       char msgbuf[1024];
-       char *bufp = msgbuf;
-
-       /* A really rough sanity check to protect against blatant buffer overrun */
-       if (strlen(fmt) > 750)
-       {
-               sprintf(msgbuf, "%s %s", "<buffer overflow> ", fmt);
-       } 
-       else 
-       {
-               if (_filename != NULL && strlen(_filename) < 255)
-               {
-                       sprintf(msgbuf, "%s: ", _filename);
-                       bufp += strlen(msgbuf);
-               }
-
-               va_start(ap, fmt);
-               
-               vsprintf(bufp, fmt, ap);
-
-               va_end(ap);
-
-               if (errno != 0)
-               {
-                       bufp = msgbuf + strlen(msgbuf);
-                       sprintf(bufp, " error is %s (%d)", strerror(errno), errno);
-                       errno = 0;
-               }
-       }
-
-       MessageBox(NULL, msgbuf, "Error", 0);
-}
-
-void log_error(const char *fmt, ...)
-{
-       va_list ap;
-       FILE *fp;
-       char msgbuf[1024];
-       char *bufp = msgbuf;
-
-       /* A really rough sanity check to protect against blatant buffer overrun */
-       if (strlen(fmt) > 750)
-       {
-               sprintf(msgbuf, "%s %s", "<buffer overflow> ", fmt);
-       }
-       else
-       {
-               if (_filename != NULL && strlen(_filename) < 255)
-               {
-                       sprintf(msgbuf, "%s : ", _filename);
-                       bufp += strlen(msgbuf);
-               }
-
-               va_start(ap, fmt);
-
-               vsprintf(bufp, fmt, ap);
-
-               va_end(ap);
-
-               if (errno != 0)
-               {
-                       bufp = msgbuf + strlen(msgbuf);
-                       sprintf(bufp, " error is: %s (%d)", strerror(errno), errno);
-                       errno = 0;
-               }
-       }
-
-       va_start(ap, fmt);
-
-       if ((fp = fopen("oggdrop.log", "a")) == (FILE *)NULL)
-               return;
-
-       fprintf(fp, "%s\n", msgbuf);
-       fflush(fp);
-       fclose(fp);
-
-       va_end(ap);
-}
-
-void set_use_dialogs(int use_dialogs)
-{
-       if (!use_dialogs)
-               error_handler = error_dialog;
-       else
-               error_handler = log_error;
-}
-
-
-/******************************** end of misc.c ********************************/
-
diff --git a/lib/libfaad2/aacDECdrop/misc.h b/lib/libfaad2/aacDECdrop/misc.h
deleted file mode 100644 (file)
index b798da5..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * function: Header file for misc.c
- *
- * This program is distributed under the GNU General Public License, version 2.
- * A copy of this license is included with this source.
- *
- * Copyright (C) 2002 John Edwards
- */
-
-#ifndef __MISC_H__
-#define __MISC_H__
-
-#include "decode.h"
-#include <stdio.h>
-
-void set_filename(char *filename);
-
-extern void error_dialog(const char *fmt, ...);
-extern void log_error(const char *fmt, ...);
-extern void set_use_dialogs(int use_dialogs);
-extern void (*error_handler)(const char *fmt, ...);
-
-
-#endif /* __MISC_H__ */
-
diff --git a/lib/libfaad2/aacDECdrop/resource.h b/lib/libfaad2/aacDECdrop/resource.h
deleted file mode 100644 (file)
index d69b5a6..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by Script.rc
-//
-#define IDD_VOLUME                      101
-#define IDD_ABOUT                       102
-#define IDB_TF01                        112
-#define IDB_TF02                        113
-#define IDB_TF03                        114
-#define IDB_TF04                        115
-#define IDB_TF05                        116
-#define IDB_TF06                        117
-#define IDB_TF07                        118
-#define IDB_TF08                        119
-#define IDR_MENU1                       124
-#define IDI_ICON1                       130
-#define IDC_BUTTON1                     1001
-#define IDC_PLAYBACK                    1005
-#define IDC_DECODE                      1008
-#define IDC_WAV                         1014
-#define IDC_AIFF                        1015
-#define IDC_SUNAU                       1016
-#define IDC_DECAU                       1017
-#define IDC_16BIT                       1018
-#define IDC_24BIT                       1020
-#define IDC_32BIT                       1021
-#define IDC_FLOATS                      1022
-#define IDC_MAIN                        1023
-#define IDC_LC                          1024
-#define IDC_LTP                         1025
-#define IDC_LD                          1026
-#define IDC_16BIT_DITHER                1027
-#define IDC_16BIT_L_SHAPE               1028
-#define IDC_16BIT_M_SHAPE               1029
-#define IDC_16BIT_H_SHAPE               1030
-#define IDC_BUTTON6                     1033
-#define IDM_VOLUME                      40005
-#define IDM_STOP_DEC                    40006
-#define IDM_ABOUT                       40007
-#define IDM_LOGERR                      40008
-#define IDM_ONTOP                       40015
-#define IDM_QUIT                        40019
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NO_MFC                     1
-#define _APS_NEXT_RESOURCE_VALUE        134
-#define _APS_NEXT_COMMAND_VALUE         40018
-#define _APS_NEXT_CONTROL_VALUE         1031
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
diff --git a/lib/libfaad2/aacDECdrop/resource/AAC01.bmp b/lib/libfaad2/aacDECdrop/resource/AAC01.bmp
deleted file mode 100644 (file)
index 7d85aac..0000000
Binary files a/lib/libfaad2/aacDECdrop/resource/AAC01.bmp and /dev/null differ
diff --git a/lib/libfaad2/aacDECdrop/resource/AAC01.ico b/lib/libfaad2/aacDECdrop/resource/AAC01.ico
deleted file mode 100644 (file)
index b382866..0000000
Binary files a/lib/libfaad2/aacDECdrop/resource/AAC01.ico and /dev/null differ
diff --git a/lib/libfaad2/aacDECdrop/resource/AAC02.bmp b/lib/libfaad2/aacDECdrop/resource/AAC02.bmp
deleted file mode 100644 (file)
index 33a8a28..0000000
Binary files a/lib/libfaad2/aacDECdrop/resource/AAC02.bmp and /dev/null differ
diff --git a/lib/libfaad2/aacDECdrop/resource/AAC03.bmp b/lib/libfaad2/aacDECdrop/resource/AAC03.bmp
deleted file mode 100644 (file)
index a9258fe..0000000
Binary files a/lib/libfaad2/aacDECdrop/resource/AAC03.bmp and /dev/null differ
diff --git a/lib/libfaad2/aacDECdrop/resource/AAC04.bmp b/lib/libfaad2/aacDECdrop/resource/AAC04.bmp
deleted file mode 100644 (file)
index efa68ef..0000000
Binary files a/lib/libfaad2/aacDECdrop/resource/AAC04.bmp and /dev/null differ
diff --git a/lib/libfaad2/aacDECdrop/resource/AAC05.bmp b/lib/libfaad2/aacDECdrop/resource/AAC05.bmp
deleted file mode 100644 (file)
index a29c248..0000000
Binary files a/lib/libfaad2/aacDECdrop/resource/AAC05.bmp and /dev/null differ
diff --git a/lib/libfaad2/aacDECdrop/resource/AAC06.bmp b/lib/libfaad2/aacDECdrop/resource/AAC06.bmp
deleted file mode 100644 (file)
index 82af819..0000000
Binary files a/lib/libfaad2/aacDECdrop/resource/AAC06.bmp and /dev/null differ
diff --git a/lib/libfaad2/aacDECdrop/resource/AAC07.bmp b/lib/libfaad2/aacDECdrop/resource/AAC07.bmp
deleted file mode 100644 (file)
index ca418e8..0000000
Binary files a/lib/libfaad2/aacDECdrop/resource/AAC07.bmp and /dev/null differ
diff --git a/lib/libfaad2/aacDECdrop/resource/AAC08.bmp b/lib/libfaad2/aacDECdrop/resource/AAC08.bmp
deleted file mode 100644 (file)
index ce60f19..0000000
Binary files a/lib/libfaad2/aacDECdrop/resource/AAC08.bmp and /dev/null differ
diff --git a/lib/libfaad2/aacDECdrop/wave_out.c b/lib/libfaad2/aacDECdrop/wave_out.c
deleted file mode 100644 (file)
index 7c0b03e..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * function: Support for playing wave files - Win32 - ONLY
- *
- * This program is distributed under the GNU General Public License, version 2.
- * A copy of this license is included with this source.
- *
- * Copyright (C) 2002 John Edwards
- */
-
-#include <string.h>
-#include <errno.h>
-#include "wave_out.h"
-
-#define MAX_WAVEBLOCKS    32
-
-
-static CRITICAL_SECTION  cs;
-static HWAVEOUT          dev                    = NULL;
-static int               ScheduledBlocks        = 0;
-static int               PlayedWaveHeadersCount = 0;          // free index
-static WAVEHDR*          PlayedWaveHeaders [MAX_WAVEBLOCKS];
-
-
-static int
-Box ( const char* msg )
-{
-       MessageBox ( NULL, msg, "Error Message . . .", MB_OK | MB_ICONEXCLAMATION );
-       return -1;
-}
-
-
-/*
- *  This function registers already played WAVE chunks. Freeing is done by free_memory(),
- */
-
-static void CALLBACK
-wave_callback ( HWAVE hWave, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2 )
-{
-       if ( uMsg == WOM_DONE )
-       {
-               EnterCriticalSection ( &cs );
-               PlayedWaveHeaders [PlayedWaveHeadersCount++] = (WAVEHDR*) dwParam1;
-               LeaveCriticalSection ( &cs );
-       }
-}
-
-
-static void
-free_memory ( void )
-{
-       WAVEHDR*  wh;
-       HGLOBAL   hg;
-
-       EnterCriticalSection ( &cs );
-       wh = PlayedWaveHeaders [--PlayedWaveHeadersCount];
-       ScheduledBlocks--;                        // decrease the number of USED blocks
-       LeaveCriticalSection ( &cs );
-
-       waveOutUnprepareHeader ( dev, wh, sizeof (WAVEHDR) );
-
-       hg = GlobalHandle ( wh -> lpData );       // Deallocate the buffer memory
-       GlobalUnlock (hg);
-       GlobalFree   (hg);
-
-       hg = GlobalHandle ( wh );                 // Deallocate the header memory
-       GlobalUnlock (hg);
-       GlobalFree   (hg);
-}
-
-
-Int
-Set_WIN_Params ( FILE_T   dummyFile ,
-                 Ldouble  SampleFreq,
-                 Uint     BitsPerSample,
-                 Uint     Channels )
-{
-       WAVEFORMATEX  outFormat;
-       UINT          deviceID = WAVE_MAPPER;
-
-       (void) dummyFile;
-
-       if ( waveOutGetNumDevs () == 0 )
-               return Box ( "No audio device present." );
-
-       outFormat.wFormatTag      = WAVE_FORMAT_PCM;
-       outFormat.wBitsPerSample  = BitsPerSample;
-       outFormat.nChannels       = Channels;
-       outFormat.nSamplesPerSec  = (unsigned long)(SampleFreq);
-       outFormat.nBlockAlign     = outFormat.nChannels * outFormat.wBitsPerSample/8;
-       outFormat.nAvgBytesPerSec = outFormat.nSamplesPerSec * outFormat.nChannels * outFormat.wBitsPerSample/8;
-
-       switch ( waveOutOpen ( &dev, deviceID, &outFormat, (DWORD)wave_callback, 0, CALLBACK_FUNCTION ) )
-       {
-               case MMSYSERR_ALLOCATED:   return Box ( "Device is already open." );
-               case MMSYSERR_BADDEVICEID: return Box ( "The specified device is out of range." );
-               case MMSYSERR_NODRIVER:    return Box ( "There is no audio driver in this system." );
-               case MMSYSERR_NOMEM:       return Box ( "Unable to allocate sound memory." );
-               case WAVERR_BADFORMAT:     return Box ( "This audio format is not supported." );
-               case WAVERR_SYNC:          return Box ( "The device is synchronous." );
-               default:                   return Box ( "Unknown media error." );
-               case MMSYSERR_NOERROR:     break;
-       }
-
-       waveOutReset ( dev );
-       InitializeCriticalSection ( &cs );
-       SetPriorityClass ( GetCurrentProcess (), HIGH_PRIORITY_CLASS );
-//     SetPriorityClass ( GetCurrentProcess (), REALTIME_PRIORITY_CLASS );
-       return 0;
-}
-
-
-int
-WIN_Play_Samples ( const void* data, size_t len )
-{
-       HGLOBAL    hg;
-       HGLOBAL    hg2;
-       LPWAVEHDR  wh;
-       void*      allocptr;
-
-       do
-       {
-               while ( PlayedWaveHeadersCount > 0 )                        // free used blocks ...
-                       free_memory ();
-
-               if ( ScheduledBlocks < sizeof(PlayedWaveHeaders)/sizeof(*PlayedWaveHeaders) ) // wait for a free block ...
-                       break;
-               Sleep (26);
-
-       } while (1);
-
-       if ( (hg2 = GlobalAlloc ( GMEM_MOVEABLE, len )) == NULL )   // allocate some memory for a copy of the buffer
-               return Box ( "GlobalAlloc failed." );
-
-       allocptr = GlobalLock (hg2);
-       CopyMemory ( allocptr, data, len );                         // Here we can call any modification output functions we want....
-
-       if ( (hg = GlobalAlloc (GMEM_MOVEABLE | GMEM_ZEROINIT, sizeof (WAVEHDR))) == NULL ) // now make a header and WRITE IT!
-               return -1;
-
-       wh                   = GlobalLock (hg);
-       wh->dwBufferLength   = len;
-       wh->lpData           = allocptr;
-
-       if ( waveOutPrepareHeader ( dev, wh, sizeof (WAVEHDR)) != MMSYSERR_NOERROR )
-       {
-               GlobalUnlock (hg);
-               GlobalFree   (hg);
-               return -1;
-       }
-
-       if ( waveOutWrite ( dev, wh, sizeof (WAVEHDR)) != MMSYSERR_NOERROR )
-       {
-               GlobalUnlock (hg);
-               GlobalFree   (hg);
-               return -1;
-       }
-
-       EnterCriticalSection ( &cs );
-       ScheduledBlocks++;
-       LeaveCriticalSection ( &cs );
-
-       return len;
-}
-
-
-int
-WIN_Audio_close ( void )
-{
-       if ( dev != NULL )
-       {
-               while ( ScheduledBlocks > 0 )
-               {
-                       Sleep (ScheduledBlocks);
-                       while ( PlayedWaveHeadersCount > 0 )                        // free used blocks ...
-                       free_memory ();
-               }
-
-               waveOutReset (dev);      // reset the device
-               waveOutClose (dev);      // close the device
-               dev = NULL;
-       }
-
-       DeleteCriticalSection ( &cs );
-       ScheduledBlocks = 0;
-       return 0;
-}
-
-
-/******************************** end of wave_out.c ********************************/
-
diff --git a/lib/libfaad2/aacDECdrop/wave_out.h b/lib/libfaad2/aacDECdrop/wave_out.h
deleted file mode 100644 (file)
index bb452f9..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * function: Header file for wave_out.c
- *
- * This program is distributed under the GNU General Public License, version 2.
- * A copy of this license is included with this source.
- *
- * Copyright (C) 2002 John Edwards
- */
-
-#ifndef __WAVE_OUT_H__
-#define __WAVE_OUT_H__
-
-
-#include <stdio.h>
-#include <windows.h>
-
-#define Cdecl               __cdecl
-#define __attribute__(x)
-#define sleep(__sec)        Sleep ((__sec) * 1000)
-#define inline              __inline
-#define restrict
-
-/*
- * constants
- */
-
-#define CD_SAMPLE_FREQ         44.1e3
-#define SAMPLE_SIZE            16
-#define SAMPLE_SIZE_STRING     ""
-#define WINAUDIO_FD            ((FILE_T)-128)
-#define FILE_T                 FILE*
-#define INVALID_FILEDESC       NULL
-
-/*
- * Simple types
- */
-
-typedef signed   int        Int;        // at least -32767...+32767, fast type
-typedef unsigned int        Uint;       // at least 0...65535, fast type
-typedef long double         Ldouble;    // most exact floating point format
-
-/*
- * functions for wave_out.c
- */
-
-Int   Set_WIN_Params        ( FILE_T dummyFile , Ldouble SampleFreq, Uint BitsPerSample, Uint Channels );
-int   WIN_Play_Samples      ( const void* buff, size_t len );
-int   WIN_Audio_close       ( void );
-
-#endif   /* __WAVE_OUT_H__ */
diff --git a/lib/libfaad2/aclocal.m4 b/lib/libfaad2/aclocal.m4
deleted file mode 100644 (file)
index 1d4ddbf..0000000
+++ /dev/null
@@ -1,7532 +0,0 @@
-# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(AC_AUTOCONF_VERSION, [2.61],,
-[m4_warning([this file was generated for autoconf 2.61.
-You have another version of autoconf.  It may work, but is not guaranteed to.
-If you have problems, you may need to regenerate the build system entirely.
-To do so, use the procedure documented by the package, typically `autoreconf'.])])
-
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-
-# serial 52 Debian 1.5.26-1ubuntu1 AC_PROG_LIBTOOL
-
-
-# AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -----------------------------------------------------------
-# If this macro is not defined by Autoconf, define it here.
-m4_ifdef([AC_PROVIDE_IFELSE],
-         [],
-         [m4_define([AC_PROVIDE_IFELSE],
-                [m4_ifdef([AC_PROVIDE_$1],
-                          [$2], [$3])])])
-
-
-# AC_PROG_LIBTOOL
-# ---------------
-AC_DEFUN([AC_PROG_LIBTOOL],
-[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl
-dnl If AC_PROG_CXX has already been expanded, run AC_LIBTOOL_CXX
-dnl immediately, otherwise, hook it in at the end of AC_PROG_CXX.
-  AC_PROVIDE_IFELSE([AC_PROG_CXX],
-    [AC_LIBTOOL_CXX],
-    [define([AC_PROG_CXX], defn([AC_PROG_CXX])[AC_LIBTOOL_CXX
-  ])])
-dnl And a similar setup for Fortran 77 support
-  AC_PROVIDE_IFELSE([AC_PROG_F77],
-    [AC_LIBTOOL_F77],
-    [define([AC_PROG_F77], defn([AC_PROG_F77])[AC_LIBTOOL_F77
-])])
-
-dnl Quote A][M_PROG_GCJ so that aclocal doesn't bring it in needlessly.
-dnl If either AC_PROG_GCJ or A][M_PROG_GCJ have already been expanded, run
-dnl AC_LIBTOOL_GCJ immediately, otherwise, hook it in at the end of both.
-  AC_PROVIDE_IFELSE([AC_PROG_GCJ],
-    [AC_LIBTOOL_GCJ],
-    [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
-      [AC_LIBTOOL_GCJ],
-      [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],
-       [AC_LIBTOOL_GCJ],
-      [ifdef([AC_PROG_GCJ],
-            [define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])
-       ifdef([A][M_PROG_GCJ],
-            [define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[AC_LIBTOOL_GCJ])])
-       ifdef([LT_AC_PROG_GCJ],
-            [define([LT_AC_PROG_GCJ],
-               defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
-])])# AC_PROG_LIBTOOL
-
-
-# _AC_PROG_LIBTOOL
-# ----------------
-AC_DEFUN([_AC_PROG_LIBTOOL],
-[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_CXX])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_F77])dnl
-AC_BEFORE([$0],[AC_LIBTOOL_GCJ])dnl
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-AC_SUBST(LIBTOOL)dnl
-
-# Prevent multiple expansion
-define([AC_PROG_LIBTOOL], [])
-])# _AC_PROG_LIBTOOL
-
-
-# AC_LIBTOOL_SETUP
-# ----------------
-AC_DEFUN([AC_LIBTOOL_SETUP],
-[AC_PREREQ(2.50)dnl
-AC_REQUIRE([AC_ENABLE_SHARED])dnl
-AC_REQUIRE([AC_ENABLE_STATIC])dnl
-AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_PROG_LD])dnl
-AC_REQUIRE([AC_PROG_LD_RELOAD_FLAG])dnl
-AC_REQUIRE([AC_PROG_NM])dnl
-
-AC_REQUIRE([AC_PROG_LN_S])dnl
-AC_REQUIRE([AC_DEPLIBS_CHECK_METHOD])dnl
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-AC_REQUIRE([AC_OBJEXT])dnl
-AC_REQUIRE([AC_EXEEXT])dnl
-dnl
-AC_LIBTOOL_SYS_MAX_CMD_LEN
-AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-AC_LIBTOOL_OBJDIR
-
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-_LT_AC_PROG_ECHO_BACKSLASH
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-[sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g']
-
-# Same as above, but do not quote variable references.
-[double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g']
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-AC_CHECK_TOOL(AR, ar, false)
-AC_CHECK_TOOL(RANLIB, ranlib, :)
-AC_CHECK_TOOL(STRIP, strip, :)
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-_LT_CC_BASENAME([$compiler])
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    AC_PATH_MAGIC
-  fi
-  ;;
-esac
-
-_LT_REQUIRED_DARWIN_CHECKS
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_DLOPEN], enable_dlopen=yes, enable_dlopen=no)
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-enable_win32_dll=yes, enable_win32_dll=no)
-
-AC_ARG_ENABLE([libtool-lock],
-    [AC_HELP_STRING([--disable-libtool-lock],
-       [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-AC_ARG_WITH([pic],
-    [AC_HELP_STRING([--with-pic],
-       [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
-    [pic_mode="$withval"],
-    [pic_mode=default])
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-AC_LIBTOOL_LANG_C_CONFIG
-_LT_AC_TAGCONFIG
-])# AC_LIBTOOL_SETUP
-
-
-# _LT_AC_SYS_COMPILER
-# -------------------
-AC_DEFUN([_LT_AC_SYS_COMPILER],
-[AC_REQUIRE([AC_PROG_CC])dnl
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-])# _LT_AC_SYS_COMPILER
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-AC_DEFUN([_LT_CC_BASENAME],
-[for cc_temp in $1""; do
-  case $cc_temp in
-    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
-    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-])
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-AC_DEFUN([_LT_COMPILER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-])# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-AC_DEFUN([_LT_LINKER_BOILERPLATE],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-])# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# --------------------------
-# Check for some things on darwin
-AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS],[
-  case $host_os in
-    rhapsody* | darwin*)
-    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
-    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
-
-    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
-      [lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-   # By default we will add the -single_module flag. You can override
-   # by either setting the environment variable LT_MULTI_MODULE
-   # non-empty at configure time, or by adding -multi_module to the
-   # link flags.
-   echo "int foo(void){return 1;}" > conftest.c
-   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-     -dynamiclib ${wl}-single_module conftest.c
-   if test -f libconftest.dylib; then
-     lt_cv_apple_cc_single_mod=yes
-     rm -rf libconftest.dylib*
-   fi
-   rm conftest.c
-      fi])
-    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
-      [lt_cv_ld_exported_symbols_list],
-      [lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
-   [lt_cv_ld_exported_symbols_list=yes],
-   [lt_cv_ld_exported_symbols_list=no])
-   LDFLAGS="$save_LDFLAGS"
-    ])
-    case $host_os in
-    rhapsody* | darwin1.[[0123]])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*)
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-   10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-   10.[[012]]*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-   10.*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil="~$DSYMUTIL \$lib || :"
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-])
-
-# _LT_AC_SYS_LIBPATH_AIX
-# ----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi],[])
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-])# _LT_AC_SYS_LIBPATH_AIX
-
-
-# _LT_AC_SHELL_INIT(ARG)
-# ----------------------
-AC_DEFUN([_LT_AC_SHELL_INIT],
-[ifdef([AC_DIVERSION_NOTICE],
-            [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
-        [AC_DIVERT_PUSH(NOTICE)])
-$1
-AC_DIVERT_POP
-])# _LT_AC_SHELL_INIT
-
-
-# _LT_AC_PROG_ECHO_BACKSLASH
-# --------------------------
-# Add some code to the start of the generated configure script which
-# will find an echo command which doesn't interpret backslashes.
-AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH],
-[_LT_AC_SHELL_INIT([
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
-  ;;
-esac
-
-echo=${ECHO-echo}
-if test "X[$]1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X[$]1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell.
-  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
-fi
-
-if test "X[$]1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-[$]*
-EOF
-  exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
-  for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
-    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
-       echo_test_string=`eval $cmd` &&
-       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
-    then
-      break
-    fi
-  done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-   test "X$echo_testing_string" = "X$echo_test_string"; then
-  :
-else
-  # The Solaris, AIX, and Digital Unix default echo programs unquote
-  # backslashes.  This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  #
-  # So, first we look for a working echo in the user's PATH.
-
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for dir in $PATH /usr/ucb; do
-    IFS="$lt_save_ifs"
-    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      echo="$dir/echo"
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  if test "X$echo" = Xecho; then
-    # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      # This shell has a builtin print -r that does the trick.
-      echo='print -r'
-    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
-        test "X$CONFIG_SHELL" != X/bin/ksh; then
-      # If we have ksh, try running configure again with it.
-      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-      export ORIGINAL_CONFIG_SHELL
-      CONFIG_SHELL=/bin/ksh
-      export CONFIG_SHELL
-      exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
-    else
-      # Try using printf.
-      echo='printf %s\n'
-      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-        echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-        test "X$echo_testing_string" = "X$echo_test_string"; then
-       # Cool, printf works
-       :
-      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-          test "X$echo_testing_string" = 'X\t' &&
-          echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-          test "X$echo_testing_string" = "X$echo_test_string"; then
-       CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-       export CONFIG_SHELL
-       SHELL="$CONFIG_SHELL"
-       export SHELL
-       echo="$CONFIG_SHELL [$]0 --fallback-echo"
-      elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
-          test "X$echo_testing_string" = 'X\t' &&
-          echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-          test "X$echo_testing_string" = "X$echo_test_string"; then
-       echo="$CONFIG_SHELL [$]0 --fallback-echo"
-      else
-       # maybe with a smaller string...
-       prev=:
-
-       for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
-         if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
-         then
-           break
-         fi
-         prev="$cmd"
-       done
-
-       if test "$prev" != 'sed 50q "[$]0"'; then
-         echo_test_string=`eval $prev`
-         export echo_test_string
-         exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
-       else
-         # Oops.  We lost completely, so just stick with echo.
-         echo=echo
-       fi
-      fi
-    fi
-  fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
-   ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
-fi
-
-AC_SUBST(ECHO)
-])])# _LT_AC_PROG_ECHO_BACKSLASH
-
-
-# _LT_AC_LOCK
-# -----------
-AC_DEFUN([_LT_AC_LOCK],
-[AC_ARG_ENABLE([libtool-lock],
-    [AC_HELP_STRING([--disable-libtool-lock],
-       [avoid locking (might break parallel builds)])])
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *ELF-32*)
-      HPUX_IA64_MODE="32"
-      ;;
-    *ELF-64*)
-      HPUX_IA64_MODE="64"
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-   if test "$lt_cv_prog_gnu_ld" = yes; then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -melf32bsmip"
-      ;;
-    *N32*)
-      LD="${LD-ld} -melf32bmipn32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -melf64bmip"
-      ;;
-    esac
-   else
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -32"
-      ;;
-    *N32*)
-      LD="${LD-ld} -n32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -64"
-      ;;
-    esac
-   fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *32-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_i386_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_i386"
-          ;;
-        ppc64-*linux*|powerpc64-*linux*)
-          LD="${LD-ld} -m elf32ppclinux"
-          ;;
-        s390x-*linux*)
-          LD="${LD-ld} -m elf_s390"
-          ;;
-        sparc64-*linux*)
-          LD="${LD-ld} -m elf32_sparc"
-          ;;
-      esac
-      ;;
-    *64-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_x86_64_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        ppc*-*linux*|powerpc*-*linux*)
-          LD="${LD-ld} -m elf64ppc"
-          ;;
-        s390*-*linux*)
-          LD="${LD-ld} -m elf64_s390"
-          ;;
-        sparc*-*linux*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
-    [AC_LANG_PUSH(C)
-     AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
-     AC_LANG_POP])
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if AC_TRY_EVAL(ac_compile); then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL],
-[*-*-cygwin* | *-*-mingw* | *-*-pw32*)
-  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
-  AC_CHECK_TOOL(AS, as, false)
-  AC_CHECK_TOOL(OBJDUMP, objdump, false)
-  ;;
-  ])
-esac
-
-need_locks="$enable_libtool_lock"
-
-])# _LT_AC_LOCK
-
-
-# AC_LIBTOOL_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#              [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-  ifelse([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$3"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       $2=yes
-     fi
-   fi
-   $rm conftest*
-])
-
-if test x"[$]$2" = xyes; then
-    ifelse([$5], , :, [$5])
-else
-    ifelse([$6], , :, [$6])
-fi
-])# AC_LIBTOOL_COMPILER_OPTION
-
-
-# AC_LIBTOOL_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#                          [ACTION-SUCCESS], [ACTION-FAILURE])
-# ------------------------------------------------------------
-# Check whether the given compiler option works
-AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_CACHE_CHECK([$1], [$2],
-  [$2=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $3"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&AS_MESSAGE_LOG_FD
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         $2=yes
-       fi
-     else
-       $2=yes
-     fi
-   fi
-   $rm -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-])
-
-if test x"[$]$2" = xyes; then
-    ifelse([$4], , :, [$4])
-else
-    ifelse([$5], , :, [$5])
-fi
-])# AC_LIBTOOL_LINKER_OPTION
-
-
-# AC_LIBTOOL_SYS_MAX_CMD_LEN
-# --------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN],
-[# find the maximum length of command line arguments
-AC_MSG_CHECKING([the maximum length of command line arguments])
-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
-  i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[       ]]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \
-              = "XX$teststring") >/dev/null 2>&1 &&
-             new_result=`expr "X$teststring" : ".*" 2>&1` &&
-             lt_cv_sys_max_cmd_len=$new_result &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on massive
-      # amounts of additional arguments before passing them to the linker.
-      # It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-])
-if test -n $lt_cv_sys_max_cmd_len ; then
-  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
-else
-  AC_MSG_RESULT(none)
-fi
-])# AC_LIBTOOL_SYS_MAX_CMD_LEN
-
-
-# _LT_AC_CHECK_DLFCN
-# ------------------
-AC_DEFUN([_LT_AC_CHECK_DLFCN],
-[AC_CHECK_HEADERS(dlfcn.h)dnl
-])# _LT_AC_CHECK_DLFCN
-
-
-# _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                           ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ---------------------------------------------------------------------
-AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "$cross_compiling" = yes; then :
-  [$4]
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-[#line __oline__ "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-    exit (status);
-}]
-EOF
-  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) $1 ;;
-      x$lt_dlneed_uscore) $2 ;;
-      x$lt_dlunknown|x*) $3 ;;
-    esac
-  else :
-    # compilation failed
-    $3
-  fi
-fi
-rm -fr conftest*
-])# _LT_AC_TRY_DLOPEN_SELF
-
-
-# AC_LIBTOOL_DLOPEN_SELF
-# ----------------------
-AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF],
-[AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-   ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-   ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    AC_CHECK_LIB([dl], [dlopen],
-               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ])
-   ;;
-
-  *)
-    AC_CHECK_FUNC([shl_load],
-         [lt_cv_dlopen="shl_load"],
-      [AC_CHECK_LIB([dld], [shl_load],
-           [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
-       [AC_CHECK_FUNC([dlopen],
-             [lt_cv_dlopen="dlopen"],
-         [AC_CHECK_LIB([dl], [dlopen],
-               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
-           [AC_CHECK_LIB([svld], [dlopen],
-                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
-             [AC_CHECK_LIB([dld], [dld_link],
-                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
-             ])
-           ])
-         ])
-       ])
-      ])
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    AC_CACHE_CHECK([whether a program can dlopen itself],
-         lt_cv_dlopen_self, [dnl
-         _LT_AC_TRY_DLOPEN_SELF(
-           lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
-           lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
-    ])
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
-         lt_cv_dlopen_self_static, [dnl
-         _LT_AC_TRY_DLOPEN_SELF(
-           lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
-           lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
-      ])
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-])# AC_LIBTOOL_DLOPEN_SELF
-
-
-# AC_LIBTOOL_PROG_CC_C_O([TAGNAME])
-# ---------------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler
-AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
-  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
-  [_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&AS_MESSAGE_LOG_FD
-   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-     fi
-   fi
-   chmod u+w . 2>&AS_MESSAGE_LOG_FD
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-])
-])# AC_LIBTOOL_PROG_CC_C_O
-
-
-# AC_LIBTOOL_SYS_HARD_LINK_LOCKS([TAGNAME])
-# -----------------------------------------
-# Check to see if we can do hard links to lock some files if needed
-AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS],
-[AC_REQUIRE([_LT_AC_LOCK])dnl
-
-hard_links="nottested"
-if test "$_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  AC_MSG_CHECKING([if we can lock with hard links])
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  AC_MSG_RESULT([$hard_links])
-  if test "$hard_links" = no; then
-    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-])# AC_LIBTOOL_SYS_HARD_LINK_LOCKS
-
-
-# AC_LIBTOOL_OBJDIR
-# -----------------
-AC_DEFUN([AC_LIBTOOL_OBJDIR],
-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
-[rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null])
-objdir=$lt_cv_objdir
-])# AC_LIBTOOL_OBJDIR
-
-
-# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH([TAGNAME])
-# ----------------------------------------------
-# Check hardcoding attributes.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH],
-[AC_MSG_CHECKING([how to hardcode library paths into programs])
-_LT_AC_TAGVAR(hardcode_action, $1)=
-if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \
-   test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \
-   test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
-     test "$_LT_AC_TAGVAR(hardcode_minus_L, $1)" != no; then
-    # Linking always hardcodes the temporary library directory.
-    _LT_AC_TAGVAR(hardcode_action, $1)=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    _LT_AC_TAGVAR(hardcode_action, $1)=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  _LT_AC_TAGVAR(hardcode_action, $1)=unsupported
-fi
-AC_MSG_RESULT([$_LT_AC_TAGVAR(hardcode_action, $1)])
-
-if test "$_LT_AC_TAGVAR(hardcode_action, $1)" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-])# AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH
-
-
-# AC_LIBTOOL_SYS_LIB_STRIP
-# ------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP],
-[striplib=
-old_striplib=
-AC_MSG_CHECKING([whether stripping libraries is possible])
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  AC_MSG_RESULT([yes])
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         old_striplib="$STRIP -S"
-         AC_MSG_RESULT([yes])
-       else
-  AC_MSG_RESULT([no])
-fi
-       ;;
-   *)
-  AC_MSG_RESULT([no])
-    ;;
-  esac
-fi
-])# AC_LIBTOOL_SYS_LIB_STRIP
-
-
-# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([dynamic linker characteristics])
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-m4_if($1,[],[
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
-  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
-}'`
-  sys_lib_search_path_spec=`echo $lt_search_path_spec`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi])
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[[4-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[[01]] | aix4.[[01]].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[[45]]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $rm \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | [grep ';[c-zC-Z]:/' >/dev/null]; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-  m4_if([$1], [],[
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[[123]]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
-  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[[3-9]]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[         ]*hwcap[        ]/d;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-nto-qnx*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[[89]] | openbsd2.[[89]].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-AC_MSG_RESULT([$dynamic_linker])
-test "$dynamic_linker" = no && can_build_shared=no
-
-AC_CACHE_VAL([lt_cv_sys_lib_search_path_spec],
-[lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"])
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-AC_CACHE_VAL([lt_cv_sys_lib_dlsearch_path_spec],
-[lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"])
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-])# AC_LIBTOOL_SYS_DYNAMIC_LINKER
-
-
-# _LT_AC_TAGCONFIG
-# ----------------
-AC_DEFUN([_LT_AC_TAGCONFIG],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_ARG_WITH([tags],
-    [AC_HELP_STRING([--with-tags@<:@=TAGS@:>@],
-        [include additional configurations @<:@automatic@:>@])],
-    [tagnames="$withval"])
-
-if test -f "$ltmain" && test -n "$tagnames"; then
-  if test ! -f "${ofile}"; then
-    AC_MSG_WARN([output file `$ofile' does not exist])
-  fi
-
-  if test -z "$LTCC"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
-    if test -z "$LTCC"; then
-      AC_MSG_WARN([output file `$ofile' does not look like a libtool script])
-    else
-      AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile'])
-    fi
-  fi
-  if test -z "$LTCFLAGS"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
-  fi
-
-  # Extract list of available tagged configurations in $ofile.
-  # Note that this assumes the entire list is on one line.
-  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
-  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-  for tagname in $tagnames; do
-    IFS="$lt_save_ifs"
-    # Check whether tagname contains only valid characters
-    case `$echo "X$tagname" | $Xsed -e 's:[[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]]::g'` in
-    "") ;;
-    *)  AC_MSG_ERROR([invalid tag name: $tagname])
-       ;;
-    esac
-
-    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
-    then
-      AC_MSG_ERROR([tag name \"$tagname\" already exists])
-    fi
-
-    # Update the list of available tags.
-    if test -n "$tagname"; then
-      echo appending configuration tag \"$tagname\" to $ofile
-
-      case $tagname in
-      CXX)
-       if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-           ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-           (test "X$CXX" != "Xg++"))) ; then
-         AC_LIBTOOL_LANG_CXX_CONFIG
-       else
-         tagname=""
-       fi
-       ;;
-
-      F77)
-       if test -n "$F77" && test "X$F77" != "Xno"; then
-         AC_LIBTOOL_LANG_F77_CONFIG
-       else
-         tagname=""
-       fi
-       ;;
-
-      GCJ)
-       if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-         AC_LIBTOOL_LANG_GCJ_CONFIG
-       else
-         tagname=""
-       fi
-       ;;
-
-      RC)
-       AC_LIBTOOL_LANG_RC_CONFIG
-       ;;
-
-      *)
-       AC_MSG_ERROR([Unsupported tag name: $tagname])
-       ;;
-      esac
-
-      # Append the new tag name to the list of available tags.
-      if test -n "$tagname" ; then
-      available_tags="$available_tags $tagname"
-    fi
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  # Now substitute the updated list of available tags.
-  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
-    mv "${ofile}T" "$ofile"
-    chmod +x "$ofile"
-  else
-    rm -f "${ofile}T"
-    AC_MSG_ERROR([unable to update list of available tagged configurations.])
-  fi
-fi
-])# _LT_AC_TAGCONFIG
-
-
-# AC_LIBTOOL_DLOPEN
-# -----------------
-# enable checks for dlopen support
-AC_DEFUN([AC_LIBTOOL_DLOPEN],
- [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_DLOPEN
-
-
-# AC_LIBTOOL_WIN32_DLL
-# --------------------
-# declare package support for building win32 DLLs
-AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
-[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
-])# AC_LIBTOOL_WIN32_DLL
-
-
-# AC_ENABLE_SHARED([DEFAULT])
-# ---------------------------
-# implement the --enable-shared flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_SHARED],
-[define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([shared],
-    [AC_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
-       [build shared libraries @<:@default=]AC_ENABLE_SHARED_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_shared=]AC_ENABLE_SHARED_DEFAULT)
-])# AC_ENABLE_SHARED
-
-
-# AC_DISABLE_SHARED
-# -----------------
-# set the default shared flag to --disable-shared
-AC_DEFUN([AC_DISABLE_SHARED],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_SHARED(no)
-])# AC_DISABLE_SHARED
-
-
-# AC_ENABLE_STATIC([DEFAULT])
-# ---------------------------
-# implement the --enable-static flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_STATIC],
-[define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([static],
-    [AC_HELP_STRING([--enable-static@<:@=PKGS@:>@],
-       [build static libraries @<:@default=]AC_ENABLE_STATIC_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_static=]AC_ENABLE_STATIC_DEFAULT)
-])# AC_ENABLE_STATIC
-
-
-# AC_DISABLE_STATIC
-# -----------------
-# set the default static flag to --disable-static
-AC_DEFUN([AC_DISABLE_STATIC],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_STATIC(no)
-])# AC_DISABLE_STATIC
-
-
-# AC_ENABLE_FAST_INSTALL([DEFAULT])
-# ---------------------------------
-# implement the --enable-fast-install flag
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-AC_DEFUN([AC_ENABLE_FAST_INSTALL],
-[define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl
-AC_ARG_ENABLE([fast-install],
-    [AC_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
-    [optimize for fast installation @<:@default=]AC_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
-    [p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac],
-    [enable_fast_install=]AC_ENABLE_FAST_INSTALL_DEFAULT)
-])# AC_ENABLE_FAST_INSTALL
-
-
-# AC_DISABLE_FAST_INSTALL
-# -----------------------
-# set the default to --disable-fast-install
-AC_DEFUN([AC_DISABLE_FAST_INSTALL],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-AC_ENABLE_FAST_INSTALL(no)
-])# AC_DISABLE_FAST_INSTALL
-
-
-# AC_LIBTOOL_PICMODE([MODE])
-# --------------------------
-# implement the --with-pic flag
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
-AC_DEFUN([AC_LIBTOOL_PICMODE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-pic_mode=ifelse($#,1,$1,default)
-])# AC_LIBTOOL_PICMODE
-
-
-# AC_PROG_EGREP
-# -------------
-# This is predefined starting with Autoconf 2.54, so this conditional
-# definition can be removed once we require Autoconf 2.54 or later.
-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP],
-[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep],
-   [if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
-    fi])
- EGREP=$ac_cv_prog_egrep
- AC_SUBST([EGREP])
-])])
-
-
-# AC_PATH_TOOL_PREFIX
-# -------------------
-# find a file program which can recognize shared library
-AC_DEFUN([AC_PATH_TOOL_PREFIX],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_MSG_CHECKING([for $1])
-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
-[case $MAGIC_CMD in
-[[\\/*] |  ?:[\\/]*])
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-dnl $ac_dummy forces splitting on constant user-supplied paths.
-dnl POSIX.2 word splitting is done only on the output of word expansions,
-dnl not every word.  This closes a longstanding sh security hole.
-  ac_dummy="ifelse([$2], , $PATH, [$2])"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$1; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac])
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  AC_MSG_RESULT($MAGIC_CMD)
-else
-  AC_MSG_RESULT(no)
-fi
-])# AC_PATH_TOOL_PREFIX
-
-
-# AC_PATH_MAGIC
-# -------------
-# find a file program which can recognize a shared library
-AC_DEFUN([AC_PATH_MAGIC],
-[AC_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    AC_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
-  else
-    MAGIC_CMD=:
-  fi
-fi
-])# AC_PATH_MAGIC
-
-
-# AC_PROG_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-AC_DEFUN([AC_PROG_LD],
-[AC_ARG_WITH([gnu-ld],
-    [AC_HELP_STRING([--with-gnu-ld],
-       [assume the C compiler uses GNU ld @<:@default=no@:>@])],
-    [test "$withval" = no || with_gnu_ld=yes],
-    [with_gnu_ld=no])
-AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_REQUIRE([AC_PROG_CC])dnl
-AC_REQUIRE([AC_CANONICAL_HOST])dnl
-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  AC_MSG_CHECKING([for ld used by $CC])
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [[\\/]]* | ?:[[\\/]]*)
-      re_direlt='/[[^/]][[^/]]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  AC_MSG_CHECKING([for GNU ld])
-else
-  AC_MSG_CHECKING([for non-GNU ld])
-fi
-AC_CACHE_VAL(lt_cv_path_LD,
-[if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi])
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  AC_MSG_RESULT($LD)
-else
-  AC_MSG_RESULT(no)
-fi
-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
-AC_PROG_LD_GNU
-])# AC_PROG_LD
-
-
-# AC_PROG_LD_GNU
-# --------------
-AC_DEFUN([AC_PROG_LD_GNU],
-[AC_REQUIRE([AC_PROG_EGREP])dnl
-AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac])
-with_gnu_ld=$lt_cv_prog_gnu_ld
-])# AC_PROG_LD_GNU
-
-
-# AC_PROG_LD_RELOAD_FLAG
-# ----------------------
-# find reload flag for linker
-#   -- PORTME Some linkers may need a different reload flag.
-AC_DEFUN([AC_PROG_LD_RELOAD_FLAG],
-[AC_CACHE_CHECK([for $LD option to reload object files],
-  lt_cv_ld_reload_flag,
-  [lt_cv_ld_reload_flag='-r'])
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-])# AC_PROG_LD_RELOAD_FLAG
-
-
-# AC_DEPLIBS_CHECK_METHOD
-# -----------------------
-# how to check for library dependencies
-#  -- PORTME fill in with the dynamic library characteristics
-AC_DEFUN([AC_DEPLIBS_CHECK_METHOD],
-[AC_CACHE_CHECK([how to recognize dependent libraries],
-lt_cv_deplibs_check_method,
-[lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[[4-9]]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[[45]]*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[[3-9]]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd* | netbsdelf*-gnu)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-nto-qnx*)
-  lt_cv_deplibs_check_method=unknown
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-])
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-])# AC_DEPLIBS_CHECK_METHOD
-
-
-# AC_PROG_NM
-# ----------
-# find the pathname to a BSD-compatible name lister
-AC_DEFUN([AC_PROG_NM],
-[AC_CACHE_CHECK([for BSD-compatible nm], lt_cv_path_NM,
-[if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi])
-NM="$lt_cv_path_NM"
-])# AC_PROG_NM
-
-
-# AC_CHECK_LIBM
-# -------------
-# check for math library
-AC_DEFUN([AC_CHECK_LIBM],
-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
-LIBM=
-case $host in
-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
-  # These system don't have libm, or don't need it
-  ;;
-*-ncr-sysv4.3*)
-  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
-  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
-  ;;
-*)
-  AC_CHECK_LIB(m, cos, LIBM="-lm")
-  ;;
-esac
-])# AC_CHECK_LIBM
-
-
-# AC_LIBLTDL_CONVENIENCE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl convenience library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-convenience to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
-# it is assumed to be `libltdl'.  LIBLTDL will be prefixed with
-# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
-# (note the single quotes!).  If your package is not flat and you're not
-# using automake, define top_builddir and top_srcdir appropriately in
-# the Makefiles.
-AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  case $enable_ltdl_convenience in
-  no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;;
-  "") enable_ltdl_convenience=yes
-      ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;;
-  esac
-  LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdlc.la
-  LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  # For backwards non-gettext consistent compatibility...
-  INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_CONVENIENCE
-
-
-# AC_LIBLTDL_INSTALLABLE([DIRECTORY])
-# -----------------------------------
-# sets LIBLTDL to the link flags for the libltdl installable library and
-# LTDLINCL to the include flags for the libltdl header and adds
-# --enable-ltdl-install to the configure arguments.  Note that
-# AC_CONFIG_SUBDIRS is not called here.  If DIRECTORY is not provided,
-# and an installed libltdl is not found, it is assumed to be `libltdl'.
-# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
-# '${top_srcdir}/' (note the single quotes!).  If your package is not
-# flat and you're not using automake, define top_builddir and top_srcdir
-# appropriately in the Makefiles.
-# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
-AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
-[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
-  AC_CHECK_LIB(ltdl, lt_dlinit,
-  [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no],
-  [if test x"$enable_ltdl_install" = xno; then
-     AC_MSG_WARN([libltdl not installed, but installation disabled])
-   else
-     enable_ltdl_install=yes
-   fi
-  ])
-  if test x"$enable_ltdl_install" = x"yes"; then
-    ac_configure_args="$ac_configure_args --enable-ltdl-install"
-    LIBLTDL='${top_builddir}/'ifelse($#,1,[$1],['libltdl'])/libltdl.la
-    LTDLINCL='-I${top_srcdir}/'ifelse($#,1,[$1],['libltdl'])
-  else
-    ac_configure_args="$ac_configure_args --enable-ltdl-install=no"
-    LIBLTDL="-lltdl"
-    LTDLINCL=
-  fi
-  # For backwards non-gettext consistent compatibility...
-  INCLTDL="$LTDLINCL"
-])# AC_LIBLTDL_INSTALLABLE
-
-
-# AC_LIBTOOL_CXX
-# --------------
-# enable support for C++ libraries
-AC_DEFUN([AC_LIBTOOL_CXX],
-[AC_REQUIRE([_LT_AC_LANG_CXX])
-])# AC_LIBTOOL_CXX
-
-
-# _LT_AC_LANG_CXX
-# ---------------
-AC_DEFUN([_LT_AC_LANG_CXX],
-[AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX])
-])# _LT_AC_LANG_CXX
-
-# _LT_AC_PROG_CXXCPP
-# ------------------
-AC_DEFUN([_LT_AC_PROG_CXXCPP],
-[
-AC_REQUIRE([AC_PROG_CXX])
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  AC_PROG_CXXCPP
-fi
-])# _LT_AC_PROG_CXXCPP
-
-# AC_LIBTOOL_F77
-# --------------
-# enable support for Fortran 77 libraries
-AC_DEFUN([AC_LIBTOOL_F77],
-[AC_REQUIRE([_LT_AC_LANG_F77])
-])# AC_LIBTOOL_F77
-
-
-# _LT_AC_LANG_F77
-# ---------------
-AC_DEFUN([_LT_AC_LANG_F77],
-[AC_REQUIRE([AC_PROG_F77])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}F77])
-])# _LT_AC_LANG_F77
-
-
-# AC_LIBTOOL_GCJ
-# --------------
-# enable support for GCJ libraries
-AC_DEFUN([AC_LIBTOOL_GCJ],
-[AC_REQUIRE([_LT_AC_LANG_GCJ])
-])# AC_LIBTOOL_GCJ
-
-
-# _LT_AC_LANG_GCJ
-# ---------------
-AC_DEFUN([_LT_AC_LANG_GCJ],
-[AC_PROVIDE_IFELSE([AC_PROG_GCJ],[],
-  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],[],
-    [AC_PROVIDE_IFELSE([LT_AC_PROG_GCJ],[],
-      [ifdef([AC_PROG_GCJ],[AC_REQUIRE([AC_PROG_GCJ])],
-        [ifdef([A][M_PROG_GCJ],[AC_REQUIRE([A][M_PROG_GCJ])],
-          [AC_REQUIRE([A][C_PROG_GCJ_OR_A][M_PROG_GCJ])])])])])])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}GCJ])
-])# _LT_AC_LANG_GCJ
-
-
-# AC_LIBTOOL_RC
-# -------------
-# enable support for Windows resource files
-AC_DEFUN([AC_LIBTOOL_RC],
-[AC_REQUIRE([LT_AC_PROG_RC])
-_LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}RC])
-])# AC_LIBTOOL_RC
-
-
-# AC_LIBTOOL_LANG_C_CONFIG
-# ------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG], [_LT_AC_LANG_C_CONFIG])
-AC_DEFUN([_LT_AC_LANG_C_CONFIG],
-[lt_save_CC="$CC"
-AC_LANG_PUSH(C)
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-AC_LIBTOOL_SYS_LIB_STRIP
-AC_LIBTOOL_DLOPEN_SELF
-
-# Report which library types will actually be built
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix[[4-9]]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-    ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_C_CONFIG
-
-
-# AC_LIBTOOL_LANG_CXX_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG], [_LT_AC_LANG_CXX_CONFIG(CXX)])
-AC_DEFUN([_LT_AC_LANG_CXX_CONFIG],
-[AC_LANG_PUSH(C++)
-AC_REQUIRE([AC_PROG_CXX])
-AC_REQUIRE([_LT_AC_PROG_CXXCPP])
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Dependencies to place before and after the object being linked:
-_LT_AC_TAGVAR(predep_objects, $1)=
-_LT_AC_TAGVAR(postdep_objects, $1)=
-_LT_AC_TAGVAR(predeps, $1)=
-_LT_AC_TAGVAR(postdeps, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
-  $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
-  lt_cv_path_LD=$lt_cv_path_LDCXX
-else
-  $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-else
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-fi
-
-if test "$GXX" = yes; then
-  # Set up default GNU C++ configuration
-
-  AC_PROG_LD
-
-  # Check if GNU C++ uses GNU ld as the underlying linker, since the
-  # archiving commands below assume that GNU ld is being used.
-  if test "$with_gnu_ld" = yes; then
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-    #     investigate it a little bit more. (MM)
-    wlarc='${wl}'
-
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
-       grep 'no-whole-archive' > /dev/null; then
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    with_gnu_ld=no
-    wlarc=
-
-    # A generic and very simple default shared library creation
-    # command for GNU C++ for the case where it uses the native
-    # linker, instead of GNU ld.  If possible, this setting should
-    # overridden to take advantage of the native linker features on
-    # the platform it is being used on.
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-  fi
-
-  # Commands to make compiler produce verbose output that lists
-  # what "hidden" libraries, object files and flags are used when
-  # linking a shared library.
-  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
-  GXX=no
-  with_gnu_ld=no
-  wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-_LT_AC_TAGVAR(ld_shlibs, $1)=yes
-case $host_os in
-  aix3*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  aix[[4-9]]*)
-    if test "$host_cpu" = ia64; then
-      # On IA64, the linker does run time linking by default, so we don't
-      # have to do anything special.
-      aix_use_runtimelinking=no
-      exp_sym_flag='-Bexport'
-      no_entry_flag=""
-    else
-      aix_use_runtimelinking=no
-
-      # Test if we are trying to use run time linking or normal
-      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-      # need to do runtime linking.
-      case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-       for ld_flag in $LDFLAGS; do
-         case $ld_flag in
-         *-brtl*)
-           aix_use_runtimelinking=yes
-           break
-           ;;
-         esac
-       done
-       ;;
-      esac
-
-      exp_sym_flag='-bexport'
-      no_entry_flag='-bnoentry'
-    fi
-
-    # When large executables or shared objects are built, AIX ld can
-    # have problems creating the table of contents.  If linking a library
-    # or program results in "error TOC overflow" add -mminimal-toc to
-    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-    _LT_AC_TAGVAR(archive_cmds, $1)=''
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-    if test "$GXX" = yes; then
-      case $host_os in aix4.[[012]]|aix4.[[012]].*)
-      # We only want to do this on AIX 4.2 and lower, the check
-      # below for broken collect2 doesn't work under 4.3+
-       collect2name=`${CC} -print-prog-name=collect2`
-       if test -f "$collect2name" && \
-          strings "$collect2name" | grep resolve_lib_name >/dev/null
-       then
-         # We have reworked collect2
-         :
-       else
-         # We have old collect2
-         _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-       fi
-       ;;
-      esac
-      shared_flag='-shared'
-      if test "$aix_use_runtimelinking" = yes; then
-       shared_flag="$shared_flag "'${wl}-G'
-      fi
-    else
-      # not using gcc
-      if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-       shared_flag='-G'
-      else
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag='${wl}-G'
-       else
-         shared_flag='${wl}-bM:SRE'
-       fi
-      fi
-    fi
-
-    # It seems that -bexpall does not export symbols beginning with
-    # underscore (_), so it is better to generate a list of symbols to export.
-    _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-    if test "$aix_use_runtimelinking" = yes; then
-      # Warning - without using the other runtime loading flags (-brtl),
-      # -berok will link without error, but may produce a broken library.
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
-      # Determine the default libpath from the value encoded in an empty executable.
-      _LT_AC_SYS_LIBPATH_AIX
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-     else
-      if test "$host_cpu" = ia64; then
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-      else
-       # Determine the default libpath from the value encoded in an empty executable.
-       _LT_AC_SYS_LIBPATH_AIX
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-       # Warning - without using the other run time loading flags,
-       # -berok will link without error, but may produce a broken library.
-       _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-       # Exported symbols can be pulled into shared objects from archives
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-       # This is similar to how AIX traditionally builds its shared libraries.
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-      fi
-    fi
-    ;;
-
-  beos*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-
-  chorus*)
-    case $cc_basename in
-      *)
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-    esac
-    ;;
-
-  cygwin* | mingw* | pw32*)
-    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-    # as there is no search path for DLLs.
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-    _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-    _LT_AC_TAGVAR(always_export_symbols, $1)=no
-    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-
-    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      # If the export-symbols file already is a .def file (1st line
-      # is EXPORTS), use it as is; otherwise, prepend...
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-       cp $export_symbols $output_objdir/$soname.def;
-      else
-       echo EXPORTS > $output_objdir/$soname.def;
-       cat $export_symbols >> $output_objdir/$soname.def;
-      fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-  ;;
-      darwin* | rhapsody*)
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
-      if test "$GXX" = yes ; then
-      output_verbose_link_cmd='echo'
-      _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-      _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-      fi
-      else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-          _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-          ;;
-      esac
-      fi
-        ;;
-
-  dgux*)
-    case $cc_basename in
-      ec++*)
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-      ghcx*)
-       # Green Hills C++ Compiler
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-      *)
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-    esac
-    ;;
-  freebsd[[12]]*)
-    # C++ shared libraries reported to be fairly broken before switch to ELF
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  freebsd-elf*)
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    ;;
-  freebsd* | dragonfly*)
-    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-    # conventions
-    _LT_AC_TAGVAR(ld_shlibs, $1)=yes
-    ;;
-  gnu*)
-    ;;
-  hpux9*)
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-    _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-    _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-                               # but as the default
-                               # location of the library.
-
-    case $cc_basename in
-    CC*)
-      # FIXME: insert proper C++ library support
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    aCC*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      #
-      # There doesn't appear to be a way to prevent this compiler from
-      # explicitly linking system object files so we need to strip them
-      # from the output so that they don't get included in the library
-      # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[[-]]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-      ;;
-    *)
-      if test "$GXX" = yes; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-        # FIXME: insert proper C++ library support
-        _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-    ;;
-  hpux10*|hpux11*)
-    if test $with_gnu_ld = no; then
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-      case $host_cpu in
-      hppa*64*|ia64*) ;;
-      *)
-       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-        ;;
-      esac
-    fi
-    case $host_cpu in
-    hppa*64*|ia64*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-    *)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
-                                             # but as the default
-                                             # location of the library.
-      ;;
-    esac
-
-    case $cc_basename in
-      CC*)
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-      aCC*)
-       case $host_cpu in
-       hppa*64*)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-         ;;
-       ia64*)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-         ;;
-       *)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-         ;;
-       esac
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-       ;;
-      *)
-       if test "$GXX" = yes; then
-         if test $with_gnu_ld = no; then
-           case $host_cpu in
-           hppa*64*)
-             _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-             ;;
-           ia64*)
-             _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-             ;;
-           *)
-             _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-             ;;
-           esac
-         fi
-       else
-         # FIXME: insert proper C++ library support
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       fi
-       ;;
-    esac
-    ;;
-  interix[[3-9]]*)
-    _LT_AC_TAGVAR(hardcode_direct, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-    # Instead, shared libraries are loaded at an image base (0x10000000 by
-    # default) and relocated if they conflict, which is a slow very memory
-    # consuming and fragmenting process.  To avoid this, we pick a random,
-    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-    _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    ;;
-  irix5* | irix6*)
-    case $cc_basename in
-      CC*)
-       # SGI C++
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-       # Archives containing C++ object files must be created using
-       # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-       # necessary to make sure instantiated templates are included
-       # in the archive.
-       _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
-       ;;
-      *)
-       if test "$GXX" = yes; then
-         if test "$with_gnu_ld" = no; then
-           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-         else
-           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
-         fi
-       fi
-       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-       ;;
-    esac
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-    ;;
-  linux* | k*bsd*-gnu)
-    case $cc_basename in
-      KCC*)
-       # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-       # KCC will only create a shared library if the output file
-       # ends with ".so" (or ".sl" for HP-UX), so rename the library
-       # to its proper name (with version) after linking.
-       _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath,$libdir'
-       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-
-       # Archives containing C++ object files must be created using
-       # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-       _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-       ;;
-      icpc*)
-       # Intel C++
-       with_gnu_ld=yes
-       # version 8.0 and above of icpc choke on multiply defined symbols
-       # if we add $predep_objects and $postdep_objects, however 7.1 and
-       # earlier do not add the objects themselves.
-       case `$CC -V 2>&1` in
-       *"Version 7."*)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         ;;
-       *)  # Version 8.0 or newer
-         tmp_idyn=
-         case $host_cpu in
-           ia64*) tmp_idyn=' -i_dynamic';;
-         esac
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         ;;
-       esac
-       _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-       ;;
-      pgCC* | pgcpp*)
-        # Portland Group C++ compiler
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-        ;;
-      cxx*)
-       # Compaq C++
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-       runpath_var=LD_RUN_PATH
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)
-         # Sun C++ 5.9
-         _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
-         # Not sure whether something based on
-         # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-         # would be better.
-         output_verbose_link_cmd='echo'
-
-         # Archives containing C++ object files must be created using
-         # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-         # necessary to make sure instantiated templates are included
-         # in the archive.
-         _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-         ;;
-       esac
-       ;;
-    esac
-    ;;
-  lynxos*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  m88k*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  mvs*)
-    case $cc_basename in
-      cxx*)
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-      *)
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-    esac
-    ;;
-  netbsd* | netbsdelf*-gnu)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-      wlarc=
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    fi
-    # Workaround some broken pre-1.5 toolchains
-    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-    ;;
-  openbsd2*)
-    # C++ shared libraries are fairly broken
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  openbsd*)
-    if test -f /usr/libexec/ld.so; then
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      fi
-      output_verbose_link_cmd='echo'
-    else
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    fi
-    ;;
-  osf3*)
-    case $cc_basename in
-      KCC*)
-       # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-       # KCC will only create a shared library if the output file
-       # ends with ".so" (or ".sl" for HP-UX), so rename the library
-       # to its proper name (with version) after linking.
-       _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-       # Archives containing C++ object files must be created using
-       # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-       _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
-
-       ;;
-      RCC*)
-       # Rational C++ 2.4.1
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-      cxx*)
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-       ;;
-      *)
-       if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-         _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-         # Commands to make compiler produce verbose output that lists
-         # what "hidden" libraries, object files and flags are used when
-         # linking a shared library.
-         output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-       else
-         # FIXME: insert proper C++ library support
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       fi
-       ;;
-    esac
-    ;;
-  osf4* | osf5*)
-    case $cc_basename in
-      KCC*)
-       # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-       # KCC will only create a shared library if the output file
-       # ends with ".so" (or ".sl" for HP-UX), so rename the library
-       # to its proper name (with version) after linking.
-       _LT_AC_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-       # Archives containing C++ object files must be created using
-       # the KAI C++ compiler.
-       _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs'
-       ;;
-      RCC*)
-       # Rational C++ 2.4.1
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-      cxx*)
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-         echo "-hidden">> $lib.exp~
-         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
-         $rm $lib.exp'
-
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-       ;;
-      *)
-       if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-         _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-         # Commands to make compiler produce verbose output that lists
-         # what "hidden" libraries, object files and flags are used when
-         # linking a shared library.
-         output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-       else
-         # FIXME: insert proper C++ library support
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       fi
-       ;;
-    esac
-    ;;
-  psos*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  sunos4*)
-    case $cc_basename in
-      CC*)
-       # Sun C++ 4.x
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-      lcc*)
-       # Lucid
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-      *)
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-    esac
-    ;;
-  solaris*)
-    case $cc_basename in
-      CC*)
-       # Sun C++ 4.2, 5.x and Centerline C++
-        _LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
-       _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-       $CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-       case $host_os in
-         solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-         *)
-           # The compiler driver will combine and reorder linker options,
-           # but understands `-z linker_flag'.
-           # Supported since Solaris 2.6 (maybe 2.5.1?)
-           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-           ;;
-       esac
-       _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-       output_verbose_link_cmd='echo'
-
-       # Archives containing C++ object files must be created using
-       # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-       # necessary to make sure instantiated templates are included
-       # in the archive.
-       _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
-       ;;
-      gcx*)
-       # Green Hills C++ Compiler
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-       # The C++ compiler must be used to create the archive.
-       _LT_AC_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-       ;;
-      *)
-       # GNU C++ compiler with Solaris linker
-       if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-         _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
-         if $CC --version | grep -v '^2\.7' > /dev/null; then
-           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-         else
-           # g++ 2.7 appears to require `-G' NOT `-shared' on this
-           # platform.
-           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-         fi
-
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
-         case $host_os in
-         solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-         *)
-           _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-           ;;
-         esac
-       fi
-       ;;
-    esac
-    ;;
-  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       ;;
-      *)
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       ;;
-    esac
-    ;;
-  sysv5* | sco3.2v5* | sco5v6*)
-    # Note: We can NOT use -z defs as we might desire, because we do not
-    # link with -lc, and that would cause any symbols used from libc to
-    # always be unresolved, which means just about no library would
-    # ever link correctly.  If we're not using GNU ld we use -z text
-    # though, which does catch some bad symbols but isn't as heavy-handed
-    # as -z defs.
-    # For security reasons, it is highly recommended that you always
-    # use absolute paths for naming shared libraries, and exclude the
-    # DT_RUNPATH tag from executables and libraries.  But doing so
-    # requires that you compile everything twice, which is a pain.
-    # So that behaviour is only enabled if SCOABSPATH is set to a
-    # non-empty value in the environment.  Most likely only useful for
-    # creating official distributions of packages.
-    # This is a hack until libtool officially supports absolute path
-    # names for shared libraries.
-    _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-    _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-    _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-    _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       ;;
-      *)
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       ;;
-    esac
-    ;;
-  tandem*)
-    case $cc_basename in
-      NCC*)
-       # NonStop-UX NCC 3.20
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-      *)
-       # FIXME: insert proper C++ library support
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       ;;
-    esac
-    ;;
-  vxworks*)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-  *)
-    # FIXME: insert proper C++ library support
-    _LT_AC_TAGVAR(ld_shlibs, $1)=no
-    ;;
-esac
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-_LT_AC_TAGVAR(GCC, $1)="$GXX"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_POSTDEP_PREDEP($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-])# AC_LIBTOOL_LANG_CXX_CONFIG
-
-# AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME])
-# ------------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-dnl we can't use the lt_simple_compile_test_code here,
-dnl because it contains code intended for an executable,
-dnl not a library.  It's possible we should let each
-dnl tag define a new lt_????_link_test_code variable,
-dnl but it's only used here...
-ifelse([$1],[],[cat > conftest.$ac_ext <<EOF
-int a;
-void foo (void) { a = 0; }
-EOF
-],[$1],[CXX],[cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-EOF
-],[$1],[F77],[cat > conftest.$ac_ext <<EOF
-      subroutine foo
-      implicit none
-      integer*4 a
-      a=0
-      return
-      end
-EOF
-],[$1],[GCJ],[cat > conftest.$ac_ext <<EOF
-public class foo {
-  private int a;
-  public void bar (void) {
-    a = 0;
-  }
-};
-EOF
-])
-dnl Parse the compiler output and extract the necessary
-dnl objects, libraries and library flags.
-if AC_TRY_EVAL(ac_compile); then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  # The `*' in the case matches for architectures that use `case' in
-  # $output_verbose_cmd can trigger glob expansion during the loop
-  # eval without this substitution.
-  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
-  for p in `eval $output_verbose_link_cmd`; do
-    case $p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" \
-         || test $p = "-R"; then
-        prev=$p
-        continue
-       else
-        prev=
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-        case $p in
-        -L* | -R*)
-          # Internal compiler library paths should come after those
-          # provided the user.  The postdeps already come after the
-          # user supplied libs so there is no need to process them.
-          if test -z "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
-            _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
-          else
-            _LT_AC_TAGVAR(compiler_lib_search_path, $1)="${_LT_AC_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
-          fi
-          ;;
-        # The "-l" case would never come before the object being
-        # linked, so don't bother handling this case.
-        esac
-       else
-        if test -z "$_LT_AC_TAGVAR(postdeps, $1)"; then
-          _LT_AC_TAGVAR(postdeps, $1)="${prev}${p}"
-        else
-          _LT_AC_TAGVAR(postdeps, $1)="${_LT_AC_TAGVAR(postdeps, $1)} ${prev}${p}"
-        fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-        pre_test_object_deps_done=yes
-        continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-        if test -z "$_LT_AC_TAGVAR(predep_objects, $1)"; then
-          _LT_AC_TAGVAR(predep_objects, $1)="$p"
-        else
-          _LT_AC_TAGVAR(predep_objects, $1)="$_LT_AC_TAGVAR(predep_objects, $1) $p"
-        fi
-       else
-        if test -z "$_LT_AC_TAGVAR(postdep_objects, $1)"; then
-          _LT_AC_TAGVAR(postdep_objects, $1)="$p"
-        else
-          _LT_AC_TAGVAR(postdep_objects, $1)="$_LT_AC_TAGVAR(postdep_objects, $1) $p"
-        fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling $1 test program"
-fi
-
-$rm -f confest.$objext
-
-_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=
-if test -n "$_LT_AC_TAGVAR(compiler_lib_search_path, $1)"; then
-  _LT_AC_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_AC_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-# PORTME: override above test on systems where it is broken
-ifelse([$1],[CXX],
-[case $host_os in
-interix[[3-9]]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  _LT_AC_TAGVAR(predep_objects,$1)=
-  _LT_AC_TAGVAR(postdep_objects,$1)=
-  _LT_AC_TAGVAR(postdeps,$1)=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-    #
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-])
-case " $_LT_AC_TAGVAR(postdeps, $1) " in
-*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
-esac
-])# AC_LIBTOOL_POSTDEP_PREDEP
-
-# AC_LIBTOOL_LANG_F77_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)])
-AC_DEFUN([_LT_AC_LANG_F77_CONFIG],
-[AC_REQUIRE([AC_PROG_F77])
-AC_LANG_PUSH(Fortran 77)
-
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-_LT_AC_TAGVAR(allow_undefined_flag, $1)=
-_LT_AC_TAGVAR(always_export_symbols, $1)=no
-_LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_direct, $1)=no
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-_LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-_LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-_LT_AC_TAGVAR(hardcode_automatic, $1)=no
-_LT_AC_TAGVAR(module_cmds, $1)=
-_LT_AC_TAGVAR(module_expsym_cmds, $1)=
-_LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-_LT_AC_TAGVAR(no_undefined_flag, $1)=
-_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
-      program t
-      end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-AC_MSG_CHECKING([if libtool supports shared libraries])
-AC_MSG_RESULT([$can_build_shared])
-
-AC_MSG_CHECKING([whether to build shared libraries])
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-aix[[4-9]]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-  ;;
-esac
-AC_MSG_RESULT([$enable_shared])
-
-AC_MSG_CHECKING([whether to build static libraries])
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-AC_MSG_RESULT([$enable_static])
-
-_LT_AC_TAGVAR(GCC, $1)="$G77"
-_LT_AC_TAGVAR(LD, $1)="$LD"
-
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_POP
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_F77_CONFIG
-
-
-# AC_LIBTOOL_LANG_GCJ_CONFIG
-# --------------------------
-# Ensure that the configuration vars for the C compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)])
-AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-
-_LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
-
-AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1)
-AC_LIBTOOL_PROG_COMPILER_PIC($1)
-AC_LIBTOOL_PROG_CC_C_O($1)
-AC_LIBTOOL_SYS_HARD_LINK_LOCKS($1)
-AC_LIBTOOL_PROG_LD_SHLIBS($1)
-AC_LIBTOOL_SYS_DYNAMIC_LINKER($1)
-AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1)
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_GCJ_CONFIG
-
-
-# AC_LIBTOOL_LANG_RC_CONFIG
-# -------------------------
-# Ensure that the configuration vars for the Windows resource compiler are
-# suitably defined.  Those variables are subsequently used by
-# AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'.
-AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)])
-AC_DEFUN([_LT_AC_LANG_RC_CONFIG],
-[AC_LANG_SAVE
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-_LT_AC_TAGVAR(objext, $1)=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-_LT_AC_SYS_COMPILER
-
-# save warnings/boilerplate of simple test code
-_LT_COMPILER_BOILERPLATE
-_LT_LINKER_BOILERPLATE
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-_LT_AC_TAGVAR(compiler, $1)=$CC
-_LT_CC_BASENAME([$compiler])
-_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
-
-AC_LIBTOOL_CONFIG($1)
-
-AC_LANG_RESTORE
-CC="$lt_save_CC"
-])# AC_LIBTOOL_LANG_RC_CONFIG
-
-
-# AC_LIBTOOL_CONFIG([TAGNAME])
-# ----------------------------
-# If TAGNAME is not passed, then create an initial libtool script
-# with a default configuration from the untagged config vars.  Otherwise
-# add code to config.status for appending the configuration named by
-# TAGNAME from the matching tagged config vars.
-AC_DEFUN([AC_LIBTOOL_CONFIG],
-[# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    _LT_AC_TAGVAR(compiler, $1) \
-    _LT_AC_TAGVAR(CC, $1) \
-    _LT_AC_TAGVAR(LD, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \
-    _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \
-    _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \
-    _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \
-    _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \
-    _LT_AC_TAGVAR(old_archive_cmds, $1) \
-    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \
-    _LT_AC_TAGVAR(predep_objects, $1) \
-    _LT_AC_TAGVAR(postdep_objects, $1) \
-    _LT_AC_TAGVAR(predeps, $1) \
-    _LT_AC_TAGVAR(postdeps, $1) \
-    _LT_AC_TAGVAR(compiler_lib_search_path, $1) \
-    _LT_AC_TAGVAR(compiler_lib_search_dirs, $1) \
-    _LT_AC_TAGVAR(archive_cmds, $1) \
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1) \
-    _LT_AC_TAGVAR(postinstall_cmds, $1) \
-    _LT_AC_TAGVAR(postuninstall_cmds, $1) \
-    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \
-    _LT_AC_TAGVAR(allow_undefined_flag, $1) \
-    _LT_AC_TAGVAR(no_undefined_flag, $1) \
-    _LT_AC_TAGVAR(export_symbols_cmds, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1) \
-    _LT_AC_TAGVAR(hardcode_libdir_separator, $1) \
-    _LT_AC_TAGVAR(hardcode_automatic, $1) \
-    _LT_AC_TAGVAR(module_cmds, $1) \
-    _LT_AC_TAGVAR(module_expsym_cmds, $1) \
-    _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \
-    _LT_AC_TAGVAR(fix_srcfile_path, $1) \
-    _LT_AC_TAGVAR(exclude_expsyms, $1) \
-    _LT_AC_TAGVAR(include_expsyms, $1); do
-
-    case $var in
-    _LT_AC_TAGVAR(old_archive_cmds, $1) | \
-    _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \
-    _LT_AC_TAGVAR(archive_cmds, $1) | \
-    _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \
-    _LT_AC_TAGVAR(module_cmds, $1) | \
-    _LT_AC_TAGVAR(module_expsym_cmds, $1) | \
-    _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \
-    _LT_AC_TAGVAR(export_symbols_cmds, $1) | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\[$]0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\[$]0 --fallback-echo"[$]/[$]0 --fallback-echo"/'`
-    ;;
-  esac
-
-ifelse([$1], [],
-  [cfgfile="${ofile}T"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  $rm -f "$cfgfile"
-  AC_MSG_NOTICE([creating $ofile])],
-  [cfgfile="$ofile"])
-
-  cat <<__EOF__ >> "$cfgfile"
-ifelse([$1], [],
-[#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG],
-[# ### BEGIN LIBTOOL TAG CONFIG: $tagname])
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$_LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_[]_LT_AC_TAGVAR(compiler, $1)
-
-# Is the compiler the GNU C compiler?
-with_gcc=$_LT_AC_TAGVAR(GCC, $1)
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_[]_LT_AC_TAGVAR(LD, $1)
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_[]_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_static, $1)
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_[]_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_[]_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_[]_LT_AC_TAGVAR(whole_archive_flag_spec, $1)
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_[]_LT_AC_TAGVAR(thread_safe_flag_spec, $1)
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_cmds, $1)
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_new_cmds, $1)
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_[]_LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_[]_LT_AC_TAGVAR(archive_cmds, $1)
-archive_expsym_cmds=$lt_[]_LT_AC_TAGVAR(archive_expsym_cmds, $1)
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_[]_LT_AC_TAGVAR(module_cmds, $1)
-module_expsym_cmds=$lt_[]_LT_AC_TAGVAR(module_expsym_cmds, $1)
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_[]_LT_AC_TAGVAR(predep_objects, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_[]_LT_AC_TAGVAR(postdep_objects, $1)
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_[]_LT_AC_TAGVAR(predeps, $1)
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_[]_LT_AC_TAGVAR(postdeps, $1)
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_dirs, $1)
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_[]_LT_AC_TAGVAR(compiler_lib_search_path, $1)
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_[]_LT_AC_TAGVAR(allow_undefined_flag, $1)
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_[]_LT_AC_TAGVAR(no_undefined_flag, $1)
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$_LT_AC_TAGVAR(hardcode_action, $1)
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_[]_LT_AC_TAGVAR(hardcode_libdir_separator, $1)
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$_LT_AC_TAGVAR(hardcode_direct, $1)
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$_LT_AC_TAGVAR(hardcode_minus_L, $1)
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$_LT_AC_TAGVAR(hardcode_automatic, $1)
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$_LT_AC_TAGVAR(link_all_deplibs, $1)
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$_LT_AC_TAGVAR(always_export_symbols, $1)
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_[]_LT_AC_TAGVAR(export_symbols_cmds, $1)
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_[]_LT_AC_TAGVAR(exclude_expsyms, $1)
-
-# Symbols that must always be exported.
-include_expsyms=$lt_[]_LT_AC_TAGVAR(include_expsyms, $1)
-
-ifelse([$1],[],
-[# ### END LIBTOOL CONFIG],
-[# ### END LIBTOOL TAG CONFIG: $tagname])
-
-__EOF__
-
-ifelse([$1],[], [
-  case $host_os in
-  aix3*)
-    cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-EOF
-    ;;
-  esac
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" || \
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-])
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-])# AC_LIBTOOL_CONFIG
-
-
-# AC_LIBTOOL_PROG_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI],
-[AC_REQUIRE([_LT_AC_SYS_COMPILER])dnl
-
-_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
-
-if test "$GCC" = yes; then
-  _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
-
-  AC_LIBTOOL_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
-    lt_cv_prog_compiler_rtti_exceptions,
-    [-fno-rtti -fno-exceptions], [],
-    [_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
-fi
-])# AC_LIBTOOL_PROG_COMPILER_NO_RTTI
-
-
-# AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-# ---------------------------------
-AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE],
-[AC_REQUIRE([AC_CANONICAL_HOST])
-AC_REQUIRE([LT_AC_PROG_SED])
-AC_REQUIRE([AC_PROG_NM])
-AC_REQUIRE([AC_OBJEXT])
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
-[
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[[BCDEGRST]]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[[BCDT]]'
-  ;;
-cygwin* | mingw* | pw32*)
-  symcode='[[ABCDGISTW]]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDEGRST]]'
-  fi
-  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  ;;
-linux* | k*bsd*-gnu)
-  if test "$host_cpu" = ia64; then
-    symcode='[[ABCDGIRSTW]]'
-    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[[BCDEGRST]]'
-  ;;
-osf*)
-  symcode='[[BCDEGQRST]]'
-  ;;
-solaris*)
-  symcode='[[BDRT]]'
-  ;;
-sco3.2v5*)
-  symcode='[[DT]]'
-  ;;
-sysv4.2uw2*)
-  symcode='[[DT]]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[[ABDT]]'
-  ;;
-sysv4)
-  symcode='[[DFNSTU]]'
-  ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[[ABCDGIRSTW]]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[     ]]\($symcode$symcode*\)[[       ]][[    ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
-  if AC_TRY_EVAL(ac_compile); then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if grep ' nm_test_var$' "$nlist" >/dev/null; then
-       if grep ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
-         cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[[]] =
-{
-EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
-         cat <<\EOF >> conftest.$ac_ext
-  {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_save_LIBS="$LIBS"
-         lt_save_CFLAGS="$CFLAGS"
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$_LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
-         if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS="$lt_save_LIBS"
-         CFLAGS="$lt_save_CFLAGS"
-       else
-         echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
-    fi
-  else
-    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-])
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  AC_MSG_RESULT(failed)
-else
-  AC_MSG_RESULT(ok)
-fi
-]) # AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE
-
-
-# AC_LIBTOOL_PROG_COMPILER_PIC([TAGNAME])
-# ---------------------------------------
-AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC],
-[_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=
-
-AC_MSG_CHECKING([for $compiler option to produce PIC])
- ifelse([$1],[CXX],[
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-      ;;
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-       [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-      ;;
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       ;;
-      *)
-       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-       ;;
-      esac
-      ;;
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[[4-9]]*)
-       # All AIX code is PIC.
-       if test "$host_cpu" = ia64; then
-         # AIX 5 now supports IA64 processor
-         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-       else
-         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-       fi
-       ;;
-      chorus*)
-       case $cc_basename in
-       cxch68*)
-         # Green Hills C++ Compiler
-         # _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-         ;;
-       esac
-       ;;
-       darwin*)
-         # PIC is the default on this platform
-         # Common symbols not allowed in MH_DYLIB files
-         case $cc_basename in
-           xlc*)
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           ;;
-         esac
-       ;;
-      dgux*)
-       case $cc_basename in
-         ec++*)
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-           ;;
-         ghcx*)
-           # Green Hills C++ Compiler
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      freebsd* | dragonfly*)
-       # FreeBSD uses GNU C++
-       ;;
-      hpux9* | hpux10* | hpux11*)
-       case $cc_basename in
-         CC*)
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-           if test "$host_cpu" != ia64; then
-             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-           fi
-           ;;
-         aCC*)
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-           case $host_cpu in
-           hppa*64*|ia64*)
-             # +Z the default
-             ;;
-           *)
-             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-             ;;
-           esac
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      interix*)
-       # This is c89, which is MS Visual C++ (no shared libs)
-       # Anyone wants to do a port?
-       ;;
-      irix5* | irix6* | nonstopux*)
-       case $cc_basename in
-         CC*)
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-           # CC pic flag -KPIC is the default.
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      linux* | k*bsd*-gnu)
-       case $cc_basename in
-         KCC*)
-           # KAI C++ Compiler
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-           ;;
-         icpc* | ecpc*)
-           # Intel C++
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-           ;;
-         pgCC* | pgcpp*)
-           # Portland Group C++ compiler.
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-           ;;
-         cxx*)
-           # Compaq C++
-           # Make sure the PIC flag is empty.  It appears that all Alpha
-           # Linux and Compaq Tru64 Unix objects are PIC.
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-           ;;
-         *)
-           case `$CC -V 2>&1 | sed 5q` in
-           *Sun\ C*)
-             # Sun C++ 5.9
-             _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-             _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-             _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-             ;;
-           esac
-           ;;
-       esac
-       ;;
-      lynxos*)
-       ;;
-      m88k*)
-       ;;
-      mvs*)
-       case $cc_basename in
-         cxx*)
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      netbsd* | netbsdelf*-gnu)
-       ;;
-      osf3* | osf4* | osf5*)
-       case $cc_basename in
-         KCC*)
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
-           ;;
-         RCC*)
-           # Rational C++ 2.4.1
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-           ;;
-         cxx*)
-           # Digital/Compaq C++
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           # Make sure the PIC flag is empty.  It appears that all Alpha
-           # Linux and Compaq Tru64 Unix objects are PIC.
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      psos*)
-       ;;
-      solaris*)
-       case $cc_basename in
-         CC*)
-           # Sun C++ 4.2, 5.x and Centerline C++
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-           ;;
-         gcx*)
-           # Green Hills C++ Compiler
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      sunos4*)
-       case $cc_basename in
-         CC*)
-           # Sun C++ 4.x
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-           ;;
-         lcc*)
-           # Lucid
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      tandem*)
-       case $cc_basename in
-         NCC*)
-           # NonStop-UX NCC 3.20
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-       case $cc_basename in
-         CC*)
-           _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-           _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-           _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-           ;;
-       esac
-       ;;
-      vxworks*)
-       ;;
-      *)
-       _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-       ;;
-    esac
-  fi
-],
-[
-  if test "$GCC" = yes; then
-    _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-    _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      m4_if([$1], [GCJ], [],
-       [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
-      ;;
-
-    interix[[3-9]]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
-      fi
-      ;;
-
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-       ;;
-      esac
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      else
-       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon'
-         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      m4_if([$1], [GCJ], [],
-       [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # PIC (with -KPIC) is the default.
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    newsos6)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-      icc* | ecc*)
-       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
-       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-        ;;
-      ccc*)
-        _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-        # All Alpha code is PIC.
-        _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-        ;;
-      *)
-        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)
-         # Sun C 5.9
-         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-         ;;
-       *Sun\ F*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-         _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-         _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)=''
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      # All OSF/1 code is PIC.
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    rdos*)
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
-      ;;
-
-    solaris*)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
-      *)
-       _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
-       _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    unicos*)
-      _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-
-    uts4*)
-      _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
-      _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
-      ;;
-    esac
-  fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)])
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
-  AC_LIBTOOL_COMPILER_OPTION([if $compiler PIC flag $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) works],
-    _LT_AC_TAGVAR(lt_cv_prog_compiler_pic_works, $1),
-    [$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])], [],
-    [case $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) in
-     "" | " "*) ;;
-     *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)" ;;
-     esac],
-    [_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-     _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
-    ;;
-  *)
-    _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\"
-AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
-  _LT_AC_TAGVAR(lt_cv_prog_compiler_static_works, $1),
-  $lt_tmp_static_flag,
-  [],
-  [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=])
-])
-
-
-# AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME])
-# ------------------------------------
-# See if the linker supports building shared libraries.
-AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS],
-[AC_REQUIRE([LT_AC_PROG_SED])dnl
-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
-ifelse([$1],[CXX],[
-  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix[[4-9]]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-    else
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
-  ;;
-  cygwin* | mingw*)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-  ;;
-  linux* | k*bsd*-gnu)
-    _LT_AC_TAGVAR(link_all_deplibs, $1)=no
-  ;;
-  *)
-    _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-],[
-  runpath_var=
-  _LT_AC_TAGVAR(allow_undefined_flag, $1)=
-  _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=no
-  _LT_AC_TAGVAR(archive_cmds, $1)=
-  _LT_AC_TAGVAR(archive_expsym_cmds, $1)=
-  _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)=
-  _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1)=
-  _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-  _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-  _LT_AC_TAGVAR(thread_safe_flag_spec, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
-  _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-  _LT_AC_TAGVAR(hardcode_direct, $1)=no
-  _LT_AC_TAGVAR(hardcode_minus_L, $1)=no
-  _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-  _LT_AC_TAGVAR(link_all_deplibs, $1)=unknown
-  _LT_AC_TAGVAR(hardcode_automatic, $1)=no
-  _LT_AC_TAGVAR(module_cmds, $1)=
-  _LT_AC_TAGVAR(module_expsym_cmds, $1)=
-  _LT_AC_TAGVAR(always_export_symbols, $1)=no
-  _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  _LT_AC_TAGVAR(include_expsyms, $1)=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  _LT_AC_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-dnl Note also adjust exclude_expsyms for C++ above.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  _LT_CC_BASENAME([$compiler])
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  _LT_AC_TAGVAR(ld_shlibs, $1)=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
-    _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>/dev/null` in
-      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[[3-9]]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-      fi
-      ;;
-
-    amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-
-      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can't use
-      # them.
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
-      # as there is no search path for DLLs.
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(always_export_symbols, $1)=no
-      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    interix[[3-9]]*)
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | k*bsd*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       tmp_addflag=
-       case $cc_basename,$host_cpu in
-       pgcc*)                          # Portland Group C compiler
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       *)
-         tmp_sharedflag='-shared' ;;
-       esac
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-       if test $supports_anon_versioning = yes; then
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-         $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-       fi
-       _LT_AC_TAGVAR(link_all_deplibs, $1)=no
-      else
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-           _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-           _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-         else
-           _LT_AC_TAGVAR(ld_shlibs, $1)=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-    esac
-
-    if test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no; then
-      runpath_var=
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-      fi
-      ;;
-
-    aix[[4-9]]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-         _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-       else
-         _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\[$]2 == "T") || (\[$]2 == "D") || (\[$]2 == "B")) && ([substr](\[$]3,1,1) != ".")) { print \[$]3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      _LT_AC_TAGVAR(archive_cmds, $1)=''
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[[012]]|aix4.[[012]].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" && \
-          strings "$collect2name" | grep resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-         _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       _LT_AC_SYS_LIBPATH_AIX
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
-       if test "$host_cpu" = ia64; then
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
-         _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an empty executable.
-        _LT_AC_SYS_LIBPATH_AIX
-        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
-         _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
-         # Exported symbols can be pulled into shared objects from archives
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
-         _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      # see comment about different semantics on the GNU ld section
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    bsdi[[45]]*)
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
-      # FIXME: Should let the user specify the lib program.
-      _LT_AC_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
-      _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
-      ;;
-
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[[012]])
-         _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[[012]])
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_direct, $1)=no
-      _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
-      _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=''
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-    if test "$GCC" = yes ; then
-       output_verbose_link_cmd='echo'
-        _LT_AC_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-        _LT_AC_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-         _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         _LT_AC_TAGVAR(ld_shlibs, $1)=no
-          ;;
-      esac
-    fi
-      ;;
-
-    dgux*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    freebsd1*)
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-       _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
-       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
-         _LT_AC_TAGVAR(hardcode_direct, $1)=no
-         _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-         ;;
-       *)
-         _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    newsos6)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-         _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
-       else
-         case $host_os in
-          openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
-            _LT_AC_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-            ;;
-          *)
-            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
-            ;;
-         esac
-        fi
-      else
-       _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      fi
-      ;;
-
-    os2*)
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
-      else
-       _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
-      ;;
-
-    solaris*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-         $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
-      else
-       wlarc=''
-       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-       $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      case $host_os in
-      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_direct, $1)=yes
-      _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         _LT_AC_TAGVAR(hardcode_direct, $1)=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         _LT_AC_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
-         _LT_AC_TAGVAR(hardcode_direct, $1)=no
-        ;;
-       motorola)
-         _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         _LT_AC_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    sysv4.3*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       _LT_AC_TAGVAR(ld_shlibs, $1)=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
-      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
-      _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
-      _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':'
-      _LT_AC_TAGVAR(link_all_deplibs, $1)=yes
-      _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
-      _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
-      ;;
-
-    *)
-      _LT_AC_TAGVAR(ld_shlibs, $1)=no
-      ;;
-    esac
-  fi
-])
-AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)])
-test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)" in
-x|xyes)
-  # Assume -lc should be added
-  _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $_LT_AC_TAGVAR(archive_cmds, $1) in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
-      $rm conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)
-       pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$_LT_AC_TAGVAR(allow_undefined_flag, $1)
-        _LT_AC_TAGVAR(allow_undefined_flag, $1)=
-        if AC_TRY_EVAL(_LT_AC_TAGVAR(archive_cmds, $1) 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1)
-        then
-         _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no
-        else
-         _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
-        fi
-        _LT_AC_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      AC_MSG_RESULT([$_LT_AC_TAGVAR(archive_cmds_need_lc, $1)])
-      ;;
-    esac
-  fi
-  ;;
-esac
-])# AC_LIBTOOL_PROG_LD_SHLIBS
-
-
-# _LT_AC_FILE_LTDLL_C
-# -------------------
-# Be careful that the start marker always follows a newline.
-AC_DEFUN([_LT_AC_FILE_LTDLL_C], [
-# /* ltdll.c starts here */
-# #define WIN32_LEAN_AND_MEAN
-# #include <windows.h>
-# #undef WIN32_LEAN_AND_MEAN
-# #include <stdio.h>
-#
-# #ifndef __CYGWIN__
-# #  ifdef __CYGWIN32__
-# #    define __CYGWIN__ __CYGWIN32__
-# #  endif
-# #endif
-#
-# #ifdef __cplusplus
-# extern "C" {
-# #endif
-# BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved);
-# #ifdef __cplusplus
-# }
-# #endif
-#
-# #ifdef __CYGWIN__
-# #include <cygwin/cygwin_dll.h>
-# DECLARE_CYGWIN_DLL( DllMain );
-# #endif
-# HINSTANCE __hDllInstance_base;
-#
-# BOOL APIENTRY
-# DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
-# {
-#   __hDllInstance_base = hInst;
-#   return TRUE;
-# }
-# /* ltdll.c ends here */
-])# _LT_AC_FILE_LTDLL_C
-
-
-# _LT_AC_TAGVAR(VARNAME, [TAGNAME])
-# ---------------------------------
-AC_DEFUN([_LT_AC_TAGVAR], [ifelse([$2], [], [$1], [$1_$2])])
-
-
-# old names
-AC_DEFUN([AM_PROG_LIBTOOL],   [AC_PROG_LIBTOOL])
-AC_DEFUN([AM_ENABLE_SHARED],  [AC_ENABLE_SHARED($@)])
-AC_DEFUN([AM_ENABLE_STATIC],  [AC_ENABLE_STATIC($@)])
-AC_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
-AC_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
-AC_DEFUN([AM_PROG_LD],        [AC_PROG_LD])
-AC_DEFUN([AM_PROG_NM],        [AC_PROG_NM])
-
-# This is just to silence aclocal about the macro not being used
-ifelse([AC_DISABLE_FAST_INSTALL])
-
-AC_DEFUN([LT_AC_PROG_GCJ],
-[AC_CHECK_TOOL(GCJ, gcj, no)
-  test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
-  AC_SUBST(GCJFLAGS)
-])
-
-AC_DEFUN([LT_AC_PROG_RC],
-[AC_CHECK_TOOL(RC, windres, no)
-])
-
-
-# Cheap backport of AS_EXECUTABLE_P and required macros
-# from Autoconf 2.59; we should not use $as_executable_p directly.
-
-# _AS_TEST_PREPARE
-# ----------------
-m4_ifndef([_AS_TEST_PREPARE],
-[m4_defun([_AS_TEST_PREPARE],
-[if test -x / >/dev/null 2>&1; then
-  as_executable_p='test -x'
-else
-  as_executable_p='test -f'
-fi
-])])# _AS_TEST_PREPARE
-
-# AS_EXECUTABLE_P
-# ---------------
-# Check whether a file is executable.
-m4_ifndef([AS_EXECUTABLE_P],
-[m4_defun([AS_EXECUTABLE_P],
-[AS_REQUIRE([_AS_TEST_PREPARE])dnl
-$as_executable_p $1[]dnl
-])])# AS_EXECUTABLE_P
-
-# NOTE: This macro has been submitted for inclusion into   #
-#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
-#  a released version of Autoconf we should remove this    #
-#  macro and use it instead.                               #
-# LT_AC_PROG_SED
-# --------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-AC_DEFUN([LT_AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if AS_EXECUTABLE_P(["$as_dir/$lt_ac_prog$ac_exec_ext"]); then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])
-
-# Copyright (C) 2002, 2003, 2005, 2006, 2007  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_AUTOMAKE_VERSION(VERSION)
-# ----------------------------
-# Automake X.Y traces this macro to ensure aclocal.m4 has been
-# generated from the m4 files accompanying Automake X.Y.
-# (This private macro should not be called outside this file.)
-AC_DEFUN([AM_AUTOMAKE_VERSION],
-[am__api_version='1.10'
-dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
-dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.10.1], [],
-      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
-])
-
-# _AM_AUTOCONF_VERSION(VERSION)
-# -----------------------------
-# aclocal traces this macro to find the Autoconf version.
-# This is a private macro too.  Using m4_define simplifies
-# the logic in aclocal, which can simply ignore this definition.
-m4_define([_AM_AUTOCONF_VERSION], [])
-
-# AM_SET_CURRENT_AUTOMAKE_VERSION
-# -------------------------------
-# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
-AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.1])dnl
-m4_ifndef([AC_AUTOCONF_VERSION],
-  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
-
-# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
-# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
-# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
-#
-# Of course, Automake must honor this variable whenever it calls a
-# tool from the auxiliary directory.  The problem is that $srcdir (and
-# therefore $ac_aux_dir as well) can be either absolute or relative,
-# depending on how configure is run.  This is pretty annoying, since
-# it makes $ac_aux_dir quite unusable in subdirectories: in the top
-# source directory, any form will work fine, but in subdirectories a
-# relative path needs to be adjusted first.
-#
-# $ac_aux_dir/missing
-#    fails when called from a subdirectory if $ac_aux_dir is relative
-# $top_srcdir/$ac_aux_dir/missing
-#    fails if $ac_aux_dir is absolute,
-#    fails when called from a subdirectory in a VPATH build with
-#          a relative $ac_aux_dir
-#
-# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
-# are both prefixed by $srcdir.  In an in-source build this is usually
-# harmless because $srcdir is `.', but things will broke when you
-# start a VPATH build or use an absolute $srcdir.
-#
-# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
-# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
-#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
-# and then we would define $MISSING as
-#   MISSING="\${SHELL} $am_aux_dir/missing"
-# This will work as long as MISSING is not called from configure, because
-# unfortunately $(top_srcdir) has no meaning in configure.
-# However there are other variables, like CC, which are often used in
-# configure, and could therefore not use this "fixed" $ac_aux_dir.
-#
-# Another solution, used here, is to always expand $ac_aux_dir to an
-# absolute PATH.  The drawback is that using absolute paths prevent a
-# configured tree to be moved without reconfiguration.
-
-AC_DEFUN([AM_AUX_DIR_EXPAND],
-[dnl Rely on autoconf to set up CDPATH properly.
-AC_PREREQ([2.50])dnl
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-])
-
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery.  Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
-       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
-       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
-       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
-       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
-                   [depcc="$$1"   am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
-               [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_$1_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
-  fi
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    case $depmode in
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    none) break ;;
-    esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_$1_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-])
-
-# Generate code to set up dependency tracking.              -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 3
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-    dirpart=`AS_DIRNAME("$mf")`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`AS_DIRNAME(["$file"])`
-    AS_MKDIR_P([$dirpart/$fdir])
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
-  done
-done
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled.  FIXME.  This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
-     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
-     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
-AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
-
-# Do all the work for Automake.                             -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2008 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 13
-
-# This macro actually does too much.  Some checks are only needed if
-# your package does certain things.  But this isn't really a big deal.
-
-# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
-# AM_INIT_AUTOMAKE([OPTIONS])
-# -----------------------------------------------
-# The call with PACKAGE and VERSION arguments is the old style
-# call (pre autoconf-2.50), which is being phased out.  PACKAGE
-# and VERSION should now be passed to AC_INIT and removed from
-# the call to AM_INIT_AUTOMAKE.
-# We support both call styles for the transition.  After
-# the next Automake release, Autoconf can make the AC_INIT
-# arguments mandatory, and then we can depend on a new Autoconf
-# release and drop the old call support.
-AC_DEFUN([AM_INIT_AUTOMAKE],
-[AC_PREREQ([2.60])dnl
-dnl Autoconf wants to disallow AM_ names.  We explicitly allow
-dnl the ones we care about.
-m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
-AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
-AC_REQUIRE([AC_PROG_INSTALL])dnl
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-AC_SUBST([CYGPATH_W])
-
-# Define the identity of the package.
-dnl Distinguish between old-style and new-style calls.
-m4_ifval([$2],
-[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
- AC_SUBST([PACKAGE], [$1])dnl
- AC_SUBST([VERSION], [$2])],
-[_AM_SET_OPTIONS([$1])dnl
-dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
-m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
-  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
-
-_AM_IF_OPTION([no-define],,
-[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
- AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
-
-# Some tools Automake needs.
-AC_REQUIRE([AM_SANITY_CHECK])dnl
-AC_REQUIRE([AC_ARG_PROGRAM])dnl
-AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
-AM_MISSING_PROG(AUTOCONF, autoconf)
-AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
-AM_MISSING_PROG(AUTOHEADER, autoheader)
-AM_MISSING_PROG(MAKEINFO, makeinfo)
-AM_PROG_INSTALL_SH
-AM_PROG_INSTALL_STRIP
-AC_REQUIRE([AM_PROG_MKDIR_P])dnl
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-AC_REQUIRE([AC_PROG_AWK])dnl
-AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
-              [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
-                            [_AM_PROG_TAR([v7])])])
-_AM_IF_OPTION([no-dependencies],,
-[AC_PROVIDE_IFELSE([AC_PROG_CC],
-                  [_AM_DEPENDENCIES(CC)],
-                  [define([AC_PROG_CC],
-                          defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_CXX],
-                  [_AM_DEPENDENCIES(CXX)],
-                  [define([AC_PROG_CXX],
-                          defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
-AC_PROVIDE_IFELSE([AC_PROG_OBJC],
-                  [_AM_DEPENDENCIES(OBJC)],
-                  [define([AC_PROG_OBJC],
-                          defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
-])
-])
-
-
-# When config.status generates a header, we must update the stamp-h file.
-# This file resides in the same directory as the config header
-# that is generated.  The stamp files are numbered to have different names.
-
-# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
-# loop where config.status creates the headers, so we can generate
-# our stamp files there.
-AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
-[# Compute $1's index in $config_headers.
-_am_arg=$1
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_SH
-# ------------------
-# Define $install_sh.
-AC_DEFUN([AM_PROG_INSTALL_SH],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
-AC_SUBST(install_sh)])
-
-# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes.                 -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-   am__include=include
-   am__quote=
-   _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-      am__include=.include
-      am__quote="\""
-      _am_result=BSD
-   fi
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 5
-
-# AM_MISSING_PROG(NAME, PROGRAM)
-# ------------------------------
-AC_DEFUN([AM_MISSING_PROG],
-[AC_REQUIRE([AM_MISSING_HAS_RUN])
-$1=${$1-"${am_missing_run}$2"}
-AC_SUBST($1)])
-
-
-# AM_MISSING_HAS_RUN
-# ------------------
-# Define MISSING if not defined so far and test if it supports --run.
-# If it does, set am_missing_run to use it, otherwise, to nothing.
-AC_DEFUN([AM_MISSING_HAS_RUN],
-[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
-AC_REQUIRE_AUX_FILE([missing])dnl
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  AC_MSG_WARN([`missing' script is too old or missing])
-fi
-])
-
-# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_MKDIR_P
-# ---------------
-# Check for `mkdir -p'.
-AC_DEFUN([AM_PROG_MKDIR_P],
-[AC_PREREQ([2.60])dnl
-AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
-dnl while keeping a definition of mkdir_p for backward compatibility.
-dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
-dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
-dnl Makefile.ins that do not define MKDIR_P, so we do our own
-dnl adjustment using top_builddir (which is defined more often than
-dnl MKDIR_P).
-AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
-case $mkdir_p in
-  [[\\/$]]* | ?:[[\\/]]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-])
-
-# Helper functions for option handling.                     -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_MANGLE_OPTION(NAME)
-# -----------------------
-AC_DEFUN([_AM_MANGLE_OPTION],
-[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
-
-# _AM_SET_OPTION(NAME)
-# ------------------------------
-# Set option NAME.  Presently that only means defining a flag for this option.
-AC_DEFUN([_AM_SET_OPTION],
-[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
-
-# _AM_SET_OPTIONS(OPTIONS)
-# ----------------------------------
-# OPTIONS is a space-separated list of Automake options.
-AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
-
-# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
-# -------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-AC_DEFUN([_AM_IF_OPTION],
-[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Check to make sure that the build environment is sane.    -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_SANITY_CHECK
-# ---------------
-AC_DEFUN([AM_SANITY_CHECK],
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
-   if test "$[*]" = "X"; then
-      # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$[*]" != "X $srcdir/configure conftest.file" \
-      && test "$[*]" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
-alias in your environment])
-   fi
-
-   test "$[2]" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-AC_MSG_RESULT(yes)])
-
-# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_PROG_INSTALL_STRIP
-# ---------------------
-# One issue with vendor `install' (even GNU) is that you can't
-# specify the program used to strip binaries.  This is especially
-# annoying in cross-compiling environments, where the build's strip
-# is unlikely to handle the host's binaries.
-# Fortunately install-sh will honor a STRIPPROG variable, so we
-# always use install-sh in `make install-strip', and initialize
-# STRIPPROG with the value of the STRIP variable (set by the user).
-AC_DEFUN([AM_PROG_INSTALL_STRIP],
-[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
-if test "$cross_compiling" != no; then
-  AC_CHECK_TOOL([STRIP], [strip], :)
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-AC_SUBST([INSTALL_STRIP_PROGRAM])])
-
-# Copyright (C) 2006  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# Check how to create a tarball.                            -*- Autoconf -*-
-
-# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# _AM_PROG_TAR(FORMAT)
-# --------------------
-# Check how to create a tarball in format FORMAT.
-# FORMAT should be one of `v7', `ustar', or `pax'.
-#
-# Substitute a variable $(am__tar) that is a command
-# writing to stdout a FORMAT-tarball containing the directory
-# $tardir.
-#     tardir=directory && $(am__tar) > result.tar
-#
-# Substitute a variable $(am__untar) that extract such
-# a tarball read from stdin.
-#     $(am__untar) < result.tar
-AC_DEFUN([_AM_PROG_TAR],
-[# Always define AMTAR for backward compatibility.
-AM_MISSING_PROG([AMTAR], [tar])
-m4_if([$1], [v7],
-     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
-     [m4_case([$1], [ustar],, [pax],,
-              [m4_fatal([Unknown tar format])])
-AC_MSG_CHECKING([how to create a $1 tar archive])
-# Loop over all known methods to create a tar archive until one works.
-_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
-_am_tools=${am_cv_prog_tar_$1-$_am_tools}
-# Do not fold the above two line into one, because Tru64 sh and
-# Solaris sh will not grok spaces in the rhs of `-'.
-for _am_tool in $_am_tools
-do
-  case $_am_tool in
-  gnutar)
-    for _am_tar in tar gnutar gtar;
-    do
-      AM_RUN_LOG([$_am_tar --version]) && break
-    done
-    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
-    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
-    am__untar="$_am_tar -xf -"
-    ;;
-  plaintar)
-    # Must skip GNU tar: if it does not support --format= it doesn't create
-    # ustar tarball either.
-    (tar --version) >/dev/null 2>&1 && continue
-    am__tar='tar chf - "$$tardir"'
-    am__tar_='tar chf - "$tardir"'
-    am__untar='tar xf -'
-    ;;
-  pax)
-    am__tar='pax -L -x $1 -w "$$tardir"'
-    am__tar_='pax -L -x $1 -w "$tardir"'
-    am__untar='pax -r'
-    ;;
-  cpio)
-    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
-    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
-    am__untar='cpio -i -H $1 -d'
-    ;;
-  none)
-    am__tar=false
-    am__tar_=false
-    am__untar=false
-    ;;
-  esac
-
-  # If the value was cached, stop now.  We just wanted to have am__tar
-  # and am__untar set.
-  test -n "${am_cv_prog_tar_$1}" && break
-
-  # tar/untar a dummy directory, and stop if the command works
-  rm -rf conftest.dir
-  mkdir conftest.dir
-  echo GrepMe > conftest.dir/file
-  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
-  rm -rf conftest.dir
-  if test -s conftest.tar; then
-    AM_RUN_LOG([$am__untar <conftest.tar])
-    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
-  fi
-done
-rm -rf conftest.dir
-
-AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
-AC_MSG_RESULT([$am_cv_prog_tar_$1])])
-AC_SUBST([am__tar])
-AC_SUBST([am__untar])
-]) # _AM_PROG_TAR
-
diff --git a/lib/libfaad2/bootstrap b/lib/libfaad2/bootstrap
deleted file mode 100644 (file)
index 38af371..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#! /bin/sh
-
-case $OSTYPE in
-       darwin*)
-       LIBTOOLIZE=glibtoolize
-       ;;
-       *)
-       LIBTOOLIZE=libtoolize
-       ;;
-esac
-
-aclocal -I .                   && \
-autoheader                     && \
-$LIBTOOLIZE --automake --copy   && \
-automake --add-missing --copy  && \
-autoconf                       && \
-echo "Ready to run ./configure"
diff --git a/lib/libfaad2/common/Makefile.am b/lib/libfaad2/common/Makefile.am
deleted file mode 100644 (file)
index 986e36e..0000000
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = mp4ff
diff --git a/lib/libfaad2/common/Makefile.in b/lib/libfaad2/common/Makefile.in
deleted file mode 100644 (file)
index d728ec4..0000000
+++ /dev/null
@@ -1,487 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = common
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-GTK_CONFIG = @GTK_CONFIG@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MP4FF_LIBS = @MP4FF_LIBS@
-NMEDIT = @NMEDIT@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-RPMBUILD = @RPMBUILD@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CONFIG = @XMMS_CONFIG@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-external_mp4v2 = @external_mp4v2@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = mp4ff
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  common/Makefile'; \
-       cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  common/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-           $$tags $$unique; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$tags$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$tags $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && cd $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-         else \
-           test -f $(distdir)/$$file \
-           || cp -p $$d/$$file $(distdir)/$$file \
-           || exit 1; \
-         fi; \
-       done
-       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-           distdir=`$(am__cd) $(distdir) && pwd`; \
-           top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-           (cd $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$top_distdir" \
-               distdir="$$distdir/$$subdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-info: install-info-recursive
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-       install-strip
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic clean-libtool \
-       ctags ctags-recursive distclean distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lib/libfaad2/common/faad/aacinfo.c b/lib/libfaad2/common/faad/aacinfo.c
deleted file mode 100644 (file)
index 793644f..0000000
+++ /dev/null
@@ -1,372 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: aacinfo.c,v 1.4 2003/07/29 08:20:11 menno Exp $
-**/
-
-#ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#endif
-#include <malloc.h>
-#include "filestream.h"
-#include "aacinfo.h"
-
-#define ADIF_MAX_SIZE 30 /* Should be enough */
-#define ADTS_MAX_SIZE 10 /* Should be enough */
-
-static int sample_rates[] = {96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000};
-
-static int read_ADIF_header(FILE_STREAM *file, faadAACInfo *info)
-{
-    int bitstream;
-    unsigned char buffer[ADIF_MAX_SIZE];
-    int skip_size = 0;
-    int sf_idx;
-
-    /* Get ADIF header data */
-    info->headertype = 1;
-
-    if(read_buffer_filestream(file, buffer, ADIF_MAX_SIZE) < 0)
-               return -1;
-
-    /* copyright string */
-    if(buffer[0] & 0x80)
-        skip_size += 9; /* skip 9 bytes */
-
-    bitstream = buffer[0 + skip_size] & 0x10;
-    info->bitrate = ((unsigned int)(buffer[0 + skip_size] & 0x0F)<<19)|
-        ((unsigned int)buffer[1 + skip_size]<<11)|
-        ((unsigned int)buffer[2 + skip_size]<<3)|
-        ((unsigned int)buffer[3 + skip_size] & 0xE0);
-
-    if (bitstream == 0)
-    {
-        info->object_type =  ((buffer[6 + skip_size]&0x01)<<1)|((buffer[7 + skip_size]&0x80)>>7);
-        sf_idx = (buffer[7 + skip_size]&0x78)>>3;
-    } else {
-        info->object_type = (buffer[4 + skip_size] & 0x18)>>3;
-        sf_idx = ((buffer[4 + skip_size] & 0x07)<<1)|((buffer[5 + skip_size] & 0x80)>>7);
-    }
-    info->sampling_rate = sample_rates[sf_idx];
-
-    return 0;
-}
-
-static int read_ADTS_header(FILE_STREAM *file, faadAACInfo *info,
-                            unsigned long **seek_table, int *seek_table_len,
-                            int tagsize, int no_seek_table)
-{
-    /* Get ADTS header data */
-    unsigned char buffer[ADTS_MAX_SIZE];
-    int frames, framesinsec=0, t_framelength = 0, frame_length, sr_idx, ID;
-    int second = 0, pos;
-       int i;
-    float frames_per_sec = 0;
-    unsigned long bytes;
-       unsigned long *tmp_seek_table = NULL;
-
-    info->headertype = 2;
-
-    /* Read all frames to ensure correct time and bitrate */
-    for(frames=0; /* */; frames++, framesinsec++)
-    {
-               /* If streaming, only go until we hit 5 seconds worth */
-                if(file->http)
-                {
-                        if(frames >= 43 * 5)
-                        {
-                               break;
-                        }
-                }
-
-        pos = tell_filestream(file);
-
-        /* 12 bit SYNCWORD */
-        bytes = read_buffer_filestream(file, buffer, ADTS_MAX_SIZE);
-
-        if(bytes != ADTS_MAX_SIZE)
-        {
-            /* Bail out if no syncword found */
-            break;
-        }
-
-               /* check syncword */
-        if (!((buffer[0] == 0xFF)&&((buffer[1] & 0xF6) == 0xF0)))
-            break;
-
-        if(!frames)
-        {
-            /* fixed ADTS header is the same for every frame, so we read it only once */
-            /* Syncword found, proceed to read in the fixed ADTS header */
-            ID = buffer[1] & 0x08;
-            info->object_type = (buffer[2]&0xC0)>>6;
-            sr_idx = (buffer[2]&0x3C)>>2;
-            info->channels = ((buffer[2]&0x01)<<2)|((buffer[3]&0xC0)>>6);
-
-            frames_per_sec = sample_rates[sr_idx] / 1024.f;
-        }
-
-        /* ...and the variable ADTS header */
-        if (ID == 0) {
-            info->version = 4;
-        } else { /* MPEG-2 */
-            info->version = 2;
-        }
-        frame_length = ((((unsigned int)buffer[3] & 0x3)) << 11)
-            | (((unsigned int)buffer[4]) << 3) | (buffer[5] >> 5);
-
-        t_framelength += frame_length;
-
-               if(!file->http)
-               {
-                       if(framesinsec == 43)
-                               framesinsec = 0;
-
-                       if(framesinsec == 0 && seek_table_len)
-                       {
-                               tmp_seek_table = (unsigned long *) realloc(tmp_seek_table, (second + 1) * sizeof(unsigned long));
-                               tmp_seek_table[second] = pos;
-                       }
-                       if(framesinsec == 0)
-                               second++;
-               }
-
-               /* NOTE: While simply skipping ahead by reading may seem to be more work than seeking,
-                       it is actually much faster, and keeps compatibility with streaming */
-               for(i=0; i < frame_length - ADTS_MAX_SIZE; i++)
-        {
-                       if(read_byte_filestream(file) < 0)
-                               break;
-        }
-    }
-
-       if(seek_table_len)
-       {
-               *seek_table_len = second;
-               *seek_table = tmp_seek_table;
-       }
-
-    info->sampling_rate = sample_rates[sr_idx];
-    info->bitrate = (int)(((t_framelength / frames) * (info->sampling_rate/1024.0)) +0.5)*8;
-
-       if(file->http)
-       {
-               /* Since we only use 5 seconds of aac data to get a rough bitrate, we must use a different
-                  method of calculating the overall length */
-               if(filelength_filestream(file))
-               {
-                       info->length = (int)((filelength_filestream(file)/(((info->bitrate*8)/1024)*16))*1000);
-               }
-               else
-               {
-                       /* Since the server didnt tell us how long the file is, 
-                          we have no way of determining length */
-                       info->length = 0;
-               }
-       }
-       else
-       {
-               info->length = (int)((float)(frames/frames_per_sec))*1000;
-       }
-
-    return 0;
-}
-
-int get_AAC_format(char *filename, faadAACInfo *info,
-                   unsigned long **seek_table, int *seek_table_len,
-                   int no_seek_table)
-{
-    unsigned long tagsize;
-    FILE_STREAM *file;
-       char buffer[10];
-    unsigned long file_len;
-    unsigned char adxx_id[5];
-    unsigned long tmp;
-
-    memset(info, 0, sizeof(faadAACInfo));
-
-    file = open_filestream(filename);
-
-    if(file == NULL)
-        return -1;
-
-    file_len = filelength_filestream(file);
-
-    /* Skip the tag, if it's there */
-    tmp = read_buffer_filestream(file, buffer, 10);
-
-    if (StringComp(buffer, "ID3", 3) == 0)
-       {
-               unsigned int i;
-
-        /* high bit is not used */
-        tagsize = (buffer[6] << 21) | (buffer[7] << 14) |
-            (buffer[8] <<  7) | (buffer[9] <<  0);
-
-        for(i=0; i < tagsize; i++)
-                       if(read_byte_filestream(file) < 0)
-                               return -1;
-
-        tagsize += 10;
-    }
-       else
-       {
-        tagsize = 0;
-
-               /* Simple hack to reset to the beginning */
-               file->buffer_offset = 0;
-               file->file_offset = 0;
-    }
-
-       if(file_len)
-           file_len -= tagsize;
-
-    tmp = read_buffer_filestream(file, adxx_id, 2);
-    //seek_filestream(file, tagsize, FILE_BEGIN);
-
-    adxx_id[5-1] = 0;
-    info->length = 0;
-
-       /* Determine the header type of the file, check the first two bytes */
-    if(StringComp(adxx_id, "AD", 2) == 0)
-    {
-               /* We think its an ADIF header, but check the rest just to make sure */
-               tmp = read_buffer_filestream(file, adxx_id + 2, 2);
-               
-               if(StringComp(adxx_id, "ADIF", 4) == 0)
-               {
-                       read_ADIF_header(file, info);
-               }
-    }
-    else
-    {
-               /* No ADIF, check for ADTS header */
-        if ((adxx_id[0] == 0xFF)&&((adxx_id[1] & 0xF6) == 0xF0))
-        {
-                       /* ADTS  header located */
-                       /* Since this routine must work for streams, we can't use the seek function to go backwards, thus 
-                          we have to use a quick hack as seen below to go back where we need to. */
-                       
-                       if(file->buffer_offset >= 2)
-                       {
-                               // simple seeking hack, though not really safe, the probability of it causing a problem is low.
-                               file->buffer_offset -= 2;
-                               file->file_offset -= 2;
-                       }
-
-            read_ADTS_header(file, info, seek_table, seek_table_len, tagsize,
-                no_seek_table);
-        }
-        else
-        {
-            /* Unknown/headerless AAC file, assume format: */
-            info->version = 2;
-            info->bitrate = 128000;
-            info->sampling_rate = 44100;
-            info->channels = 2;
-            info->headertype = 0;
-            info->object_type = 1;
-        }
-    }
-
-    close_filestream(file);
-
-    return 0;
-}
-
-int StringComp(char const *str1, char const *str2, unsigned long len)
-{
-    signed int c1 = 0, c2 = 0;
-
-    while (len--) {
-        c1 = *str1++;
-        c2 = *str2++;
-
-        if (c1 == 0 || c1 != c2)
-            break;
-    }
-
-    return c1 - c2;
-}
-
-#ifdef TEST
-/* Program to test aacinfo functionality */
-
-#include <stdio.h>
-
-void main(int argc, char *argv[])
-{
-    faadAACInfo info;
-    unsigned long *seek_table = NULL;
-    int seek_table_len = 0;
-    char *header, *object;
-
-    if (argc < 2)
-    {
-        fprintf(stderr, "USAGE: aacinfo aacfile.aac\n");
-        return;
-    }
-
-    get_AAC_format(argv[1], &info, &seek_table, &seek_table_len, 0);
-
-    fprintf(stdout, "MPEG version: %d\n", info.version);
-    fprintf(stdout, "channels: %d\n", info.channels);
-    fprintf(stdout, "sampling_rate: %d\n", info.sampling_rate);
-    fprintf(stdout, "bitrate: %d\n", info.bitrate);
-    fprintf(stdout, "length: %.3f\n", (float)info.length/1000.0);
-
-    switch (info.object_type)
-    {
-    case 0:
-        object = "MAIN";
-        break;
-    case 1:
-        object = "LC";
-        break;
-    case 2:
-        object = "SSR";
-        break;
-    case 3:
-        object = "LTP";
-        break;
-    }
-    fprintf(stdout, "object_type: %s\n", object);
-
-    switch (info.headertype)
-    {
-    case 0:
-        header = "RAW";
-        break;
-    case 1:
-        header = "ADIF";
-        break;
-    case 2:
-        header = "ADTS";
-        break;
-    }
-    fprintf(stdout, "headertype: %s\n", header);
-}
-
-#endif
\ No newline at end of file
diff --git a/lib/libfaad2/common/faad/aacinfo.dsp b/lib/libfaad2/common/faad/aacinfo.dsp
deleted file mode 100644 (file)
index f218a1c..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-# Microsoft Developer Studio Project File - Name="aacinfo" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=aacinfo - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "aacinfo.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "aacinfo.mak" CFG="aacinfo - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "aacinfo - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "aacinfo - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=xicl6.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "aacinfo - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "TEST" /YX /FD /c
-# ADD BASE RSC /l 0x413 /d "NDEBUG"
-# ADD RSC /l 0x413 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "aacinfo - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "TEST" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x413 /d "_DEBUG"
-# ADD RSC /l 0x413 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "aacinfo - Win32 Release"
-# Name "aacinfo - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\aacinfo.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\filestream.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\aacinfo.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\filestream.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/lib/libfaad2/common/faad/aacinfo.dsw b/lib/libfaad2/common/faad/aacinfo.dsw
deleted file mode 100644 (file)
index 04424bd..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "aacinfo"=.\aacinfo.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/lib/libfaad2/common/faad/aacinfo.h b/lib/libfaad2/common/faad/aacinfo.h
deleted file mode 100644 (file)
index a4c98ec..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: aacinfo.h,v 1.3 2003/07/29 08:20:11 menno Exp $
-**/
-
-#ifndef AACINFO_H__
-#define AACINFO_H__
-
-#include "filestream.h"
-
-typedef struct {
-    int version;
-    int channels;
-    int sampling_rate;
-    int bitrate;
-    int length;
-    int object_type;
-    int headertype;
-} faadAACInfo;
-
-int get_AAC_format(char *filename, faadAACInfo *info,
-                   unsigned long **seek_table, int *seek_table_len,
-                   int no_seek_table);
-
-static int read_ADIF_header(FILE_STREAM *file, faadAACInfo *info);
-static int read_ADTS_header(FILE_STREAM *file, faadAACInfo *info,
-                            unsigned long **seek_table, int *seek_table_len,
-                            int tagsize, int no_seek_table);
-int StringComp(char const *str1, char const *str2, unsigned long len);
-
-#endif
diff --git a/lib/libfaad2/common/faad/aacinfo.sln b/lib/libfaad2/common/faad/aacinfo.sln
deleted file mode 100644 (file)
index 7ea6891..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 7.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "aacinfo", "aacinfo.vcproj", "{FE985E4D-79DB-4DD3-BFED-824B4677A161}"
-EndProject
-Global
-       GlobalSection(SolutionConfiguration) = preSolution
-               ConfigName.0 = Debug
-               ConfigName.1 = Release
-       EndGlobalSection
-       GlobalSection(ProjectDependencies) = postSolution
-       EndGlobalSection
-       GlobalSection(ProjectConfiguration) = postSolution
-               {FE985E4D-79DB-4DD3-BFED-824B4677A161}.Debug.ActiveCfg = Debug|Win32
-               {FE985E4D-79DB-4DD3-BFED-824B4677A161}.Debug.Build.0 = Debug|Win32
-               {FE985E4D-79DB-4DD3-BFED-824B4677A161}.Release.ActiveCfg = Release|Win32
-               {FE985E4D-79DB-4DD3-BFED-824B4677A161}.Release.Build.0 = Release|Win32
-       EndGlobalSection
-       GlobalSection(ExtensibilityGlobals) = postSolution
-       EndGlobalSection
-       GlobalSection(ExtensibilityAddIns) = postSolution
-       EndGlobalSection
-EndGlobal
diff --git a/lib/libfaad2/common/faad/aacinfo.vcproj b/lib/libfaad2/common/faad/aacinfo.vcproj
deleted file mode 100644 (file)
index 8198213..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-<?xml version="1.0" encoding = "Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="7.00"
-       Name="aacinfo"
-       SccProjectName=""
-       SccLocalPath="">
-       <Platforms>
-               <Platform
-                       Name="Win32"/>
-       </Platforms>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="1"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               PreprocessorDefinitions="_DEBUG,WIN32,_CONSOLE,TEST"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="5"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile=".\Debug/aacinfo.pch"
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="TRUE"
-                               DebugInformationFormat="4"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="ws2_32.lib odbc32.lib odbccp32.lib"
-                               OutputFile=".\Debug/aacinfo.exe"
-                               LinkIncremental="2"
-                               SuppressStartupBanner="TRUE"
-                               GenerateDebugInformation="TRUE"
-                               ProgramDatabaseFile=".\Debug/aacinfo.pdb"
-                               SubSystem="1"/>
-                       <Tool
-                               Name="VCMIDLTool"
-                               TypeLibraryName=".\Debug/aacinfo.tlb"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1043"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCWebDeploymentTool"/>
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="1"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE"
-                       CharacterSet="2">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               InlineFunctionExpansion="1"
-                               PreprocessorDefinitions="NDEBUG,WIN32,_CONSOLE,TEST"
-                               StringPooling="TRUE"
-                               RuntimeLibrary="4"
-                               EnableFunctionLevelLinking="TRUE"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile=".\Release/aacinfo.pch"
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="TRUE"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="ws2_32.lib odbc32.lib odbccp32.lib"
-                               OutputFile=".\Release/aacinfo.exe"
-                               LinkIncremental="1"
-                               SuppressStartupBanner="TRUE"
-                               ProgramDatabaseFile=".\Release/aacinfo.pdb"
-                               SubSystem="1"/>
-                       <Tool
-                               Name="VCMIDLTool"
-                               TypeLibraryName=".\Release/aacinfo.tlb"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1043"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCWebDeploymentTool"/>
-               </Configuration>
-       </Configurations>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
-                       <File
-                               RelativePath=".\aacinfo.c">
-                       </File>
-                       <File
-                               RelativePath=".\filestream.c">
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl">
-                       <File
-                               RelativePath=".\aacinfo.h">
-                       </File>
-                       <File
-                               RelativePath=".\filestream.h">
-                       </File>
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/lib/libfaad2/common/faad/filestream.c b/lib/libfaad2/common/faad/filestream.c
deleted file mode 100644 (file)
index 9bd74dd..0000000
+++ /dev/null
@@ -1,470 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: filestream.c,v 1.3 2003/07/29 08:20:11 menno Exp $
-**/
-
-/* Not very portable yet */
-
-#include <winsock2.h> // Note: Must be *before* windows.h
-#ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#endif
-#include "filestream.h"
-#include "aacinfo.h"
-
-/* TEMPROARY HACK */
-#define CommonExit(A) MessageBox(NULL, A, "FAAD Plugin", MB_OK)
-
-int winsock_init=0; // 0=winsock not initialized, 1=success
-long m_local_buffer_size = 64;
-long m_stream_buffer_size = 128;
-
-FILE_STREAM *open_filestream(char *filename)
-{
-    FILE_STREAM *fs;
-
-    if(StringComp(filename,"http://", 7) == 0)
-    {
-        fs = (FILE_STREAM *)LocalAlloc(LPTR, sizeof(FILE_STREAM) + m_stream_buffer_size * 1024);
-
-        if(fs == NULL)
-            return NULL;
-
-        fs->data = (unsigned char *)&fs[1];
-
-        if(http_file_open(filename, fs) < 0)
-        {
-            LocalFree(fs);
-            return NULL;
-        }
-
-        fs->http = 1;
-    }
-    else
-    {
-        fs = (FILE_STREAM*)LocalAlloc(LPTR, sizeof(FILE_STREAM) + m_local_buffer_size * 1024);
-
-        if(fs == NULL)
-            return NULL;
-
-        fs->data = (unsigned char *)&fs[1];
-
-        fs->stream = CreateFile(filename, GENERIC_READ,
-            FILE_SHARE_READ | FILE_SHARE_WRITE, 0,
-            OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, 0);
-        if (fs->stream == INVALID_HANDLE_VALUE)
-        {
-            LocalFree(fs);
-            return NULL;
-        }
-
-        fs->http = 0;
-    }
-
-    fs->buffer_length = 0;
-    fs->buffer_offset = 0;
-    fs->file_offset = 0;
-
-    return fs;
-}
-
-int read_byte_filestream(FILE_STREAM *fs)
-{
-    if(fs->buffer_offset == fs->buffer_length)
-    {
-        fs->buffer_offset = 0;
-
-        if(fs->http)
-            fs->buffer_length = recv(fs->inetStream, fs->data, m_stream_buffer_size * 1024, 0);
-        else
-            ReadFile(fs->stream, fs->data, m_local_buffer_size * 1024, &fs->buffer_length, 0);
-
-        if(fs->buffer_length <= 0)
-        {
-            if(fs->http)
-            {
-                int x;
-                x = WSAGetLastError();
-
-                if(x == 0)
-                {
-                    /* Equivalent of a successful EOF for HTTP */
-                }
-            }
-
-            fs->buffer_length = 0;
-            return -1;
-        }
-    }
-
-    fs->file_offset++;
-
-    return fs->data[fs->buffer_offset++];
-}
-
-int read_buffer_filestream(FILE_STREAM *fs, void *data, int length)
-{
-    int i, tmp;
-    unsigned char *data2 = (unsigned char *)data;
-
-    for(i=0; i < length; i++)
-    {
-        if((tmp = read_byte_filestream(fs)) < 0)
-        {
-            if(i)
-                       {
-                break;
-            }
-                       else
-                       {
-                return -1;
-            }
-        }
-        data2[i] = tmp;
-    }
-
-    return i;
-}
-
-unsigned long filelength_filestream(FILE_STREAM *fs)
-{
-    unsigned long fsize;
-
-    if (fs->http)
-    {
-        fsize = fs->http_file_length;
-    }
-       else
-       {
-        fsize = GetFileSize(fs->stream, NULL);
-    }
-
-    return fsize;
-}
-
-void seek_filestream(FILE_STREAM *fs, unsigned long offset, int mode)
-{
-    if(fs->http)
-    {
-        return;
-    }
-
-       SetFilePointer(fs->stream, offset, NULL, mode);
-
-       if(mode == FILE_CURRENT)
-               fs->file_offset += offset;
-       else if(mode == FILE_END)
-               fs->file_offset = filelength_filestream(fs) + offset;
-       else
-               fs->file_offset = offset;
-
-    fs->buffer_length = 0;
-    fs->buffer_offset = 0;
-}
-
-unsigned long tell_filestream(FILE_STREAM *fs)
-{
-    return fs->file_offset;
-}
-
-void close_filestream(FILE_STREAM *fs)
-{
-    if(fs)
-    {
-        if (fs->http)
-        {
-            if (fs->inetStream)
-            {
-                /* The 'proper' way to close a TCP connection */
-                if(fs->inetStream)
-                {
-                    CloseTCP(fs->inetStream);
-                }
-            }
-        }
-        else
-        {
-            if(fs->stream)
-                CloseHandle(fs->stream);
-        }
-
-        LocalFree(fs);
-        fs = NULL;
-    }
-}
-
-int WinsockInit()
-{
-    /* Before using winsock, you must load the DLL... */
-    WSADATA wsaData;
-
-    /* Load version 2.0 */
-    if (WSAStartup( MAKEWORD( 2, 0 ), &wsaData ))
-    {
-        /* Disable streaming */
-        return -1;
-    }
-
-    winsock_init = 1;
-
-    return 0;
-}
-
-void WinsockDeInit()
-{
-    /* Unload the DLL */
-
-    if(winsock_init)
-        WSACleanup();
-}
-
-int FindCRLF(char *str)
-{
-    int i;
-
-    for(i=0; i != lstrlen(str) && str[i] != '\r'; i++);
-
-    return i;
-}
-
-void CloseTCP(int s)
-{
-    char tempbuf[1024];
-
-    /* Set the socket to ignore any new incoming data */
-    shutdown(s, 1);
-
-    /* Get any old remaining data */
-    while(recv(s, tempbuf, 1024, 0) > 0);
-
-    /* Deallocate the socket */
-    closesocket(s);
-}
-
-int resolve_host(char *host, SOCKADDR_IN *sck_addr, unsigned short remote_port)
-{
-    HOSTENT *hp;
-
-    if (isalpha(host[0]))
-    {
-        /* server address is a name */
-        hp = gethostbyname(host);
-    }
-    else
-    {
-        unsigned long addr;
-        /* Convert nnn.nnn address to a usable one */
-        addr = inet_addr(host);
-        hp = gethostbyaddr((char *)&addr, 4, AF_INET);
-    }
-
-    if (hp == NULL)
-    {
-        char tmp[128];
-        wsprintf(tmp, "Error resolving host address [%s]!\n", host);
-        CommonExit(tmp);
-        return -1;
-    }
-
-    ZeroMemory(sck_addr, sizeof(SOCKADDR_IN));
-    sck_addr->sin_family = AF_INET;
-    sck_addr->sin_port = htons(remote_port);
-    CopyMemory(&sck_addr->sin_addr, hp->h_addr, hp->h_length);
-
-    return 0;
-}
-
-int http_file_open(char *url, FILE_STREAM *fs)
-{
-    SOCKET sck;
-    SOCKADDR_IN host;
-    char server[1024], file[1024], request[1024], *temp = NULL, *tmpfile = NULL;
-    int i, j, port = 80, bytes_recv, http_code;
-
-    /* No winsock, no streaming */
-    if(!winsock_init)
-    {
-        return -1;
-    }
-
-    url += 7; // Skip over http://
-
-    /* Extract data from the URL */
-    for(i=0; url[i] != '/' && url[i] != ':' && url[i] != 0; i++);
-
-    ZeroMemory(server, 1024);
-    CopyMemory(server, url, i);
-
-    if(url[i] == ':')
-    {
-        /* A certain port was specified */
-        port = atol(url + (i + 1));
-    }
-
-    for(; url[i] != '/' && url[i] != 0; i++);
-
-    ZeroMemory(file, 1024);
-
-    CopyMemory(file, url + i, lstrlen(url));
-
-    /* END OF URL PARSING */
-
-    /* Create a TCP/IP socket */
-    sck = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
-
-    if(sck == INVALID_SOCKET)
-    {
-        CommonExit("Error creating TCP/IP new socket");
-        return -1;
-    }
-
-    /* Resolve the host address (turn www.blah.com into an IP) */
-    if(resolve_host(server, &host, (unsigned short)port))
-    {
-        CommonExit("Error resolving host address");
-        CloseTCP(sck);
-        return -1;
-    }
-
-    /* Connect to the server */
-    if(connect(sck, (SOCKADDR *)&host, sizeof(SOCKADDR)) == SOCKET_ERROR)
-    {
-        CommonExit("Error connecting to remote server");
-        CloseTCP(sck);
-        return -1;
-    }
-
-       tmpfile = calloc(1, (strlen(file) * 3) + 1);
-
-       /* Encode URL */
-       for(i=0, j=0; i < (int)strlen(file); i++)
-       {
-               if((unsigned char)file[i] <= 31 || (unsigned char)file[i] >= 127)
-               {
-                       /* encode ASCII-control characters */
-                       wsprintf(tmpfile + j, "%%%X", (unsigned char)file[i]);
-                       j += 3;
-                       continue;
-               }
-               else
-               {
-                       switch(file[i])
-                       {
-                               /* encode characters that could confuse some servers */
-                               case ' ':
-                               case '"':
-                               case '>':
-                               case '<':
-                               case '#':
-                               case '%':
-                               case '{':
-                               case '}':
-                               case '|':
-                               case '\\':
-                               case '^':
-                               case '~':
-                               case '[':
-                               case ']':
-                               case '`':
-
-                               wsprintf(tmpfile + j, "%%%X", (unsigned char)file[i]);
-                               j += 3;
-                               continue;
-                       }
-               }
-               
-               tmpfile[j] = file[i];
-               j++;
-       }
-
-    wsprintf(request, "GET %s\r\n\r\n", tmpfile);
-
-       free(tmpfile);
-
-    /* Send the request */
-    if(send(sck, request, lstrlen(request), 0) <= 0)
-    {
-        /* Error sending data */
-        CloseTCP(sck);
-        return -1;
-    }
-
-    ZeroMemory(request, 1024);
-
-    /* Send the request */
-    if((bytes_recv = recv(sck, request, 1024, 0)) <= 0)
-    {
-        /* Error sending data */
-        CloseTCP(sck);
-        return -1;
-    }
-
-    if(StringComp(request,"HTTP/1.", 7) != 0)
-    {
-        /* Invalid header */
-        CloseTCP(sck);
-        return -1;
-    }
-
-    http_code = atol(request + 9);
-
-    if(http_code < 200 || http_code > 299)
-    {
-        /* HTTP error */
-        CloseTCP(sck);
-        return -1;
-    }
-
-       // Search for a length field
-       fs->http_file_length = 0;
-
-    /* Limit search to only 20 loops */
-    if((temp = strstr(request, "Content-Length: ")) != NULL)
-    {
-               /* Has a content-length field, copy into structure */
-               fs->http_file_length = atol(temp + 16);
-       }
-
-    /* Copy the handle data into the structure */
-    fs->inetStream = sck;
-
-    /* Copy any excess data beyond the header into the filestream buffers */
-       temp = strstr(request, "\r\n\r\n");
-
-       if(temp)
-       {
-               temp += 4;
-       }
-
-    if(temp - request < bytes_recv)
-    {
-        memcpy(fs->data, temp, (temp - request) - bytes_recv);
-        fs->buffer_length = (temp - request) - bytes_recv;
-        fs->buffer_offset = 0;
-    }
-
-    return 0;
-}
diff --git a/lib/libfaad2/common/faad/filestream.h b/lib/libfaad2/common/faad/filestream.h
deleted file mode 100644 (file)
index 699bc06..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: filestream.h,v 1.3 2003/07/29 08:20:11 menno Exp $
-**/
-
-#ifndef FILESTREAM_H
-#define FILESTREAM_H
-
-typedef struct {
-    HANDLE stream;
-    unsigned short inetStream;
-    unsigned char *data;
-    int http;
-    int buffer_offset;
-    int buffer_length;
-    int file_offset;
-    int http_file_length;
-} FILE_STREAM;
-
-extern long m_local_buffer_size;
-extern long m_stream_buffer_size;
-
-FILE_STREAM *open_filestream(char *filename);
-int read_byte_filestream(FILE_STREAM *fs);
-int read_buffer_filestream(FILE_STREAM *fs, void *data, int length);
-unsigned long filelength_filestream(FILE_STREAM *fs);
-void close_filestream(FILE_STREAM *fs);
-void seek_filestream(FILE_STREAM *fs, unsigned long offset, int mode);
-unsigned long tell_filestream(FILE_STREAM *fs);
-int http_file_open(char *url, FILE_STREAM *fs);
-
-int WinsockInit();
-void WinsockDeInit();
-void CloseTCP(int s);
-#endif
\ No newline at end of file
diff --git a/lib/libfaad2/common/faad/getopt.c b/lib/libfaad2/common/faad/getopt.c
deleted file mode 100644 (file)
index 185d49b..0000000
+++ /dev/null
@@ -1,755 +0,0 @@
-/* Getopt for GNU.
-   NOTE: getopt is now part of the C library, so if you don't know what
-   "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
-   before changing it!
-
-   Copyright (C) 1987, 88, 89, 90, 91, 92, 1993
-    Free Software Foundation, Inc.
-
-   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, 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, 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#ifndef __STDC__
-#  ifndef const
-#    define const
-#  endif
-#endif
-
-/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.  */
-#ifndef _NO_PROTO
-#define _NO_PROTO
-#endif
-
-#include <stdio.h>
-
-/* Comment out all this code if we are using the GNU C Library, and are not
-   actually compiling the library itself.  This code is part of the GNU C
-   Library, but also included in many other GNU distributions.  Compiling
-   and linking in this code is a waste when using the GNU C library
-   (especially if it is a shared library).  Rather than having every GNU
-   program understand `configure --with-gnu-libc' and omit the object files,
-   it is simpler to just do this in the source for each such file.  */
-
-#if defined (_LIBC) || !defined (__GNU_LIBRARY__) || !__MacOSX__
-
-
-/* This needs to come after some library #include
-   to get __GNU_LIBRARY__ defined.  */
-#ifdef  __GNU_LIBRARY__
-/* Don't include stdlib.h for non-GNU C libraries because some of them
-   contain conflicting prototypes for getopt.  */
-#include <stdlib.h>
-#endif  /* GNU C library.  */
-
-/* If GETOPT_COMPAT is defined, `+' as well as `--' can introduce a
-   long-named option.  Because this is not POSIX.2 compliant, it is
-   being phased out.  */
-/* #define GETOPT_COMPAT */
-
-/* This version of `getopt' appears to the caller like standard Unix `getopt'
-   but it behaves differently for the user, since it allows the user
-   to intersperse the options with the other arguments.
-
-   As `getopt' works, it permutes the elements of ARGV so that,
-   when it is done, all the options precede everything else.  Thus
-   all application programs are extended to handle flexible argument order.
-
-   Setting the environment variable POSIXLY_CORRECT disables permutation.
-   Then the behavior is completely standard.
-
-   GNU application programs can use a third alternative mode in which
-   they can distinguish the relative order of options and other arguments.  */
-
-#include "getopt.h"
-
-/* For communication from `getopt' to the caller.
-   When `getopt' finds an option that takes an argument,
-   the argument value is returned here.
-   Also, when `ordering' is RETURN_IN_ORDER,
-   each non-option ARGV-element is returned here.  */
-
-char *optarg = 0;
-
-/* Index in ARGV of the next element to be scanned.
-   This is used for communication to and from the caller
-   and for communication between successive calls to `getopt'.
-
-   On entry to `getopt', zero means this is the first call; initialize.
-
-   When `getopt' returns EOF, this is the index of the first of the
-   non-option elements that the caller should itself scan.
-
-   Otherwise, `optind' communicates from one call to the next
-   how much of ARGV has been scanned so far.  */
-
-/* XXX 1003.2 says this must be 1 before any call.  */
-int optind = 0;
-
-/* The next char to be scanned in the option-element
-   in which the last option character we returned was found.
-   This allows us to pick up the scan where we left off.
-
-   If this is zero, or a null string, it means resume the scan
-   by advancing to the next ARGV-element.  */
-
-static char *nextchar;
-
-/* Callers store zero here to inhibit the error message
-   for unrecognized options.  */
-
-int opterr = 1;
-
-/* Set to an option character which was unrecognized.
-   This must be initialized on some systems to avoid linking in the
-   system's own getopt implementation.  */
-
-#define BAD_OPTION '\0'
-int optopt = BAD_OPTION;
-
-/* Describe how to deal with options that follow non-option ARGV-elements.
-
-   If the caller did not specify anything,
-   the default is REQUIRE_ORDER if the environment variable
-   POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
-   REQUIRE_ORDER means don't recognize them as options;
-   stop option processing when the first non-option is seen.
-   This is what Unix does.
-   This mode of operation is selected by either setting the environment
-   variable POSIXLY_CORRECT, or using `+' as the first character
-   of the list of option characters.
-
-   PERMUTE is the default.  We permute the contents of ARGV as we scan,
-   so that eventually all the non-options are at the end.  This allows options
-   to be given in any order, even with programs that were not written to
-   expect this.
-
-   RETURN_IN_ORDER is an option available to programs that were written
-   to expect options and other ARGV-elements in any order and that care about
-   the ordering of the two.  We describe each non-option ARGV-element
-   as if it were the argument of an option with character code 1.
-   Using `-' as the first character of the list of option characters
-   selects this mode of operation.
-
-   The special argument `--' forces an end of option-scanning regardless
-   of the value of `ordering'.  In the case of RETURN_IN_ORDER, only
-   `--' can cause `getopt' to return EOF with `optind' != ARGC.  */
-
-static enum
-{
-  REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
-} ordering;
-
-#ifdef  __GNU_LIBRARY__
-/* We want to avoid inclusion of string.h with non-GNU libraries
-   because there are many ways it can cause trouble.
-   On some systems, it contains special magic macros that don't work
-   in GCC.  */
-#include <string.h>
-#define my_index    strchr
-#define my_strlen   strlen
-#else
-
-/* Avoid depending on library functions or files
-   whose names are inconsistent.  */
-
-#if __STDC__ || defined(PROTO)
-extern char *getenv(const char *name);
-extern int  strcmp (const char *s1, const char *s2);
-extern int  strncmp(const char *s1, const char *s2, unsigned int n);
-
-static int my_strlen(const char *s);
-static char *my_index (const char *str, int chr);
-#else
-extern char *getenv ();
-#endif
-
-static int
-my_strlen (str)
-     const char *str;
-{
-  int n = 0;
-  while (*str++)
-    n++;
-  return n;
-}
-
-static char *
-my_index (str, chr)
-     const char *str;
-     int chr;
-{
-  while (*str)
-    {
-      if (*str == chr)
-    return (char *) str;
-      str++;
-    }
-  return 0;
-}
-
-#endif              /* GNU C library.  */
-\f
-/* Handle permutation of arguments.  */
-
-/* Describe the part of ARGV that contains non-options that have
-   been skipped.  `first_nonopt' is the index in ARGV of the first of them;
-   `last_nonopt' is the index after the last of them.  */
-
-static int first_nonopt;
-static int last_nonopt;
-
-/* Exchange two adjacent subsequences of ARGV.
-   One subsequence is elements [first_nonopt,last_nonopt)
-   which contains all the non-options that have been skipped so far.
-   The other is elements [last_nonopt,optind), which contains all
-   the options processed since those non-options were skipped.
-
-   `first_nonopt' and `last_nonopt' are relocated so that they describe
-   the new indices of the non-options in ARGV after they are moved.
-
-   To perform the swap, we first reverse the order of all elements. So
-   all options now come before all non options, but they are in the
-   wrong order. So we put back the options and non options in original
-   order by reversing them again. For example:
-       original input:      a b c -x -y
-       reverse all:         -y -x c b a
-       reverse options:     -x -y c b a
-       reverse non options: -x -y a b c
-*/
-
-#if __STDC__ || defined(PROTO)
-static void exchange (char **argv);
-#endif
-
-static void
-exchange (argv)
-     char **argv;
-{
-  char *temp, **first, **last;
-
-  /* Reverse all the elements [first_nonopt, optind) */
-  first = &argv[first_nonopt];
-  last  = &argv[optind-1];
-  while (first < last) {
-    temp = *first; *first = *last; *last = temp; first++; last--;
-  }
-  /* Put back the options in order */
-  first = &argv[first_nonopt];
-  first_nonopt += (optind - last_nonopt);
-  last  = &argv[first_nonopt - 1];
-  while (first < last) {
-    temp = *first; *first = *last; *last = temp; first++; last--;
-  }
-
-  /* Put back the non options in order */
-  first = &argv[first_nonopt];
-  last_nonopt = optind;
-  last  = &argv[last_nonopt-1];
-  while (first < last) {
-    temp = *first; *first = *last; *last = temp; first++; last--;
-  }
-}
-\f
-/* Scan elements of ARGV (whose length is ARGC) for option characters
-   given in OPTSTRING.
-
-   If an element of ARGV starts with '-', and is not exactly "-" or "--",
-   then it is an option element.  The characters of this element
-   (aside from the initial '-') are option characters.  If `getopt'
-   is called repeatedly, it returns successively each of the option characters
-   from each of the option elements.
-
-   If `getopt' finds another option character, it returns that character,
-   updating `optind' and `nextchar' so that the next call to `getopt' can
-   resume the scan with the following option character or ARGV-element.
-
-   If there are no more option characters, `getopt' returns `EOF'.
-   Then `optind' is the index in ARGV of the first ARGV-element
-   that is not an option.  (The ARGV-elements have been permuted
-   so that those that are not options now come last.)
-
-   OPTSTRING is a string containing the legitimate option characters.
-   If an option character is seen that is not listed in OPTSTRING,
-   return BAD_OPTION after printing an error message.  If you set `opterr' to
-   zero, the error message is suppressed but we still return BAD_OPTION.
-
-   If a char in OPTSTRING is followed by a colon, that means it wants an arg,
-   so the following text in the same ARGV-element, or the text of the following
-   ARGV-element, is returned in `optarg'.  Two colons mean an option that
-   wants an optional arg; if there is text in the current ARGV-element,
-   it is returned in `optarg', otherwise `optarg' is set to zero.
-
-   If OPTSTRING starts with `-' or `+', it requests different methods of
-   handling the non-option ARGV-elements.
-   See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
-
-   Long-named options begin with `--' instead of `-'.
-   Their names may be abbreviated as long as the abbreviation is unique
-   or is an exact match for some defined option.  If they have an
-   argument, it follows the option name in the same ARGV-element, separated
-   from the option name by a `=', or else the in next ARGV-element.
-   When `getopt' finds a long-named option, it returns 0 if that option's
-   `flag' field is nonzero, the value of the option's `val' field
-   if the `flag' field is zero.
-
-   The elements of ARGV aren't really const, because we permute them.
-   But we pretend they're const in the prototype to be compatible
-   with other systems.
-
-   LONGOPTS is a vector of `struct option' terminated by an
-   element containing a name which is zero.
-
-   LONGIND returns the index in LONGOPT of the long-named option found.
-   It is only valid when a long-named option has been found by the most
-   recent call.
-
-   If LONG_ONLY is nonzero, '-' as well as '--' can introduce
-   long-named options.  */
-
-int
-_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
-     int argc;
-     char *const *argv;
-     const char *optstring;
-     const struct option *longopts;
-     int *longind;
-     int long_only;
-{
-  int option_index;
-
-  optarg = 0;
-
-  /* Initialize the internal data when the first call is made.
-     Start processing options with ARGV-element 1 (since ARGV-element 0
-     is the program name); the sequence of previously skipped
-     non-option ARGV-elements is empty.  */
-
-  if (optind == 0)
-    {
-      first_nonopt = last_nonopt = optind = 1;
-
-      nextchar = NULL;
-
-      /* Determine how to handle the ordering of options and nonoptions.  */
-
-      if (optstring[0] == '-')
-    {
-      ordering = RETURN_IN_ORDER;
-      ++optstring;
-    }
-      else if (optstring[0] == '+')
-    {
-      ordering = REQUIRE_ORDER;
-      ++optstring;
-    }
-      else if (getenv ("POSIXLY_CORRECT") != NULL)
-    ordering = REQUIRE_ORDER;
-      else
-    ordering = PERMUTE;
-    }
-
-  if (nextchar == NULL || *nextchar == '\0')
-    {
-      if (ordering == PERMUTE)
-    {
-      /* If we have just processed some options following some non-options,
-         exchange them so that the options come first.  */
-
-      if (first_nonopt != last_nonopt && last_nonopt != optind)
-        exchange ((char **) argv);
-      else if (last_nonopt != optind)
-        first_nonopt = optind;
-
-      /* Now skip any additional non-options
-         and extend the range of non-options previously skipped.  */
-
-      while (optind < argc
-         && (argv[optind][0] != '-' || argv[optind][1] == '\0')
-#ifdef GETOPT_COMPAT
-         && (longopts == NULL
-             || argv[optind][0] != '+' || argv[optind][1] == '\0')
-#endif              /* GETOPT_COMPAT */
-         )
-        optind++;
-      last_nonopt = optind;
-    }
-
-      /* Special ARGV-element `--' means premature end of options.
-     Skip it like a null option,
-     then exchange with previous non-options as if it were an option,
-     then skip everything else like a non-option.  */
-
-      if (optind != argc && !strcmp (argv[optind], "--"))
-    {
-      optind++;
-
-      if (first_nonopt != last_nonopt && last_nonopt != optind)
-        exchange ((char **) argv);
-      else if (first_nonopt == last_nonopt)
-        first_nonopt = optind;
-      last_nonopt = argc;
-
-      optind = argc;
-    }
-
-      /* If we have done all the ARGV-elements, stop the scan
-     and back over any non-options that we skipped and permuted.  */
-
-      if (optind == argc)
-    {
-      /* Set the next-arg-index to point at the non-options
-         that we previously skipped, so the caller will digest them.  */
-      if (first_nonopt != last_nonopt)
-        optind = first_nonopt;
-      return EOF;
-    }
-
-      /* If we have come to a non-option and did not permute it,
-     either stop the scan or describe it to the caller and pass it by.  */
-
-      if ((argv[optind][0] != '-' || argv[optind][1] == '\0')
-#ifdef GETOPT_COMPAT
-      && (longopts == NULL
-          || argv[optind][0] != '+' || argv[optind][1] == '\0')
-#endif              /* GETOPT_COMPAT */
-      )
-    {
-      if (ordering == REQUIRE_ORDER)
-        return EOF;
-      optarg = argv[optind++];
-      return 1;
-    }
-
-      /* We have found another option-ARGV-element.
-     Start decoding its characters.  */
-
-      nextchar = (argv[optind] + 1
-          + (longopts != NULL && argv[optind][1] == '-'));
-    }
-
-  if (longopts != NULL
-      && ((argv[optind][0] == '-'
-       && (argv[optind][1] == '-' || long_only))
-#ifdef GETOPT_COMPAT
-      || argv[optind][0] == '+'
-#endif              /* GETOPT_COMPAT */
-      ))
-    {
-      const struct option *p;
-      char *s = nextchar;
-      int exact = 0;
-      int ambig = 0;
-      const struct option *pfound = NULL;
-      int indfound = 0;
-
-      while (*s && *s != '=')
-    s++;
-
-      /* Test all options for either exact match or abbreviated matches.  */
-      for (p = longopts, option_index = 0; p->name;
-       p++, option_index++)
-    if (!strncmp (p->name, nextchar, s - nextchar))
-      {
-        if (s - nextchar == my_strlen (p->name))
-          {
-        /* Exact match found.  */
-        pfound = p;
-        indfound = option_index;
-        exact = 1;
-        break;
-          }
-        else if (pfound == NULL)
-          {
-        /* First nonexact match found.  */
-        pfound = p;
-        indfound = option_index;
-          }
-        else
-          /* Second nonexact match found.  */
-          ambig = 1;
-      }
-
-      if (ambig && !exact)
-    {
-      if (opterr)
-        fprintf (stderr, "%s: option `%s' is ambiguous\n",
-             argv[0], argv[optind]);
-      nextchar += my_strlen (nextchar);
-      optind++;
-      return BAD_OPTION;
-    }
-
-      if (pfound != NULL)
-    {
-      option_index = indfound;
-      optind++;
-      if (*s)
-        {
-          /* Don't test has_arg with >, because some C compilers don't
-         allow it to be used on enums.  */
-          if (pfound->has_arg)
-        optarg = s + 1;
-          else
-        {
-          if (opterr)
-            {
-              if (argv[optind - 1][1] == '-')
-            /* --option */
-            fprintf (stderr,
-                 "%s: option `--%s' doesn't allow an argument\n",
-                 argv[0], pfound->name);
-              else
-            /* +option or -option */
-            fprintf (stderr,
-                 "%s: option `%c%s' doesn't allow an argument\n",
-                 argv[0], argv[optind - 1][0], pfound->name);
-            }
-          nextchar += my_strlen (nextchar);
-          return BAD_OPTION;
-        }
-        }
-      else if (pfound->has_arg == 1)
-        {
-          if (optind < argc)
-        optarg = argv[optind++];
-          else
-        {
-          if (opterr)
-            fprintf (stderr, "%s: option `%s' requires an argument\n",
-                 argv[0], argv[optind - 1]);
-          nextchar += my_strlen (nextchar);
-          return optstring[0] == ':' ? ':' : BAD_OPTION;
-        }
-        }
-      nextchar += my_strlen (nextchar);
-      if (longind != NULL)
-        *longind = option_index;
-      if (pfound->flag)
-        {
-          *(pfound->flag) = pfound->val;
-          return 0;
-        }
-      return pfound->val;
-    }
-      /* Can't find it as a long option.  If this is not getopt_long_only,
-     or the option starts with '--' or is not a valid short
-     option, then it's an error.
-     Otherwise interpret it as a short option.  */
-      if (!long_only || argv[optind][1] == '-'
-#ifdef GETOPT_COMPAT
-      || argv[optind][0] == '+'
-#endif              /* GETOPT_COMPAT */
-      || my_index (optstring, *nextchar) == NULL)
-    {
-      if (opterr)
-        {
-          if (argv[optind][1] == '-')
-        /* --option */
-        fprintf (stderr, "%s: unrecognized option `--%s'\n",
-             argv[0], nextchar);
-          else
-        /* +option or -option */
-        fprintf (stderr, "%s: unrecognized option `%c%s'\n",
-             argv[0], argv[optind][0], nextchar);
-        }
-      nextchar = (char *) "";
-      optind++;
-      return BAD_OPTION;
-    }
-    }
-
-  /* Look at and handle the next option-character.  */
-
-  {
-    char c = *nextchar++;
-    char *temp = my_index (optstring, c);
-
-    /* Increment `optind' when we start to process its last character.  */
-    if (*nextchar == '\0')
-      ++optind;
-
-    if (temp == NULL || c == ':')
-      {
-    if (opterr)
-      {
-#if 0
-        if (c < 040 || c >= 0177)
-          fprintf (stderr, "%s: unrecognized option, character code 0%o\n",
-               argv[0], c);
-        else
-          fprintf (stderr, "%s: unrecognized option `-%c'\n", argv[0], c);
-#else
-        /* 1003.2 specifies the format of this message.  */
-        fprintf (stderr, "%s: illegal option -- %c\n", argv[0], c);
-#endif
-      }
-    optopt = c;
-    return BAD_OPTION;
-      }
-    if (temp[1] == ':')
-      {
-    if (temp[2] == ':')
-      {
-        /* This is an option that accepts an argument optionally.  */
-        if (*nextchar != '\0')
-          {
-        optarg = nextchar;
-        optind++;
-          }
-        else
-          optarg = 0;
-        nextchar = NULL;
-      }
-    else
-      {
-        /* This is an option that requires an argument.  */
-        if (*nextchar != '\0')
-          {
-        optarg = nextchar;
-        /* If we end this ARGV-element by taking the rest as an arg,
-           we must advance to the next element now.  */
-        optind++;
-          }
-        else if (optind == argc)
-          {
-        if (opterr)
-          {
-#if 0
-            fprintf (stderr, "%s: option `-%c' requires an argument\n",
-                 argv[0], c);
-#else
-            /* 1003.2 specifies the format of this message.  */
-            fprintf (stderr, "%s: option requires an argument -- %c\n",
-                 argv[0], c);
-#endif
-          }
-        optopt = c;
-        if (optstring[0] == ':')
-          c = ':';
-        else
-          c = BAD_OPTION;
-          }
-        else
-          /* We already incremented `optind' once;
-         increment it again when taking next ARGV-elt as argument.  */
-          optarg = argv[optind++];
-        nextchar = NULL;
-      }
-      }
-    return c;
-  }
-}
-
-int
-getopt (argc, argv, optstring)
-     int argc;
-     char *const *argv;
-     const char *optstring;
-{
-  return _getopt_internal (argc, argv, optstring,
-               (const struct option *) 0,
-               (int *) 0,
-               0);
-}
-
-int
-getopt_long (argc, argv, options, long_options, opt_index)
-     int argc;
-     char *const *argv;
-     const char *options;
-     const struct option *long_options;
-     int *opt_index;
-{
-  return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
-}
-
-#endif  /* _LIBC or not __GNU_LIBRARY__.  */
-\f
-#ifdef TEST
-
-/* Compile with -DTEST to make an executable for use in testing
-   the above definition of `getopt'.  */
-
-int
-main (argc, argv)
-     int argc;
-     char **argv;
-{
-  int c;
-  int digit_optind = 0;
-
-  while (1)
-    {
-      int this_option_optind = optind ? optind : 1;
-
-      c = getopt (argc, argv, "abc:d:0123456789");
-      if (c == EOF)
-    break;
-
-      switch (c)
-    {
-    case '0':
-    case '1':
-    case '2':
-    case '3':
-    case '4':
-    case '5':
-    case '6':
-    case '7':
-    case '8':
-    case '9':
-      if (digit_optind != 0 && digit_optind != this_option_optind)
-        printf ("digits occur in two different argv-elements.\n");
-      digit_optind = this_option_optind;
-      printf ("option %c\n", c);
-      break;
-
-    case 'a':
-      printf ("option a\n");
-      break;
-
-    case 'b':
-      printf ("option b\n");
-      break;
-
-    case 'c':
-      printf ("option c with value `%s'\n", optarg);
-      break;
-
-    case BAD_OPTION:
-      break;
-
-    default:
-      printf ("?? getopt returned character code 0%o ??\n", c);
-    }
-    }
-
-  if (optind < argc)
-    {
-      printf ("non-option ARGV-elements: ");
-      while (optind < argc)
-    printf ("%s ", argv[optind++]);
-      printf ("\n");
-    }
-
-  exit (0);
-}
-
-#endif /* TEST */
diff --git a/lib/libfaad2/common/faad/getopt.h b/lib/libfaad2/common/faad/getopt.h
deleted file mode 100644 (file)
index 3fd1277..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/* Declarations for getopt.
-   Copyright (C) 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
-
-   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, 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, 675 Mass Ave, Cambridge, MA 02139, USA.  */
-
-#ifndef _GETOPT_H
-#define _GETOPT_H 1
-
-#ifdef  __cplusplus
-extern "C" {
-#endif
-
-#ifndef __MacOSX__
-
-/* For communication from `getopt' to the caller.
-   When `getopt' finds an option that takes an argument,
-   the argument value is returned here.
-   Also, when `ordering' is RETURN_IN_ORDER,
-   each non-option ARGV-element is returned here.  */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
-   This is used for communication to and from the caller
-   and for communication between successive calls to `getopt'.
-
-   On entry to `getopt', zero means this is the first call; initialize.
-
-   When `getopt' returns EOF, this is the index of the first of the
-   non-option elements that the caller should itself scan.
-
-   Otherwise, `optind' communicates from one call to the next
-   how much of ARGV has been scanned so far.  */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message `getopt' prints
-   for unrecognized options.  */
-
-extern int opterr;
-
-/* Set to an option character which was unrecognized.  */
-
-extern int optopt;
-#endif
-
-/* Describe the long-named options requested by the application.
-   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
-   of `struct option' terminated by an element containing a name which is
-   zero.
-
-   The field `has_arg' is:
-   no_argument      (or 0) if the option does not take an argument,
-   required_argument    (or 1) if the option requires an argument,
-   optional_argument    (or 2) if the option takes an optional argument.
-
-   If the field `flag' is not NULL, it points to a variable that is set
-   to the value given in the field `val' when the option is found, but
-   left unchanged if the option is not found.
-
-   To have a long-named option do something other than set an `int' to
-   a compiled-in constant, such as set a value from `optarg', set the
-   option's `flag' field to zero and its `val' field to a nonzero
-   value (the equivalent single-letter option character, if there is
-   one).  For long options that have a zero `flag' field, `getopt'
-   returns the contents of the `val' field.  */
-
-struct option
-{
-#if __STDC__
-  const char *name;
-#else
-  char *name;
-#endif
-  /* has_arg can't be an enum because some compilers complain about
-     type mismatches in all the code that assumes it is an int.  */
-  int has_arg;
-  int *flag;
-  int val;
-};
-
-/* Names for the values of the `has_arg' field of `struct option'.  */
-
-#define no_argument     0
-#define required_argument   1
-#define optional_argument   2
-
-//#if __STDC__ || defined(PROTO)
-#if defined(__GNU_LIBRARY__)
-/* Many other libraries have conflicting prototypes for getopt, with
-   differences in the consts, in stdlib.h.  To avoid compilation
-   errors, only prototype getopt for the GNU C library.  */
-extern int getopt (int argc, char *const *argv, const char *shortopts);
-#endif /* not __GNU_LIBRARY__ */
-extern int getopt_long (int argc, char *const *argv, const char *shortopts,
-                const struct option *longopts, int *longind);
-extern int getopt_long_only (int argc, char *const *argv,
-                 const char *shortopts,
-                     const struct option *longopts, int *longind);
-
-/* Internal only.  Users should not call this directly.  */
-extern int _getopt_internal (int argc, char *const *argv,
-                 const char *shortopts,
-                     const struct option *longopts, int *longind,
-                 int long_only);
-//#else /* not __STDC__ */
-extern int getopt (int argc, char *const *argv, const char *shortopts);
-//extern int getopt_long ();
-//extern int getopt_long_only ();
-
-//extern int _getopt_internal ();
-//#endif /* not __STDC__ */
-
-#ifdef  __cplusplus
-}
-#endif
-
-#endif /* _GETOPT_H */
diff --git a/lib/libfaad2/common/faad/id3v2tag.c b/lib/libfaad2/common/faad/id3v2tag.c
deleted file mode 100644 (file)
index dd554ca..0000000
+++ /dev/null
@@ -1,1124 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: id3v2tag.c,v 1.4 2003/07/29 08:20:11 menno Exp $
-**/
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <commctrl.h>
-#include <resource.h>
-
-#include <id3.h>
-
-#include <id3v2tag.h>
-
-HWND m_hwndList;
-
-LPSTR ID3Frames[] =
-{
-    "No known frame",
-    "Audio encryption",
-    "Attached picture",
-    "Comments",
-    "Commercial frame",
-    "Encryption method registration",
-    "Equalization",
-    "Event timing codes",
-    "General encapsulated object",
-    "Group identification registration",
-    "Involved people list",
-    "Linked information",
-    "Music CD identifier",
-    "MPEG location lookup table",
-    "Ownership frame",
-    "Private frame",
-    "Play counter",
-    "Popularimeter",
-    "Position synchronisation frame",
-    "Recommended buffer size",
-    "Relative volume adjustment",
-    "Reverb",
-    "Synchronized lyric",
-    "Synchronized tempo codes",
-    "Album title",
-    "BPM (beats per minute)",
-    "Composer",
-    "Genre", //"Content type",
-    "Copyright message",
-    "Date",
-    "Playlist delay",
-    "Encoded by",
-    "Lyricist",
-    "File type",
-    "Time",
-    "Content group description",
-    "Title",
-    "Subtitle",
-    "Initial key",
-    "Language(s)",
-    "Length",
-    "Media type",
-    "Original album title",
-    "Original filename",
-    "Original lyricist(s)",
-    "Original artist(s)",
-    "Original release year",
-    "File owner",
-    "Lead performer(s)",
-    "Band/orchestra/accompaniment",
-    "Conductor/performer refinement",
-    "Interpreted, remixed, or otherwise modified by",
-    "Part of a set",
-    "Publisher",
-    "Track number",
-    "Recording dates",
-    "Internet radio station name",
-    "Internet radio station owner",
-    "Size",
-    "ISRC (international standard recording code)",
-    "Software/Hardware and settings used for encoding",
-    "User defined text information",
-    "Year",
-    "Unique file identifier",
-    "Terms of use",
-    "Unsynchronized lyric",
-    "Commercial information",
-    "Copyright/Legal information",
-    "Official audio file webpage",
-    "Official artist webpage",
-    "Official audio source webpage",
-    "Official internet radio station homepage",
-    "Payment",
-    "Official publisher webpage",
-    "User defined URL link",
-    "Encrypted meta frame (id3v2.2.x)",
-    "Compressed meta frame (id3v2.2.1)"
-};
-
-ID3GENRES ID3Genres[]=
-{
-    123,    "Acapella",
-    34,     "Acid",
-    74,     "Acid Jazz",
-    73,     "Acid Punk",
-    99,     "Acoustic",
-    20,     "Alternative",
-    40,     "AlternRock",
-    26,     "Ambient",
-    90,     "Avantgarde",
-    116,    "Ballad",
-    41,     "Bass",
-    85,     "Bebob",
-    96,     "Big Band",
-    89,     "Bluegrass",
-    0,      "Blues",
-    107,    "Booty Bass",
-    65,     "Cabaret",
-    88,     "Celtic",
-    104,    "Chamber Music",
-    102,    "Chanson",
-    97,     "Chorus",
-    61,     "Christian Rap",
-    1,      "Classic Rock",
-    32,     "Classical",
-    112,    "Club",
-    57,     "Comedy",
-    2,      "Country",
-    58,     "Cult",
-    3,      "Dance",
-    125,    "Dance Hall",
-    50,     "Darkwave",
-    254,    "Data",
-    22,     "Death Metal",
-    4,      "Disco",
-    55,     "Dream",
-    122,    "Drum Solo",
-    120,    "Duet",
-    98,     "Easy Listening",
-    52,     "Electronic",
-    48,     "Ethnic",
-    124,    "Euro-House",
-    25,     "Euro-Techno",
-    54,     "Eurodance",
-    84,     "Fast Fusion",
-    80,     "Folk",
-    81,     "Folk-Rock",
-    115,    "Folklore",
-    119,    "Freestyle",
-    5,      "Funk",
-    30,     "Fusion",
-    36,     "Game",
-    59,     "Gangsta",
-    38,     "Gospel",
-    49,     "Gothic",
-    91,     "Gothic Rock",
-    6,      "Grunge",
-    79,     "Hard Rock",
-    7,      "Hip-Hop",
-    35,     "House",
-    100,    "Humour",
-    19,     "Industrial",
-    33,     "Instrumental",
-    46,     "Instrumental Pop",
-    47,     "Instrumental Rock",
-    8,      "Jazz",
-    29,     "Jazz+Funk",
-    63,     "Jungle",
-    86,     "Latin",
-    71,     "Lo-Fi",
-    45,     "Meditative",
-    9,      "Metal",
-    77,     "Musical",
-    82,     "National Folk",
-    64,     "Native American",
-    10,     "New Age",
-    66,     "New Wave",
-    39,     "Noise",
-    255,    "Not Set",
-    11,     "Oldies",
-    103,    "Opera",
-    12,     "Other",
-    75,     "Polka",
-    13,     "Pop",
-    62,     "Pop/Funk",
-    53,     "Pop-Folk",
-    109,    "Porn Groove",
-    117,    "Power Ballad",
-    23,     "Pranks",
-    108,    "Primus",
-    92,     "Progressive Rock",
-    67,     "Psychadelic",
-    93,     "Psychedelic Rock",
-    43,     "Punk",
-    121,    "Punk Rock",
-    14,     "R&B",
-    15,     "Rap",
-    68,     "Rave",
-    16,     "Reggae",
-    76,     "Retro",
-    87,     "Revival",
-    118,    "Rhythmic Soul",
-    17,     "Rock",
-    78,     "Rock & Roll",
-    114,    "Samba",
-    110,    "Satire",
-    69,     "Showtunes",
-    21,     "Ska",
-    111,    "Slow Jam",
-    95,     "Slow Rock",
-    105,    "Sonata",
-    42,     "Soul",
-    37,     "Sound Clip",
-    24,     "Soundtrack",
-    56,     "Southern Rock",
-    44,     "Space",
-    101,    "Speech",
-    83,     "Swing",
-    94,     "Symphonic Rock",
-    106,    "Symphony",
-    113,    "Tango",
-    18,     "Techno",
-    51,     "Techno-Industrial",
-    60,     "Top 40",
-    70,     "Trailer",
-    31,     "Trance",
-    72,     "Tribal",
-    27,     "Trip-Hop",
-    28,     "Vocal"
-};
-
-const int NUMFRAMES = sizeof(ID3Frames)/sizeof(ID3Frames[0]);
-const int NUMGENRES = sizeof(ID3Genres)/sizeof(ID3Genres[0]);
-
-
-LPSTR DupString(LPSTR lpsz)
-{
-    int cb = lstrlen(lpsz) + 1;
-    LPSTR lpszNew = LocalAlloc(LMEM_FIXED, cb);
-    if (lpszNew != NULL)
-        CopyMemory(lpszNew, lpsz, cb);
-    return lpszNew;
-}
-
-LPSTR GetFrameDesc(ID3_FrameID id)
-{
-    return DupString(ID3Frames[id]);
-}
-
-LPSTR GetGenre(LPSTR lpsz)
-{
-    int id = atoi(lpsz + 1);
-    int i;
-
-    if ((*(lpsz + 1) > '0') && (*(lpsz + 1) < '9'))
-    {
-        for (i = 0; i < NUMGENRES; i++)
-        {
-            if (id == ID3Genres[i].id)
-                return DupString(ID3Genres[i].name);
-        }
-    }
-    return DupString(lpsz);
-}
-
-void FillID3List(HWND hwndDlg, HWND hwndList, char *filename)
-{
-    ID3Tag *tag;
-    ID3Frame *frame;
-    ID3Field *field;
-    ID3_FrameID eFrameID;
-    char info[1024];
-    int numFrames;
-    int i;
-    int iItem = 0;
-
-
-    if ((tag = ID3Tag_New()) != NULL)
-    {
-        ID3Tag_Link(tag, filename);
-
-        numFrames = ID3Tag_NumFrames(tag);
-
-        for (i = 0; i < numFrames; i++)
-        {
-            iItem++;
-
-            frame = ID3Tag_GetFrameNum(tag, i);
-            eFrameID = ID3Frame_GetID(frame);
-
-            switch (eFrameID)
-            {
-            case ID3FID_ALBUM:            case ID3FID_BPM:
-            case ID3FID_COMPOSER:         case ID3FID_CONTENTTYPE:
-            case ID3FID_COPYRIGHT:        case ID3FID_DATE:
-            case ID3FID_PLAYLISTDELAY:    case ID3FID_ENCODEDBY:
-            case ID3FID_LYRICIST:         case ID3FID_FILETYPE:
-            case ID3FID_TIME:             case ID3FID_CONTENTGROUP:
-            case ID3FID_TITLE:            case ID3FID_SUBTITLE:
-            case ID3FID_INITIALKEY:       case ID3FID_LANGUAGE:
-            case ID3FID_SONGLEN:          case ID3FID_MEDIATYPE:
-            case ID3FID_ORIGALBUM:        case ID3FID_ORIGFILENAME:
-            case ID3FID_ORIGLYRICIST:     case ID3FID_ORIGARTIST:
-            case ID3FID_ORIGYEAR:         case ID3FID_FILEOWNER:
-            case ID3FID_LEADARTIST:       case ID3FID_BAND:
-            case ID3FID_CONDUCTOR:        case ID3FID_MIXARTIST:
-            case ID3FID_PARTINSET:        case ID3FID_PUBLISHER:
-            case ID3FID_TRACKNUM:         case ID3FID_RECORDINGDATES:
-            case ID3FID_NETRADIOSTATION:  case ID3FID_NETRADIOOWNER:
-            case ID3FID_SIZE:             case ID3FID_ISRC:
-            case ID3FID_ENCODERSETTINGS:  case ID3FID_YEAR:
-            {
-                LV_ITEM lvi;
-                ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));
-
-                /* Initialize LV_ITEM members that are common to all items. */
-                lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;
-                lvi.state = 0;
-                lvi.stateMask = 0;
-                lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */
-                lvi.iImage = 0;
-                lvi.iItem = iItem;
-                lvi.iSubItem = 0;
-
-                pItem->frameId = eFrameID;
-                pItem->aCols[0] = GetFrameDesc(eFrameID);
-
-                field = ID3Frame_GetField(frame, ID3FN_TEXT);
-                ID3Field_GetASCII(field, info, 1024, 1);
-                if (eFrameID == ID3FID_CONTENTTYPE)
-                    pItem->aCols[1] = GetGenre(info);
-                else
-                    pItem->aCols[1] = DupString(info);
-
-                lvi.lParam = (LPARAM)pItem;    /* item data */
-
-                /* Add the item. */
-                ListView_InsertItem(hwndList, &lvi);
-
-                break;
-            }
-            case ID3FID_USERTEXT:
-            case ID3FID_COMMENT: /* Can also contain an extra language field (but not used now) */
-            case ID3FID_UNSYNCEDLYRICS: /* Can also contain an extra language field (but not used now) */
-            {
-                LV_ITEM lvi;
-                ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));
-
-                /* Initialize LV_ITEM members that are common to all items. */
-                lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;
-                lvi.state = 0;
-                lvi.stateMask = 0;
-                lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */
-                lvi.iImage = 0;
-                lvi.iItem = iItem;
-                lvi.iSubItem = 0;
-
-                pItem->frameId = eFrameID;
-
-                field = ID3Frame_GetField(frame, ID3FN_DESCRIPTION);
-                ID3Field_GetASCII(field, info, 1024, 1);
-                pItem->aCols[0] = DupString(info);
-
-                field = ID3Frame_GetField(frame, ID3FN_TEXT);
-                ID3Field_GetASCII(field, info, 1024, 1);
-                pItem->aCols[1] = DupString(info);
-
-                lvi.lParam = (LPARAM)pItem;    /* item data */
-
-                /* Add the item. */
-                ListView_InsertItem(hwndList, &lvi);
-
-                break;
-            }
-            case ID3FID_WWWAUDIOFILE:       case ID3FID_WWWARTIST:
-            case ID3FID_WWWAUDIOSOURCE:     case ID3FID_WWWCOMMERCIALINFO:
-            case ID3FID_WWWCOPYRIGHT:       case ID3FID_WWWPUBLISHER:
-            case ID3FID_WWWPAYMENT:         case ID3FID_WWWRADIOPAGE:
-            {
-                LV_ITEM lvi;
-                ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));
-
-                /* Initialize LV_ITEM members that are common to all items. */
-                lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;
-                lvi.state = 0;
-                lvi.stateMask = 0;
-                lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */
-                lvi.iImage = 0;
-                lvi.iItem = iItem;
-                lvi.iSubItem = 0;
-
-                pItem->frameId = eFrameID;
-
-                pItem->aCols[0] = GetFrameDesc(eFrameID);
-
-                field = ID3Frame_GetField(frame, ID3FN_URL);
-                ID3Field_GetASCII(field, info, 1024, 1);
-                pItem->aCols[1] = DupString(info);
-
-                lvi.lParam = (LPARAM)pItem;    /* item data */
-
-                /* Add the item. */
-                ListView_InsertItem(hwndList, &lvi);
-
-                break;
-            }
-            case ID3FID_WWWUSER:
-            {
-                LV_ITEM lvi;
-                ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));
-
-                /* Initialize LV_ITEM members that are common to all items. */
-                lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;
-                lvi.state = 0;
-                lvi.stateMask = 0;
-                lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */
-                lvi.iImage = 0;
-                lvi.iItem = iItem;
-                lvi.iSubItem = 0;
-
-                pItem->frameId = eFrameID;
-
-                field = ID3Frame_GetField(frame, ID3FN_DESCRIPTION);
-                ID3Field_GetASCII(field, info, 1024, 1);
-                pItem->aCols[0] = DupString(info);
-
-                field = ID3Frame_GetField(frame, ID3FN_URL);
-                ID3Field_GetASCII(field, info, 1024, 1);
-                pItem->aCols[1] = DupString(info);
-
-                lvi.lParam = (LPARAM)pItem;    /* item data */
-
-                /* Add the item. */
-                ListView_InsertItem(hwndList, &lvi);
-
-                break;
-            }
-            default:
-                break;
-            }
-        }
-        ID3Tag_Delete(tag);
-    }
-}
-
-BOOL CALLBACK AddFrameProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
-{
-    int i, cursel;
-
-    switch (message) {
-    case WM_INITDIALOG:
-        EnableWindow(GetDlgItem(hwndDlg, IDC_COL0), FALSE);
-        EnableWindow(GetDlgItem(hwndDlg, IDOK), FALSE);
-
-        /* Note: FRAMEID is the index in the combo box + 1 */
-        for (i = 1; i < NUMFRAMES; i++)
-        {
-            SendMessage(GetDlgItem(hwndDlg, IDC_FRAMETYPE), CB_ADDSTRING, 0, (LPARAM)(LPCTSTR)ID3Frames[i]);
-        }
-        return TRUE;
-
-    case WM_COMMAND:
-        switch (LOWORD(wParam)) {
-        case IDC_FRAMETYPE:
-            if (HIWORD(wParam) == CBN_SELCHANGE)
-            {
-                cursel = SendMessage(GetDlgItem(hwndDlg, IDC_FRAMETYPE), CB_GETCURSEL, 0, 0);
-
-                switch (cursel + 1)
-                {
-                case ID3FID_ALBUM:             case ID3FID_BPM:
-                case ID3FID_COMPOSER:          case ID3FID_COPYRIGHT:
-                case ID3FID_DATE:              case ID3FID_PLAYLISTDELAY:
-                case ID3FID_ENCODEDBY:         case ID3FID_LYRICIST:
-                case ID3FID_FILETYPE:          case ID3FID_TIME:
-                case ID3FID_CONTENTGROUP:      case ID3FID_TITLE:
-                case ID3FID_SUBTITLE:          case ID3FID_INITIALKEY:
-                case ID3FID_LANGUAGE:          case ID3FID_SONGLEN:
-                case ID3FID_MEDIATYPE:         case ID3FID_ORIGALBUM:
-                case ID3FID_ORIGFILENAME:      case ID3FID_ORIGLYRICIST:
-                case ID3FID_ORIGARTIST:        case ID3FID_ORIGYEAR:
-                case ID3FID_FILEOWNER:         case ID3FID_LEADARTIST:
-                case ID3FID_BAND:              case ID3FID_CONDUCTOR:
-                case ID3FID_MIXARTIST:         case ID3FID_PARTINSET:
-                case ID3FID_PUBLISHER:         case ID3FID_TRACKNUM:
-                case ID3FID_RECORDINGDATES:    case ID3FID_NETRADIOSTATION:
-                case ID3FID_NETRADIOOWNER:     case ID3FID_SIZE:
-                case ID3FID_ISRC:              case ID3FID_ENCODERSETTINGS:
-                case ID3FID_YEAR:              case ID3FID_WWWAUDIOFILE:
-                case ID3FID_WWWARTIST:         case ID3FID_WWWAUDIOSOURCE:
-                case ID3FID_WWWCOMMERCIALINFO: case ID3FID_WWWCOPYRIGHT:
-                case ID3FID_WWWPUBLISHER:      case ID3FID_WWWPAYMENT:
-                case ID3FID_WWWRADIOPAGE:      case ID3FID_CONTENTTYPE:
-                {
-                    SetDlgItemText(hwndDlg, IDC_COL0, ID3Frames[cursel+1]);
-                    EnableWindow(GetDlgItem(hwndDlg, IDC_COL0), FALSE);
-                    EnableWindow(GetDlgItem(hwndDlg, IDOK), TRUE);
-                    break;
-                }
-                case ID3FID_USERTEXT:          case ID3FID_COMMENT:
-                case ID3FID_UNSYNCEDLYRICS:    case ID3FID_WWWUSER:
-                {
-                    SetDlgItemText(hwndDlg, IDC_COL0, ID3Frames[cursel+1]);
-                    EnableWindow(GetDlgItem(hwndDlg, IDC_COL0), TRUE);
-                    EnableWindow(GetDlgItem(hwndDlg, IDOK), TRUE);
-                    break;
-                }
-                default:
-                    MessageBox(hwndDlg, "Sorry, this frame type cannot be added (yet).", "Sorry", MB_OK);
-                    EnableWindow(GetDlgItem(hwndDlg, IDC_COL0), FALSE);
-                    EnableWindow(GetDlgItem(hwndDlg, IDOK), FALSE);
-                    break;
-                }
-            }
-            return TRUE;
-        case IDOK:
-            {
-                LV_ITEM lvi;
-                ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));
-                char *col0 = LocalAlloc(LPTR, 1024);
-                char *col1 = LocalAlloc(LPTR, 1024);
-
-                /* Initialize LV_ITEM members that are common to all items. */
-                lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;
-                lvi.state = 0;
-                lvi.stateMask = 0;
-                lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */
-                lvi.iImage = 0;
-                lvi.iItem = ListView_GetItemCount(m_hwndList) + 1;
-                lvi.iSubItem = 0;
-
-                cursel = SendMessage(GetDlgItem(hwndDlg, IDC_FRAMETYPE), CB_GETCURSEL, 0, 0);
-                pItem->frameId = cursel + 1;
-                GetDlgItemText(hwndDlg, IDC_COL0, col0, 1024);
-                GetDlgItemText(hwndDlg, IDC_COL1, col1, 1024);
-                pItem->aCols[0] = col0;
-                pItem->aCols[1] = col1;
-
-                lvi.lParam = (LPARAM)pItem;    /* item data */
-
-                /* Add the item. */
-                ListView_InsertItem(m_hwndList, &lvi);
-                ListView_Update(m_hwndList, lvi.iItem);
-            }
-        case IDCANCEL:
-            EndDialog(hwndDlg, wParam);
-            return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-BOOL List_AddFrame(HWND hwndApp, HWND hwndList)
-{
-    int result;
-
-    m_hwndList = hwndList;
-
-    result = DialogBox(hInstance_for_id3editor, MAKEINTRESOURCE(IDD_ADDFRAME),
-        hwndApp, AddFrameProc);
-
-    if (LOWORD(result) == IDOK)
-        return TRUE;
-    return FALSE;
-}
-
-
-void InsertTextFrame(HWND dlg, HWND list, int control, int item, int frame_id)
-{
-    LV_ITEM lvi;
-    ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));
-
-    /* Initialize LV_ITEM members that are common to all items. */
-    lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;
-    lvi.state = 0;
-    lvi.stateMask = 0;
-    lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */
-    lvi.iImage = 0;
-    lvi.iItem = item;
-    lvi.iSubItem = 0;
-
-    pItem->frameId = frame_id;
-    pItem->aCols[0] = GetFrameDesc(frame_id);
-
-    pItem->aCols[1] = LocalAlloc(LPTR, 1024);
-    GetDlgItemText(dlg, control, pItem->aCols[1], 1024);
-
-    lvi.lParam = (LPARAM)pItem;    /* item data */
-
-    /* Add the item. */
-    ListView_InsertItem(list, &lvi);
-}
-
-void AddFrameFromRAWData(HWND hwndList, int frameId, LPSTR data1, LPSTR data2)
-{
-    LV_ITEM lvi;
-    ID3ITEM *pItem = LocalAlloc(LPTR, sizeof(ID3ITEM));
-    int nextItem;
-
-    nextItem = ListView_GetItemCount(hwndList);
-
-    /* Initialize LV_ITEM members that are common to all items. */
-    lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;
-    lvi.state = 0;
-    lvi.stateMask = 0;
-    lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */
-    lvi.iImage = 0;
-    lvi.iItem = nextItem;
-    lvi.iSubItem = 0;
-
-    pItem->frameId = frameId;
-
-    pItem->aCols[0] = LocalAlloc(LPTR, 1024);
-    pItem->aCols[1] = LocalAlloc(LPTR, 1024);
-
-    lstrcpy(pItem->aCols[0], data1);
-    lstrcpy(pItem->aCols[1], data2);
-
-    lvi.lParam = (LPARAM)pItem;    /* item data */
-
-    /* Add the item. */
-    ListView_InsertItem(hwndList, &lvi);
-}
-
-HWND m_hwndDlg;
-int changed;
-
-BOOL CALLBACK AddStandardProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
-{
-    int added = 0;
-
-    switch (message) {
-    case WM_INITDIALOG:
-        changed = 0;
-        return TRUE;
-
-    case WM_COMMAND:
-        switch (LOWORD(wParam)) {
-        case IDOK:
-        {
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_TRACK)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_TRACK, ListView_GetItemCount(m_hwndList)+1, ID3FID_TRACKNUM);
-                added++;
-            }
-
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_TITLE)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_TITLE, ListView_GetItemCount(m_hwndList)+1, ID3FID_TITLE);
-                added++;
-            }
-
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_ARTIST)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_ARTIST, ListView_GetItemCount(m_hwndList)+1, ID3FID_LEADARTIST);
-                added++;
-            }
-
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_ALBUM)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_ALBUM, ListView_GetItemCount(m_hwndList)+1, ID3FID_ALBUM);
-                added++;
-            }
-
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_YEAR)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_YEAR, ListView_GetItemCount(m_hwndList)+1, ID3FID_YEAR);
-                added++;
-            }
-
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_GENRE)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_GENRE, ListView_GetItemCount(m_hwndList)+1, ID3FID_CONTENTTYPE);
-                added++;
-            }
-
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_COMMENT)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_COMMENT, ListView_GetItemCount(m_hwndList)+1, ID3FID_COMMENT);
-                added++;
-            }
-
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_COMPOSER)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_COMPOSER, ListView_GetItemCount(m_hwndList)+1, ID3FID_COMPOSER);
-                added++;
-            }
-
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_ORIGARTIST)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_ORIGARTIST, ListView_GetItemCount(m_hwndList)+1, ID3FID_ORIGARTIST);
-                added++;
-            }
-
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_COPYRIGHT)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_COPYRIGHT, ListView_GetItemCount(m_hwndList)+1, ID3FID_COPYRIGHT);
-                added++;
-            }
-
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_URL)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_URL, ListView_GetItemCount(m_hwndList)+1, ID3FID_WWWARTIST);
-                added++;
-            }
-
-            if (GetWindowTextLength(GetDlgItem(hwndDlg, IDC_ENCBY)) > 0) {
-                InsertTextFrame(hwndDlg, m_hwndList, IDC_ENCBY, ListView_GetItemCount(m_hwndList)+1, ID3FID_ENCODEDBY);
-                added++;
-            }
-
-            if (added > 0)
-                changed = 1;
-        }
-        case IDCANCEL:
-            EndDialog(hwndDlg, changed);
-            return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-
-BOOL List_AddStandardFrames(HWND hwndApp, HWND hwndList)
-{
-    int result;
-
-    m_hwndList = hwndList;
-    m_hwndDlg = hwndApp;
-
-    result = DialogBox(hInstance_for_id3editor, MAKEINTRESOURCE(IDD_ADDSTANDARD),
-        hwndApp, AddStandardProc);
-
-    return result?TRUE:FALSE;
-}
-
-
-/* List_OnGetDispInfo - processes the LVN_GETDISPINFO  */
-/*     notification message. */
-/* pnmv - value of lParam (points to an LV_DISPINFO structure) */
-void List_OnGetDispInfo(LV_DISPINFO *pnmv)
-{
-    /* Provide the item or subitem's text, if requested. */
-    if (pnmv->item.mask & LVIF_TEXT) {
-        ID3ITEM *pItem = (ID3ITEM *) (pnmv->item.lParam);
-        lstrcpy(pnmv->item.pszText,
-            pItem->aCols[pnmv->item.iSubItem]);
-    }
-}
-
-ID3ITEM *pItem;
-int editItemIndex;
-
-BOOL CALLBACK EditTextFrameProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
-{
-    LV_ITEM lvi;
-
-    switch (message) {
-    case WM_INITDIALOG:
-        SetDlgItemText(hwndDlg, IDC_TEXTFRAMENAME, pItem->aCols[0]);
-        SetDlgItemText(hwndDlg, IDC_EDITTEXTFRAME, pItem->aCols[1]);
-
-        switch (pItem->frameId)
-        {
-        case ID3FID_ALBUM:              case ID3FID_BPM:
-        case ID3FID_COMPOSER:           case ID3FID_COPYRIGHT:
-        case ID3FID_DATE:               case ID3FID_PLAYLISTDELAY:
-        case ID3FID_ENCODEDBY:          case ID3FID_LYRICIST:
-        case ID3FID_FILETYPE:           case ID3FID_TIME:
-        case ID3FID_CONTENTGROUP:       case ID3FID_TITLE:
-        case ID3FID_SUBTITLE:           case ID3FID_INITIALKEY:
-        case ID3FID_LANGUAGE:           case ID3FID_SONGLEN:
-        case ID3FID_MEDIATYPE:          case ID3FID_ORIGALBUM:
-        case ID3FID_ORIGFILENAME:       case ID3FID_ORIGLYRICIST:
-        case ID3FID_ORIGARTIST:         case ID3FID_ORIGYEAR:
-        case ID3FID_FILEOWNER:          case ID3FID_LEADARTIST:
-        case ID3FID_BAND:               case ID3FID_CONDUCTOR:
-        case ID3FID_MIXARTIST:          case ID3FID_PARTINSET:
-        case ID3FID_PUBLISHER:          case ID3FID_TRACKNUM:
-        case ID3FID_RECORDINGDATES:     case ID3FID_NETRADIOSTATION:
-        case ID3FID_NETRADIOOWNER:      case ID3FID_SIZE:
-        case ID3FID_ISRC:               case ID3FID_ENCODERSETTINGS:
-        case ID3FID_YEAR:               case ID3FID_WWWAUDIOFILE:
-        case ID3FID_WWWARTIST:          case ID3FID_WWWAUDIOSOURCE:
-        case ID3FID_WWWCOMMERCIALINFO:  case ID3FID_WWWCOPYRIGHT:
-        case ID3FID_WWWPUBLISHER:       case ID3FID_WWWPAYMENT:
-        case ID3FID_WWWRADIOPAGE:       case ID3FID_CONTENTTYPE:
-        {
-            EnableWindow(GetDlgItem(hwndDlg, IDC_TEXTFRAMENAME), FALSE);
-            EnableWindow(GetDlgItem(hwndDlg, IDC_EDITTEXTFRAME), TRUE);
-            break;
-        }
-        case ID3FID_USERTEXT:           case ID3FID_COMMENT:
-        case ID3FID_UNSYNCEDLYRICS:     case ID3FID_WWWUSER:
-        {
-            EnableWindow(GetDlgItem(hwndDlg, IDC_TEXTFRAMENAME), TRUE);
-            EnableWindow(GetDlgItem(hwndDlg, IDC_EDITTEXTFRAME), TRUE);
-            break;
-        }
-        default:
-            EnableWindow(GetDlgItem(hwndDlg, IDOK), FALSE);
-            EnableWindow(GetDlgItem(hwndDlg, IDC_TEXTFRAMENAME), FALSE);
-            EnableWindow(GetDlgItem(hwndDlg, IDC_EDITTEXTFRAME), FALSE);
-            break;
-        }
-        return TRUE;
-
-    case WM_COMMAND:
-        switch (LOWORD(wParam)) {
-        case IDOK:
-        {
-            GetDlgItemText(hwndDlg, IDC_TEXTFRAMENAME, pItem->aCols[0], 1024);
-            GetDlgItemText(hwndDlg, IDC_EDITTEXTFRAME, pItem->aCols[1], 1024);
-            lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM | LVIF_STATE;
-            lvi.state = 0;
-            lvi.stateMask = 0;
-            lvi.pszText = LPSTR_TEXTCALLBACK;   /* app. maintains text */
-            lvi.iImage = 0;
-            lvi.iItem = editItemIndex;
-            lvi.iSubItem = 0;
-            lvi.lParam = (LPARAM)pItem;    /* item data */
-
-            /* Add the item. */
-            ListView_SetItem(m_hwndList, &lvi);
-            ListView_Update(m_hwndList, editItemIndex);
-        } /* Fall through */
-        case IDCANCEL:
-            EndDialog(hwndDlg, wParam);
-            return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-
-/* Double clicking means editing a frame */
-BOOL List_EditData(HWND hwndApp, HWND hwndList)
-{
-    LV_ITEM lvi;
-    BOOL result;
-
-    /* First get the selected item */
-    int index = ListView_GetNextItem(hwndList, -1, LVNI_SELECTED);
-
-    m_hwndList = hwndList;
-
-    if (index != -1)
-    {
-        lvi.mask = LVIF_PARAM;
-        lvi.iItem = index;
-        lvi.iSubItem = 0;
-
-        if (ListView_GetItem(hwndList, &lvi) == TRUE)
-        {
-            pItem = (ID3ITEM*)lvi.lParam;
-            editItemIndex = lvi.iItem;
-
-            result = DialogBox(hInstance_for_id3editor, MAKEINTRESOURCE(IDD_EDITTEXTFRAME),
-                hwndApp, EditTextFrameProc);
-            if (LOWORD(result) == IDOK)
-                return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-
-/* Delete the selected frame */
-BOOL List_DeleteSelected(HWND hwndApp, HWND hwndList)
-{
-    int items;
-
-    /* First get the selected item */
-    int index = ListView_GetNextItem(hwndList, -1, LVNI_SELECTED);
-
-    if (index != -1)
-        ListView_DeleteItem(hwndList, index);
-
-    items = ListView_GetItemCount(hwndList);
-    if (index != -1) return TRUE;
-    else return FALSE;
-}
-
-
-/* Save the ID3 to the file */
-void List_SaveID3(HWND hwndApp, HWND hwndList, char *filename)
-{
-    LV_ITEM lvi;
-    ID3ITEM *pItem1;
-    int i, items;
-    ID3Tag *tag;
-    ID3Frame *frame;
-    ID3Field *field;
-    
-    /* Strip the tag first, before completely rewriting it */
-    if ((tag = ID3Tag_New()) != NULL)
-    {
-        ID3Tag_Link(tag, filename);
-        ID3Tag_Strip(tag, ID3TT_ALL);
-        ID3Tag_Clear(tag);
-
-        if (SendMessage(GetDlgItem(hwndApp, IDC_ID3V2TAG), BM_GETCHECK, 0, 0) == BST_UNCHECKED)
-        {
-            /* No frames saved */
-            ID3Tag_Delete(tag);
-            EnableWindow(GetDlgItem(hwndApp, IDC_ID3V2TAG), FALSE);
-            ListView_DeleteAllItems(hwndList);
-            return;
-        }
-
-        /* First get the number of items */
-        items = ListView_GetItemCount(hwndList);
-
-        if (items > 0)
-        {
-            for (i = 0; i < items; i++)
-            {
-                lvi.mask = LVIF_PARAM;
-                lvi.iItem = i;
-                lvi.iSubItem = 0;
-
-                if (ListView_GetItem(hwndList, &lvi) == TRUE)
-                {
-                    pItem1 = (ID3ITEM*)lvi.lParam;
-
-                    frame = ID3Frame_NewID(pItem1->frameId);
-
-                    switch (pItem1->frameId)
-                    {
-                    case ID3FID_ALBUM:            case ID3FID_BPM:
-                    case ID3FID_COMPOSER:         case ID3FID_CONTENTTYPE:
-                    case ID3FID_COPYRIGHT:        case ID3FID_DATE:
-                    case ID3FID_PLAYLISTDELAY:    case ID3FID_ENCODEDBY:
-                    case ID3FID_LYRICIST:         case ID3FID_FILETYPE:
-                    case ID3FID_TIME:             case ID3FID_CONTENTGROUP:
-                    case ID3FID_TITLE:            case ID3FID_SUBTITLE:
-                    case ID3FID_INITIALKEY:       case ID3FID_LANGUAGE:
-                    case ID3FID_SONGLEN:          case ID3FID_MEDIATYPE:
-                    case ID3FID_ORIGALBUM:        case ID3FID_ORIGFILENAME:
-                    case ID3FID_ORIGLYRICIST:     case ID3FID_ORIGARTIST:
-                    case ID3FID_ORIGYEAR:         case ID3FID_FILEOWNER:
-                    case ID3FID_LEADARTIST:       case ID3FID_BAND:
-                    case ID3FID_CONDUCTOR:        case ID3FID_MIXARTIST:
-                    case ID3FID_PARTINSET:        case ID3FID_PUBLISHER:
-                    case ID3FID_TRACKNUM:         case ID3FID_RECORDINGDATES:
-                    case ID3FID_NETRADIOSTATION:  case ID3FID_NETRADIOOWNER:
-                    case ID3FID_SIZE:             case ID3FID_ISRC:
-                    case ID3FID_ENCODERSETTINGS:  case ID3FID_YEAR:
-                    {
-                        field = ID3Frame_GetField(frame, ID3FN_TEXT);
-                        ID3Field_SetASCII(field, pItem1->aCols[1]);
-                        ID3Tag_AddFrame(tag, frame);
-                        break;
-                    }
-                    case ID3FID_USERTEXT:
-                    case ID3FID_COMMENT: /* Can also contain an extra language field (but not used now) */
-                    case ID3FID_UNSYNCEDLYRICS: /* Can also contain an extra language field (but not used now) */
-                    {
-                        field = ID3Frame_GetField(frame, ID3FN_DESCRIPTION);
-                        ID3Field_SetASCII(field, pItem1->aCols[0]);
-                        field = ID3Frame_GetField(frame, ID3FN_TEXT);
-                        ID3Field_SetASCII(field, pItem1->aCols[1]);
-                        ID3Tag_AddFrame(tag, frame);
-                        break;
-                    }
-                    case ID3FID_WWWAUDIOFILE:     case ID3FID_WWWARTIST:
-                    case ID3FID_WWWAUDIOSOURCE:   case ID3FID_WWWCOMMERCIALINFO:
-                    case ID3FID_WWWCOPYRIGHT:     case ID3FID_WWWPUBLISHER:
-                    case ID3FID_WWWPAYMENT:       case ID3FID_WWWRADIOPAGE:
-                    {
-                        field = ID3Frame_GetField(frame, ID3FN_URL);
-                        ID3Field_SetASCII(field, pItem1->aCols[1]);
-                        ID3Tag_AddFrame(tag, frame);
-                        break;
-                    }
-                    case ID3FID_WWWUSER:
-                    {
-                        field = ID3Frame_GetField(frame, ID3FN_DESCRIPTION);
-                        ID3Field_SetASCII(field, pItem1->aCols[0]);
-                        field = ID3Frame_GetField(frame, ID3FN_URL);
-                        ID3Field_SetASCII(field, pItem1->aCols[1]);
-                        ID3Tag_AddFrame(tag, frame);
-                        break;
-                    }
-                    default:
-                        break;
-                    }
-                }
-            }
-            ID3Tag_UpdateByTagType(tag, ID3TT_ID3V2);
-        }
-
-        ID3Tag_Delete(tag);
-    }
-}
-
-/* Get the title from the file */
-void GetID3FileTitle(char *filename, char *title, char *format)
-{
-    ID3Tag *tag;
-    ID3Frame *frame;
-    ID3Field *field;
-    char buffer[255];
-    int some_info = 0;
-    char *in = format;
-    char *out = title;
-    char *bound = out + (MAX_PATH - 10 - 1);
-
-
-    if ((tag = ID3Tag_New()) != NULL)
-    {
-        ID3Tag_Link(tag, filename);
-
-        while (*in && out < bound)
-        {
-            switch (*in) {
-            case '%':
-                ++in;
-                break;
-
-            default:
-                *out++ = *in++;
-                continue;
-            }
-
-            /* handle % escape sequence */
-            switch (*in++) {
-            case '0':
-                if ((frame = ID3Tag_FindFrameWithID(tag, ID3FID_TRACKNUM)) != NULL) {
-                    int size;
-                    field = ID3Frame_GetField(frame, ID3FN_TEXT);
-                    size = ID3Field_GetASCII(field, buffer, 255, 1);
-                    lstrcpy(out, buffer); out += size;
-                    some_info = 1;
-                }
-                break;
-            case '1':
-                if ((frame = ID3Tag_FindFrameWithID(tag, ID3FID_LEADARTIST)) != NULL) {
-                    int size;
-                    field = ID3Frame_GetField(frame, ID3FN_TEXT);
-                    size = ID3Field_GetASCII(field, buffer, 255, 1);
-                    lstrcpy(out, buffer); out += size;
-                    some_info = 1;
-                }
-                break;
-            case '2':
-                if ((frame = ID3Tag_FindFrameWithID(tag, ID3FID_TITLE)) != NULL) {
-                    int size;
-                    field = ID3Frame_GetField(frame, ID3FN_TEXT);
-                    size = ID3Field_GetASCII(field, buffer, 255, 1);
-                    lstrcpy(out, buffer); out += size;
-                    some_info = 1;
-                }
-                break;
-            case '3':
-                if ((frame = ID3Tag_FindFrameWithID(tag, ID3FID_ALBUM)) != NULL) {
-                    int size;
-                    field = ID3Frame_GetField(frame, ID3FN_TEXT);
-                    size = ID3Field_GetASCII(field, buffer, 255, 1);
-                    lstrcpy(out, buffer); out += size;
-                    some_info = 1;
-                }
-                break;
-            case '4':
-                if ((frame = ID3Tag_FindFrameWithID(tag, ID3FID_YEAR)) != NULL) {
-                    int size;
-                    field = ID3Frame_GetField(frame, ID3FN_TEXT);
-                    size = ID3Field_GetASCII(field, buffer, 255, 1);
-                    lstrcpy(out, buffer); out += size;
-                    some_info = 1;
-                }
-                break;
-            case '5':
-                if ((frame = ID3Tag_FindFrameWithID(tag, ID3FID_COMMENT)) != NULL) {
-                    int size;
-                    field = ID3Frame_GetField(frame, ID3FN_TEXT);
-                    size = ID3Field_GetASCII(field, buffer, 255, 1);
-                    lstrcpy(out, buffer); out += size;
-                    some_info = 1;
-                }
-                break;
-            case '6':
-                if ((frame = ID3Tag_FindFrameWithID(tag, ID3FID_CONTENTTYPE)) != NULL) {
-                    int size; char *tmp;
-                    field = ID3Frame_GetField(frame, ID3FN_TEXT);
-                    size = ID3Field_GetASCII(field, buffer, 255, 1);
-                    tmp = GetGenre(buffer);
-                    lstrcpy(out, tmp); out += size;
-                    some_info = 1;
-                }
-                break;
-            case '7':
-            {
-                char *p=filename+lstrlen(filename);
-                int len = 0;
-                while (*p != '\\' && p >= filename) { p--; len++; }
-                lstrcpy(out, ++p); out += len;
-                some_info = 1;
-                break;
-            }
-            }
-        }
-
-        *out = '\0';
-        ID3Tag_Delete(tag);
-    }
-
-    if (!some_info)
-    {
-        char *p=filename+lstrlen(filename);
-        while (*p != '\\' && p >= filename) p--;
-        lstrcpy(title,++p);
-    }
-}
-
diff --git a/lib/libfaad2/common/faad/id3v2tag.h b/lib/libfaad2/common/faad/id3v2tag.h
deleted file mode 100644 (file)
index 26095d6..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: id3v2tag.h,v 1.3 2003/07/29 08:20:11 menno Exp $
-**/
-
-#ifndef __ID3V2TAG_H__
-#define __ID3V2TAG_H__
-
-void GetID3FileTitle(char *filename, char *title, char *format);
-void FillID3List(HWND hwndDlg, HWND hwndList, char *filename);
-void List_OnGetDispInfo(LV_DISPINFO *pnmv);
-BOOL List_EditData(HWND hwndApp, HWND hwndList);
-void List_SaveID3(HWND hwndApp, HWND hwndList, char *filename);
-BOOL List_DeleteSelected(HWND hwndApp, HWND hwndList);
-BOOL List_AddFrame(HWND hwndApp, HWND hwndList);
-BOOL List_AddStandardFrames(HWND hwndApp, HWND hwndList);
-void AddFrameFromRAWData(HWND hwndList, int frameId, LPSTR data1, LPSTR data2);
-
-HINSTANCE hInstance_for_id3editor;
-
-typedef struct ID3GENRES_TAG
-{
-    BYTE id;
-    char name[30];
-} ID3GENRES;
-
-typedef struct id3item_tag {
-    int frameId;
-    LPSTR aCols[2];
-} ID3ITEM;
-
-#endif
\ No newline at end of file
diff --git a/lib/libfaad2/common/mp4ff/Makefile.am b/lib/libfaad2/common/mp4ff/Makefile.am
deleted file mode 100644 (file)
index 87aad92..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-noinst_LTLIBRARIES = libmp4ff.la
-
-libmp4ff_la_CFLAGS = -DUSE_TAGGING=1
-
-libmp4ff_la_SOURCES = mp4ff.c mp4atom.c mp4meta.c mp4sample.c mp4util.c \
-   mp4tagupdate.c mp4ff.h mp4ffint.h mp4ff_int_types.h \
-   drms.h drms.c drmstables.h
-
diff --git a/lib/libfaad2/common/mp4ff/Makefile.in b/lib/libfaad2/common/mp4ff/Makefile.in
deleted file mode 100644 (file)
index 1c8f5a8..0000000
+++ /dev/null
@@ -1,503 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = common/mp4ff
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libmp4ff_la_LIBADD =
-am_libmp4ff_la_OBJECTS = libmp4ff_la-mp4ff.lo libmp4ff_la-mp4atom.lo \
-       libmp4ff_la-mp4meta.lo libmp4ff_la-mp4sample.lo \
-       libmp4ff_la-mp4util.lo libmp4ff_la-mp4tagupdate.lo \
-       libmp4ff_la-drms.lo
-libmp4ff_la_OBJECTS = $(am_libmp4ff_la_OBJECTS)
-libmp4ff_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libmp4ff_la_CFLAGS) \
-       $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-SOURCES = $(libmp4ff_la_SOURCES)
-DIST_SOURCES = $(libmp4ff_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-GTK_CONFIG = @GTK_CONFIG@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MP4FF_LIBS = @MP4FF_LIBS@
-NMEDIT = @NMEDIT@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-RPMBUILD = @RPMBUILD@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CONFIG = @XMMS_CONFIG@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-external_mp4v2 = @external_mp4v2@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-noinst_LTLIBRARIES = libmp4ff.la
-libmp4ff_la_CFLAGS = -DUSE_TAGGING=1
-libmp4ff_la_SOURCES = mp4ff.c mp4atom.c mp4meta.c mp4sample.c mp4util.c \
-   mp4tagupdate.c mp4ff.h mp4ffint.h mp4ff_int_types.h \
-   drms.h drms.c drmstables.h
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  common/mp4ff/Makefile'; \
-       cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  common/mp4ff/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-clean-noinstLTLIBRARIES:
-       -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
-       @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-libmp4ff.la: $(libmp4ff_la_OBJECTS) $(libmp4ff_la_DEPENDENCIES) 
-       $(libmp4ff_la_LINK)  $(libmp4ff_la_OBJECTS) $(libmp4ff_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmp4ff_la-drms.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmp4ff_la-mp4atom.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmp4ff_la-mp4ff.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmp4ff_la-mp4meta.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmp4ff_la-mp4sample.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmp4ff_la-mp4tagupdate.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmp4ff_la-mp4util.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-libmp4ff_la-mp4ff.lo: mp4ff.c
-@am__fastdepCC_TRUE@   $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -MT libmp4ff_la-mp4ff.lo -MD -MP -MF $(DEPDIR)/libmp4ff_la-mp4ff.Tpo -c -o libmp4ff_la-mp4ff.lo `test -f 'mp4ff.c' || echo '$(srcdir)/'`mp4ff.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/libmp4ff_la-mp4ff.Tpo $(DEPDIR)/libmp4ff_la-mp4ff.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mp4ff.c' object='libmp4ff_la-mp4ff.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -c -o libmp4ff_la-mp4ff.lo `test -f 'mp4ff.c' || echo '$(srcdir)/'`mp4ff.c
-
-libmp4ff_la-mp4atom.lo: mp4atom.c
-@am__fastdepCC_TRUE@   $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -MT libmp4ff_la-mp4atom.lo -MD -MP -MF $(DEPDIR)/libmp4ff_la-mp4atom.Tpo -c -o libmp4ff_la-mp4atom.lo `test -f 'mp4atom.c' || echo '$(srcdir)/'`mp4atom.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/libmp4ff_la-mp4atom.Tpo $(DEPDIR)/libmp4ff_la-mp4atom.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mp4atom.c' object='libmp4ff_la-mp4atom.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -c -o libmp4ff_la-mp4atom.lo `test -f 'mp4atom.c' || echo '$(srcdir)/'`mp4atom.c
-
-libmp4ff_la-mp4meta.lo: mp4meta.c
-@am__fastdepCC_TRUE@   $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -MT libmp4ff_la-mp4meta.lo -MD -MP -MF $(DEPDIR)/libmp4ff_la-mp4meta.Tpo -c -o libmp4ff_la-mp4meta.lo `test -f 'mp4meta.c' || echo '$(srcdir)/'`mp4meta.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/libmp4ff_la-mp4meta.Tpo $(DEPDIR)/libmp4ff_la-mp4meta.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mp4meta.c' object='libmp4ff_la-mp4meta.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -c -o libmp4ff_la-mp4meta.lo `test -f 'mp4meta.c' || echo '$(srcdir)/'`mp4meta.c
-
-libmp4ff_la-mp4sample.lo: mp4sample.c
-@am__fastdepCC_TRUE@   $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -MT libmp4ff_la-mp4sample.lo -MD -MP -MF $(DEPDIR)/libmp4ff_la-mp4sample.Tpo -c -o libmp4ff_la-mp4sample.lo `test -f 'mp4sample.c' || echo '$(srcdir)/'`mp4sample.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/libmp4ff_la-mp4sample.Tpo $(DEPDIR)/libmp4ff_la-mp4sample.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mp4sample.c' object='libmp4ff_la-mp4sample.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -c -o libmp4ff_la-mp4sample.lo `test -f 'mp4sample.c' || echo '$(srcdir)/'`mp4sample.c
-
-libmp4ff_la-mp4util.lo: mp4util.c
-@am__fastdepCC_TRUE@   $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -MT libmp4ff_la-mp4util.lo -MD -MP -MF $(DEPDIR)/libmp4ff_la-mp4util.Tpo -c -o libmp4ff_la-mp4util.lo `test -f 'mp4util.c' || echo '$(srcdir)/'`mp4util.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/libmp4ff_la-mp4util.Tpo $(DEPDIR)/libmp4ff_la-mp4util.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mp4util.c' object='libmp4ff_la-mp4util.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -c -o libmp4ff_la-mp4util.lo `test -f 'mp4util.c' || echo '$(srcdir)/'`mp4util.c
-
-libmp4ff_la-mp4tagupdate.lo: mp4tagupdate.c
-@am__fastdepCC_TRUE@   $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -MT libmp4ff_la-mp4tagupdate.lo -MD -MP -MF $(DEPDIR)/libmp4ff_la-mp4tagupdate.Tpo -c -o libmp4ff_la-mp4tagupdate.lo `test -f 'mp4tagupdate.c' || echo '$(srcdir)/'`mp4tagupdate.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/libmp4ff_la-mp4tagupdate.Tpo $(DEPDIR)/libmp4ff_la-mp4tagupdate.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mp4tagupdate.c' object='libmp4ff_la-mp4tagupdate.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -c -o libmp4ff_la-mp4tagupdate.lo `test -f 'mp4tagupdate.c' || echo '$(srcdir)/'`mp4tagupdate.c
-
-libmp4ff_la-drms.lo: drms.c
-@am__fastdepCC_TRUE@   $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -MT libmp4ff_la-drms.lo -MD -MP -MF $(DEPDIR)/libmp4ff_la-drms.Tpo -c -o libmp4ff_la-drms.lo `test -f 'drms.c' || echo '$(srcdir)/'`drms.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/libmp4ff_la-drms.Tpo $(DEPDIR)/libmp4ff_la-drms.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='drms.c' object='libmp4ff_la-drms.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4ff_la_CFLAGS) $(CFLAGS) -c -o libmp4ff_la-drms.lo `test -f 'drms.c' || echo '$(srcdir)/'`drms.c
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-           $$tags $$unique; \
-       fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$tags$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$tags $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && cd $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-         else \
-           test -f $(distdir)/$$file \
-           || cp -p $$d/$$file $(distdir)/$$file \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \
-       mostlyclean-am
-
-distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-libtool clean-noinstLTLIBRARIES ctags distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       pdf pdf-am ps ps-am tags uninstall uninstall-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lib/libfaad2/common/mp4ff/drms.c b/lib/libfaad2/common/mp4ff/drms.c
deleted file mode 100644 (file)
index b8ff54a..0000000
+++ /dev/null
@@ -1,1321 +0,0 @@
-/*****************************************************************************
- * drms.c: DRMS
- *****************************************************************************
- * Copyright (C) 2004 VideoLAN
- * $Id: drms.c,v 1.7 2005/02/01 13:15:55 menno Exp $
- *
- * Authors: Jon Lech Johansen <jon-vl@nanocrew.net>
- *          Sam Hocevar <sam@zoy.org>
- *
- * 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, USA.
- *****************************************************************************/
-
-#include <stdlib.h>                                      /* malloc(), free() */
-
-#ifndef _WIN32
-#include "config.h"
-#endif
-#include "mp4ffint.h"
-
-#ifdef ITUNES_DRM
-
-#ifdef _WIN32
-#   include <io.h>
-#   include <stdio.h>
-#   include <sys/stat.h>
-#   define PATH_MAX MAX_PATH
-#else
-#   include <stdio.h>
-#endif
-
-#ifdef HAVE_ERRNO_H
-#   include <errno.h>
-#endif
-
-#ifdef _WIN32
-#   include <tchar.h>
-#   include <shlobj.h>
-#   include <windows.h>
-#endif
-
-#ifdef HAVE_SYS_STAT_H
-#   include <sys/stat.h>
-#endif
-#ifdef HAVE_SYS_TYPES_H
-#   include <sys/types.h>
-#endif
-
-/* In Solaris (and perhaps others) PATH_MAX is in limits.h. */
-#ifdef HAVE_LIMITS_H
-#   include <limits.h>
-#endif
-
-#ifdef HAVE_IOKIT_IOKITLIB_H
-#   include <mach/mach.h>
-#   include <IOKit/IOKitLib.h>
-#   include <CoreFoundation/CFNumber.h>
-#endif
-
-#ifdef HAVE_SYSFS_LIBSYSFS_H
-#   include <sysfs/libsysfs.h>
-#endif
-
-#include "drms.h"
-#include "drmstables.h"
-
-/*****************************************************************************
- * aes_s: AES keys structure
- *****************************************************************************
- * This structure stores a set of keys usable for encryption and decryption
- * with the AES/Rijndael algorithm.
- *****************************************************************************/
-struct aes_s
-{
-    uint32_t pp_enc_keys[ AES_KEY_COUNT + 1 ][ 4 ];
-    uint32_t pp_dec_keys[ AES_KEY_COUNT + 1 ][ 4 ];
-};
-
-/*****************************************************************************
- * md5_s: MD5 message structure
- *****************************************************************************
- * This structure stores the static information needed to compute an MD5
- * hash. It has an extra data buffer to allow non-aligned writes.
- *****************************************************************************/
-struct md5_s
-{
-    uint64_t i_bits;      /* Total written bits */
-    uint32_t p_digest[4]; /* The MD5 digest */
-    uint32_t p_data[16];  /* Buffer to cache non-aligned writes */
-};
-
-/*****************************************************************************
- * shuffle_s: shuffle structure
- *****************************************************************************
- * This structure stores the static information needed to shuffle data using
- * a custom algorithm.
- *****************************************************************************/
-struct shuffle_s
-{
-    uint32_t p_commands[ 20 ];
-    uint32_t p_bordel[ 16 ];
-};
-
-/*****************************************************************************
- * drms_s: DRMS structure
- *****************************************************************************
- * This structure stores the static information needed to decrypt DRMS data.
- *****************************************************************************/
-struct drms_s
-{
-    uint32_t i_user;
-    uint32_t i_key;
-    uint8_t  p_iviv[ 16 ];
-    uint8_t *p_name;
-
-    uint32_t p_key[ 4 ];
-    struct aes_s aes;
-
-    char     psz_homedir[ PATH_MAX ];
-};
-
-/*****************************************************************************
- * Local prototypes
- *****************************************************************************/
-static void InitAES       ( struct aes_s *, uint32_t * );
-static void DecryptAES    ( struct aes_s *, uint32_t *, const uint32_t * );
-
-static void InitMD5       ( struct md5_s * );
-static void AddMD5        ( struct md5_s *, const uint8_t *, uint32_t );
-static void EndMD5        ( struct md5_s * );
-static void Digest        ( struct md5_s *, uint32_t * );
-
-static void InitShuffle   ( struct shuffle_s *, uint32_t * );
-static void DoShuffle     ( struct shuffle_s *, uint32_t *, uint32_t );
-
-static int GetSystemKey   ( uint32_t *, uint32_t );
-static int WriteUserKey   ( void *, uint32_t * );
-static int ReadUserKey    ( void *, uint32_t * );
-static int GetUserKey     ( void *, uint32_t * );
-
-static int GetSCIData     ( char *, uint32_t **, uint32_t * );
-static int HashSystemInfo ( uint32_t * );
-static int GetiPodID      ( int64_t * );
-
-#ifdef WORDS_BIGENDIAN
-/*****************************************************************************
- * Reverse: reverse byte order
- *****************************************************************************/
-static __inline void Reverse( uint32_t *p_buffer, int n )
-{
-    int i;
-
-    for( i = 0; i < n; i++ )
-    {
-        p_buffer[ i ] = GetDWLE(&p_buffer[ i ]);
-    }
-}
-#    define REVERSE( p, n ) Reverse( p, n )
-#else
-#    define REVERSE( p, n )
-#endif
-
-/*****************************************************************************
- * BlockXOR: XOR two 128 bit blocks
- *****************************************************************************/
-static __inline void BlockXOR( uint32_t *p_dest, uint32_t *p_s1, uint32_t *p_s2 )
-{
-    int i;
-
-    for( i = 0; i < 4; i++ )
-    {
-        p_dest[ i ] = p_s1[ i ] ^ p_s2[ i ];
-    }
-}
-
-/*****************************************************************************
- * drms_alloc: allocate a DRMS structure
- *****************************************************************************/
-void *drms_alloc( char *psz_homedir )
-{
-    struct drms_s *p_drms;
-
-    p_drms = malloc( sizeof(struct drms_s) );
-
-    if( p_drms == NULL )
-    {
-        return NULL;
-    }
-
-    memset( p_drms, 0, sizeof(struct drms_s) );
-
-    strncpy( p_drms->psz_homedir, psz_homedir, PATH_MAX );
-    p_drms->psz_homedir[ PATH_MAX - 1 ] = '\0';
-
-    return (void *)p_drms;
-}
-
-/*****************************************************************************
- * drms_free: free a previously allocated DRMS structure
- *****************************************************************************/
-void drms_free( void *_p_drms )
-{
-    struct drms_s *p_drms = (struct drms_s *)_p_drms;
-
-    if( p_drms->p_name != NULL )
-    {
-        free( (void *)p_drms->p_name );
-    }
-
-    free( p_drms );
-}
-
-/*****************************************************************************
- * drms_decrypt: unscramble a chunk of data
- *****************************************************************************/
-void drms_decrypt( void *_p_drms, uint32_t *p_buffer, uint32_t i_bytes )
-{
-    struct drms_s *p_drms = (struct drms_s *)_p_drms;
-    uint32_t p_key[ 4 ];
-    unsigned int i_blocks;
-
-    /* AES is a block cypher, round down the byte count */
-    i_blocks = i_bytes / 16;
-    i_bytes = i_blocks * 16;
-
-    /* Initialise the key */
-    memcpy( p_key, p_drms->p_key, 16 );
-
-    /* Unscramble */
-    while( i_blocks-- )
-    {
-        uint32_t p_tmp[ 4 ];
-
-        REVERSE( p_buffer, 4 );
-        DecryptAES( &p_drms->aes, p_tmp, p_buffer );
-        BlockXOR( p_tmp, p_key, p_tmp );
-
-        /* Use the previous scrambled data as the key for next block */
-        memcpy( p_key, p_buffer, 16 );
-
-        /* Copy unscrambled data back to the buffer */
-        memcpy( p_buffer, p_tmp, 16 );
-        REVERSE( p_buffer, 4 );
-
-        p_buffer += 4;
-    }
-}
-
-/*****************************************************************************
- * drms_init: initialise a DRMS structure
- *****************************************************************************/
-int drms_init( void *_p_drms, uint32_t i_type,
-               uint8_t *p_info, uint32_t i_len )
-{
-    struct drms_s *p_drms = (struct drms_s *)_p_drms;
-    int i_ret = 0;
-
-    switch( i_type )
-    {
-        case FOURCC_user:
-            if( i_len < sizeof(p_drms->i_user) )
-            {
-                i_ret = -1;
-                break;
-            }
-
-            p_drms->i_user = U32_AT( p_info );
-            break;
-
-        case FOURCC_key:
-            if( i_len < sizeof(p_drms->i_key) )
-            {
-                i_ret = -1;
-                break;
-            }
-
-            p_drms->i_key = U32_AT( p_info );
-            break;
-
-        case FOURCC_iviv:
-            if( i_len < sizeof(p_drms->p_key) )
-            {
-                i_ret = -1;
-                break;
-            }
-
-            memcpy( p_drms->p_iviv, p_info, 16 );
-            break;
-
-        case FOURCC_name:
-            p_drms->p_name = strdup( p_info );
-
-            if( p_drms->p_name == NULL )
-            {
-                i_ret = -1;
-            }
-            break;
-
-        case FOURCC_priv:
-        {
-            uint32_t p_priv[ 64 ];
-            struct md5_s md5;
-
-            if( i_len < 64 )
-            {
-                i_ret = -1;
-                break;
-            }
-
-            InitMD5( &md5 );
-            AddMD5( &md5, p_drms->p_name, strlen( p_drms->p_name ) );
-            AddMD5( &md5, p_drms->p_iviv, 16 );
-            EndMD5( &md5 );
-
-            if( GetUserKey( p_drms, p_drms->p_key ) )
-            {
-                i_ret = -1;
-                break;
-            }
-
-            InitAES( &p_drms->aes, p_drms->p_key );
-
-            memcpy( p_priv, p_info, 64 );
-            memcpy( p_drms->p_key, md5.p_digest, 16 );
-            drms_decrypt( p_drms, p_priv, 64 );
-            REVERSE( p_priv, 64 );
-
-            if( p_priv[ 0 ] != 0x6e757469 ) /* itun */
-            {
-                i_ret = -1;
-                break;
-            }
-
-            InitAES( &p_drms->aes, p_priv + 6 );
-            memcpy( p_drms->p_key, p_priv + 12, 16 );
-
-            free( (void *)p_drms->p_name );
-            p_drms->p_name = NULL;
-        }
-        break;
-    }
-
-    return i_ret;
-}
-
-/* The following functions are local */
-
-/*****************************************************************************
- * InitAES: initialise AES/Rijndael encryption/decryption tables
- *****************************************************************************
- * The Advanced Encryption Standard (AES) is described in RFC 3268
- *****************************************************************************/
-static void InitAES( struct aes_s *p_aes, uint32_t *p_key )
-{
-    unsigned int i, t;
-    uint32_t i_key, i_seed;
-
-    memset( p_aes->pp_enc_keys[1], 0, 16 );
-    memcpy( p_aes->pp_enc_keys[0], p_key, 16 );
-
-    /* Generate the key tables */
-    i_seed = p_aes->pp_enc_keys[ 0 ][ 3 ];
-
-    for( i_key = 0; i_key < AES_KEY_COUNT; i_key++ )
-    {
-        uint32_t j;
-
-        i_seed = AES_ROR( i_seed, 8 );
-
-        j = p_aes_table[ i_key ];
-
-        j ^= p_aes_encrypt[ (i_seed >> 24) & 0xff ]
-              ^ AES_ROR( p_aes_encrypt[ (i_seed >> 16) & 0xff ], 8 )
-              ^ AES_ROR( p_aes_encrypt[ (i_seed >> 8) & 0xff ], 16 )
-              ^ AES_ROR( p_aes_encrypt[ i_seed & 0xff ], 24 );
-
-        j ^= p_aes->pp_enc_keys[ i_key ][ 0 ];
-        p_aes->pp_enc_keys[ i_key + 1 ][ 0 ] = j;
-        j ^= p_aes->pp_enc_keys[ i_key ][ 1 ];
-        p_aes->pp_enc_keys[ i_key + 1 ][ 1 ] = j;
-        j ^= p_aes->pp_enc_keys[ i_key ][ 2 ];
-        p_aes->pp_enc_keys[ i_key + 1 ][ 2 ] = j;
-        j ^= p_aes->pp_enc_keys[ i_key ][ 3 ];
-        p_aes->pp_enc_keys[ i_key + 1 ][ 3 ] = j;
-
-        i_seed = j;
-    }
-
-    memcpy( p_aes->pp_dec_keys[ 0 ],
-            p_aes->pp_enc_keys[ 0 ], 16 );
-
-    for( i = 1; i < AES_KEY_COUNT; i++ )
-    {
-        for( t = 0; t < 4; t++ )
-        {
-            uint32_t j, k, l, m, n;
-
-            j = p_aes->pp_enc_keys[ i ][ t ];
-
-            k = (((j >> 7) & 0x01010101) * 27) ^ ((j & 0xff7f7f7f) << 1);
-            l = (((k >> 7) & 0x01010101) * 27) ^ ((k & 0xff7f7f7f) << 1);
-            m = (((l >> 7) & 0x01010101) * 27) ^ ((l & 0xff7f7f7f) << 1);
-
-            j ^= m;
-
-            n = AES_ROR( l ^ j, 16 ) ^ AES_ROR( k ^ j, 8 ) ^ AES_ROR( j, 24 );
-
-            p_aes->pp_dec_keys[ i ][ t ] = k ^ l ^ m ^ n;
-        }
-    }
-}
-
-/*****************************************************************************
- * DecryptAES: decrypt an AES/Rijndael 128 bit block
- *****************************************************************************/
-static void DecryptAES( struct aes_s *p_aes,
-                        uint32_t *p_dest, const uint32_t *p_src )
-{
-    uint32_t p_wtxt[ 4 ]; /* Working cyphertext */
-    uint32_t p_tmp[ 4 ];
-    unsigned int i_round, t;
-
-    for( t = 0; t < 4; t++ )
-    {
-        /* FIXME: are there any endianness issues here? */
-        p_wtxt[ t ] = p_src[ t ] ^ p_aes->pp_enc_keys[ AES_KEY_COUNT ][ t ];
-    }
-
-    /* Rounds 0 - 8 */
-    for( i_round = 0; i_round < (AES_KEY_COUNT - 1); i_round++ )
-    {
-        for( t = 0; t < 4; t++ )
-        {
-            p_tmp[ t ] = AES_XOR_ROR( p_aes_itable, p_wtxt );
-        }
-
-        for( t = 0; t < 4; t++ )
-        {
-            p_wtxt[ t ] = p_tmp[ t ]
-                    ^ p_aes->pp_dec_keys[ (AES_KEY_COUNT - 1) - i_round ][ t ];
-        }
-    }
-
-    /* Final round (9) */
-    for( t = 0; t < 4; t++ )
-    {
-        p_dest[ t ] = AES_XOR_ROR( p_aes_decrypt, p_wtxt );
-        p_dest[ t ] ^= p_aes->pp_dec_keys[ 0 ][ t ];
-    }
-}
-
-/*****************************************************************************
- * InitMD5: initialise an MD5 message
- *****************************************************************************
- * The MD5 message-digest algorithm is described in RFC 1321
- *****************************************************************************/
-static void InitMD5( struct md5_s *p_md5 )
-{
-    p_md5->p_digest[ 0 ] = 0x67452301;
-    p_md5->p_digest[ 1 ] = 0xefcdab89;
-    p_md5->p_digest[ 2 ] = 0x98badcfe;
-    p_md5->p_digest[ 3 ] = 0x10325476;
-
-    memset( p_md5->p_data, 0, 64 );
-    p_md5->i_bits = 0;
-}
-
-/*****************************************************************************
- * AddMD5: add i_len bytes to an MD5 message
- *****************************************************************************/
-static void AddMD5( struct md5_s *p_md5, const uint8_t *p_src, uint32_t i_len )
-{
-    unsigned int i_current; /* Current bytes in the spare buffer */
-    unsigned int i_offset = 0;
-
-    i_current = (p_md5->i_bits / 8) & 63;
-
-    p_md5->i_bits += 8 * i_len;
-
-    /* If we can complete our spare buffer to 64 bytes, do it and add the
-     * resulting buffer to the MD5 message */
-    if( i_len >= (64 - i_current) )
-    {
-        memcpy( ((uint8_t *)p_md5->p_data) + i_current, p_src,
-                (64 - i_current) );
-        Digest( p_md5, p_md5->p_data );
-
-        i_offset += (64 - i_current);
-        i_len -= (64 - i_current);
-        i_current = 0;
-    }
-
-    /* Add as many entire 64 bytes blocks as we can to the MD5 message */
-    while( i_len >= 64 )
-    {
-        uint32_t p_tmp[ 16 ];
-        memcpy( p_tmp, p_src + i_offset, 64 );
-        Digest( p_md5, p_tmp );
-        i_offset += 64;
-        i_len -= 64;
-    }
-
-    /* Copy our remaining data to the message's spare buffer */
-    memcpy( ((uint8_t *)p_md5->p_data) + i_current, p_src + i_offset, i_len );
-}
-
-/*****************************************************************************
- * EndMD5: finish an MD5 message
- *****************************************************************************
- * This function adds adequate padding to the end of the message, and appends
- * the bit count so that we end at a block boundary.
- *****************************************************************************/
-static void EndMD5( struct md5_s *p_md5 )
-{
-    unsigned int i_current;
-
-    i_current = (p_md5->i_bits / 8) & 63;
-
-    /* Append 0x80 to our buffer. No boundary check because the temporary
-     * buffer cannot be full, otherwise AddMD5 would have emptied it. */
-    ((uint8_t *)p_md5->p_data)[ i_current++ ] = 0x80;
-
-    /* If less than 8 bytes are available at the end of the block, complete
-     * this 64 bytes block with zeros and add it to the message. We'll add
-     * our length at the end of the next block. */
-    if( i_current > 56 )
-    {
-        memset( ((uint8_t *)p_md5->p_data) + i_current, 0, (64 - i_current) );
-        Digest( p_md5, p_md5->p_data );
-        i_current = 0;
-    }
-
-    /* Fill the unused space in our last block with zeroes and put the
-     * message length at the end. */
-    memset( ((uint8_t *)p_md5->p_data) + i_current, 0, (56 - i_current) );
-    p_md5->p_data[ 14 ] = p_md5->i_bits & 0xffffffff;
-    p_md5->p_data[ 15 ] = (p_md5->i_bits >> 32);
-    REVERSE( &p_md5->p_data[ 14 ], 2 );
-
-    Digest( p_md5, p_md5->p_data );
-}
-
-#define F1( x, y, z ) ((z) ^ ((x) & ((y) ^ (z))))
-#define F2( x, y, z ) F1((z), (x), (y))
-#define F3( x, y, z ) ((x) ^ (y) ^ (z))
-#define F4( x, y, z ) ((y) ^ ((x) | ~(z)))
-
-#define MD5_DO( f, w, x, y, z, data, s ) \
-    ( w += f(x, y, z) + data,  w = w<<s | w>>(32-s),  w += x )
-
-/*****************************************************************************
- * Digest: update the MD5 digest with 64 bytes of data
- *****************************************************************************/
-static void Digest( struct md5_s *p_md5, uint32_t *p_input )
-{
-    uint32_t a, b, c, d;
-
-    REVERSE( p_input, 16 );
-
-    a = p_md5->p_digest[ 0 ];
-    b = p_md5->p_digest[ 1 ];
-    c = p_md5->p_digest[ 2 ];
-    d = p_md5->p_digest[ 3 ];
-
-    MD5_DO( F1, a, b, c, d, p_input[  0 ] + 0xd76aa478,  7 );
-    MD5_DO( F1, d, a, b, c, p_input[  1 ] + 0xe8c7b756, 12 );
-    MD5_DO( F1, c, d, a, b, p_input[  2 ] + 0x242070db, 17 );
-    MD5_DO( F1, b, c, d, a, p_input[  3 ] + 0xc1bdceee, 22 );
-    MD5_DO( F1, a, b, c, d, p_input[  4 ] + 0xf57c0faf,  7 );
-    MD5_DO( F1, d, a, b, c, p_input[  5 ] + 0x4787c62a, 12 );
-    MD5_DO( F1, c, d, a, b, p_input[  6 ] + 0xa8304613, 17 );
-    MD5_DO( F1, b, c, d, a, p_input[  7 ] + 0xfd469501, 22 );
-    MD5_DO( F1, a, b, c, d, p_input[  8 ] + 0x698098d8,  7 );
-    MD5_DO( F1, d, a, b, c, p_input[  9 ] + 0x8b44f7af, 12 );
-    MD5_DO( F1, c, d, a, b, p_input[ 10 ] + 0xffff5bb1, 17 );
-    MD5_DO( F1, b, c, d, a, p_input[ 11 ] + 0x895cd7be, 22 );
-    MD5_DO( F1, a, b, c, d, p_input[ 12 ] + 0x6b901122,  7 );
-    MD5_DO( F1, d, a, b, c, p_input[ 13 ] + 0xfd987193, 12 );
-    MD5_DO( F1, c, d, a, b, p_input[ 14 ] + 0xa679438e, 17 );
-    MD5_DO( F1, b, c, d, a, p_input[ 15 ] + 0x49b40821, 22 );
-
-    MD5_DO( F2, a, b, c, d, p_input[  1 ] + 0xf61e2562,  5 );
-    MD5_DO( F2, d, a, b, c, p_input[  6 ] + 0xc040b340,  9 );
-    MD5_DO( F2, c, d, a, b, p_input[ 11 ] + 0x265e5a51, 14 );
-    MD5_DO( F2, b, c, d, a, p_input[  0 ] + 0xe9b6c7aa, 20 );
-    MD5_DO( F2, a, b, c, d, p_input[  5 ] + 0xd62f105d,  5 );
-    MD5_DO( F2, d, a, b, c, p_input[ 10 ] + 0x02441453,  9 );
-    MD5_DO( F2, c, d, a, b, p_input[ 15 ] + 0xd8a1e681, 14 );
-    MD5_DO( F2, b, c, d, a, p_input[  4 ] + 0xe7d3fbc8, 20 );
-    MD5_DO( F2, a, b, c, d, p_input[  9 ] + 0x21e1cde6,  5 );
-    MD5_DO( F2, d, a, b, c, p_input[ 14 ] + 0xc33707d6,  9 );
-    MD5_DO( F2, c, d, a, b, p_input[  3 ] + 0xf4d50d87, 14 );
-    MD5_DO( F2, b, c, d, a, p_input[  8 ] + 0x455a14ed, 20 );
-    MD5_DO( F2, a, b, c, d, p_input[ 13 ] + 0xa9e3e905,  5 );
-    MD5_DO( F2, d, a, b, c, p_input[  2 ] + 0xfcefa3f8,  9 );
-    MD5_DO( F2, c, d, a, b, p_input[  7 ] + 0x676f02d9, 14 );
-    MD5_DO( F2, b, c, d, a, p_input[ 12 ] + 0x8d2a4c8a, 20 );
-
-    MD5_DO( F3, a, b, c, d, p_input[  5 ] + 0xfffa3942,  4 );
-    MD5_DO( F3, d, a, b, c, p_input[  8 ] + 0x8771f681, 11 );
-    MD5_DO( F3, c, d, a, b, p_input[ 11 ] + 0x6d9d6122, 16 );
-    MD5_DO( F3, b, c, d, a, p_input[ 14 ] + 0xfde5380c, 23 );
-    MD5_DO( F3, a, b, c, d, p_input[  1 ] + 0xa4beea44,  4 );
-    MD5_DO( F3, d, a, b, c, p_input[  4 ] + 0x4bdecfa9, 11 );
-    MD5_DO( F3, c, d, a, b, p_input[  7 ] + 0xf6bb4b60, 16 );
-    MD5_DO( F3, b, c, d, a, p_input[ 10 ] + 0xbebfbc70, 23 );
-    MD5_DO( F3, a, b, c, d, p_input[ 13 ] + 0x289b7ec6,  4 );
-    MD5_DO( F3, d, a, b, c, p_input[  0 ] + 0xeaa127fa, 11 );
-    MD5_DO( F3, c, d, a, b, p_input[  3 ] + 0xd4ef3085, 16 );
-    MD5_DO( F3, b, c, d, a, p_input[  6 ] + 0x04881d05, 23 );
-    MD5_DO( F3, a, b, c, d, p_input[  9 ] + 0xd9d4d039,  4 );
-    MD5_DO( F3, d, a, b, c, p_input[ 12 ] + 0xe6db99e5, 11 );
-    MD5_DO( F3, c, d, a, b, p_input[ 15 ] + 0x1fa27cf8, 16 );
-    MD5_DO( F3, b, c, d, a, p_input[  2 ] + 0xc4ac5665, 23 );
-
-    MD5_DO( F4, a, b, c, d, p_input[  0 ] + 0xf4292244,  6 );
-    MD5_DO( F4, d, a, b, c, p_input[  7 ] + 0x432aff97, 10 );
-    MD5_DO( F4, c, d, a, b, p_input[ 14 ] + 0xab9423a7, 15 );
-    MD5_DO( F4, b, c, d, a, p_input[  5 ] + 0xfc93a039, 21 );
-    MD5_DO( F4, a, b, c, d, p_input[ 12 ] + 0x655b59c3,  6 );
-    MD5_DO( F4, d, a, b, c, p_input[  3 ] + 0x8f0ccc92, 10 );
-    MD5_DO( F4, c, d, a, b, p_input[ 10 ] + 0xffeff47d, 15 );
-    MD5_DO( F4, b, c, d, a, p_input[  1 ] + 0x85845dd1, 21 );
-    MD5_DO( F4, a, b, c, d, p_input[  8 ] + 0x6fa87e4f,  6 );
-    MD5_DO( F4, d, a, b, c, p_input[ 15 ] + 0xfe2ce6e0, 10 );
-    MD5_DO( F4, c, d, a, b, p_input[  6 ] + 0xa3014314, 15 );
-    MD5_DO( F4, b, c, d, a, p_input[ 13 ] + 0x4e0811a1, 21 );
-    MD5_DO( F4, a, b, c, d, p_input[  4 ] + 0xf7537e82,  6 );
-    MD5_DO( F4, d, a, b, c, p_input[ 11 ] + 0xbd3af235, 10 );
-    MD5_DO( F4, c, d, a, b, p_input[  2 ] + 0x2ad7d2bb, 15 );
-    MD5_DO( F4, b, c, d, a, p_input[  9 ] + 0xeb86d391, 21 );
-
-    p_md5->p_digest[ 0 ] += a;
-    p_md5->p_digest[ 1 ] += b;
-    p_md5->p_digest[ 2 ] += c;
-    p_md5->p_digest[ 3 ] += d;
-}
-
-/*****************************************************************************
- * InitShuffle: initialise a shuffle structure
- *****************************************************************************
- * This function initialises tables in the p_shuffle structure that will be
- * used later by DoShuffle. The only external parameter is p_sys_key.
- *****************************************************************************/
-static void InitShuffle( struct shuffle_s *p_shuffle, uint32_t *p_sys_key )
-{
-    char p_secret1[] = "Tv!*";
-    static char const p_secret2[] = "v8rhvsaAvOKMFfUH%798=[;."
-                                    "f8677680a634ba87fnOIf)(*";
-    unsigned int i;
-
-    /* Fill p_commands using the key and a secret seed */
-    for( i = 0; i < 20; i++ )
-    {
-        struct md5_s md5;
-        int32_t i_hash;
-
-        InitMD5( &md5 );
-        AddMD5( &md5, (uint8_t *)p_sys_key, 16 );
-        AddMD5( &md5, (uint8_t *)p_secret1, 4 );
-        EndMD5( &md5 );
-
-        p_secret1[ 3 ]++;
-
-        REVERSE( md5.p_digest, 1 );
-        i_hash = ((int32_t)U32_AT(md5.p_digest)) % 1024;
-
-        p_shuffle->p_commands[ i ] = i_hash < 0 ? i_hash * -1 : i_hash;
-    }
-
-    /* Fill p_bordel with completely meaningless initial values. */
-    for( i = 0; i < 4; i++ )
-    {
-        p_shuffle->p_bordel[ 4 * i ] = U32_AT(p_sys_key + i);
-        memcpy( p_shuffle->p_bordel + 4 * i + 1, p_secret2 + 12 * i, 12 );
-        REVERSE( p_shuffle->p_bordel + 4 * i + 1, 3 );
-    }
-}
-
-/*****************************************************************************
- * DoShuffle: shuffle buffer
- *****************************************************************************
- * This is so ugly and uses so many MD5 checksums that it is most certainly
- * one-way, though why it needs to be so complicated is beyond me.
- *****************************************************************************/
-static void DoShuffle( struct shuffle_s *p_shuffle,
-                       uint32_t *p_buffer, uint32_t i_size )
-{
-    struct md5_s md5;
-    uint32_t p_big_bordel[ 16 ];
-    uint32_t *p_bordel = p_shuffle->p_bordel;
-    unsigned int i;
-
-    /* Using the MD5 hash of a memory block is probably not one-way enough
-     * for the iTunes people. This function randomises p_bordel depending on
-     * the values in p_commands to make things even more messy in p_bordel. */
-    for( i = 0; i < 20; i++ )
-    {
-        uint8_t i_command, i_index;
-
-        if( !p_shuffle->p_commands[ i ] )
-        {
-            continue;
-        }
-
-        i_command = (p_shuffle->p_commands[ i ] & 0x300) >> 8;
-        i_index = p_shuffle->p_commands[ i ] & 0xff;
-
-        switch( i_command )
-        {
-        case 0x3:
-            p_bordel[ i_index & 0xf ] = p_bordel[ i_index >> 4 ]
-                                      + p_bordel[ ((i_index + 0x10) >> 4) & 0xf ];
-            break;
-        case 0x2:
-            p_bordel[ i_index >> 4 ] ^= p_shuffle_xor[ 0xff - i_index ];
-            break;
-        case 0x1:
-            p_bordel[ i_index >> 4 ] -= p_shuffle_sub[ 0xff - i_index ];
-            break;
-        default:
-            p_bordel[ i_index >> 4 ] += p_shuffle_add[ 0xff - i_index ];
-            break;
-        }
-    }
-
-    /* Convert our newly randomised p_bordel to big endianness and take
-     * its MD5 hash. */
-    InitMD5( &md5 );
-    for( i = 0; i < 16; i++ )
-    {
-        p_big_bordel[ i ] = U32_AT(p_bordel + i);
-    }
-    AddMD5( &md5, (uint8_t *)p_big_bordel, 64 );
-    EndMD5( &md5 );
-
-    /* XOR our buffer with the computed checksum */
-    for( i = 0; i < i_size; i++ )
-    {
-        p_buffer[ i ] ^= md5.p_digest[ i ];
-    }
-}
-
-/*****************************************************************************
- * GetSystemKey: get the system key
- *****************************************************************************
- * Compute the system key from various system information, see HashSystemInfo.
- *****************************************************************************/
-static int GetSystemKey( uint32_t *p_sys_key, uint32_t b_ipod )
-{
-    static char const p_secret1[ 8 ] = "YuaFlafu";
-    static char const p_secret2[ 8 ] = "zPif98ga";
-    struct md5_s md5;
-    int64_t i_ipod_id;
-    uint32_t p_system_hash[ 4 ];
-
-    /* Compute the MD5 hash of our system info */
-    if( ( !b_ipod && HashSystemInfo( p_system_hash ) ) ||
-        (  b_ipod && GetiPodID( &i_ipod_id ) ) )
-    {
-        return -1;
-    }
-
-    /* Combine our system info hash with additional secret data. The resulting
-     * MD5 hash will be our system key. */
-    InitMD5( &md5 );
-    AddMD5( &md5, p_secret1, 8 );
-
-    if( !b_ipod )
-    {
-        AddMD5( &md5, (uint8_t *)p_system_hash, 6 );
-        AddMD5( &md5, (uint8_t *)p_system_hash, 6 );
-        AddMD5( &md5, (uint8_t *)p_system_hash, 6 );
-        AddMD5( &md5, p_secret2, 8 );
-    }
-    else
-    {
-        i_ipod_id = U64_AT(&i_ipod_id);
-        AddMD5( &md5, (uint8_t *)&i_ipod_id, sizeof(i_ipod_id) );
-        AddMD5( &md5, (uint8_t *)&i_ipod_id, sizeof(i_ipod_id) );
-        AddMD5( &md5, (uint8_t *)&i_ipod_id, sizeof(i_ipod_id) );
-    }
-
-    EndMD5( &md5 );
-
-    memcpy( p_sys_key, md5.p_digest, 16 );
-
-    return 0;
-}
-
-#ifdef _WIN32
-#   define DRMS_DIRNAME "drms"
-#else
-#   define DRMS_DIRNAME ".drms"
-#endif
-
-/*****************************************************************************
- * WriteUserKey: write the user key to hard disk
- *****************************************************************************
- * Write the user key to the hard disk so that it can be reused later or used
- * on operating systems other than Win32.
- *****************************************************************************/
-static int WriteUserKey( void *_p_drms, uint32_t *p_user_key )
-{
-    struct drms_s *p_drms = (struct drms_s *)_p_drms;
-    FILE *file;
-    int i_ret = -1;
-    char psz_path[ PATH_MAX ];
-
-    sprintf( psz_path, /* PATH_MAX - 1, */
-              "%s/" DRMS_DIRNAME, p_drms->psz_homedir );
-
-#if defined( HAVE_ERRNO_H )
-#   if defined( _WIN32 )
-    if( !mkdir( psz_path ) || errno == EEXIST )
-#   else
-    if( !mkdir( psz_path, 0755 ) || errno == EEXIST )
-#   endif
-#else
-    if( !mkdir( psz_path ) )
-#endif
-    {
-        sprintf( psz_path, /*PATH_MAX - 1,*/ "%s/" DRMS_DIRNAME "/%08X.%03d",
-                  p_drms->psz_homedir, p_drms->i_user, p_drms->i_key );
-
-        file = fopen( psz_path, "w" );
-        if( file != NULL )
-        {
-            i_ret = fwrite( p_user_key, sizeof(uint32_t),
-                            4, file ) == 4 ? 0 : -1;
-            fclose( file );
-        }
-    }
-
-    return i_ret;
-}
-
-/*****************************************************************************
- * ReadUserKey: read the user key from hard disk
- *****************************************************************************
- * Retrieve the user key from the hard disk if available.
- *****************************************************************************/
-static int ReadUserKey( void *_p_drms, uint32_t *p_user_key )
-{
-    struct drms_s *p_drms = (struct drms_s *)_p_drms;
-    FILE *file;
-    int i_ret = -1;
-    char psz_path[ PATH_MAX ];
-
-    sprintf( psz_path, /*PATH_MAX - 1,*/
-              "%s/" DRMS_DIRNAME "/%08X.%03d", p_drms->psz_homedir,
-              p_drms->i_user, p_drms->i_key );
-
-    file = fopen( psz_path, "r" );
-    if( file != NULL )
-    {
-        i_ret = fread( p_user_key, sizeof(uint32_t),
-                       4, file ) == 4 ? 0 : -1;
-        fclose( file );
-    }
-
-    return i_ret;
-}
-
-/*****************************************************************************
- * GetUserKey: get the user key
- *****************************************************************************
- * Retrieve the user key from the hard disk if available, otherwise generate
- * it from the system key. If the key could be successfully generated, write
- * it to the hard disk for future use.
- *****************************************************************************/
-static int GetUserKey( void *_p_drms, uint32_t *p_user_key )
-{
-    static char const p_secret[] = "mUfnpognadfgf873";
-    struct drms_s *p_drms = (struct drms_s *)_p_drms;
-    struct aes_s aes;
-    struct shuffle_s shuffle;
-    uint32_t i, y;
-    uint32_t *p_sci_data;
-    uint32_t i_user, i_key;
-    uint32_t p_sys_key[ 4 ];
-    uint32_t i_sci_size, i_blocks, i_remaining;
-    uint32_t *p_sci0, *p_sci1, *p_buffer;
-    uint32_t p_sci_key[ 4 ];
-    char *psz_ipod;
-    int i_ret = -1;
-
-    if( !ReadUserKey( p_drms, p_user_key ) )
-    {
-        REVERSE( p_user_key, 4 );
-        return 0;
-    }
-
-    psz_ipod = getenv( "IPOD" );
-
-    if( GetSystemKey( p_sys_key, psz_ipod ? 1 : 0 ) )
-    {
-        return -1;
-    }
-
-    if( GetSCIData( psz_ipod, &p_sci_data, &i_sci_size ) )
-    {
-        return -1;
-    }
-
-    /* Phase 1: unscramble the SCI data using the system key and shuffle
-     *          it using DoShuffle(). */
-
-    /* Skip the first 4 bytes (some sort of header). Decrypt the rest. */
-    i_blocks = (i_sci_size - 4) / 16;
-    i_remaining = (i_sci_size - 4) - (i_blocks * 16);
-    p_buffer = p_sci_data + 1;
-
-    /* Decrypt and shuffle our data at the same time */
-    InitAES( &aes, p_sys_key );
-    REVERSE( p_sys_key, 4 );
-    InitShuffle( &shuffle, p_sys_key );
-
-    memcpy( p_sci_key, p_secret, 16 );
-    REVERSE( p_sci_key, 4 );
-
-    while( i_blocks-- )
-    {
-        uint32_t p_tmp[ 4 ];
-
-        REVERSE( p_buffer, 4 );
-        DecryptAES( &aes, p_tmp, p_buffer );
-        BlockXOR( p_tmp, p_sci_key, p_tmp );
-
-        /* Use the previous scrambled data as the key for next block */
-        memcpy( p_sci_key, p_buffer, 16 );
-
-        /* Shuffle the decrypted data using a custom routine */
-        DoShuffle( &shuffle, p_tmp, 4 );
-
-        /* Copy this block back to p_buffer */
-        memcpy( p_buffer, p_tmp, 16 );
-
-        p_buffer += 4;
-    }
-
-    if( i_remaining >= 4 )
-    {
-        i_remaining /= 4;
-        REVERSE( p_buffer, i_remaining );
-        DoShuffle( &shuffle, p_buffer, i_remaining );
-    }
-
-    /* Phase 2: look for the user key in the generated data. I must admit I
-     *          do not understand what is going on here, because it almost
-     *          looks like we are browsing data that makes sense, even though
-     *          the DoShuffle() part made it completely meaningless. */
-
-    y = 0;
-    REVERSE( p_sci_data + 5, 1 );
-    i = U32_AT( p_sci_data + 5 );
-    i_sci_size -= 22 * sizeof(uint32_t);
-    p_sci1 = p_sci_data + 22;
-    p_sci0 = NULL;
-
-    while( i_sci_size >= 20 && i > 0 )
-    {
-        if( p_sci0 == NULL )
-        {
-            i_sci_size -= 18 * sizeof(uint32_t);
-            if( i_sci_size < 20 )
-            {
-                break;
-            }
-
-            p_sci0 = p_sci1;
-            REVERSE( p_sci1 + 17, 1 );
-            y = U32_AT( p_sci1 + 17 );
-            p_sci1 += 18;
-        }
-
-        if( !y )
-        {
-            i--;
-            p_sci0 = NULL;
-            continue;
-        }
-
-        i_user = U32_AT( p_sci0 );
-        i_key = U32_AT( p_sci1 );
-        REVERSE( &i_user, 1 );
-        REVERSE( &i_key, 1 );
-        if( i_user == p_drms->i_user && ( ( i_key == p_drms->i_key ) ||
-            ( !p_drms->i_key && ( p_sci1 == (p_sci0 + 18) ) ) ) )
-        {
-            memcpy( p_user_key, p_sci1 + 1, 16 );
-            REVERSE( p_sci1 + 1, 4 );
-            WriteUserKey( p_drms, p_sci1 + 1 );
-            i_ret = 0;
-            break;
-        }
-
-        y--;
-        p_sci1 += 5;
-        i_sci_size -= 5 * sizeof(uint32_t);
-    }
-
-    free( p_sci_data );
-
-    return i_ret;
-}
-
-/*****************************************************************************
- * GetSCIData: get SCI data from "SC Info.sidb"
- *****************************************************************************
- * Read SCI data from "\Apple Computer\iTunes\SC Info\SC Info.sidb"
- *****************************************************************************/
-static int GetSCIData( char *psz_ipod, uint32_t **pp_sci,
-                       uint32_t *pi_sci_size )
-{
-    FILE *file;
-    char *psz_path = NULL;
-    char p_tmp[ PATH_MAX ];
-    int i_ret = -1;
-
-    if( psz_ipod == NULL )
-    {
-#ifdef _WIN32
-        char *p_filename = "\\Apple Computer\\iTunes\\SC Info\\SC Info.sidb";
-        typedef HRESULT (WINAPI *SHGETFOLDERPATH)( HWND, int, HANDLE, DWORD,
-                                                   LPSTR );
-        HINSTANCE shfolder_dll = NULL;
-        SHGETFOLDERPATH dSHGetFolderPath = NULL;
-
-        if( ( shfolder_dll = LoadLibrary( _T("SHFolder.dll") ) ) != NULL )
-        {
-            dSHGetFolderPath =
-                (SHGETFOLDERPATH)GetProcAddress( shfolder_dll,
-                                                 _T("SHGetFolderPathA") );
-        }
-
-        if( dSHGetFolderPath != NULL &&
-            SUCCEEDED( dSHGetFolderPath( NULL, /*CSIDL_COMMON_APPDATA*/ 0x0023,
-                                         NULL, 0, p_tmp ) ) )
-        {
-            strncat( p_tmp, p_filename, min( strlen( p_filename ),
-                     (sizeof(p_tmp)/sizeof(p_tmp[0]) - 1) -
-                     strlen( p_tmp ) ) );
-            psz_path = p_tmp;
-        }
-
-        if( shfolder_dll != NULL )
-        {
-            FreeLibrary( shfolder_dll );
-        }
-#endif
-    }
-    else
-    {
-#define ISCINFO "iSCInfo"
-        if( strstr( psz_ipod, ISCINFO ) == NULL )
-        {
-            sprintf( p_tmp, /*sizeof(p_tmp)/sizeof(p_tmp[0]) - 1,*/
-                      "%s/iPod_Control/iTunes/" ISCINFO, psz_ipod );
-            psz_path = p_tmp;
-        }
-        else
-        {
-            psz_path = psz_ipod;
-        }
-    }
-
-    if( psz_path == NULL )
-    {
-        return -1;
-    }
-
-    file = fopen( psz_path, "r" );
-    if( file != NULL )
-    {
-        struct stat st;
-
-        if( !fstat( fileno( file ), &st ) )
-        {
-            *pp_sci = malloc( st.st_size );
-            if( *pp_sci != NULL )
-            {
-                if( fread( *pp_sci, 1, st.st_size,
-                           file ) == (size_t)st.st_size )
-                {
-                    *pi_sci_size = st.st_size;
-                    i_ret = 0;
-                }
-                else
-                {
-                    free( (void *)*pp_sci );
-                    *pp_sci = NULL;
-                }
-            }
-        }
-
-        fclose( file );
-    }
-
-    return i_ret;
-}
-
-/*****************************************************************************
- * HashSystemInfo: hash system information
- *****************************************************************************
- * This function computes the MD5 hash of the C: hard drive serial number,
- * BIOS version, CPU type and Windows version.
- *****************************************************************************/
-static int HashSystemInfo( uint32_t *p_system_hash )
-{
-    struct md5_s md5;
-    int i_ret = 0;
-
-#ifdef _WIN32
-    HKEY i_key;
-    unsigned int i;
-    DWORD i_size;
-    DWORD i_serial;
-    LPBYTE p_reg_buf;
-
-    static LPCTSTR p_reg_keys[ 3 ][ 2 ] =
-    {
-        {
-            _T("HARDWARE\\DESCRIPTION\\System"),
-            _T("SystemBiosVersion")
-        },
-
-        {
-            _T("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0"),
-            _T("ProcessorNameString")
-        },
-
-        {
-            _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion"),
-            _T("ProductId")
-        }
-    };
-
-    InitMD5( &md5 );
-
-    AddMD5( &md5, "cache-control", 13 );
-    AddMD5( &md5, "Ethernet", 8 );
-
-    GetVolumeInformation( _T("C:\\"), NULL, 0, &i_serial,
-                          NULL, NULL, NULL, 0 );
-    AddMD5( &md5, (uint8_t *)&i_serial, 4 );
-
-    for( i = 0; i < sizeof(p_reg_keys) / sizeof(p_reg_keys[ 0 ]); i++ )
-    {
-        if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, p_reg_keys[ i ][ 0 ],
-                          0, KEY_READ, &i_key ) != ERROR_SUCCESS )
-        {
-            continue;
-        }
-
-        if( RegQueryValueEx( i_key, p_reg_keys[ i ][ 1 ],
-                             NULL, NULL, NULL, &i_size ) != ERROR_SUCCESS )
-        {
-            RegCloseKey( i_key );
-            continue;
-        }
-
-        p_reg_buf = malloc( i_size );
-
-        if( p_reg_buf != NULL )
-        {
-            if( RegQueryValueEx( i_key, p_reg_keys[ i ][ 1 ],
-                                 NULL, NULL, p_reg_buf,
-                                 &i_size ) == ERROR_SUCCESS )
-            {
-                AddMD5( &md5, (uint8_t *)p_reg_buf, i_size );
-            }
-
-            free( p_reg_buf );
-        }
-
-        RegCloseKey( i_key );
-    }
-
-#else
-    InitMD5( &md5 );
-    i_ret = -1;
-#endif
-
-    EndMD5( &md5 );
-    memcpy( p_system_hash, md5.p_digest, 16 );
-
-    return i_ret;
-}
-
-/*****************************************************************************
- * GetiPodID: Get iPod ID
- *****************************************************************************
- * This function gets the iPod ID.
- *****************************************************************************/
-static int GetiPodID( int64_t *p_ipod_id )
-{
-    int i_ret = -1;
-
-#define PROD_NAME   "iPod"
-#define VENDOR_NAME "Apple Computer, Inc."
-
-    char *psz_ipod_id = getenv( "IPODID" );
-    if( psz_ipod_id != NULL )
-    {
-#ifndef _WIN32
-        *p_ipod_id = strtoll( psz_ipod_id, NULL, 16 );
-#else
-        *p_ipod_id = strtol( psz_ipod_id, NULL, 16 );
-#endif
-        return 0;
-    }
-
-#ifdef HAVE_IOKIT_IOKITLIB_H
-    CFTypeRef value;
-    mach_port_t port;
-    io_object_t device;
-    io_iterator_t iterator;
-    CFMutableDictionaryRef matching_dic;
-
-    if( IOMasterPort( MACH_PORT_NULL, &port ) == KERN_SUCCESS )
-    {
-        if( ( matching_dic = IOServiceMatching( "IOFireWireUnit" ) ) != NULL )
-        {
-            CFDictionarySetValue( matching_dic,
-                                  CFSTR("FireWire Vendor Name"),
-                                  CFSTR(VENDOR_NAME) );
-            CFDictionarySetValue( matching_dic,
-                                  CFSTR("FireWire Product Name"),
-                                  CFSTR(PROD_NAME) );
-
-            if( IOServiceGetMatchingServices( port, matching_dic,
-                                              &iterator ) == KERN_SUCCESS )
-            {
-                while( ( device = IOIteratorNext( iterator ) ) != NULL )
-                {
-                    value = IORegistryEntryCreateCFProperty( device,
-                        CFSTR("GUID"), kCFAllocatorDefault, kNilOptions );
-
-                    if( value != NULL )
-                    {
-                        if( CFGetTypeID( value ) == CFNumberGetTypeID() )
-                        {
-                            int64_t i_ipod_id;
-                            CFNumberGetValue( (CFNumberRef)value,
-                                              kCFNumberLongLongType,
-                                              &i_ipod_id );
-                            *p_ipod_id = i_ipod_id;
-                            i_ret = 0;
-                        }
-
-                        CFRelease( value );
-                    }
-
-                    IOObjectRelease( device );
-
-                    if( !i_ret ) break;
-                }
-
-                IOObjectRelease( iterator );
-            }
-        }
-
-        mach_port_deallocate( mach_task_self(), port );
-    }
-
-#elif HAVE_SYSFS_LIBSYSFS_H
-    struct sysfs_bus *bus = NULL;
-    struct dlist *devlist = NULL;
-    struct dlist *attributes = NULL;
-    struct sysfs_device *curdev = NULL;
-    struct sysfs_attribute *curattr = NULL;
-
-    bus = sysfs_open_bus( "ieee1394" );
-    if( bus != NULL )
-    {
-        devlist = sysfs_get_bus_devices( bus );
-        if( devlist != NULL )
-        {
-            dlist_for_each_data( devlist, curdev, struct sysfs_device )
-            {
-                attributes = sysfs_get_device_attributes( curdev );
-                if( attributes != NULL )
-                {
-                    dlist_for_each_data( attributes, curattr,
-                                         struct sysfs_attribute )
-                    {
-                        if( ( strcmp( curattr->name, "model_name" ) == 0 ) &&
-                            ( strncmp( curattr->value, PROD_NAME,
-                                       sizeof(PROD_NAME) ) == 0 ) )
-                        {
-                            *p_ipod_id = strtoll( curdev->name, NULL, 16 );
-                            i_ret = 0;
-                            break;
-                        }
-                    }
-                }
-
-                if( !i_ret ) break;
-            }
-        }
-
-        sysfs_close_bus( bus );
-    }
-#endif
-
-    return i_ret;
-}
-
-#endif
diff --git a/lib/libfaad2/common/mp4ff/drms.h b/lib/libfaad2/common/mp4ff/drms.h
deleted file mode 100644 (file)
index e57baa5..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/*****************************************************************************
- * drms.h : DRMS
- *****************************************************************************
- * Copyright (C) 2004 VideoLAN
- * $Id: drms.h,v 1.7 2005/02/01 13:15:55 menno Exp $
- *
- * Author: Jon Lech Johansen <jon-vl@nanocrew.net>
- *
- * 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, USA.
- *****************************************************************************/
-
-extern void *drms_alloc( char *psz_homedir );
-extern void drms_free( void *p_drms );
-extern int drms_init( void *p_drms, uint32_t i_type,
-                      uint8_t *p_info, uint32_t i_len );
-extern void drms_decrypt( void *p_drms, uint32_t *p_buffer,
-                          uint32_t i_len );
-
diff --git a/lib/libfaad2/common/mp4ff/drmstables.h b/lib/libfaad2/common/mp4ff/drmstables.h
deleted file mode 100644 (file)
index 96fab8a..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-/*****************************************************************************
- * drmstables.h : AES/Rijndael block cipher and miscellaneous tables
- *****************************************************************************
- * Copyright (C) 2004 VideoLAN
- * $Id: drmstables.h,v 1.6 2005/02/01 13:15:55 menno Exp $
- *
- * Author: Jon Lech Johansen <jon-vl@nanocrew.net>
- *
- * 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, USA.
- *****************************************************************************/
-
-#define AES_ROR( x, n ) (((x) << (32-(n))) | ((x) >> (n)))
-
-#define AES_XOR_ROR( p_table, p_tmp ) \
-    ( p_table[ (p_tmp[ t > 2 ? t - 3 : t + 1 ] >> 24) & 0xFF ] \
-     ^ AES_ROR( p_table[ (p_tmp[ t > 1 ? t - 2 : t + 2 ] >> 16) & 0xFF ], 8 ) \
-     ^ AES_ROR( p_table[ (p_tmp[ t > 0 ? t - 1 : t + 3 ] >> 8) & 0xFF ], 16 ) \
-     ^ AES_ROR( p_table[ p_tmp[ t ] & 0xFF ], 24 ) )
-
-#define AES_KEY_COUNT 10
-
-static uint32_t const p_aes_table[ AES_KEY_COUNT ] =
-{
-    0x00000001, 0x00000002, 0x00000004, 0x00000008, 0x00000010, 0x00000020,
-    0x00000040, 0x00000080, 0x0000001b, 0x00000036
-};
-
-static uint32_t const p_aes_encrypt[ 256 ] =
-{
-    0x63000000, 0x7c000000, 0x77000000, 0x7b000000, 0xf2000000, 0x6b000000,
-    0x6f000000, 0xc5000000, 0x30000000, 0x01000000, 0x67000000, 0x2b000000,
-    0xfe000000, 0xd7000000, 0xab000000, 0x76000000, 0xca000000, 0x82000000,
-    0xc9000000, 0x7d000000, 0xfa000000, 0x59000000, 0x47000000, 0xf0000000,
-    0xad000000, 0xd4000000, 0xa2000000, 0xaf000000, 0x9c000000, 0xa4000000,
-    0x72000000, 0xc0000000, 0xb7000000, 0xfd000000, 0x93000000, 0x26000000,
-    0x36000000, 0x3f000000, 0xf7000000, 0xcc000000, 0x34000000, 0xa5000000,
-    0xe5000000, 0xf1000000, 0x71000000, 0xd8000000, 0x31000000, 0x15000000,
-    0x04000000, 0xc7000000, 0x23000000, 0xc3000000, 0x18000000, 0x96000000,
-    0x05000000, 0x9a000000, 0x07000000, 0x12000000, 0x80000000, 0xe2000000,
-    0xeb000000, 0x27000000, 0xb2000000, 0x75000000, 0x09000000, 0x83000000,
-    0x2c000000, 0x1a000000, 0x1b000000, 0x6e000000, 0x5a000000, 0xa0000000,
-    0x52000000, 0x3b000000, 0xd6000000, 0xb3000000, 0x29000000, 0xe3000000,
-    0x2f000000, 0x84000000, 0x53000000, 0xd1000000, 0x00000000, 0xed000000,
-    0x20000000, 0xfc000000, 0xb1000000, 0x5b000000, 0x6a000000, 0xcb000000,
-    0xbe000000, 0x39000000, 0x4a000000, 0x4c000000, 0x58000000, 0xcf000000,
-    0xd0000000, 0xef000000, 0xaa000000, 0xfb000000, 0x43000000, 0x4d000000,
-    0x33000000, 0x85000000, 0x45000000, 0xf9000000, 0x02000000, 0x7f000000,
-    0x50000000, 0x3c000000, 0x9f000000, 0xa8000000, 0x51000000, 0xa3000000,
-    0x40000000, 0x8f000000, 0x92000000, 0x9d000000, 0x38000000, 0xf5000000,
-    0xbc000000, 0xb6000000, 0xda000000, 0x21000000, 0x10000000, 0xff000000,
-    0xf3000000, 0xd2000000, 0xcd000000, 0x0c000000, 0x13000000, 0xec000000,
-    0x5f000000, 0x97000000, 0x44000000, 0x17000000, 0xc4000000, 0xa7000000,
-    0x7e000000, 0x3d000000, 0x64000000, 0x5d000000, 0x19000000, 0x73000000,
-    0x60000000, 0x81000000, 0x4f000000, 0xdc000000, 0x22000000, 0x2a000000,
-    0x90000000, 0x88000000, 0x46000000, 0xee000000, 0xb8000000, 0x14000000,
-    0xde000000, 0x5e000000, 0x0b000000, 0xdb000000, 0xe0000000, 0x32000000,
-    0x3a000000, 0x0a000000, 0x49000000, 0x06000000, 0x24000000, 0x5c000000,
-    0xc2000000, 0xd3000000, 0xac000000, 0x62000000, 0x91000000, 0x95000000,
-    0xe4000000, 0x79000000, 0xe7000000, 0xc8000000, 0x37000000, 0x6d000000,
-    0x8d000000, 0xd5000000, 0x4e000000, 0xa9000000, 0x6c000000, 0x56000000,
-    0xf4000000, 0xea000000, 0x65000000, 0x7a000000, 0xae000000, 0x08000000,
-    0xba000000, 0x78000000, 0x25000000, 0x2e000000, 0x1c000000, 0xa6000000,
-    0xb4000000, 0xc6000000, 0xe8000000, 0xdd000000, 0x74000000, 0x1f000000,
-    0x4b000000, 0xbd000000, 0x8b000000, 0x8a000000, 0x70000000, 0x3e000000,
-    0xb5000000, 0x66000000, 0x48000000, 0x03000000, 0xf6000000, 0x0e000000,
-    0x61000000, 0x35000000, 0x57000000, 0xb9000000, 0x86000000, 0xc1000000,
-    0x1d000000, 0x9e000000, 0xe1000000, 0xf8000000, 0x98000000, 0x11000000,
-    0x69000000, 0xd9000000, 0x8e000000, 0x94000000, 0x9b000000, 0x1e000000,
-    0x87000000, 0xe9000000, 0xce000000, 0x55000000, 0x28000000, 0xdf000000,
-    0x8c000000, 0xa1000000, 0x89000000, 0x0d000000, 0xbf000000, 0xe6000000,
-    0x42000000, 0x68000000, 0x41000000, 0x99000000, 0x2d000000, 0x0f000000,
-    0xb0000000, 0x54000000, 0xbb000000, 0x16000000
-};
-
-static uint32_t const p_aes_itable[ 256 ] =
-{
-    0x5150a7f4, 0x7e536541, 0x1ac3a417, 0x3a965e27, 0x3bcb6bab, 0x1ff1459d,
-    0xacab58fa, 0x4b9303e3, 0x2055fa30, 0xadf66d76, 0x889176cc, 0xf5254c02,
-    0x4ffcd7e5, 0xc5d7cb2a, 0x26804435, 0xb58fa362, 0xde495ab1, 0x25671bba,
-    0x45980eea, 0x5de1c0fe, 0xc302752f, 0x8112f04c, 0x8da39746, 0x6bc6f9d3,
-    0x03e75f8f, 0x15959c92, 0xbfeb7a6d, 0x95da5952, 0xd42d83be, 0x58d32174,
-    0x492969e0, 0x8e44c8c9, 0x756a89c2, 0xf478798e, 0x996b3e58, 0x27dd71b9,
-    0xbeb64fe1, 0xf017ad88, 0xc966ac20, 0x7db43ace, 0x63184adf, 0xe582311a,
-    0x97603351, 0x62457f53, 0xb1e07764, 0xbb84ae6b, 0xfe1ca081, 0xf9942b08,
-    0x70586848, 0x8f19fd45, 0x94876cde, 0x52b7f87b, 0xab23d373, 0x72e2024b,
-    0xe3578f1f, 0x662aab55, 0xb20728eb, 0x2f03c2b5, 0x869a7bc5, 0xd3a50837,
-    0x30f28728, 0x23b2a5bf, 0x02ba6a03, 0xed5c8216, 0x8a2b1ccf, 0xa792b479,
-    0xf3f0f207, 0x4ea1e269, 0x65cdf4da, 0x06d5be05, 0xd11f6234, 0xc48afea6,
-    0x349d532e, 0xa2a055f3, 0x0532e18a, 0xa475ebf6, 0x0b39ec83, 0x40aaef60,
-    0x5e069f71, 0xbd51106e, 0x3ef98a21, 0x963d06dd, 0xddae053e, 0x4d46bde6,
-    0x91b58d54, 0x71055dc4, 0x046fd406, 0x60ff1550, 0x1924fb98, 0xd697e9bd,
-    0x89cc4340, 0x67779ed9, 0xb0bd42e8, 0x07888b89, 0xe7385b19, 0x79dbeec8,
-    0xa1470a7c, 0x7ce90f42, 0xf8c91e84, 0x00000000, 0x09838680, 0x3248ed2b,
-    0x1eac7011, 0x6c4e725a, 0xfdfbff0e, 0x0f563885, 0x3d1ed5ae, 0x3627392d,
-    0x0a64d90f, 0x6821a65c, 0x9bd1545b, 0x243a2e36, 0x0cb1670a, 0x930fe757,
-    0xb4d296ee, 0x1b9e919b, 0x804fc5c0, 0x61a220dc, 0x5a694b77, 0x1c161a12,
-    0xe20aba93, 0xc0e52aa0, 0x3c43e022, 0x121d171b, 0x0e0b0d09, 0xf2adc78b,
-    0x2db9a8b6, 0x14c8a91e, 0x578519f1, 0xaf4c0775, 0xeebbdd99, 0xa3fd607f,
-    0xf79f2601, 0x5cbcf572, 0x44c53b66, 0x5b347efb, 0x8b762943, 0xcbdcc623,
-    0xb668fced, 0xb863f1e4, 0xd7cadc31, 0x42108563, 0x13402297, 0x842011c6,
-    0x857d244a, 0xd2f83dbb, 0xae1132f9, 0xc76da129, 0x1d4b2f9e, 0xdcf330b2,
-    0x0dec5286, 0x77d0e3c1, 0x2b6c16b3, 0xa999b970, 0x11fa4894, 0x472264e9,
-    0xa8c48cfc, 0xa01a3ff0, 0x56d82c7d, 0x22ef9033, 0x87c74e49, 0xd9c1d138,
-    0x8cfea2ca, 0x98360bd4, 0xa6cf81f5, 0xa528de7a, 0xda268eb7, 0x3fa4bfad,
-    0x2ce49d3a, 0x500d9278, 0x6a9bcc5f, 0x5462467e, 0xf6c2138d, 0x90e8b8d8,
-    0x2e5ef739, 0x82f5afc3, 0x9fbe805d, 0x697c93d0, 0x6fa92dd5, 0xcfb31225,
-    0xc83b99ac, 0x10a77d18, 0xe86e639c, 0xdb7bbb3b, 0xcd097826, 0x6ef41859,
-    0xec01b79a, 0x83a89a4f, 0xe6656e95, 0xaa7ee6ff, 0x2108cfbc, 0xefe6e815,
-    0xbad99be7, 0x4ace366f, 0xead4099f, 0x29d67cb0, 0x31afb2a4, 0x2a31233f,
-    0xc63094a5, 0x35c066a2, 0x7437bc4e, 0xfca6ca82, 0xe0b0d090, 0x3315d8a7,
-    0xf14a9804, 0x41f7daec, 0x7f0e50cd, 0x172ff691, 0x768dd64d, 0x434db0ef,
-    0xcc544daa, 0xe4df0496, 0x9ee3b5d1, 0x4c1b886a, 0xc1b81f2c, 0x467f5165,
-    0x9d04ea5e, 0x015d358c, 0xfa737487, 0xfb2e410b, 0xb35a1d67, 0x9252d2db,
-    0xe9335610, 0x6d1347d6, 0x9a8c61d7, 0x377a0ca1, 0x598e14f8, 0xeb893c13,
-    0xceee27a9, 0xb735c961, 0xe1ede51c, 0x7a3cb147, 0x9c59dfd2, 0x553f73f2,
-    0x1879ce14, 0x73bf37c7, 0x53eacdf7, 0x5f5baafd, 0xdf146f3d, 0x7886db44,
-    0xca81f3af, 0xb93ec468, 0x382c3424, 0xc25f40a3, 0x1672c31d, 0xbc0c25e2,
-    0x288b493c, 0xff41950d, 0x397101a8, 0x08deb30c, 0xd89ce4b4, 0x6490c156,
-    0x7b6184cb, 0xd570b632, 0x48745c6c, 0xd04257b8
-};
-
-static uint32_t const p_aes_decrypt[ 256 ] =
-{
-    0x52000000, 0x09000000, 0x6a000000, 0xd5000000, 0x30000000, 0x36000000,
-    0xa5000000, 0x38000000, 0xbf000000, 0x40000000, 0xa3000000, 0x9e000000,
-    0x81000000, 0xf3000000, 0xd7000000, 0xfb000000, 0x7c000000, 0xe3000000,
-    0x39000000, 0x82000000, 0x9b000000, 0x2f000000, 0xff000000, 0x87000000,
-    0x34000000, 0x8e000000, 0x43000000, 0x44000000, 0xc4000000, 0xde000000,
-    0xe9000000, 0xcb000000, 0x54000000, 0x7b000000, 0x94000000, 0x32000000,
-    0xa6000000, 0xc2000000, 0x23000000, 0x3d000000, 0xee000000, 0x4c000000,
-    0x95000000, 0x0b000000, 0x42000000, 0xfa000000, 0xc3000000, 0x4e000000,
-    0x08000000, 0x2e000000, 0xa1000000, 0x66000000, 0x28000000, 0xd9000000,
-    0x24000000, 0xb2000000, 0x76000000, 0x5b000000, 0xa2000000, 0x49000000,
-    0x6d000000, 0x8b000000, 0xd1000000, 0x25000000, 0x72000000, 0xf8000000,
-    0xf6000000, 0x64000000, 0x86000000, 0x68000000, 0x98000000, 0x16000000,
-    0xd4000000, 0xa4000000, 0x5c000000, 0xcc000000, 0x5d000000, 0x65000000,
-    0xb6000000, 0x92000000, 0x6c000000, 0x70000000, 0x48000000, 0x50000000,
-    0xfd000000, 0xed000000, 0xb9000000, 0xda000000, 0x5e000000, 0x15000000,
-    0x46000000, 0x57000000, 0xa7000000, 0x8d000000, 0x9d000000, 0x84000000,
-    0x90000000, 0xd8000000, 0xab000000, 0x00000000, 0x8c000000, 0xbc000000,
-    0xd3000000, 0x0a000000, 0xf7000000, 0xe4000000, 0x58000000, 0x05000000,
-    0xb8000000, 0xb3000000, 0x45000000, 0x06000000, 0xd0000000, 0x2c000000,
-    0x1e000000, 0x8f000000, 0xca000000, 0x3f000000, 0x0f000000, 0x02000000,
-    0xc1000000, 0xaf000000, 0xbd000000, 0x03000000, 0x01000000, 0x13000000,
-    0x8a000000, 0x6b000000, 0x3a000000, 0x91000000, 0x11000000, 0x41000000,
-    0x4f000000, 0x67000000, 0xdc000000, 0xea000000, 0x97000000, 0xf2000000,
-    0xcf000000, 0xce000000, 0xf0000000, 0xb4000000, 0xe6000000, 0x73000000,
-    0x96000000, 0xac000000, 0x74000000, 0x22000000, 0xe7000000, 0xad000000,
-    0x35000000, 0x85000000, 0xe2000000, 0xf9000000, 0x37000000, 0xe8000000,
-    0x1c000000, 0x75000000, 0xdf000000, 0x6e000000, 0x47000000, 0xf1000000,
-    0x1a000000, 0x71000000, 0x1d000000, 0x29000000, 0xc5000000, 0x89000000,
-    0x6f000000, 0xb7000000, 0x62000000, 0x0e000000, 0xaa000000, 0x18000000,
-    0xbe000000, 0x1b000000, 0xfc000000, 0x56000000, 0x3e000000, 0x4b000000,
-    0xc6000000, 0xd2000000, 0x79000000, 0x20000000, 0x9a000000, 0xdb000000,
-    0xc0000000, 0xfe000000, 0x78000000, 0xcd000000, 0x5a000000, 0xf4000000,
-    0x1f000000, 0xdd000000, 0xa8000000, 0x33000000, 0x88000000, 0x07000000,
-    0xc7000000, 0x31000000, 0xb1000000, 0x12000000, 0x10000000, 0x59000000,
-    0x27000000, 0x80000000, 0xec000000, 0x5f000000, 0x60000000, 0x51000000,
-    0x7f000000, 0xa9000000, 0x19000000, 0xb5000000, 0x4a000000, 0x0d000000,
-    0x2d000000, 0xe5000000, 0x7a000000, 0x9f000000, 0x93000000, 0xc9000000,
-    0x9c000000, 0xef000000, 0xa0000000, 0xe0000000, 0x3b000000, 0x4d000000,
-    0xae000000, 0x2a000000, 0xf5000000, 0xb0000000, 0xc8000000, 0xeb000000,
-    0xbb000000, 0x3c000000, 0x83000000, 0x53000000, 0x99000000, 0x61000000,
-    0x17000000, 0x2b000000, 0x04000000, 0x7e000000, 0xba000000, 0x77000000,
-    0xd6000000, 0x26000000, 0xe1000000, 0x69000000, 0x14000000, 0x63000000,
-    0x55000000, 0x21000000, 0x0c000000, 0x7d000000
-};
-
-static uint16_t const p_shuffle_xor[ 256 ] =
-{
-    0x00d1, 0x0315, 0x1a32, 0x19ec, 0x1bbb, 0x1d6f, 0x14fe, 0x0e9e,
-    0x029e, 0x1b8f, 0x0b70, 0x033a, 0x188e, 0x1d18, 0x0bd8, 0x0edb,
-    0x0c64, 0x1c2b, 0x149c, 0x047b, 0x1064, 0x1c7c, 0x118d, 0x1355,
-    0x0ae5, 0x0f18, 0x016f, 0x17d6, 0x1595, 0x0084, 0x0616, 0x1ccd,
-    0x1d94, 0x0618, 0x182c, 0x195b, 0x196d, 0x0394, 0x07db, 0x0287,
-    0x1636, 0x0b81, 0x1519, 0x0df9, 0x1ba3, 0x1cc3, 0x0ee2, 0x1434,
-    0x1457, 0x0ced, 0x0f7d, 0x0d7b, 0x0b9e, 0x0d13, 0x13d7, 0x18d0,
-    0x1259, 0x1977, 0x0606, 0x1e80, 0x05f2, 0x06b8, 0x1f07, 0x1365,
-    0x0334, 0x0e30, 0x195f, 0x15f1, 0x058e, 0x0aa8, 0x045a, 0x0465,
-    0x0b3e, 0x071e, 0x0a36, 0x105c, 0x01ac, 0x1a1e, 0x04e4, 0x056b,
-    0x12bf, 0x0da2, 0x0b41, 0x0eaf, 0x034f, 0x0181, 0x04e2, 0x002b,
-    0x12e6, 0x01be, 0x10e8, 0x128f, 0x0eb2, 0x1369, 0x05be, 0x1a59,
-    0x117e, 0x047c, 0x1e86, 0x056a, 0x0da7, 0x0d61, 0x03fc, 0x1e6e,
-    0x1d0c, 0x1e6d, 0x14bf, 0x0c50, 0x063a, 0x1b47, 0x17ae, 0x1321,
-    0x041b, 0x0a24, 0x0d4d, 0x1f2b, 0x1cb6, 0x1bed, 0x1549, 0x03a7,
-    0x0254, 0x006c, 0x0c9e, 0x0f73, 0x006c, 0x0008, 0x11f9, 0x0dd5,
-    0x0bcf, 0x0af9, 0x1dfe, 0x0341, 0x0e49, 0x0d38, 0x17cb, 0x1513,
-    0x0e96, 0x00ed, 0x0556, 0x1b28, 0x100c, 0x19d8, 0x14fa, 0x028c,
-    0x1c60, 0x1232, 0x13d3, 0x0d00, 0x1534, 0x192c, 0x14b5, 0x1cf2,
-    0x0504, 0x0b5b, 0x1ecf, 0x0423, 0x183b, 0x06b0, 0x169e, 0x1066,
-    0x04cb, 0x08a2, 0x1b4a, 0x1254, 0x198d, 0x1044, 0x0236, 0x1bd8,
-    0x18a1, 0x03ff, 0x1a0d, 0x0277, 0x0c2d, 0x17c9, 0x007c, 0x116e,
-    0x048a, 0x1eaf, 0x0922, 0x0c45, 0x0766, 0x1e5f, 0x1a28, 0x0120,
-    0x1c15, 0x034c, 0x0508, 0x0e73, 0x0879, 0x0441, 0x09ae, 0x132f,
-    0x14fe, 0x0413, 0x0a9d, 0x1727, 0x01d7, 0x1a2b, 0x0474, 0x18f0,
-    0x1f3b, 0x14f5, 0x1071, 0x0895, 0x1071, 0x18ff, 0x18e3, 0x0eb9,
-    0x0ba9, 0x0961, 0x1599, 0x019e, 0x1d12, 0x1baa, 0x1e94, 0x1921,
-    0x14dc, 0x124e, 0x0a25, 0x03ab, 0x1cc0, 0x1ebb, 0x0b4b, 0x16e5,
-    0x11ea, 0x0d78, 0x1bb3, 0x1ba7, 0x1510, 0x1b7b, 0x0c64, 0x1995,
-    0x1a58, 0x1651, 0x1964, 0x147a, 0x15f2, 0x11bb, 0x1654, 0x166e,
-    0x0ea9, 0x1de1, 0x1443, 0x13c5, 0x00e1, 0x0b2f, 0x0b6f, 0x0a37,
-    0x18ac, 0x08e6, 0x06f0, 0x136e, 0x0853, 0x0b2e, 0x0813, 0x10d6
-};
-
-static uint16_t const p_shuffle_sub[ 256 ] =
-{
-    0x067a, 0x0c7d, 0x0b4f, 0x127d, 0x0bd6, 0x04ac, 0x16e0, 0x1730,
-    0x0587, 0x0afb, 0x1ac3, 0x0120, 0x14b5, 0x0f67, 0x11de, 0x0961,
-    0x1127, 0x1a68, 0x07f0, 0x17d0, 0x1a6f, 0x1f3b, 0x01ef, 0x0919,
-    0x131e, 0x0f90, 0x19e9, 0x18a8, 0x0cb2, 0x1ad0, 0x0c66, 0x0378,
-    0x03b0, 0x01be, 0x1866, 0x1159, 0x197c, 0x1105, 0x010b, 0x0353,
-    0x1abb, 0x09a6, 0x028a, 0x1bad, 0x1b20, 0x0455, 0x0f57, 0x0588,
-    0x1491, 0x0a1d, 0x0f04, 0x0650, 0x191e, 0x1e0e, 0x174b, 0x016b,
-    0x051f, 0x0532, 0x00df, 0x1aea, 0x0005, 0x0e1b, 0x0ff6, 0x08d8,
-    0x14b4, 0x086a, 0x0c20, 0x0149, 0x1971, 0x0f26, 0x1852, 0x017d,
-    0x1228, 0x0352, 0x0a44, 0x1330, 0x18df, 0x1e38, 0x01bc, 0x0bac,
-    0x1a48, 0x021f, 0x02f7, 0x0c31, 0x0bc4, 0x1e75, 0x105c, 0x13e3,
-    0x0b20, 0x03a1, 0x1af3, 0x1a36, 0x0e34, 0x181f, 0x09bd, 0x122b,
-    0x0ee0, 0x163b, 0x0be7, 0x103d, 0x1075, 0x1e9d, 0x02af, 0x0ba2,
-    0x1daa, 0x0cf1, 0x04b6, 0x0598, 0x06a1, 0x0d33, 0x1cfe, 0x04ee,
-    0x1bad, 0x07c8, 0x1a48, 0x05e6, 0x031f, 0x0e0a, 0x0326, 0x1650,
-    0x0526, 0x0b4e, 0x08fc, 0x0e4d, 0x0832, 0x06ea, 0x09bf, 0x0993,
-    0x09eb, 0x0f31, 0x071b, 0x14d5, 0x11ca, 0x0722, 0x120d, 0x014c,
-    0x1993, 0x0ae4, 0x1ccb, 0x04e9, 0x0aee, 0x1708, 0x0c3d, 0x12f2,
-    0x1a19, 0x07c1, 0x05a7, 0x0744, 0x1606, 0x1a9b, 0x042d, 0x1bfc,
-    0x1841, 0x0c3c, 0x0ffe, 0x1ab1, 0x1416, 0x18a9, 0x0320, 0x1ec2,
-    0x0ae7, 0x11c6, 0x124a, 0x11df, 0x0f81, 0x06cf, 0x0ed9, 0x0253,
-    0x1d2b, 0x0349, 0x0805, 0x08b3, 0x1052, 0x12cf, 0x0a44, 0x0ea6,
-    0x03bf, 0x1d90, 0x0ef8, 0x0657, 0x156d, 0x0405, 0x10be, 0x091f,
-    0x1c82, 0x1725, 0x19ef, 0x0b8c, 0x04d9, 0x02c7, 0x025a, 0x1b89,
-    0x0f5c, 0x013d, 0x02f7, 0x12e3, 0x0bc5, 0x1b56, 0x0848, 0x0239,
-    0x0fcf, 0x03a4, 0x092d, 0x1354, 0x1d83, 0x01bd, 0x071a, 0x0af1,
-    0x0875, 0x0793, 0x1b41, 0x1782, 0x0def, 0x1d20, 0x13be, 0x0095,
-    0x1650, 0x19d4, 0x0de3, 0x0980, 0x18f2, 0x0ca3, 0x0098, 0x149a,
-    0x0b81, 0x0ad2, 0x1bba, 0x1a02, 0x027b, 0x1906, 0x07f5, 0x1cae,
-    0x0c3f, 0x02f6, 0x1298, 0x175e, 0x15b2, 0x13d8, 0x14cc, 0x161a,
-    0x0a42, 0x15f3, 0x0870, 0x1c1d, 0x1203, 0x18b1, 0x1738, 0x1954,
-    0x1143, 0x1ae8, 0x1d9d, 0x155b, 0x11e8, 0x0ed9, 0x06f7, 0x04ca
-};
-
-static uint16_t const p_shuffle_add[ 256 ] =
-{
-    0x0706, 0x175a, 0x0def, 0x1e72, 0x0297, 0x1b0e, 0x1d5a, 0x15b8,
-    0x13e2, 0x1347, 0x10c6, 0x0b4f, 0x0629, 0x0a75, 0x0a9b, 0x0f55,
-    0x1a69, 0x09bf, 0x0ba6, 0x1582, 0x1086, 0x1921, 0x01cb, 0x1c6a,
-    0x0ff5, 0x00f7, 0x0a67, 0x0a1e, 0x1838, 0x0196, 0x10d6, 0x0c7a,
-    0x180e, 0x038d, 0x1add, 0x0684, 0x154a, 0x0ab0, 0x18a4, 0x0d73,
-    0x1641, 0x0ec6, 0x09f1, 0x1a62, 0x0414, 0x162a, 0x194e, 0x1ec9,
-    0x022f, 0x0296, 0x1104, 0x14fc, 0x096c, 0x1d02, 0x09bd, 0x027c,
-    0x080e, 0x1324, 0x128c, 0x0dc1, 0x00b9, 0x17f2, 0x0cbc, 0x0f97,
-    0x1b93, 0x1c3c, 0x0415, 0x0395, 0x0c7a, 0x06cc, 0x0d4b, 0x16e2,
-    0x04a2, 0x0dab, 0x1228, 0x012b, 0x0896, 0x0012, 0x1cd6, 0x1dac,
-    0x080d, 0x0446, 0x047a, 0x00ad, 0x029e, 0x0686, 0x17c3, 0x1466,
-    0x0d16, 0x1896, 0x076e, 0x00cd, 0x17dc, 0x1e9f, 0x1a7c, 0x02bb,
-    0x0d06, 0x112b, 0x14cb, 0x0a03, 0x1541, 0x1290, 0x0f6d, 0x1503,
-    0x084b, 0x0382, 0x1a3f, 0x0371, 0x1977, 0x0b67, 0x0cad, 0x1df8,
-    0x1ce3, 0x1306, 0x13f8, 0x1163, 0x1b0b, 0x00bd, 0x0bf0, 0x1a4f,
-    0x16f7, 0x0b4f, 0x0cf8, 0x1254, 0x0541, 0x100d, 0x0296, 0x0410,
-    0x1a2b, 0x1169, 0x17d9, 0x0819, 0x03d6, 0x0d03, 0x194d, 0x184a,
-    0x07ca, 0x1989, 0x0fad, 0x011c, 0x1c71, 0x0ef6, 0x0dc8, 0x0f2f,
-    0x0fa5, 0x11be, 0x0f3b, 0x1d52, 0x0de2, 0x016e, 0x1ad1, 0x0c4a,
-    0x1bc2, 0x0ac9, 0x1485, 0x1bee, 0x0949, 0x1a79, 0x1894, 0x12bb,
-    0x17b6, 0x14f5, 0x16b1, 0x142c, 0x1301, 0x03ef, 0x16ff, 0x0d37,
-    0x0d78, 0x01ff, 0x00d6, 0x1053, 0x1a2a, 0x0f61, 0x1352, 0x0c7f,
-    0x137f, 0x09c4, 0x1d96, 0x021d, 0x1037, 0x1b19, 0x10ef, 0x14e4,
-    0x02a0, 0x0236, 0x0a5d, 0x1519, 0x141c, 0x1399, 0x007e, 0x1e74,
-    0x0941, 0x1b3c, 0x0062, 0x0371, 0x09ad, 0x08e8, 0x0a24, 0x0b97,
-    0x1ed2, 0x0889, 0x136b, 0x0006, 0x1c4c, 0x0444, 0x06f8, 0x0dfb,
-    0x1d0f, 0x198d, 0x0700, 0x0afc, 0x1781, 0x12f3, 0x10da, 0x1f19,
-    0x1055, 0x0dc9, 0x1860, 0x012b, 0x05bf, 0x082d, 0x0c17, 0x1941,
-    0x0359, 0x1232, 0x104c, 0x0762, 0x0897, 0x1d6c, 0x030f, 0x1a36,
-    0x16b0, 0x094d, 0x1782, 0x036f, 0x0eea, 0x06e6, 0x0d00, 0x0187,
-    0x17e2, 0x05e5, 0x19fa, 0x1950, 0x146a, 0x0b2a, 0x0512, 0x0ee0,
-    0x1e27, 0x112d, 0x1df0, 0x0b13, 0x0378, 0x1dd0, 0x00c1, 0x01e6
-};
-
diff --git a/lib/libfaad2/common/mp4ff/mp4atom.c b/lib/libfaad2/common/mp4ff/mp4atom.c
deleted file mode 100644 (file)
index cb2af91..0000000
+++ /dev/null
@@ -1,904 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mp4atom.c,v 1.25 2007/11/01 12:33:29 menno Exp $
-**/
-
-#include <stdlib.h>
-#ifndef _WIN32
-#include "config.h"
-#else
-#include <tchar.h>
-#ifdef ITUNES_DRM
-#include <shlobj.h>
-#endif
-#include <windows.h>
-#endif
-#ifdef HAVE_GETPWUID
-#    include <pwd.h>
-#endif
-#ifdef HAVE_STRING_H
-#    include <string.h>
-#endif
-#include "mp4ffint.h"
-
-#include "drms.h"
-
-/* parse atom header size */
-static int32_t mp4ff_atom_get_size(const int8_t *data)
-{
-    uint32_t result;
-    uint32_t a, b, c, d;
-
-    a = (uint8_t)data[0];
-    b = (uint8_t)data[1];
-    c = (uint8_t)data[2];
-    d = (uint8_t)data[3];
-
-    result = (a<<24) | (b<<16) | (c<<8) | d;
-    //if (result > 0 && result < 8) result = 8;
-
-    return (int32_t)result;
-}
-
-/* comnapre 2 atom names, returns 1 for equal, 0 for unequal */
-static int32_t mp4ff_atom_compare(const int8_t a1, const int8_t b1, const int8_t c1, const int8_t d1,
-                                  const int8_t a2, const int8_t b2, const int8_t c2, const int8_t d2)
-{
-    if (a1 == a2 && b1 == b2 && c1 == c2 && d1 == d2)
-        return 1;
-    else
-        return 0;
-}
-
-static uint8_t mp4ff_atom_name_to_type(const int8_t a, const int8_t b,
-                                       const int8_t c, const int8_t d)
-{
-    if (a == 'm')
-    {
-        if (mp4ff_atom_compare(a,b,c,d, 'm','o','o','v'))
-            return ATOM_MOOV;
-        else if (mp4ff_atom_compare(a,b,c,d, 'm','i','n','f'))
-            return ATOM_MINF;
-        else if (mp4ff_atom_compare(a,b,c,d, 'm','d','i','a'))
-            return ATOM_MDIA;
-        else if (mp4ff_atom_compare(a,b,c,d, 'm','d','a','t'))
-            return ATOM_MDAT;
-        else if (mp4ff_atom_compare(a,b,c,d, 'm','d','h','d'))
-            return ATOM_MDHD;
-        else if (mp4ff_atom_compare(a,b,c,d, 'm','v','h','d'))
-            return ATOM_MVHD;
-        else if (mp4ff_atom_compare(a,b,c,d, 'm','p','4','a'))
-            return ATOM_MP4A;
-        else if (mp4ff_atom_compare(a,b,c,d, 'm','p','4','v'))
-            return ATOM_MP4V;
-        else if (mp4ff_atom_compare(a,b,c,d, 'm','p','4','s'))
-            return ATOM_MP4S;
-        else if (mp4ff_atom_compare(a,b,c,d, 'm','e','t','a'))
-            return ATOM_META;
-    } else if (a == 't') {
-        if (mp4ff_atom_compare(a,b,c,d, 't','r','a','k'))
-            return ATOM_TRAK;
-        else if (mp4ff_atom_compare(a,b,c,d, 't','k','h','d'))
-            return ATOM_TKHD;
-        else if (mp4ff_atom_compare(a,b,c,d, 't','r','e','f'))
-            return ATOM_TREF;
-        else if (mp4ff_atom_compare(a,b,c,d, 't','r','k','n'))
-            return ATOM_TRACK;
-        else if (mp4ff_atom_compare(a,b,c,d, 't','m','p','o'))
-            return ATOM_TEMPO;
-    } else if (a == 's') {
-        if (mp4ff_atom_compare(a,b,c,d, 's','t','b','l'))
-            return ATOM_STBL;
-        else if (mp4ff_atom_compare(a,b,c,d, 's','m','h','d'))
-            return ATOM_SMHD;
-        else if (mp4ff_atom_compare(a,b,c,d, 's','t','s','d'))
-            return ATOM_STSD;
-        else if (mp4ff_atom_compare(a,b,c,d, 's','t','t','s'))
-            return ATOM_STTS;
-        else if (mp4ff_atom_compare(a,b,c,d, 's','t','c','o'))
-            return ATOM_STCO;
-        else if (mp4ff_atom_compare(a,b,c,d, 's','t','s','c'))
-            return ATOM_STSC;
-        else if (mp4ff_atom_compare(a,b,c,d, 's','t','s','z'))
-            return ATOM_STSZ;
-        else if (mp4ff_atom_compare(a,b,c,d, 's','t','z','2'))
-            return ATOM_STZ2;
-        else if (mp4ff_atom_compare(a,b,c,d, 's','k','i','p'))
-            return ATOM_SKIP;
-        else if (mp4ff_atom_compare(a,b,c,d, 's','i','n','f'))
-            return ATOM_SINF;
-        else if (mp4ff_atom_compare(a,b,c,d, 's','c','h','i'))
-            return ATOM_SCHI;
-    } else if (a == '©') {
-        if (mp4ff_atom_compare(a,b,c,d, '©','n','a','m'))
-            return ATOM_TITLE;
-        else if (mp4ff_atom_compare(a,b,c,d, '©','A','R','T'))
-            return ATOM_ARTIST;
-        else if (mp4ff_atom_compare(a,b,c,d, '©','w','r','t'))
-            return ATOM_WRITER;
-        else if (mp4ff_atom_compare(a,b,c,d, '©','a','l','b'))
-            return ATOM_ALBUM;
-        else if (mp4ff_atom_compare(a,b,c,d, '©','d','a','y'))
-            return ATOM_DATE;
-        else if (mp4ff_atom_compare(a,b,c,d, '©','t','o','o'))
-            return ATOM_TOOL;
-        else if (mp4ff_atom_compare(a,b,c,d, '©','c','m','t'))
-            return ATOM_COMMENT;
-        else if (mp4ff_atom_compare(a,b,c,d, '©','g','e','n'))
-            return ATOM_GENRE1;
-    }
-
-    if (mp4ff_atom_compare(a,b,c,d, 'e','d','t','s'))
-        return ATOM_EDTS;
-    else if (mp4ff_atom_compare(a,b,c,d, 'e','s','d','s'))
-        return ATOM_ESDS;
-    else if (mp4ff_atom_compare(a,b,c,d, 'f','t','y','p'))
-        return ATOM_FTYP;
-    else if (mp4ff_atom_compare(a,b,c,d, 'f','r','e','e'))
-        return ATOM_FREE;
-    else if (mp4ff_atom_compare(a,b,c,d, 'h','m','h','d'))
-        return ATOM_HMHD;
-    else if (mp4ff_atom_compare(a,b,c,d, 'v','m','h','d'))
-        return ATOM_VMHD;
-    else if (mp4ff_atom_compare(a,b,c,d, 'u','d','t','a'))
-        return ATOM_UDTA;
-    else if (mp4ff_atom_compare(a,b,c,d, 'i','l','s','t'))
-        return ATOM_ILST;
-    else if (mp4ff_atom_compare(a,b,c,d, 'n','a','m','e'))
-        return ATOM_NAME;
-    else if (mp4ff_atom_compare(a,b,c,d, 'd','a','t','a'))
-        return ATOM_DATA;
-    else if (mp4ff_atom_compare(a,b,c,d, 'd','i','s','k'))
-        return ATOM_DISC;
-    else if (mp4ff_atom_compare(a,b,c,d, 'g','n','r','e'))
-        return ATOM_GENRE2;
-    else if (mp4ff_atom_compare(a,b,c,d, 'c','o','v','r'))
-        return ATOM_COVER;
-    else if (mp4ff_atom_compare(a,b,c,d, 'c','p','i','l'))
-        return ATOM_COMPILATION;
-    else if (mp4ff_atom_compare(a,b,c,d, 'c','t','t','s'))
-        return ATOM_CTTS;
-    else if (mp4ff_atom_compare(a,b,c,d, 'd','r','m','s'))
-        return ATOM_DRMS;
-    else if (mp4ff_atom_compare(a,b,c,d, 'f','r','m','a'))
-        return ATOM_FRMA;
-    else if (mp4ff_atom_compare(a,b,c,d, 'p','r','i','v'))
-        return ATOM_PRIV;
-    else if (mp4ff_atom_compare(a,b,c,d, 'i','v','i','v'))
-        return ATOM_IVIV;
-    else if (mp4ff_atom_compare(a,b,c,d, 'u','s','e','r'))
-        return ATOM_USER;
-    else if (mp4ff_atom_compare(a,b,c,d, 'k','e','y',' '))
-        return ATOM_KEY;
-    else
-        return ATOM_UNKNOWN;
-}
-
-/* read atom header, return atom size, atom size is with header included */
-uint64_t mp4ff_atom_read_header(mp4ff_t *f, uint8_t *atom_type, uint8_t *header_size)
-{
-    uint64_t size;
-    int32_t ret;
-    int8_t atom_header[8];
-
-    ret = mp4ff_read_data(f, atom_header, 8);
-    if (ret != 8)
-        return 0;
-
-    size = mp4ff_atom_get_size(atom_header);
-    *header_size = 8;
-
-    /* check for 64 bit atom size */
-    if (size == 1)
-    {
-        *header_size = 16;
-        size = mp4ff_read_int64(f);
-    }
-
-    //printf("%c%c%c%c\n", atom_header[4], atom_header[5], atom_header[6], atom_header[7]);
-
-    *atom_type = mp4ff_atom_name_to_type(atom_header[4], atom_header[5], atom_header[6], atom_header[7]);
-
-    return size;
-}
-
-static int32_t mp4ff_read_stsz(mp4ff_t *f)
-{
-    mp4ff_read_char(f); /* version */
-    mp4ff_read_int24(f); /* flags */
-    f->track[f->total_tracks - 1]->stsz_sample_size = mp4ff_read_int32(f);
-    f->track[f->total_tracks - 1]->stsz_sample_count = mp4ff_read_int32(f);
-
-    if (f->track[f->total_tracks - 1]->stsz_sample_size == 0)
-    {
-        int32_t i;
-        f->track[f->total_tracks - 1]->stsz_table =
-            (int32_t*)malloc(f->track[f->total_tracks - 1]->stsz_sample_count*sizeof(int32_t));
-
-        for (i = 0; i < f->track[f->total_tracks - 1]->stsz_sample_count; i++)
-        {
-            f->track[f->total_tracks - 1]->stsz_table[i] = mp4ff_read_int32(f);
-        }
-    }
-
-    return 0;
-}
-
-static int32_t mp4ff_read_esds(mp4ff_t *f)
-{
-    uint8_t tag;
-    uint32_t temp;
-
-    mp4ff_read_char(f); /* version */
-    mp4ff_read_int24(f); /* flags */
-
-    /* get and verify ES_DescrTag */
-    tag = mp4ff_read_char(f);
-    if (tag == 0x03)
-    {
-        /* read length */
-        if (mp4ff_read_mp4_descr_length(f) < 5 + 15)
-        {
-            return 1;
-        }
-        /* skip 3 bytes */
-        mp4ff_read_int24(f);
-    } else {
-        /* skip 2 bytes */
-        mp4ff_read_int16(f);
-    }
-
-    /* get and verify DecoderConfigDescrTab */
-    if (mp4ff_read_char(f) != 0x04)
-    {
-        return 1;
-    }
-
-    /* read length */
-    temp = mp4ff_read_mp4_descr_length(f);
-    if (temp < 13) return 1;
-
-    f->track[f->total_tracks - 1]->audioType = mp4ff_read_char(f);
-    mp4ff_read_int32(f);//0x15000414 ????
-    f->track[f->total_tracks - 1]->maxBitrate = mp4ff_read_int32(f);
-    f->track[f->total_tracks - 1]->avgBitrate = mp4ff_read_int32(f);
-
-    /* get and verify DecSpecificInfoTag */
-    if (mp4ff_read_char(f) != 0x05)
-    {
-        return 1;
-    }
-
-    /* read length */
-    f->track[f->total_tracks - 1]->decoderConfigLen = mp4ff_read_mp4_descr_length(f);
-
-    if (f->track[f->total_tracks - 1]->decoderConfig)
-        free(f->track[f->total_tracks - 1]->decoderConfig);
-    f->track[f->total_tracks - 1]->decoderConfig = malloc(f->track[f->total_tracks - 1]->decoderConfigLen);
-    if (f->track[f->total_tracks - 1]->decoderConfig)
-    {
-        mp4ff_read_data(f, f->track[f->total_tracks - 1]->decoderConfig, f->track[f->total_tracks - 1]->decoderConfigLen);
-    } else {
-        f->track[f->total_tracks - 1]->decoderConfigLen = 0;
-    }
-
-    /* will skip the remainder of the atom */
-    return 0;
-}
-
-static int32_t mp4ff_read_mp4a(mp4ff_t *f)
-{
-    uint64_t size;
-    int32_t i;
-    uint8_t atom_type = 0;
-    uint8_t header_size = 0;
-
-    for (i = 0; i < 6; i++)
-    {
-        mp4ff_read_char(f); /* reserved */
-    }
-    /* data_reference_index */ mp4ff_read_int16(f);
-
-    mp4ff_read_int32(f); /* reserved */
-    mp4ff_read_int32(f); /* reserved */
-
-    f->track[f->total_tracks - 1]->channelCount = mp4ff_read_int16(f);
-    f->track[f->total_tracks - 1]->sampleSize = mp4ff_read_int16(f);
-
-    mp4ff_read_int16(f);
-    mp4ff_read_int16(f);
-
-    f->track[f->total_tracks - 1]->sampleRate = mp4ff_read_int16(f);
-
-    mp4ff_read_int16(f);
-
-    size = mp4ff_atom_read_header(f, &atom_type, &header_size);
-    if (atom_type == ATOM_ESDS)
-    {
-        mp4ff_read_esds(f);
-    }
-
-    return 0;
-}
-
-#ifdef ITUNES_DRM
-char *GetHomeDir( void )
-{
-    char *p_tmp, *p_homedir = NULL;
-
-#if defined(HAVE_GETPWUID)
-    struct passwd *p_pw = NULL;
-#endif
-
-#if defined(_WIN32) || defined(UNDER_CE)
-    typedef HRESULT (WINAPI *SHGETFOLDERPATH)( HWND, int, HANDLE, DWORD,
-                                               LPSTR );
-#   define CSIDL_FLAG_CREATE 0x8000
-#   define CSIDL_APPDATA 0x1A
-#   define SHGFP_TYPE_CURRENT 0
-
-    HINSTANCE shfolder_dll;
-    SHGETFOLDERPATH SHGetFolderPath ;
-    /* load the shfolder dll to retrieve SHGetFolderPath */
-    if( ( shfolder_dll = LoadLibrary( _T("SHFolder.dll") ) ) != NULL )
-    {
-        SHGetFolderPath = (void *)GetProcAddress( shfolder_dll,
-                                                  _T("SHGetFolderPathA") );
-        if ( SHGetFolderPath != NULL )
-        {
-            p_homedir = (char *)malloc( MAX_PATH );
-            if( !p_homedir )
-            {
-                return NULL;
-            }
-
-            /* get the "Application Data" folder for the current user */
-            if( S_OK == SHGetFolderPath( NULL,
-                                         CSIDL_APPDATA | CSIDL_FLAG_CREATE,
-                                         NULL, SHGFP_TYPE_CURRENT,
-                                         p_homedir ) )
-            {
-                FreeLibrary( shfolder_dll );
-                return p_homedir;
-            }
-            free( p_homedir );
-        }
-        FreeLibrary( shfolder_dll );
-    }
-#endif
-
-#if defined(HAVE_GETPWUID)
-    if( ( p_pw = getpwuid( getuid() ) ) == NULL )
-#endif
-    {
-        if( ( p_tmp = getenv( "HOME" ) ) == NULL )
-        {
-            if( ( p_tmp = getenv( "TMP" ) ) == NULL )
-            {
-                p_tmp = "/tmp";
-            }
-        }
-
-        p_homedir = strdup( p_tmp );
-    }
-#if defined(HAVE_GETPWUID)
-    else
-    {
-        p_homedir = strdup( p_pw->pw_dir );
-    }
-#endif
-
-    return p_homedir;
-}
-
-static int32_t mp4ff_read_drms(mp4ff_t *f, uint64_t skip)
-{
-    uint64_t size;
-    int32_t i;
-    uint8_t atom_type = 0;
-    uint8_t header_size = 0;
-
-    f->track[f->total_tracks - 1]->p_drms = drms_alloc( GetHomeDir() );
-
-    for (i = 0; i < 6; i++)
-    {
-        mp4ff_read_char(f); /* reserved */
-    }
-    /* data_reference_index */ mp4ff_read_int16(f);
-
-    mp4ff_read_int32(f); /* reserved */
-    mp4ff_read_int32(f); /* reserved */
-
-    f->track[f->total_tracks - 1]->channelCount = mp4ff_read_int16(f);
-    f->track[f->total_tracks - 1]->sampleSize = mp4ff_read_int16(f);
-
-    mp4ff_read_int16(f);
-    mp4ff_read_int16(f);
-
-    f->track[f->total_tracks - 1]->sampleRate = mp4ff_read_int16(f);
-
-    mp4ff_read_int16(f);
-
-    size = mp4ff_atom_read_header(f, &atom_type, &header_size);
-    if (atom_type == ATOM_ESDS)
-    {
-        mp4ff_read_esds(f);
-    }
-    mp4ff_set_position(f, skip+size+28);
-
-    size = mp4ff_atom_read_header(f, &atom_type, &header_size);
-    if (atom_type == ATOM_SINF)
-    {
-        parse_sub_atoms(f, size-header_size,0);
-    }
-
-    return 0;
-}
-
-static int32_t mp4ff_read_frma(mp4ff_t *f)
-{
-    uint8_t atom_type;
-    int8_t type[4];
-
-    mp4ff_read_data(f, type, 4);
-
-    atom_type = mp4ff_atom_name_to_type(type[0], type[1], type[2], type[3]);
-
-    if (atom_type == ATOM_MP4A)
-    {
-        f->track[f->total_tracks - 1]->type = TRACK_AUDIO;
-    } else if (atom_type == ATOM_MP4V) {
-        f->track[f->total_tracks - 1]->type = TRACK_VIDEO;
-    } else if (atom_type == ATOM_MP4S) {
-        f->track[f->total_tracks - 1]->type = TRACK_SYSTEM;
-    } else {
-        f->track[f->total_tracks - 1]->type = TRACK_UNKNOWN;
-    }
-
-    return 0;
-}
-
-static int32_t mp4ff_read_name(mp4ff_t *f, uint64_t size)
-{
-    uint8_t *data = malloc(size);
-    mp4ff_read_data(f, data, size);
-
-    if (f->track[f->total_tracks - 1]->p_drms != NULL)
-    {
-        drms_init(f->track[f->total_tracks - 1]->p_drms,
-            FOURCC_name, data, strlen(data) );
-    }
-
-    if (data)
-        free(data);
-
-    return 0;
-}
-
-static int32_t mp4ff_read_priv(mp4ff_t *f, uint64_t size)
-{
-    uint8_t *data = malloc(size);
-    mp4ff_read_data(f, data, size);
-
-    if (f->track[f->total_tracks - 1]->p_drms != 0)
-    {
-        drms_init(f->track[f->total_tracks - 1]->p_drms,
-            FOURCC_priv, data, size );
-    }
-
-    if (data)
-        free(data);
-
-    return 0;
-}
-
-static int32_t mp4ff_read_iviv(mp4ff_t *f, uint64_t size)
-{
-    uint8_t *data = malloc(size);
-    mp4ff_read_data(f, data, size);
-
-    if (f->track[f->total_tracks - 1]->p_drms != 0)
-    {
-        drms_init(f->track[f->total_tracks - 1]->p_drms,
-            FOURCC_iviv, data, sizeof(uint32_t) * 4 );
-    }
-
-    if (data)
-        free(data);
-
-    return 0;
-}
-
-static int32_t mp4ff_read_user(mp4ff_t *f, uint64_t size)
-{
-    uint8_t *data = malloc(size);
-    mp4ff_read_data(f, data, size);
-
-    if (f->track[f->total_tracks - 1]->p_drms != 0)
-    {
-        drms_init(f->track[f->total_tracks - 1]->p_drms,
-            FOURCC_user, data, size );
-    }
-
-    if (data)
-        free(data);
-
-    return 0;
-}
-
-static int32_t mp4ff_read_key(mp4ff_t *f, uint64_t size)
-{
-    uint8_t *data = malloc(size);
-    mp4ff_read_data(f, data, size);
-
-    if (f->track[f->total_tracks - 1]->p_drms != 0)
-    {
-        drms_init(f->track[f->total_tracks - 1]->p_drms,
-            FOURCC_key, data, size );
-    }
-
-    if (data)
-        free(data);
-
-    return 0;
-}
-#endif
-
-static int32_t mp4ff_read_stsd(mp4ff_t *f)
-{
-    int32_t i;
-    uint8_t header_size = 0;
-
-    mp4ff_read_char(f); /* version */
-    mp4ff_read_int24(f); /* flags */
-
-    f->track[f->total_tracks - 1]->stsd_entry_count = mp4ff_read_int32(f);
-
-    for (i = 0; i < f->track[f->total_tracks - 1]->stsd_entry_count; i++)
-    {
-        uint64_t skip = mp4ff_position(f);
-        uint64_t size;
-        uint8_t atom_type = 0;
-        size = mp4ff_atom_read_header(f, &atom_type, &header_size);
-        skip += size;
-
-        if (atom_type == ATOM_MP4A)
-        {
-            f->track[f->total_tracks - 1]->type = TRACK_AUDIO;
-            mp4ff_read_mp4a(f);
-        } else if (atom_type == ATOM_MP4V) {
-            f->track[f->total_tracks - 1]->type = TRACK_VIDEO;
-        } else if (atom_type == ATOM_MP4S) {
-            f->track[f->total_tracks - 1]->type = TRACK_SYSTEM;
-#ifdef ITUNES_DRM
-        } else if (atom_type == ATOM_DRMS) {
-            // track type is read from the "frma" atom
-            f->track[f->total_tracks - 1]->type = TRACK_UNKNOWN;
-            mp4ff_read_drms(f, skip-size+header_size);
-#endif
-        } else {
-            f->track[f->total_tracks - 1]->type = TRACK_UNKNOWN;
-        }
-
-        mp4ff_set_position(f, skip);
-    }
-
-    return 0;
-}
-
-static int32_t mp4ff_read_stsc(mp4ff_t *f)
-{
-    int32_t i;
-
-    mp4ff_read_char(f); /* version */
-    mp4ff_read_int24(f); /* flags */
-    f->track[f->total_tracks - 1]->stsc_entry_count = mp4ff_read_int32(f);
-
-    f->track[f->total_tracks - 1]->stsc_first_chunk =
-        (int32_t*)malloc(f->track[f->total_tracks - 1]->stsc_entry_count*sizeof(int32_t));
-    f->track[f->total_tracks - 1]->stsc_samples_per_chunk =
-        (int32_t*)malloc(f->track[f->total_tracks - 1]->stsc_entry_count*sizeof(int32_t));
-    f->track[f->total_tracks - 1]->stsc_sample_desc_index =
-        (int32_t*)malloc(f->track[f->total_tracks - 1]->stsc_entry_count*sizeof(int32_t));
-
-    for (i = 0; i < f->track[f->total_tracks - 1]->stsc_entry_count; i++)
-    {
-        f->track[f->total_tracks - 1]->stsc_first_chunk[i] = mp4ff_read_int32(f);
-        f->track[f->total_tracks - 1]->stsc_samples_per_chunk[i] = mp4ff_read_int32(f);
-        f->track[f->total_tracks - 1]->stsc_sample_desc_index[i] = mp4ff_read_int32(f);
-    }
-
-    return 0;
-}
-
-static int32_t mp4ff_read_stco(mp4ff_t *f)
-{
-    int32_t i;
-
-    mp4ff_read_char(f); /* version */
-    mp4ff_read_int24(f); /* flags */
-    f->track[f->total_tracks - 1]->stco_entry_count = mp4ff_read_int32(f);
-
-    f->track[f->total_tracks - 1]->stco_chunk_offset =
-        (int32_t*)malloc(f->track[f->total_tracks - 1]->stco_entry_count*sizeof(int32_t));
-
-    for (i = 0; i < f->track[f->total_tracks - 1]->stco_entry_count; i++)
-    {
-        f->track[f->total_tracks - 1]->stco_chunk_offset[i] = mp4ff_read_int32(f);
-    }
-
-    return 0;
-}
-
-static int32_t mp4ff_read_ctts(mp4ff_t *f)
-{
-    int32_t i;
-    mp4ff_track_t * p_track = f->track[f->total_tracks - 1];
-
-    if (p_track->ctts_entry_count) return 0;
-
-    mp4ff_read_char(f); /* version */
-    mp4ff_read_int24(f); /* flags */
-    p_track->ctts_entry_count = mp4ff_read_int32(f);
-
-    p_track->ctts_sample_count = (int32_t*)malloc(p_track->ctts_entry_count * sizeof(int32_t));
-    p_track->ctts_sample_offset = (int32_t*)malloc(p_track->ctts_entry_count * sizeof(int32_t));
-
-    if (p_track->ctts_sample_count == 0 || p_track->ctts_sample_offset == 0)
-    {
-        if (p_track->ctts_sample_count) {free(p_track->ctts_sample_count);p_track->ctts_sample_count=0;}
-        if (p_track->ctts_sample_offset) {free(p_track->ctts_sample_offset);p_track->ctts_sample_offset=0;}
-        p_track->ctts_entry_count = 0;
-        return 0;
-    }
-    else
-    {
-        for (i = 0; i < f->track[f->total_tracks - 1]->ctts_entry_count; i++)
-        {
-            p_track->ctts_sample_count[i] = mp4ff_read_int32(f);
-            p_track->ctts_sample_offset[i] = mp4ff_read_int32(f);
-        }
-        return 1;
-    }
-}
-
-static int32_t mp4ff_read_stts(mp4ff_t *f)
-{
-    int32_t i;
-    mp4ff_track_t * p_track = f->track[f->total_tracks - 1];
-
-    if (p_track->stts_entry_count) return 0;
-
-    mp4ff_read_char(f); /* version */
-    mp4ff_read_int24(f); /* flags */
-    p_track->stts_entry_count = mp4ff_read_int32(f);
-
-    p_track->stts_sample_count = (int32_t*)malloc(p_track->stts_entry_count * sizeof(int32_t));
-    p_track->stts_sample_delta = (int32_t*)malloc(p_track->stts_entry_count * sizeof(int32_t));
-
-    if (p_track->stts_sample_count == 0 || p_track->stts_sample_delta == 0)
-    {
-        if (p_track->stts_sample_count) {free(p_track->stts_sample_count);p_track->stts_sample_count=0;}
-        if (p_track->stts_sample_delta) {free(p_track->stts_sample_delta);p_track->stts_sample_delta=0;}
-        p_track->stts_entry_count = 0;
-        return 0;
-    }
-    else
-    {
-        for (i = 0; i < f->track[f->total_tracks - 1]->stts_entry_count; i++)
-        {
-            p_track->stts_sample_count[i] = mp4ff_read_int32(f);
-            p_track->stts_sample_delta[i] = mp4ff_read_int32(f);
-        }
-        return 1;
-    }
-}
-
-static int32_t mp4ff_read_mvhd(mp4ff_t *f)
-{
-    int32_t i;
-
-    mp4ff_read_char(f); /* version */
-    mp4ff_read_int24(f); /* flags */
-    /* creation_time */ mp4ff_read_int32(f);
-    /* modification_time */ mp4ff_read_int32(f);
-    f->time_scale = mp4ff_read_int32(f);
-    f->duration = mp4ff_read_int32(f);
-    /* preferred_rate */ mp4ff_read_int32(f); /*mp4ff_read_fixed32(f);*/
-    /* preferred_volume */ mp4ff_read_int16(f); /*mp4ff_read_fixed16(f);*/
-    for (i = 0; i < 10; i++)
-    {
-        /* reserved */ mp4ff_read_char(f);
-    }
-    for (i = 0; i < 9; i++)
-    {
-        mp4ff_read_int32(f); /* matrix */
-    }
-    /* preview_time */ mp4ff_read_int32(f);
-    /* preview_duration */ mp4ff_read_int32(f);
-    /* poster_time */ mp4ff_read_int32(f);
-    /* selection_time */ mp4ff_read_int32(f);
-    /* selection_duration */ mp4ff_read_int32(f);
-    /* current_time */ mp4ff_read_int32(f);
-    /* next_track_id */ mp4ff_read_int32(f);
-
-    return 0;
-}
-
-#if 0
-static int32_t mp4ff_read_tkhd(mp4ff_t *f)
-{
-    uint8_t version;
-    uint32_t flags;
-    version = mp4ff_read_char(f); /* version */
-    flags = mp4ff_read_int24(f); /* flags */
-    if (version==1)
-    {
-        mp4ff_read_int64(f);//creation-time
-        mp4ff_read_int64(f);//modification-time
-        mp4ff_read_int32(f);//track-id
-        mp4ff_read_int32(f);//reserved
-        f->track[f->total_tracks - 1]->duration = mp4ff_read_int64(f);//duration
-    }
-    else //version == 0
-    {
-        mp4ff_read_int32(f);//creation-time
-        mp4ff_read_int32(f);//modification-time
-        mp4ff_read_int32(f);//track-id
-        mp4ff_read_int32(f);//reserved
-        f->track[f->total_tracks - 1]->duration = mp4ff_read_int32(f);//duration
-        if (f->track[f->total_tracks - 1]->duration == 0xFFFFFFFF)
-            f->track[f->total_tracks - 1]->duration = 0xFFFFFFFFFFFFFFFF;
-
-    }
-    mp4ff_read_int32(f);//reserved
-    mp4ff_read_int32(f);//reserved
-    mp4ff_read_int16(f);//layer
-    mp4ff_read_int16(f);//pre-defined
-    mp4ff_read_int16(f);//volume
-    mp4ff_read_int16(f);//reserved
-
-    //matrix
-    mp4ff_read_int32(f); mp4ff_read_int32(f); mp4ff_read_int32(f);
-    mp4ff_read_int32(f); mp4ff_read_int32(f); mp4ff_read_int32(f);
-    mp4ff_read_int32(f); mp4ff_read_int32(f); mp4ff_read_int32(f);
-    mp4ff_read_int32(f);//width
-    mp4ff_read_int32(f);//height
-    return 1;
-}
-#endif
-
-static int32_t mp4ff_read_mdhd(mp4ff_t *f)
-{
-    uint32_t version;
-
-    version = mp4ff_read_int32(f);
-    if (version==1)
-    {
-        mp4ff_read_int64(f);//creation-time
-        mp4ff_read_int64(f);//modification-time
-        f->track[f->total_tracks - 1]->timeScale = mp4ff_read_int32(f);//timescale
-        f->track[f->total_tracks - 1]->duration = mp4ff_read_int64(f);//duration
-    }
-    else //version == 0
-    {
-        uint32_t temp;
-
-        mp4ff_read_int32(f);//creation-time
-        mp4ff_read_int32(f);//modification-time
-        f->track[f->total_tracks - 1]->timeScale = mp4ff_read_int32(f);//timescale
-        temp = mp4ff_read_int32(f);
-        f->track[f->total_tracks - 1]->duration = (temp == (uint32_t)(-1)) ? (uint64_t)(-1) : (uint64_t)(temp);
-    }
-    mp4ff_read_int16(f);
-    mp4ff_read_int16(f);
-    return 1;
-}
-#ifdef USE_TAGGING
-static int32_t mp4ff_read_meta(mp4ff_t *f, const uint64_t size)
-{
-    uint64_t subsize, sumsize = 0;
-    uint8_t atom_type;
-    uint8_t header_size = 0;
-
-    mp4ff_read_char(f); /* version */
-    mp4ff_read_int24(f); /* flags */
-
-    while (sumsize < (size-(header_size+4)))
-    {
-        subsize = mp4ff_atom_read_header(f, &atom_type, &header_size);
-        if (subsize <= header_size+4)
-            return 1;
-        if (atom_type == ATOM_ILST)
-        {
-            mp4ff_parse_metadata(f, (uint32_t)(subsize-(header_size+4)));
-        } else {
-            mp4ff_set_position(f, mp4ff_position(f)+subsize-header_size);
-        }
-        sumsize += subsize;
-    }
-
-    return 0;
-}
-#endif
-
-int32_t mp4ff_atom_read(mp4ff_t *f, const int32_t size, const uint8_t atom_type)
-{
-    uint64_t dest_position = mp4ff_position(f)+size-8;
-    if (atom_type == ATOM_STSZ)
-    {
-        /* sample size box */
-        mp4ff_read_stsz(f);
-    } else if (atom_type == ATOM_STTS) {
-        /* time to sample box */
-        mp4ff_read_stts(f);
-    } else if (atom_type == ATOM_CTTS) {
-        /* composition offset box */
-        mp4ff_read_ctts(f);
-    } else if (atom_type == ATOM_STSC) {
-        /* sample to chunk box */
-        mp4ff_read_stsc(f);
-    } else if (atom_type == ATOM_STCO) {
-        /* chunk offset box */
-        mp4ff_read_stco(f);
-    } else if (atom_type == ATOM_STSD) {
-        /* sample description box */
-        mp4ff_read_stsd(f);
-    } else if (atom_type == ATOM_MVHD) {
-        /* movie header box */
-        mp4ff_read_mvhd(f);
-    } else if (atom_type == ATOM_MDHD) {
-        /* track header */
-        mp4ff_read_mdhd(f);
-#ifdef ITUNES_DRM
-    } else if (atom_type == ATOM_FRMA) {
-        /* DRM track format */
-        mp4ff_read_frma(f);
-    } else if (atom_type == ATOM_IVIV) {
-        mp4ff_read_iviv(f, size-8);
-    } else if (atom_type == ATOM_NAME) {
-        mp4ff_read_name(f, size-8);
-    } else if (atom_type == ATOM_PRIV) {
-        mp4ff_read_priv(f, size-8);
-    } else if (atom_type == ATOM_USER) {
-        mp4ff_read_user(f, size-8);
-    } else if (atom_type == ATOM_KEY) {
-        mp4ff_read_key(f, size-8);
-#endif
-#ifdef USE_TAGGING
-    } else if (atom_type == ATOM_META) {
-        /* iTunes Metadata box */
-        mp4ff_read_meta(f, size);
-#endif
-    }
-
-    mp4ff_set_position(f, dest_position);
-
-
-    return 0;
-}
diff --git a/lib/libfaad2/common/mp4ff/mp4ff.c b/lib/libfaad2/common/mp4ff/mp4ff.c
deleted file mode 100644 (file)
index 370b15c..0000000
+++ /dev/null
@@ -1,477 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mp4ff.c,v 1.20 2007/11/01 12:33:29 menno Exp $
-**/
-
-#include <stdlib.h>
-#include <string.h>
-#include "mp4ffint.h"
-
-#include "drms.h"
-
-mp4ff_t *mp4ff_open_read(mp4ff_callback_t *f)
-{
-    mp4ff_t *ff = malloc(sizeof(mp4ff_t));
-
-    memset(ff, 0, sizeof(mp4ff_t));
-
-    ff->stream = f;
-
-    parse_atoms(ff,0);
-
-    return ff;
-}
-
-mp4ff_t *mp4ff_open_read_metaonly(mp4ff_callback_t *f)
-{
-    mp4ff_t *ff = malloc(sizeof(mp4ff_t));
-
-    memset(ff, 0, sizeof(mp4ff_t));
-
-    ff->stream = f;
-
-    parse_atoms(ff,1);
-
-    return ff;
-}
-
-void mp4ff_close(mp4ff_t *ff)
-{
-    int32_t i;
-
-    for (i = 0; i < ff->total_tracks; i++)
-    {
-        if (ff->track[i])
-        {
-            if (ff->track[i]->stsz_table)
-                free(ff->track[i]->stsz_table);
-            if (ff->track[i]->stts_sample_count)
-                free(ff->track[i]->stts_sample_count);
-            if (ff->track[i]->stts_sample_delta)
-                free(ff->track[i]->stts_sample_delta);
-            if (ff->track[i]->stsc_first_chunk)
-                free(ff->track[i]->stsc_first_chunk);
-            if (ff->track[i]->stsc_samples_per_chunk)
-                free(ff->track[i]->stsc_samples_per_chunk);
-            if (ff->track[i]->stsc_sample_desc_index)
-                free(ff->track[i]->stsc_sample_desc_index);
-            if (ff->track[i]->stco_chunk_offset)
-                free(ff->track[i]->stco_chunk_offset);
-            if (ff->track[i]->decoderConfig)
-                free(ff->track[i]->decoderConfig);
-                       if (ff->track[i]->ctts_sample_count)
-                               free(ff->track[i]->ctts_sample_count);
-                       if (ff->track[i]->ctts_sample_offset)
-                               free(ff->track[i]->ctts_sample_offset);
-#ifdef ITUNES_DRM
-            if (ff->track[i]->p_drms)
-                drms_free(ff->track[i]->p_drms);
-#endif
-            free(ff->track[i]);
-        }
-    }
-
-#ifdef USE_TAGGING
-    mp4ff_tag_delete(&(ff->tags));
-#endif
-
-    if (ff) free(ff);
-}
-
-static void mp4ff_track_add(mp4ff_t *f)
-{
-    f->total_tracks++;
-
-    f->track[f->total_tracks - 1] = malloc(sizeof(mp4ff_track_t));
-
-    memset(f->track[f->total_tracks - 1], 0, sizeof(mp4ff_track_t));
-}
-
-static int need_parse_when_meta_only(uint8_t atom_type)
-{
-       switch(atom_type)
-       {
-       case ATOM_EDTS:
-//     case ATOM_MDIA:
-//     case ATOM_MINF:
-       case ATOM_DRMS:
-       case ATOM_SINF:
-       case ATOM_SCHI:
-//     case ATOM_STBL:
-//     case ATOM_STSD:
-       case ATOM_STTS:
-       case ATOM_STSZ:
-       case ATOM_STZ2:
-       case ATOM_STCO:
-       case ATOM_STSC:
-//     case ATOM_CTTS:
-       case ATOM_FRMA:
-       case ATOM_IVIV:
-       case ATOM_PRIV:
-               return 0;
-       default:
-               return 1;
-       }
-}
-
-/* parse atoms that are sub atoms of other atoms */
-int32_t parse_sub_atoms(mp4ff_t *f, const uint64_t total_size,int meta_only)
-{
-    uint64_t size;
-    uint8_t atom_type = 0;
-    uint64_t counted_size = 0;
-    uint8_t header_size = 0;
-
-    while (counted_size < total_size)
-    {
-        size = mp4ff_atom_read_header(f, &atom_type, &header_size);
-        counted_size += size;
-
-        /* check for end of file */
-        if (size == 0)
-            break;
-
-        /* we're starting to read a new track, update index,
-         * so that all data and tables get written in the right place
-         */
-        if (atom_type == ATOM_TRAK)
-        {
-            mp4ff_track_add(f);
-        }
-
-        /* parse subatoms */
-               if (meta_only && !need_parse_when_meta_only(atom_type))
-               {
-                       mp4ff_set_position(f, mp4ff_position(f)+size-header_size);
-               } else if (atom_type < SUBATOMIC)
-        {
-            parse_sub_atoms(f, size-header_size,meta_only);
-        } else {
-            mp4ff_atom_read(f, (uint32_t)size, atom_type);
-        }
-    }
-
-    return 0;
-}
-
-/* parse root atoms */
-int32_t parse_atoms(mp4ff_t *f,int meta_only)
-{
-    uint64_t size;
-    uint8_t atom_type = 0;
-    uint8_t header_size = 0;
-
-    f->file_size = 0;
-
-    while ((size = mp4ff_atom_read_header(f, &atom_type, &header_size)) != 0)
-    {
-        f->file_size += size;
-        f->last_atom = atom_type;
-
-        if (atom_type == ATOM_MDAT && f->moov_read)
-        {
-            /* moov atom is before mdat, we can stop reading when mdat is encountered */
-            /* file position will stay at beginning of mdat data */
-//            break;
-        }
-
-        if (atom_type == ATOM_MOOV && size > header_size)
-        {
-            f->moov_read = 1;
-            f->moov_offset = mp4ff_position(f)-header_size;
-            f->moov_size = size;
-        }
-
-        /* parse subatoms */
-               if (meta_only && !need_parse_when_meta_only(atom_type))
-               {
-                       mp4ff_set_position(f, mp4ff_position(f)+size-header_size);
-               } else if (atom_type < SUBATOMIC)
-        {
-            parse_sub_atoms(f, size-header_size,meta_only);
-        } else {
-            /* skip this atom */
-            mp4ff_set_position(f, mp4ff_position(f)+size-header_size);
-        }
-    }
-
-    return 0;
-}
-
-int32_t mp4ff_get_decoder_config(const mp4ff_t *f, const int32_t track,
-                                 uint8_t** ppBuf, uint32_t* pBufSize)
-{
-    if (track >= f->total_tracks)
-    {
-        *ppBuf = NULL;
-        *pBufSize = 0;
-        return 1;
-    }
-
-    if (f->track[track]->decoderConfig == NULL || f->track[track]->decoderConfigLen == 0)
-    {
-        *ppBuf = NULL;
-        *pBufSize = 0;
-    } else {
-        *ppBuf = malloc(f->track[track]->decoderConfigLen);
-        if (*ppBuf == NULL)
-        {
-            *pBufSize = 0;
-            return 1;
-        }
-        memcpy(*ppBuf, f->track[track]->decoderConfig, f->track[track]->decoderConfigLen);
-        *pBufSize = f->track[track]->decoderConfigLen;
-    }
-
-    return 0;
-}
-
-int32_t mp4ff_get_track_type(const mp4ff_t *f, const int track)
-{
-       return f->track[track]->type;
-}
-
-int32_t mp4ff_total_tracks(const mp4ff_t *f)
-{
-    return f->total_tracks;
-}
-
-int32_t mp4ff_time_scale(const mp4ff_t *f, const int32_t track)
-{
-    return f->track[track]->timeScale;
-}
-
-uint32_t mp4ff_get_avg_bitrate(const mp4ff_t *f, const int32_t track)
-{
-       return f->track[track]->avgBitrate;
-}
-
-uint32_t mp4ff_get_max_bitrate(const mp4ff_t *f, const int32_t track)
-{
-       return f->track[track]->maxBitrate;
-}
-
-int64_t mp4ff_get_track_duration(const mp4ff_t *f, const int32_t track)
-{
-       return f->track[track]->duration;
-}
-
-int64_t mp4ff_get_track_duration_use_offsets(const mp4ff_t *f, const int32_t track)
-{
-       int64_t duration = mp4ff_get_track_duration(f,track);
-       if (duration!=-1)
-       {
-               int64_t offset = mp4ff_get_sample_offset(f,track,0);
-               if (offset > duration) duration = 0;
-               else duration -= offset;
-       }
-       return duration;
-}
-
-
-int32_t mp4ff_num_samples(const mp4ff_t *f, const int32_t track)
-{
-    int32_t i;
-    int32_t total = 0;
-
-    for (i = 0; i < f->track[track]->stts_entry_count; i++)
-    {
-        total += f->track[track]->stts_sample_count[i];
-    }
-    return total;
-}
-
-
-
-
-uint32_t mp4ff_get_sample_rate(const mp4ff_t *f, const int32_t track)
-{
-       return f->track[track]->sampleRate;
-}
-
-uint32_t mp4ff_get_channel_count(const mp4ff_t * f,const int32_t track)
-{
-       return f->track[track]->channelCount;
-}
-
-uint32_t mp4ff_get_audio_type(const mp4ff_t * f,const int32_t track)
-{
-       return f->track[track]->audioType;
-}
-
-int32_t mp4ff_get_sample_duration_use_offsets(const mp4ff_t *f, const int32_t track, const int32_t sample)
-{
-       int32_t d,o;
-       d = mp4ff_get_sample_duration(f,track,sample);
-       if (d!=-1)
-       {
-               o = mp4ff_get_sample_offset(f,track,sample);
-               if (o>d) d = 0;
-               else d -= o;
-       }
-       return d;
-}
-
-int32_t mp4ff_get_sample_duration(const mp4ff_t *f, const int32_t track, const int32_t sample)
-{
-    int32_t i, co = 0;
-
-    for (i = 0; i < f->track[track]->stts_entry_count; i++)
-    {
-               int32_t delta = f->track[track]->stts_sample_count[i];
-               if (sample < co + delta)
-                       return f->track[track]->stts_sample_delta[i];
-               co += delta;
-    }
-    return (int32_t)(-1);
-}
-
-int64_t mp4ff_get_sample_position(const mp4ff_t *f, const int32_t track, const int32_t sample)
-{
-    int32_t i, co = 0;
-       int64_t acc = 0;
-
-    for (i = 0; i < f->track[track]->stts_entry_count; i++)
-    {
-               int32_t delta = f->track[track]->stts_sample_count[i];
-               if (sample < co + delta)
-               {
-                       acc += f->track[track]->stts_sample_delta[i] * (sample - co);
-                       return acc;
-               }
-               else
-               {
-                       acc += f->track[track]->stts_sample_delta[i] * delta;
-               }
-               co += delta;
-    }
-    return (int64_t)(-1);
-}
-
-int32_t mp4ff_get_sample_offset(const mp4ff_t *f, const int32_t track, const int32_t sample)
-{
-    int32_t i, co = 0;
-
-    for (i = 0; i < f->track[track]->ctts_entry_count; i++)
-    {
-               int32_t delta = f->track[track]->ctts_sample_count[i];
-               if (sample < co + delta)
-                       return f->track[track]->ctts_sample_offset[i];
-               co += delta;
-    }
-    return 0;
-}
-
-int32_t mp4ff_find_sample(const mp4ff_t *f, const int32_t track, const int64_t offset,int32_t * toskip)
-{
-       int32_t i, co = 0;
-       int64_t offset_total = 0;
-       mp4ff_track_t * p_track = f->track[track];
-
-       for (i = 0; i < p_track->stts_entry_count; i++)
-       {
-               int32_t sample_count = p_track->stts_sample_count[i];
-               int32_t sample_delta = p_track->stts_sample_delta[i];
-               int64_t offset_delta = (int64_t)sample_delta * (int64_t)sample_count;
-               if (offset < offset_total + offset_delta)
-               {
-                       int64_t offset_fromstts = offset - offset_total;
-                       if (toskip) *toskip = (int32_t)(offset_fromstts % sample_delta);
-                       return co + (int32_t)(offset_fromstts / sample_delta);
-               }
-               else
-               {
-                       offset_total += offset_delta;
-               }
-               co += sample_count;
-       }
-       return (int32_t)(-1);
-}
-
-int32_t mp4ff_find_sample_use_offsets(const mp4ff_t *f, const int32_t track, const int64_t offset,int32_t * toskip)
-{
-       return mp4ff_find_sample(f,track,offset + mp4ff_get_sample_offset(f,track,0),toskip);
-}
-
-int32_t mp4ff_read_sample(mp4ff_t *f, const int32_t track, const int32_t sample,
-                          uint8_t **audio_buffer,  uint32_t *bytes)
-{
-    int32_t result = 0;
-
-    *bytes = mp4ff_audio_frame_size(f, track, sample);
-
-       if (*bytes==0) return 0;
-
-    *audio_buffer = (uint8_t*)malloc(*bytes);
-
-    mp4ff_set_sample_position(f, track, sample);
-
-    result = mp4ff_read_data(f, *audio_buffer, *bytes);
-
-    if (!result)
-       {
-               free(*audio_buffer);
-               *audio_buffer = 0;
-        return 0;
-       }
-
-#ifdef ITUNES_DRM
-    if (f->track[track]->p_drms != NULL)
-    {
-        drms_decrypt(f->track[track]->p_drms, (uint32_t*)*audio_buffer, *bytes);
-    }
-#endif
-
-    return *bytes;
-}
-
-
-int32_t mp4ff_read_sample_v2(mp4ff_t *f, const int track, const int sample,unsigned char *buffer)
-{
-    int32_t result = 0;
-       int32_t size = mp4ff_audio_frame_size(f,track,sample);
-       if (size<=0) return 0;
-       mp4ff_set_sample_position(f, track, sample);
-       result = mp4ff_read_data(f,buffer,size);
-
-#ifdef ITUNES_DRM
-    if (f->track[track]->p_drms != NULL)
-    {
-        drms_decrypt(f->track[track]->p_drms, (uint32_t*)buffer, size);
-    }
-#endif
-
-    return result;
-}
-
-int32_t mp4ff_read_sample_getsize(mp4ff_t *f, const int track, const int sample)
-{
-       int32_t temp = mp4ff_audio_frame_size(f, track, sample);
-       if (temp<0) temp = 0;
-       return temp;
-}
diff --git a/lib/libfaad2/common/mp4ff/mp4ff.dsp b/lib/libfaad2/common/mp4ff/mp4ff.dsp
deleted file mode 100644 (file)
index e3a2d08..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-# Microsoft Developer Studio Project File - Name="mp4ff" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=mp4ff - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "mp4ff.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "mp4ff.mak" CFG="mp4ff - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "mp4ff - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "mp4ff - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=xicl6.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "mp4ff - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-F90=df.exe
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /O1 /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "USE_TAGGING" /YX /FD /c
-# ADD BASE RSC /l 0x413 /d "NDEBUG"
-# ADD RSC /l 0x413 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=xilink6.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF  "$(CFG)" == "mp4ff - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-F90=df.exe
-MTL=midl.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "USE_TAGGING" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x413 /d "_DEBUG"
-# ADD RSC /l 0x413 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=xilink6.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF 
-
-# Begin Target
-
-# Name "mp4ff - Win32 Release"
-# Name "mp4ff - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\drms.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4atom.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4ff.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4meta.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4sample.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4tagupdate.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4util.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\drms.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\drmstables.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4ff.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4ff_int_types.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4ffint.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/lib/libfaad2/common/mp4ff/mp4ff.h b/lib/libfaad2/common/mp4ff/mp4ff.h
deleted file mode 100644 (file)
index 5e8c661..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mp4ff.h,v 1.26 2007/11/01 12:33:29 menno Exp $
-**/
-
-#ifndef MP4FF_H
-#define MP4FF_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#include "mp4ff_int_types.h"
-
-/* file callback structure */
-typedef struct
-{
-    uint32_t (*read)(void *user_data, void *buffer, uint32_t length);
-    uint32_t (*write)(void *udata, void *buffer, uint32_t length);
-    uint32_t (*seek)(void *user_data, uint64_t position);
-       uint32_t (*truncate)(void *user_data);
-    void *user_data;
-} mp4ff_callback_t;
-
-/* mp4 main file structure */
-typedef void* mp4ff_t;
-
-
-/* API */
-
-mp4ff_t *mp4ff_open_read(mp4ff_callback_t *f);
-mp4ff_t *mp4ff_open_read_metaonly(mp4ff_callback_t *f);
-void mp4ff_close(mp4ff_t *f);
-int32_t mp4ff_get_sample_duration(const mp4ff_t *f, const int32_t track, const int32_t sample);
-int32_t mp4ff_get_sample_duration_use_offsets(const mp4ff_t *f, const int32_t track, const int32_t sample);
-int64_t mp4ff_get_sample_position(const mp4ff_t *f, const int32_t track, const int32_t sample);
-int32_t mp4ff_get_sample_offset(const mp4ff_t *f, const int32_t track, const int32_t sample);
-int32_t mp4ff_find_sample(const mp4ff_t *f, const int32_t track, const int64_t offset,int32_t * toskip);
-int32_t mp4ff_find_sample_use_offsets(const mp4ff_t *f, const int32_t track, const int64_t offset,int32_t * toskip);
-
-int32_t mp4ff_read_sample(mp4ff_t *f, const int track, const int sample,
-                          unsigned char **audio_buffer,  unsigned int *bytes);
-
-int32_t mp4ff_read_sample_v2(mp4ff_t *f, const int track, const int sample,unsigned char *buffer);//returns 0 on error, number of bytes read on success, use mp4ff_read_sample_getsize() to check buffer size needed
-int32_t mp4ff_read_sample_getsize(mp4ff_t *f, const int track, const int sample);//returns 0 on error, buffer size needed for mp4ff_read_sample_v2() on success
-
-
-
-int32_t mp4ff_get_decoder_config(const mp4ff_t *f, const int track,
-                             unsigned char** ppBuf, unsigned int* pBufSize);
-int32_t mp4ff_get_track_type(const mp4ff_t *f, const int track);
-int32_t mp4ff_total_tracks(const mp4ff_t *f);
-int32_t mp4ff_num_samples(const mp4ff_t *f, const int track);
-int32_t mp4ff_time_scale(const mp4ff_t *f, const int track);
-
-uint32_t mp4ff_get_avg_bitrate(const mp4ff_t *f, const int32_t track);
-uint32_t mp4ff_get_max_bitrate(const mp4ff_t *f, const int32_t track);
-int64_t mp4ff_get_track_duration(const mp4ff_t *f, const int32_t track); //returns (-1) if unknown
-int64_t mp4ff_get_track_duration_use_offsets(const mp4ff_t *f, const int32_t track); //returns (-1) if unknown
-uint32_t mp4ff_get_sample_rate(const mp4ff_t *f, const int32_t track);
-uint32_t mp4ff_get_channel_count(const mp4ff_t * f,const int32_t track);
-uint32_t mp4ff_get_audio_type(const mp4ff_t * f,const int32_t track);
-
-
-/* metadata */
-int mp4ff_meta_get_num_items(const mp4ff_t *f);
-int mp4ff_meta_get_by_index(const mp4ff_t *f, unsigned int index,
-                            char **item, char **value);
-int mp4ff_meta_get_title(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_artist(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_writer(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_album(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_date(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_tool(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_comment(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_genre(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_track(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_disc(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_totaltracks(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_totaldiscs(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_compilation(const mp4ff_t *f, char **value);
-int mp4ff_meta_get_tempo(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_coverart(const mp4ff_t *f, char **value);
-#ifdef USE_TAGGING
-
-/* metadata tag structure */
-typedef struct
-{
-    char *item;
-    char *value;
-} mp4ff_tag_t;
-
-/* metadata list structure */
-typedef struct
-{
-    mp4ff_tag_t *tags;
-    uint32_t count;
-} mp4ff_metadata_t;
-
-int32_t mp4ff_meta_update(mp4ff_callback_t *f,const mp4ff_metadata_t * data);
-
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/lib/libfaad2/common/mp4ff/mp4ff.vcproj b/lib/libfaad2/common/mp4ff/mp4ff.vcproj
deleted file mode 100644 (file)
index f32a6be..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="8,00"
-       Name="mp4ff"
-       ProjectGUID="{F470BB4A-7675-4D6A-B310-41F33AC6F987}"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="4"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               AdditionalOptions=""
-                               Optimization="1"
-                               InlineFunctionExpansion="1"
-                               PreprocessorDefinitions="USE_TAGGING"
-                               StringPooling="true"
-                               RuntimeLibrary="2"
-                               EnableFunctionLevelLinking="true"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Release/mp4ff.pch"
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               Detect64BitPortabilityProblems="true"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1043"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLibrarianTool"
-                               AdditionalOptions=""
-                               OutputFile=".\Release\mp4ff.lib"
-                               SuppressStartupBanner="true"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="4"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               AdditionalOptions=""
-                               Optimization="0"
-                               PreprocessorDefinitions="USE_TAGGING"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Debug/mp4ff.pch"
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               DebugInformationFormat="4"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1043"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLibrarianTool"
-                               AdditionalOptions=""
-                               OutputFile=".\Debug\mp4ff.lib"
-                               SuppressStartupBanner="true"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-                       >
-                       <File
-                               RelativePath=".\drms.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath="mp4atom.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="1"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="mp4ff.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="1"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="mp4meta.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="1"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="mp4sample.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="1"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath=".\mp4tagupdate.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath="mp4util.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="1"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl"
-                       >
-                       <File
-                               RelativePath=".\drms.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\drmstables.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\mp4ff.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\mp4ff_int_types.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="mp4ffint.h"
-                               >
-                       </File>
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/lib/libfaad2/common/mp4ff/mp4ff_int_types.h b/lib/libfaad2/common/mp4ff/mp4ff_int_types.h
deleted file mode 100644 (file)
index 5e33dc9..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _MP4FF_INT_TYPES_H_
-#define _MP4FF_INT_TYPES_H_
-
-#if defined (_WIN32)
-
-typedef char int8_t;
-typedef unsigned char uint8_t;
-typedef short int16_t;
-typedef unsigned short uint16_t;
-typedef long int32_t;
-typedef unsigned long uint32_t;
-
-typedef __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-
-#else
-
-#include <stdint.h>
-
-#endif
-
-
-#endif
diff --git a/lib/libfaad2/common/mp4ff/mp4ffint.h b/lib/libfaad2/common/mp4ff/mp4ffint.h
deleted file mode 100644 (file)
index 835a4b1..0000000
+++ /dev/null
@@ -1,378 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mp4ffint.h,v 1.22 2007/11/01 12:33:29 menno Exp $
-**/
-
-#ifndef MP4FF_INTERNAL_H
-#define MP4FF_INTERNAL_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-#include "mp4ff_int_types.h"
-#include <stdlib.h>
-
-#if defined(_WIN32) && !defined(_WIN32_WCE)
-#define ITUNES_DRM
-
-static __inline uint32_t GetDWLE( void const * _p )
-{
-    uint8_t * p = (uint8_t *)_p;
-    return ( ((uint32_t)p[3] << 24) | ((uint32_t)p[2] << 16)
-              | ((uint32_t)p[1] << 8) | p[0] );
-}
-static __inline uint32_t U32_AT( void const * _p )
-{
-    uint8_t * p = (uint8_t *)_p;
-    return ( ((uint32_t)p[0] << 24) | ((uint32_t)p[1] << 16)
-              | ((uint32_t)p[2] << 8) | p[3] );
-}
-static __inline uint64_t U64_AT( void const * _p )
-{
-    uint8_t * p = (uint8_t *)_p;
-    return ( ((uint64_t)p[0] << 56) | ((uint64_t)p[1] << 48)
-              | ((uint64_t)p[2] << 40) | ((uint64_t)p[3] << 32)
-              | ((uint64_t)p[4] << 24) | ((uint64_t)p[5] << 16)
-              | ((uint64_t)p[6] << 8) | p[7] );
-}
-
-#ifdef WORDS_BIGENDIAN
-#   define VLC_FOURCC( a, b, c, d ) \
-        ( ((uint32_t)d) | ( ((uint32_t)c) << 8 ) \
-           | ( ((uint32_t)b) << 16 ) | ( ((uint32_t)a) << 24 ) )
-#   define VLC_TWOCC( a, b ) \
-        ( (uint16_t)(b) | ( (uint16_t)(a) << 8 ) )
-
-#else
-#   define VLC_FOURCC( a, b, c, d ) \
-        ( ((uint32_t)a) | ( ((uint32_t)b) << 8 ) \
-           | ( ((uint32_t)c) << 16 ) | ( ((uint32_t)d) << 24 ) )
-#   define VLC_TWOCC( a, b ) \
-        ( (uint16_t)(a) | ( (uint16_t)(b) << 8 ) )
-#endif
-
-#define FOURCC_user VLC_FOURCC( 'u', 's', 'e', 'r' )
-#define FOURCC_key  VLC_FOURCC( 'k', 'e', 'y', ' ' )
-#define FOURCC_iviv VLC_FOURCC( 'i', 'v', 'i', 'v' )
-#define FOURCC_name VLC_FOURCC( 'n', 'a', 'm', 'e' )
-#define FOURCC_priv VLC_FOURCC( 'p', 'r', 'i', 'v' )
-
-#endif
-#define MAX_TRACKS 1024
-#define TRACK_UNKNOWN 0
-#define TRACK_AUDIO   1
-#define TRACK_VIDEO   2
-#define TRACK_SYSTEM  3
-
-
-#define SUBATOMIC 128
-
-/* atoms without subatoms */
-#define ATOM_FTYP 129
-#define ATOM_MDAT 130
-#define ATOM_MVHD 131
-#define ATOM_TKHD 132
-#define ATOM_TREF 133
-#define ATOM_MDHD 134
-#define ATOM_VMHD 135
-#define ATOM_SMHD 136
-#define ATOM_HMHD 137
-#define ATOM_STSD 138
-#define ATOM_STTS 139
-#define ATOM_STSZ 140
-#define ATOM_STZ2 141
-#define ATOM_STCO 142
-#define ATOM_STSC 143
-#define ATOM_MP4A 144
-#define ATOM_MP4V 145
-#define ATOM_MP4S 146
-#define ATOM_ESDS 147
-#define ATOM_META 148 /* iTunes Metadata box */
-#define ATOM_NAME 149 /* iTunes Metadata name box */
-#define ATOM_DATA 150 /* iTunes Metadata data box */
-#define ATOM_CTTS 151
-#define ATOM_FRMA 152
-#define ATOM_IVIV 153
-#define ATOM_PRIV 154
-#define ATOM_USER 155
-#define ATOM_KEY  156
-
-#define ATOM_UNKNOWN 255
-#define ATOM_FREE ATOM_UNKNOWN
-#define ATOM_SKIP ATOM_UNKNOWN
-
-/* atoms with subatoms */
-#define ATOM_MOOV 1
-#define ATOM_TRAK 2
-#define ATOM_EDTS 3
-#define ATOM_MDIA 4
-#define ATOM_MINF 5
-#define ATOM_STBL 6
-#define ATOM_UDTA 7
-#define ATOM_ILST 8 /* iTunes Metadata list */
-#define ATOM_TITLE 9
-#define ATOM_ARTIST 10
-#define ATOM_WRITER 11
-#define ATOM_ALBUM 12
-#define ATOM_DATE 13
-#define ATOM_TOOL 14
-#define ATOM_COMMENT 15
-#define ATOM_GENRE1 16
-#define ATOM_TRACK 17
-#define ATOM_DISC 18
-#define ATOM_COMPILATION 19
-#define ATOM_GENRE2 20
-#define ATOM_TEMPO 21
-#define ATOM_COVER 22
-#define ATOM_DRMS 23
-#define ATOM_SINF 24
-#define ATOM_SCHI 25
-
-#ifdef HAVE_CONFIG_H
-#include "../../config.h"   
-#endif
-
-#if !(defined(_WIN32) || defined(_WIN32_WCE))
-#define stricmp strcasecmp
-#else
-#define stricmp _stricmp
-#define strdup _strdup
-#endif
-
-/* file callback structure */
-typedef struct
-{
-    uint32_t (*read)(void *user_data, void *buffer, uint32_t length);
-    uint32_t (*write)(void *udata, void *buffer, uint32_t length);
-    uint32_t (*seek)(void *user_data, uint64_t position);
-    uint32_t (*truncate)(void *user_data);
-    void *user_data;
-} mp4ff_callback_t;
-
-
-/* metadata tag structure */
-typedef struct
-{
-    char *item;
-    char *value;
-} mp4ff_tag_t;
-
-/* metadata list structure */
-typedef struct
-{
-    mp4ff_tag_t *tags;
-    uint32_t count;
-} mp4ff_metadata_t;
-
-
-typedef struct
-{
-    int32_t type;
-    int32_t channelCount;
-    int32_t sampleSize;
-    uint16_t sampleRate;
-    int32_t audioType;
-
-    /* stsd */
-    int32_t stsd_entry_count;
-
-    /* stsz */
-    int32_t stsz_sample_size;
-    int32_t stsz_sample_count;
-    int32_t *stsz_table;
-
-    /* stts */
-    int32_t stts_entry_count;
-    int32_t *stts_sample_count;
-    int32_t *stts_sample_delta;
-
-    /* stsc */
-    int32_t stsc_entry_count;
-    int32_t *stsc_first_chunk;
-    int32_t *stsc_samples_per_chunk;
-    int32_t *stsc_sample_desc_index;
-
-    /* stsc */
-    int32_t stco_entry_count;
-    int32_t *stco_chunk_offset;
-
-    /* ctts */
-    int32_t ctts_entry_count;
-    int32_t *ctts_sample_count;
-    int32_t *ctts_sample_offset;
-
-    /* esde */
-    uint8_t *decoderConfig;
-    int32_t decoderConfigLen;
-
-    uint32_t maxBitrate;
-    uint32_t avgBitrate;
-
-    uint32_t timeScale;
-    uint64_t duration;
-
-#ifdef ITUNES_DRM
-    /* drms */
-    void *p_drms;
-#endif
-
-} mp4ff_track_t;
-
-/* mp4 main file structure */
-typedef struct
-{
-    /* stream to read from */
-    mp4ff_callback_t *stream;
-    int64_t current_position;
-
-    int32_t moov_read;
-    uint64_t moov_offset;
-    uint64_t moov_size;
-    uint8_t last_atom;
-    uint64_t file_size;
-
-    /* mvhd */
-    int32_t time_scale;
-    int32_t duration;
-
-    /* incremental track index while reading the file */
-    int32_t total_tracks;
-
-    /* track data */
-    mp4ff_track_t *track[MAX_TRACKS];
-
-    /* metadata */
-    mp4ff_metadata_t tags;
-} mp4ff_t;
-
-
-
-
-/* mp4util.c */
-int32_t mp4ff_read_data(mp4ff_t *f, uint8_t *data, uint32_t size);
-int32_t mp4ff_write_data(mp4ff_t *f, uint8_t *data, uint32_t size);
-uint64_t mp4ff_read_int64(mp4ff_t *f);
-uint32_t mp4ff_read_int32(mp4ff_t *f);
-uint32_t mp4ff_read_int24(mp4ff_t *f);
-uint16_t mp4ff_read_int16(mp4ff_t *f);
-uint8_t mp4ff_read_char(mp4ff_t *f);
-int32_t mp4ff_write_int32(mp4ff_t *f,const uint32_t data);
-uint32_t mp4ff_read_mp4_descr_length(mp4ff_t *f);
-int64_t mp4ff_position(const mp4ff_t *f);
-int32_t mp4ff_set_position(mp4ff_t *f, const int64_t position);
-int32_t mp4ff_truncate(mp4ff_t * f);
-char * mp4ff_read_string(mp4ff_t * f,uint32_t length);
-
-/* mp4atom.c */
-static int32_t mp4ff_atom_get_size(const int8_t *data);
-static int32_t mp4ff_atom_compare(const int8_t a1, const int8_t b1, const int8_t c1, const int8_t d1,
-                                  const int8_t a2, const int8_t b2, const int8_t c2, const int8_t d2);
-static uint8_t mp4ff_atom_name_to_type(const int8_t a, const int8_t b, const int8_t c, const int8_t d);
-uint64_t mp4ff_atom_read_header(mp4ff_t *f, uint8_t *atom_type, uint8_t *header_size);
-static int32_t mp4ff_read_stsz(mp4ff_t *f);
-static int32_t mp4ff_read_esds(mp4ff_t *f);
-static int32_t mp4ff_read_mp4a(mp4ff_t *f);
-static int32_t mp4ff_read_stsd(mp4ff_t *f);
-static int32_t mp4ff_read_stsc(mp4ff_t *f);
-static int32_t mp4ff_read_stco(mp4ff_t *f);
-static int32_t mp4ff_read_stts(mp4ff_t *f);
-#ifdef USE_TAGGING
-static int32_t mp4ff_read_meta(mp4ff_t *f, const uint64_t size);
-#endif
-int32_t mp4ff_atom_read(mp4ff_t *f, const int32_t size, const uint8_t atom_type);
-
-/* mp4sample.c */
-static int32_t mp4ff_chunk_of_sample(const mp4ff_t *f, const int32_t track, const int32_t sample,
-                                     int32_t *chunk_sample, int32_t *chunk);
-static int32_t mp4ff_chunk_to_offset(const mp4ff_t *f, const int32_t track, const int32_t chunk);
-static int32_t mp4ff_sample_range_size(const mp4ff_t *f, const int32_t track,
-                                       const int32_t chunk_sample, const int32_t sample);
-static int32_t mp4ff_sample_to_offset(const mp4ff_t *f, const int32_t track, const int32_t sample);
-int32_t mp4ff_audio_frame_size(const mp4ff_t *f, const int32_t track, const int32_t sample);
-int32_t mp4ff_set_sample_position(mp4ff_t *f, const int32_t track, const int32_t sample);
-
-#ifdef USE_TAGGING
-/* mp4meta.c */
-static int32_t mp4ff_tag_add_field(mp4ff_metadata_t *tags, const char *item, const char *value);
-static int32_t mp4ff_tag_set_field(mp4ff_metadata_t *tags, const char *item, const char *value);
-static int32_t mp4ff_set_metadata_name(mp4ff_t *f, const uint8_t atom_type, char **name);
-static int32_t mp4ff_parse_tag(mp4ff_t *f, const uint8_t parent_atom_type, const int32_t size);
-static int32_t mp4ff_meta_find_by_name(const mp4ff_t *f, const char *item, char **value);
-int32_t mp4ff_parse_metadata(mp4ff_t *f, const int32_t size);
-int32_t mp4ff_tag_delete(mp4ff_metadata_t *tags);
-int32_t mp4ff_meta_get_num_items(const mp4ff_t *f);
-int32_t mp4ff_meta_get_by_index(const mp4ff_t *f, uint32_t index,
-                            char **item, char **value);
-int32_t mp4ff_meta_get_title(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_artist(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_writer(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_album(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_date(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_tool(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_comment(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_genre(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_track(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_disc(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_compilation(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_tempo(const mp4ff_t *f, char **value);
-int32_t mp4ff_meta_get_coverart(const mp4ff_t *f, char **value);
-#endif
-
-/* mp4ff.c */
-mp4ff_t *mp4ff_open_read(mp4ff_callback_t *f);
-#ifdef USE_TAGGING
-mp4ff_t *mp4ff_open_edit(mp4ff_callback_t *f);
-#endif
-void mp4ff_close(mp4ff_t *ff);
-//void mp4ff_track_add(mp4ff_t *f);
-int32_t parse_sub_atoms(mp4ff_t *f, const uint64_t total_size,int meta_only);
-int32_t parse_atoms(mp4ff_t *f,int meta_only);
-
-int32_t mp4ff_get_sample_duration(const mp4ff_t *f, const int32_t track, const int32_t sample);
-int64_t mp4ff_get_sample_position(const mp4ff_t *f, const int32_t track, const int32_t sample);
-int32_t mp4ff_get_sample_offset(const mp4ff_t *f, const int32_t track, const int32_t sample);
-int32_t mp4ff_find_sample(const mp4ff_t *f, const int32_t track, const int64_t offset,int32_t * toskip);
-
-int32_t mp4ff_read_sample(mp4ff_t *f, const int32_t track, const int32_t sample,
-                          uint8_t **audio_buffer,  uint32_t *bytes);
-int32_t mp4ff_get_decoder_config(const mp4ff_t *f, const int32_t track,
-                                 uint8_t** ppBuf, uint32_t* pBufSize);
-int32_t mp4ff_total_tracks(const mp4ff_t *f);
-int32_t mp4ff_time_scale(const mp4ff_t *f, const int32_t track);
-int32_t mp4ff_num_samples(const mp4ff_t *f, const int32_t track);
-
-uint32_t mp4ff_meta_genre_to_index(const char * genrestr);//returns 1-based index, 0 if not found
-const char * mp4ff_meta_index_to_genre(uint32_t idx);//returns pointer to static string
-
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/lib/libfaad2/common/mp4ff/mp4meta.c b/lib/libfaad2/common/mp4ff/mp4meta.c
deleted file mode 100644 (file)
index 84d3ad5..0000000
+++ /dev/null
@@ -1,431 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mp4meta.c,v 1.19 2007/11/01 12:33:29 menno Exp $
-**/
-
-#ifdef USE_TAGGING
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "mp4ffint.h"
-
-
-
-static int32_t mp4ff_tag_add_field(mp4ff_metadata_t *tags, const char *item, const char *value)
-{
-    void *backup = (void *)tags->tags;
-
-    if (!item || (item && !*item) || !value) return 0;
-
-    tags->tags = (mp4ff_tag_t*)realloc(tags->tags, (tags->count+1) * sizeof(mp4ff_tag_t));
-    if (!tags->tags)
-    {
-        if (backup) free(backup);
-        return 0;
-    } else {
-        tags->tags[tags->count].item = strdup(item);
-        tags->tags[tags->count].value = strdup(value);
-
-        if (!tags->tags[tags->count].item || !tags->tags[tags->count].value)
-        {
-            if (!tags->tags[tags->count].item) free (tags->tags[tags->count].item);
-            if (!tags->tags[tags->count].value) free (tags->tags[tags->count].value);
-            tags->tags[tags->count].item = NULL;
-            tags->tags[tags->count].value = NULL;
-            return 0;
-        }
-
-        tags->count++;
-        return 1;
-    }
-}
-
-static int32_t mp4ff_tag_set_field(mp4ff_metadata_t *tags, const char *item, const char *value)
-{
-    unsigned int i;
-
-    if (!item || (item && !*item) || !value) return 0;
-
-    for (i = 0; i < tags->count; i++)
-    {
-        if (!stricmp(tags->tags[i].item, item))
-        {
-                       free(tags->tags[i].value);
-                       tags->tags[i].value = strdup(value);
-            return 1;
-        }
-    }
-
-    return mp4ff_tag_add_field(tags, item, value);
-}
-
-int32_t mp4ff_tag_delete(mp4ff_metadata_t *tags)
-{
-    uint32_t i;
-
-    for (i = 0; i < tags->count; i++)
-    {
-        if (tags->tags[i].item) free(tags->tags[i].item);
-        if (tags->tags[i].value) free(tags->tags[i].value);
-    }
-
-    if (tags->tags) free(tags->tags);
-
-    tags->tags = NULL;
-    tags->count = 0;
-
-    return 0;
-}
-
-static const char* ID3v1GenreList[] = {
-    "Blues", "Classic Rock", "Country", "Dance", "Disco", "Funk",
-    "Grunge", "Hip-Hop", "Jazz", "Metal", "New Age", "Oldies",
-    "Other", "Pop", "R&B", "Rap", "Reggae", "Rock",
-    "Techno", "Industrial", "Alternative", "Ska", "Death Metal", "Pranks",
-    "Soundtrack", "Euro-Techno", "Ambient", "Trip-Hop", "Vocal", "Jazz+Funk",
-    "Fusion", "Trance", "Classical", "Instrumental", "Acid", "House",
-    "Game", "Sound Clip", "Gospel", "Noise", "AlternRock", "Bass",
-    "Soul", "Punk", "Space", "Meditative", "Instrumental Pop", "Instrumental Rock",
-    "Ethnic", "Gothic", "Darkwave", "Techno-Industrial", "Electronic", "Pop-Folk",
-    "Eurodance", "Dream", "Southern Rock", "Comedy", "Cult", "Gangsta",
-    "Top 40", "Christian Rap", "Pop/Funk", "Jungle", "Native American", "Cabaret",
-    "New Wave", "Psychadelic", "Rave", "Showtunes", "Trailer", "Lo-Fi",
-    "Tribal", "Acid Punk", "Acid Jazz", "Polka", "Retro", "Musical",
-    "Rock & Roll", "Hard Rock", "Folk", "Folk/Rock", "National Folk", "Swing",
-    "Fast-Fusion", "Bebob", "Latin", "Revival", "Celtic", "Bluegrass", "Avantgarde",
-    "Gothic Rock", "Progressive Rock", "Psychedelic Rock", "Symphonic Rock", "Slow Rock", "Big Band",
-    "Chorus", "Easy Listening", "Acoustic", "Humour", "Speech", "Chanson",
-    "Opera", "Chamber Music", "Sonata", "Symphony", "Booty Bass", "Primus",
-    "Porn Groove", "Satire", "Slow Jam", "Club", "Tango", "Samba",
-    "Folklore", "Ballad", "Power Ballad", "Rhythmic Soul", "Freestyle", "Duet",
-    "Punk Rock", "Drum Solo", "A capella", "Euro-House", "Dance Hall",
-    "Goa", "Drum & Bass", "Club House", "Hardcore", "Terror",
-    "Indie", "BritPop", "NegerPunk", "Polsk Punk", "Beat",
-    "Christian Gangsta", "Heavy Metal", "Black Metal", "Crossover", "Contemporary C",
-    "Christian Rock", "Merengue", "Salsa", "Thrash Metal", "Anime", "JPop",
-    "SynthPop",
-};
-
-uint32_t mp4ff_meta_genre_to_index(const char * genrestr)
-{
-       unsigned n;
-       for(n=0;n<sizeof(ID3v1GenreList)/sizeof(ID3v1GenreList[0]);n++)
-       {
-               if (!stricmp(genrestr,ID3v1GenreList[n])) return n+1;
-       }
-       return 0;
-}
-
-const char * mp4ff_meta_index_to_genre(uint32_t idx)
-{
-       if (idx>0 && idx<=sizeof(ID3v1GenreList)/sizeof(ID3v1GenreList[0]))
-       {
-               return ID3v1GenreList[idx-1];
-       }
-       else
-       {
-               return 0;
-       }
-}
-
-
-static int32_t TrackToString(char** str, const uint16_t track, const uint16_t totalTracks)
-{
-       char temp[32];
-    sprintf(temp, "%.5u of %.5u", track, totalTracks);
-       *str = strdup(temp);
-    return 0;
-}
-
-static int32_t mp4ff_set_metadata_name(mp4ff_t *f, const uint8_t atom_type, char **name)
-{
-    static char *tag_names[] = {
-        "unknown", "title", "artist", "writer", "album",
-        "date", "tool", "comment", "genre", "track",
-        "disc", "compilation", "genre", "tempo", "cover"
-    };
-    uint8_t tag_idx = 0;
-
-    switch (atom_type)
-    {
-    case ATOM_TITLE: tag_idx = 1; break;
-    case ATOM_ARTIST: tag_idx = 2; break;
-    case ATOM_WRITER: tag_idx = 3; break;
-    case ATOM_ALBUM: tag_idx = 4; break;
-    case ATOM_DATE: tag_idx = 5; break;
-    case ATOM_TOOL: tag_idx = 6; break;
-    case ATOM_COMMENT: tag_idx = 7; break;
-    case ATOM_GENRE1: tag_idx = 8; break;
-    case ATOM_TRACK: tag_idx = 9; break;
-    case ATOM_DISC: tag_idx = 10; break;
-    case ATOM_COMPILATION: tag_idx = 11; break;
-    case ATOM_GENRE2: tag_idx = 12; break;
-    case ATOM_TEMPO: tag_idx = 13; break;
-    case ATOM_COVER: tag_idx = 14; break;
-    default: tag_idx = 0; break;
-    }
-
-       *name = strdup(tag_names[tag_idx]);
-
-    return 0;
-}
-
-static int32_t mp4ff_parse_tag(mp4ff_t *f, const uint8_t parent_atom_type, const int32_t size)
-{
-    uint8_t atom_type;
-    uint8_t header_size = 0;
-    uint64_t subsize, sumsize = 0;
-    char * name = NULL;
-       char * data = NULL;
-       uint32_t done = 0;
-
-
-    while (sumsize < size)
-    {
-               uint64_t destpos;
-        subsize = mp4ff_atom_read_header(f, &atom_type, &header_size);
-               destpos = mp4ff_position(f)+subsize-header_size;
-               if (!done)
-               {
-                       if (atom_type == ATOM_DATA)
-                       {
-                               mp4ff_read_char(f); /* version */
-                               mp4ff_read_int24(f); /* flags */
-                               mp4ff_read_int32(f); /* reserved */
-
-                               /* some need special attention */
-                               if (parent_atom_type == ATOM_GENRE2 || parent_atom_type == ATOM_TEMPO)
-                               {
-                                       if (subsize - header_size >= 8 + 2)
-                                       {
-                                               uint16_t val = mp4ff_read_int16(f);
-
-                                               if (parent_atom_type == ATOM_TEMPO)
-                                               {
-                                                       char temp[16];
-                                                       sprintf(temp, "%.5u BPM", val);
-                                                       mp4ff_tag_add_field(&(f->tags), "tempo", temp);
-                                               }
-                                               else
-                                               {
-                                                       const char * temp = mp4ff_meta_index_to_genre(val);
-                                                       if (temp)
-                                                       {
-                                                               mp4ff_tag_add_field(&(f->tags), "genre", temp);
-                                                       }
-                                               }
-                                               done = 1;
-                                       }
-                               } else if (parent_atom_type == ATOM_TRACK || parent_atom_type == ATOM_DISC) {
-                                       if (!done && subsize - header_size >= 8 + 8)
-                                       {
-                                               uint16_t index,total;
-                                               char temp[32];
-                                               mp4ff_read_int16(f);
-                                               index = mp4ff_read_int16(f);
-                                               total = mp4ff_read_int16(f);
-                                               mp4ff_read_int16(f);
-
-                                               sprintf(temp,"%d",index);
-                                               mp4ff_tag_add_field(&(f->tags), parent_atom_type == ATOM_TRACK ? "track" : "disc", temp);
-                                               if (total>0)
-                                               {
-                                                       sprintf(temp,"%d",total);
-                                                       mp4ff_tag_add_field(&(f->tags), parent_atom_type == ATOM_TRACK ? "totaltracks" : "totaldiscs", temp);
-                                               }
-                                               done = 1;
-                                       }
-                               } else
-                               {
-                                       if (data) {free(data);data = NULL;}
-                                       data = mp4ff_read_string(f,(uint32_t)(subsize-(header_size+8)));
-                               }
-                       } else if (atom_type == ATOM_NAME) {
-                               if (!done)
-                               {
-                                       mp4ff_read_char(f); /* version */
-                                       mp4ff_read_int24(f); /* flags */
-                                       if (name) free(name);
-                                       name = mp4ff_read_string(f,(uint32_t)(subsize-(header_size+4)));
-                               }
-                       }
-                       mp4ff_set_position(f, destpos);
-                       sumsize += subsize;
-               }
-    }
-
-       if (data)
-       {
-               if (!done)
-               {
-                       if (name == NULL) mp4ff_set_metadata_name(f, parent_atom_type, &name);
-                       if (name) mp4ff_tag_add_field(&(f->tags), name, data);
-               }
-
-               free(data);
-       }
-       if (name) free(name);
-    return 1;
-}
-
-int32_t mp4ff_parse_metadata(mp4ff_t *f, const int32_t size)
-{
-    uint64_t subsize, sumsize = 0;
-    uint8_t atom_type;
-    uint8_t header_size = 0;
-
-    while (sumsize < size)
-    {
-        subsize = mp4ff_atom_read_header(f, &atom_type, &header_size);
-        if (subsize == 0)
-            break;
-        mp4ff_parse_tag(f, atom_type, (uint32_t)(subsize-header_size));
-        sumsize += subsize;
-    }
-
-    return 0;
-}
-
-/* find a metadata item by name */
-/* returns 0 if item found, 1 if no such item */
-static int32_t mp4ff_meta_find_by_name(const mp4ff_t *f, const char *item, char **value)
-{
-    uint32_t i;
-
-    for (i = 0; i < f->tags.count; i++)
-    {
-        if (!stricmp(f->tags.tags[i].item, item))
-        {
-                       *value = strdup(f->tags.tags[i].value);
-            return 1;
-        }
-    }
-
-    *value = NULL;
-
-    /* not found */
-    return 0;
-}
-
-int32_t mp4ff_meta_get_num_items(const mp4ff_t *f)
-{
-    return f->tags.count;
-}
-
-int32_t mp4ff_meta_get_by_index(const mp4ff_t *f, uint32_t index,
-                                char **item, char **value)
-{
-    if (index >= f->tags.count)
-    {
-        *item = NULL;
-        *value = NULL;
-        return 0;
-    } else {
-               *item = strdup(f->tags.tags[index].item);
-               *value = strdup(f->tags.tags[index].value);
-               return 1;
-    }
-}
-
-int32_t mp4ff_meta_get_title(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "title", value);
-}
-
-int32_t mp4ff_meta_get_artist(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "artist", value);
-}
-
-int32_t mp4ff_meta_get_writer(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "writer", value);
-}
-
-int32_t mp4ff_meta_get_album(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "album", value);
-}
-
-int32_t mp4ff_meta_get_date(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "date", value);
-}
-
-int32_t mp4ff_meta_get_tool(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "tool", value);
-}
-
-int32_t mp4ff_meta_get_comment(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "comment", value);
-}
-
-int32_t mp4ff_meta_get_genre(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "genre", value);
-}
-
-int32_t mp4ff_meta_get_track(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "track", value);
-}
-
-int32_t mp4ff_meta_get_totaltracks(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "totaltracks", value);
-}
-
-int32_t mp4ff_meta_get_disc(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "disc", value);
-}
-
-int32_t mp4ff_meta_get_totaldiscs(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "totaldiscs", value);
-}
-
-int32_t mp4ff_meta_get_compilation(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "compilation", value);
-}
-
-int32_t mp4ff_meta_get_tempo(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "tempo", value);
-}
-
-int32_t mp4ff_meta_get_coverart(const mp4ff_t *f, char **value)
-{
-    return mp4ff_meta_find_by_name(f, "cover", value);
-}
-
-#endif
\ No newline at end of file
diff --git a/lib/libfaad2/common/mp4ff/mp4sample.c b/lib/libfaad2/common/mp4ff/mp4sample.c
deleted file mode 100644 (file)
index 9599464..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mp4sample.c,v 1.20 2007/11/01 12:33:29 menno Exp $
-**/
-
-#include <stdlib.h>
-#include "mp4ffint.h"
-
-
-static int32_t mp4ff_chunk_of_sample(const mp4ff_t *f, const int32_t track, const int32_t sample,
-                                     int32_t *chunk_sample, int32_t *chunk)
-{
-    int32_t total_entries = 0;
-    int32_t chunk2entry;
-    int32_t chunk1, chunk2, chunk1samples, range_samples, total = 0;
-
-    if (f->track[track] == NULL)
-    {
-        return -1;
-    }
-
-    total_entries = f->track[track]->stsc_entry_count;
-
-    chunk1 = 1;
-    chunk1samples = 0;
-    chunk2entry = 0;
-
-    do
-    {
-        chunk2 = f->track[track]->stsc_first_chunk[chunk2entry];
-        *chunk = chunk2 - chunk1;
-        range_samples = *chunk * chunk1samples;
-
-        if (sample < total + range_samples) break;
-
-        chunk1samples = f->track[track]->stsc_samples_per_chunk[chunk2entry];
-        chunk1 = chunk2;
-
-        if(chunk2entry < total_entries)
-        {
-            chunk2entry++;
-            total += range_samples;
-        }
-    } while (chunk2entry < total_entries);
-
-    if (chunk1samples)
-        *chunk = (sample - total) / chunk1samples + chunk1;
-    else
-        *chunk = 1;
-
-    *chunk_sample = total + (*chunk - chunk1) * chunk1samples;
-
-    return 0;
-}
-
-static int32_t mp4ff_chunk_to_offset(const mp4ff_t *f, const int32_t track, const int32_t chunk)
-{
-    const mp4ff_track_t * p_track = f->track[track];
-
-    if (p_track->stco_entry_count && (chunk > p_track->stco_entry_count))
-    {
-        return p_track->stco_chunk_offset[p_track->stco_entry_count - 1];
-    } else if (p_track->stco_entry_count) {
-        return p_track->stco_chunk_offset[chunk - 1];
-    } else {
-        return 8;
-    }
-
-    return 0;
-}
-
-static int32_t mp4ff_sample_range_size(const mp4ff_t *f, const int32_t track,
-                                       const int32_t chunk_sample, const int32_t sample)
-{
-    int32_t i, total;
-    const mp4ff_track_t * p_track = f->track[track];
-
-    if (p_track->stsz_sample_size)
-    {
-        return (sample - chunk_sample) * p_track->stsz_sample_size;
-    }
-    else
-    {
-        if (sample>=p_track->stsz_sample_count) return 0;//error
-
-        for(i = chunk_sample, total = 0; i < sample; i++)
-        {
-            total += p_track->stsz_table[i];
-        }
-    }
-
-    return total;
-}
-
-static int32_t mp4ff_sample_to_offset(const mp4ff_t *f, const int32_t track, const int32_t sample)
-{
-    int32_t chunk, chunk_sample, chunk_offset1, chunk_offset2;
-
-    mp4ff_chunk_of_sample(f, track, sample, &chunk_sample, &chunk);
-
-    chunk_offset1 = mp4ff_chunk_to_offset(f, track, chunk);
-    chunk_offset2 = chunk_offset1 + mp4ff_sample_range_size(f, track, chunk_sample, sample);
-
-    return chunk_offset2;
-}
-
-int32_t mp4ff_audio_frame_size(const mp4ff_t *f, const int32_t track, const int32_t sample)
-{
-    int32_t bytes;
-    const mp4ff_track_t * p_track = f->track[track];
-
-    if (p_track->stsz_sample_size)
-    {
-        bytes = p_track->stsz_sample_size;
-    } else {
-        bytes = p_track->stsz_table[sample];
-    }
-
-    return bytes;
-}
-
-int32_t mp4ff_set_sample_position(mp4ff_t *f, const int32_t track, const int32_t sample)
-{
-    int32_t offset;
-
-    offset = mp4ff_sample_to_offset(f, track, sample);
-    mp4ff_set_position(f, offset);
-
-    return 0;
-}
diff --git a/lib/libfaad2/common/mp4ff/mp4tagupdate.c b/lib/libfaad2/common/mp4ff/mp4tagupdate.c
deleted file mode 100644 (file)
index a41a4cc..0000000
+++ /dev/null
@@ -1,645 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include "mp4ffint.h"
-
-#ifdef USE_TAGGING
-
-static uint32_t fix_byte_order_32(uint32_t src)
-{
-    uint32_t result;
-    uint32_t a, b, c, d;
-    int8_t data[4];
-    
-    memcpy(data,&src,sizeof(src));
-    a = (uint8_t)data[0];
-    b = (uint8_t)data[1];
-    c = (uint8_t)data[2];
-    d = (uint8_t)data[3];
-
-    result = (a<<24) | (b<<16) | (c<<8) | d;
-    return (uint32_t)result;
-}
-
-static uint16_t fix_byte_order_16(uint16_t src)
-{
-    uint16_t result;
-    uint16_t a, b;
-    int8_t data[2];
-    
-    memcpy(data,&src,sizeof(src));
-    a = (uint8_t)data[0];
-    b = (uint8_t)data[1];
-
-    result = (a<<8) | b;
-    return (uint16_t)result;
-}
-
-
-typedef struct
-{
-       void * data;
-       unsigned written;
-       unsigned allocated;
-       unsigned error;
-} membuffer;
-
-unsigned membuffer_write(membuffer * buf,const void * ptr,unsigned bytes)
-{
-       unsigned dest_size = buf->written + bytes;
-
-       if (buf->error) return 0;
-       if (dest_size > buf->allocated)
-       {
-               do
-               {
-                       buf->allocated <<= 1;
-               } while(dest_size > buf->allocated);
-               
-               {
-                       void * newptr = realloc(buf->data,buf->allocated);
-                       if (newptr==0)
-                       {
-                               free(buf->data);
-                               buf->data = 0;
-                               buf->error = 1;
-                               return 0;
-                       }
-                       buf->data = newptr;
-               }
-       }
-
-       if (ptr) memcpy((char*)buf->data + buf->written,ptr,bytes);
-       buf->written += bytes;
-       return bytes;
-}
-
-#define membuffer_write_data membuffer_write
-
-unsigned membuffer_write_int32(membuffer * buf,uint32_t data)
-{
-       uint8_t temp[4] = {(uint8_t)(data>>24),(uint8_t)(data>>16),(uint8_t)(data>>8),(uint8_t)data};   
-       return membuffer_write_data(buf,temp,4);
-}
-
-unsigned membuffer_write_int24(membuffer * buf,uint32_t data)
-{
-       uint8_t temp[3] = {(uint8_t)(data>>16),(uint8_t)(data>>8),(uint8_t)data};
-       return membuffer_write_data(buf,temp,3);
-}
-
-unsigned membuffer_write_int16(membuffer * buf,uint16_t data)
-{
-       uint8_t temp[2] = {(uint8_t)(data>>8),(uint8_t)data};
-       return membuffer_write_data(buf,temp,2);
-}
-
-unsigned membuffer_write_atom_name(membuffer * buf,const char * data)
-{
-       return membuffer_write_data(buf,data,4)==4 ? 1 : 0;
-}
-
-void membuffer_write_atom(membuffer * buf,const char * name,unsigned size,const void * data)
-{
-       membuffer_write_int32(buf,size + 8);
-       membuffer_write_atom_name(buf,name);
-       membuffer_write_data(buf,data,size);
-}
-
-unsigned membuffer_write_string(membuffer * buf,const char * data)
-{
-       return membuffer_write_data(buf,data,strlen(data));
-}
-
-unsigned membuffer_write_int8(membuffer * buf,uint8_t data)
-{
-       return membuffer_write_data(buf,&data,1);
-}
-
-void * membuffer_get_ptr(const membuffer * buf)
-{
-       return buf->data;
-}
-
-unsigned membuffer_get_size(const membuffer * buf)
-{
-       return buf->written;
-}
-
-unsigned membuffer_error(const membuffer * buf)
-{
-       return buf->error;
-}
-
-void membuffer_set_error(membuffer * buf) {buf->error = 1;}
-
-unsigned membuffer_transfer_from_file(membuffer * buf,mp4ff_t * src,unsigned bytes)
-{
-       unsigned oldsize;
-       void * bufptr;
-       
-       oldsize = membuffer_get_size(buf);
-       if (membuffer_write_data(buf,0,bytes) != bytes) return 0;
-
-       bufptr = membuffer_get_ptr(buf);
-       if (bufptr==0) return 0;
-       
-       if ((unsigned)mp4ff_read_data(src,(char*)bufptr + oldsize,bytes)!=bytes)
-       {
-               membuffer_set_error(buf);
-               return 0;
-       }
-       
-       return bytes;
-}
-
-
-membuffer * membuffer_create()
-{
-       const unsigned initial_size = 256;
-
-       membuffer * buf = (membuffer *) malloc(sizeof(membuffer));
-       buf->data = malloc(initial_size);
-       buf->written = 0;
-       buf->allocated = initial_size;
-       buf->error = buf->data == 0 ? 1 : 0;
-
-       return buf;
-}
-
-void membuffer_free(membuffer * buf)
-{
-       if (buf->data) free(buf->data);
-       free(buf);
-}
-
-void * membuffer_detach(membuffer * buf)
-{
-       void * ret;
-
-       if (buf->error) return 0;
-
-       ret = realloc(buf->data,buf->written);
-       
-       if (ret == 0) free(buf->data);
-
-       buf->data = 0;
-       buf->error = 1;
-       
-       return ret;
-}
-
-#if 0
-/* metadata tag structure */
-typedef struct
-{
-    char *item;
-    char *value;
-} mp4ff_tag_t;
-
-/* metadata list structure */
-typedef struct
-{
-    mp4ff_tag_t *tags;
-    uint32_t count;
-} mp4ff_metadata_t;
-#endif
-
-typedef struct
-{
-       const char * atom;
-       const char * name;      
-} stdmeta_entry;
-
-static stdmeta_entry stdmetas[] = 
-{
-       {"©nam","title"},
-       {"©ART","artist"},
-       {"©wrt","writer"},
-       {"©alb","album"},
-       {"©day","date"},
-       {"©too","tool"},
-       {"©cmt","comment"},
-//     {"©gen","genre"},
-       {"cpil","compilation"},
-//     {"trkn","track"},
-//     {"disk","disc"},
-//     {"gnre","genre"},
-       {"covr","cover"},
-};
-
-
-static const char* find_standard_meta(const char * name) //returns atom name if found, 0 if not
-{
-       unsigned n;
-       for(n=0;n<sizeof(stdmetas)/sizeof(stdmetas[0]);n++)
-       {
-               if (!stricmp(name,stdmetas[n].name)) return stdmetas[n].atom;
-       }
-    return 0;
-}
-
-static void membuffer_write_track_tag(membuffer * buf,const char * name,uint32_t index,uint32_t total)
-{
-       membuffer_write_int32(buf,8 /*atom header*/ + 8 /*data atom header*/ + 8 /*flags + reserved*/ + 8 /*actual data*/ );
-       membuffer_write_atom_name(buf,name);
-       membuffer_write_int32(buf,8 /*data atom header*/ + 8 /*flags + reserved*/ + 8 /*actual data*/ );
-       membuffer_write_atom_name(buf,"data");
-       membuffer_write_int32(buf,0);//flags
-       membuffer_write_int32(buf,0);//reserved
-       membuffer_write_int16(buf,0);
-       membuffer_write_int16(buf,(uint16_t)index);//track number
-       membuffer_write_int16(buf,(uint16_t)total);//total tracks
-       membuffer_write_int16(buf,0);
-}
-
-static void membuffer_write_int16_tag(membuffer * buf,const char * name,uint16_t value)
-{
-       membuffer_write_int32(buf,8 /*atom header*/ + 8 /*data atom header*/ + 8 /*flags + reserved*/ + 2 /*actual data*/ );
-       membuffer_write_atom_name(buf,name);
-       membuffer_write_int32(buf,8 /*data atom header*/ + 8 /*flags + reserved*/ + 2 /*actual data*/ );
-       membuffer_write_atom_name(buf,"data");
-       membuffer_write_int32(buf,0);//flags
-       membuffer_write_int32(buf,0);//reserved
-       membuffer_write_int16(buf,value);//value
-}
-
-static void membuffer_write_std_tag(membuffer * buf,const char * name,const char * value)
-{
-       membuffer_write_int32(buf,8 /*atom header*/ + 8 /*data atom header*/ + 8 /*flags + reserved*/ + strlen(value) );
-       membuffer_write_atom_name(buf,name);
-       membuffer_write_int32(buf,8 /*data atom header*/ + 8 /*flags + reserved*/ + strlen(value));
-       membuffer_write_atom_name(buf,"data");
-       membuffer_write_int32(buf,1);//flags
-       membuffer_write_int32(buf,0);//reserved
-       membuffer_write_data(buf,value,strlen(value));
-}
-
-static void membuffer_write_custom_tag(membuffer * buf,const char * name,const char * value)
-{
-       membuffer_write_int32(buf,8 /*atom header*/ + 0x1C /*weirdo itunes atom*/ + 12 /*name atom header*/ + strlen(name) + 16 /*data atom header + flags*/ + strlen(value) );
-       membuffer_write_atom_name(buf,"----");
-       membuffer_write_int32(buf,0x1C);//weirdo itunes atom
-       membuffer_write_atom_name(buf,"mean");
-       membuffer_write_int32(buf,0);
-       membuffer_write_data(buf,"com.apple.iTunes",16);
-       membuffer_write_int32(buf,12 + strlen(name));
-       membuffer_write_atom_name(buf,"name");
-       membuffer_write_int32(buf,0);
-       membuffer_write_data(buf,name,strlen(name));
-       membuffer_write_int32(buf,8 /*data atom header*/ + 8 /*flags + reserved*/ + strlen(value));
-       membuffer_write_atom_name(buf,"data");
-       membuffer_write_int32(buf,1);//flags
-       membuffer_write_int32(buf,0);//reserved
-       membuffer_write_data(buf,value,strlen(value));
-
-}
-
-static uint32_t myatoi(const char * param)
-{
-       return param ? atoi(param) : 0;
-}
-
-static uint32_t create_ilst(const mp4ff_metadata_t * data,void ** out_buffer,uint32_t * out_size)
-{
-       membuffer * buf = membuffer_create();
-       unsigned metaptr;
-       char * mask = (char*)malloc(data->count);
-       memset(mask,0,data->count);
-
-       {
-               const char * tracknumber_ptr = 0, * totaltracks_ptr = 0;
-               const char * discnumber_ptr = 0, * totaldiscs_ptr = 0;
-               const char * genre_ptr = 0, * tempo_ptr = 0;
-               for(metaptr = 0; metaptr < data->count; metaptr++)
-               {
-                       mp4ff_tag_t * tag = &data->tags[metaptr];
-                       if (!stricmp(tag->item,"tracknumber") || !stricmp(tag->item,"track"))
-                       {
-                               if (tracknumber_ptr==0) tracknumber_ptr = tag->value;
-                               mask[metaptr] = 1;
-                       }
-                       else if (!stricmp(tag->item,"totaltracks"))
-                       {
-                               if (totaltracks_ptr==0) totaltracks_ptr = tag->value;
-                               mask[metaptr] = 1;
-                       }
-                       else if (!stricmp(tag->item,"discnumber") || !stricmp(tag->item,"disc"))
-                       {
-                               if (discnumber_ptr==0) discnumber_ptr = tag->value;
-                               mask[metaptr] = 1;
-                       }
-                       else if (!stricmp(tag->item,"totaldiscs"))
-                       {
-                               if (totaldiscs_ptr==0) totaldiscs_ptr = tag->value;
-                               mask[metaptr] = 1;
-                       }
-                       else if (!stricmp(tag->item,"genre"))
-                       {
-                               if (genre_ptr==0) genre_ptr = tag->value;
-                               mask[metaptr] = 1;
-                       }
-                       else if (!stricmp(tag->item,"tempo"))
-                       {
-                               if (tempo_ptr==0) tempo_ptr = tag->value;
-                               mask[metaptr] = 1;
-                       }
-
-               }
-
-               if (tracknumber_ptr) membuffer_write_track_tag(buf,"trkn",myatoi(tracknumber_ptr),myatoi(totaltracks_ptr));
-               if (discnumber_ptr) membuffer_write_track_tag(buf,"disk",myatoi(discnumber_ptr),myatoi(totaldiscs_ptr));
-               if (tempo_ptr) membuffer_write_int16_tag(buf,"tmpo",(uint16_t)myatoi(tempo_ptr));
-
-               if (genre_ptr)
-               {
-                       uint32_t index = mp4ff_meta_genre_to_index(genre_ptr);
-                       if (index==0)
-                               membuffer_write_std_tag(buf,"©gen",genre_ptr);
-                       else
-                               membuffer_write_int16_tag(buf,"gnre",(uint16_t)index);
-               }
-       }
-       
-       for(metaptr = 0; metaptr < data->count; metaptr++)
-       {
-               if (!mask[metaptr])
-               {
-                       mp4ff_tag_t * tag = &data->tags[metaptr];
-                       const char * std_meta_atom = find_standard_meta(tag->item);
-                       if (std_meta_atom)
-                       {
-                               membuffer_write_std_tag(buf,std_meta_atom,tag->value);
-                       }
-                       else
-                       {
-                               membuffer_write_custom_tag(buf,tag->item,tag->value);
-                       }
-               }
-       }
-
-       free(mask);
-
-       if (membuffer_error(buf))
-       {
-               membuffer_free(buf);
-               return 0;
-       }
-
-       *out_size = membuffer_get_size(buf);
-       *out_buffer = membuffer_detach(buf);
-       membuffer_free(buf);
-
-       return 1;
-}
-
-static uint32_t find_atom(mp4ff_t * f,uint64_t base,uint32_t size,const char * name)
-{
-       uint32_t remaining = size;
-       uint64_t atom_offset = base;
-       for(;;)
-       {
-               char atom_name[4];
-               uint32_t atom_size;
-
-               mp4ff_set_position(f,atom_offset);
-               
-               if (remaining < 8) break;
-               atom_size = mp4ff_read_int32(f);
-               if (atom_size > remaining || atom_size < 8) break;
-               mp4ff_read_data(f,atom_name,4);
-               
-               if (!memcmp(atom_name,name,4))
-               {
-                       mp4ff_set_position(f,atom_offset);
-                       return 1;
-               }
-               
-               remaining -= atom_size;
-               atom_offset += atom_size;
-       }
-       return 0;
-}
-
-static uint32_t find_atom_v2(mp4ff_t * f,uint64_t base,uint32_t size,const char * name,uint32_t extraheaders,const char * name_inside)
-{
-       uint64_t first_base = (uint64_t)(-1);
-       while(find_atom(f,base,size,name))//try to find atom <name> with atom <name_inside> in it
-       {
-               uint64_t mybase = mp4ff_position(f);
-               uint32_t mysize = mp4ff_read_int32(f);
-
-               if (first_base == (uint64_t)(-1)) first_base = mybase;
-
-               if (mysize < 8 + extraheaders) break;
-
-               if (find_atom(f,mybase+(8+extraheaders),mysize-(8+extraheaders),name_inside))
-               {
-                       mp4ff_set_position(f,mybase);
-                       return 2;
-               }
-               base += mysize;
-               if (size<=mysize) {size=0;break;}
-               size -= mysize;
-       }
-
-       if (first_base != (uint64_t)(-1))//wanted atom inside not found
-       {
-               mp4ff_set_position(f,first_base);
-               return 1;
-       }
-       else return 0;  
-}
-
-static uint32_t create_meta(const mp4ff_metadata_t * data,void ** out_buffer,uint32_t * out_size)
-{
-       membuffer * buf;
-       uint32_t ilst_size;
-       void * ilst_buffer;
-
-       if (!create_ilst(data,&ilst_buffer,&ilst_size)) return 0;
-
-       buf = membuffer_create();
-
-       membuffer_write_int32(buf,0);
-       membuffer_write_atom(buf,"ilst",ilst_size,ilst_buffer);
-       free(ilst_buffer);
-
-       *out_size = membuffer_get_size(buf);
-       *out_buffer = membuffer_detach(buf);
-       membuffer_free(buf);
-       return 1;
-}
-
-static uint32_t create_udta(const mp4ff_metadata_t * data,void ** out_buffer,uint32_t * out_size)
-{
-       membuffer * buf;
-       uint32_t meta_size;
-       void * meta_buffer;
-
-       if (!create_meta(data,&meta_buffer,&meta_size)) return 0;
-
-       buf = membuffer_create();
-
-       membuffer_write_atom(buf,"meta",meta_size,meta_buffer);
-
-       free(meta_buffer);
-
-       *out_size = membuffer_get_size(buf);
-       *out_buffer = membuffer_detach(buf);
-       membuffer_free(buf);
-       return 1;
-}
-
-static uint32_t modify_moov(mp4ff_t * f,const mp4ff_metadata_t * data,void ** out_buffer,uint32_t * out_size)
-{
-       uint64_t total_base = f->moov_offset + 8;
-       uint32_t total_size = (uint32_t)(f->moov_size - 8);
-
-       uint64_t udta_offset,meta_offset,ilst_offset;
-       uint32_t udta_size,  meta_size,  ilst_size;
-       
-       uint32_t new_ilst_size;
-       void * new_ilst_buffer;
-       
-       uint8_t * p_out;
-       int32_t size_delta;
-       
-       
-       if (!find_atom_v2(f,total_base,total_size,"udta",0,"meta"))
-       {
-               membuffer * buf;
-               void * new_udta_buffer;
-               uint32_t new_udta_size;
-               if (!create_udta(data,&new_udta_buffer,&new_udta_size)) return 0;
-               
-               buf = membuffer_create();
-               mp4ff_set_position(f,total_base);
-               membuffer_transfer_from_file(buf,f,total_size);
-               
-               membuffer_write_atom(buf,"udta",new_udta_size,new_udta_buffer);
-
-               free(new_udta_buffer);
-       
-               *out_size = membuffer_get_size(buf);
-               *out_buffer = membuffer_detach(buf);
-               membuffer_free(buf);
-               return 1;               
-       }
-       else
-       {
-               udta_offset = mp4ff_position(f);
-               udta_size = mp4ff_read_int32(f);
-               if (!find_atom_v2(f,udta_offset+8,udta_size-8,"meta",4,"ilst"))
-               {
-                       membuffer * buf;
-                       void * new_meta_buffer;
-                       uint32_t new_meta_size;
-                       if (!create_meta(data,&new_meta_buffer,&new_meta_size)) return 0;
-                       
-                       buf = membuffer_create();
-                       mp4ff_set_position(f,total_base);
-                       membuffer_transfer_from_file(buf,f,(uint32_t)(udta_offset - total_base));
-                       
-                       membuffer_write_int32(buf,udta_size + 8 + new_meta_size);
-                       membuffer_write_atom_name(buf,"udta");
-                       membuffer_transfer_from_file(buf,f,udta_size);
-                                               
-                       membuffer_write_atom(buf,"meta",new_meta_size,new_meta_buffer);
-                       free(new_meta_buffer);
-               
-                       *out_size = membuffer_get_size(buf);
-                       *out_buffer = membuffer_detach(buf);
-                       membuffer_free(buf);
-                       return 1;               
-               }
-               meta_offset = mp4ff_position(f);
-               meta_size = mp4ff_read_int32(f);
-               if (!find_atom(f,meta_offset+12,meta_size-12,"ilst")) return 0;//shouldn't happen, find_atom_v2 above takes care of it
-               ilst_offset = mp4ff_position(f);
-               ilst_size = mp4ff_read_int32(f);
-
-               if (!create_ilst(data,&new_ilst_buffer,&new_ilst_size)) return 0;
-               
-               size_delta = new_ilst_size - (ilst_size - 8);
-
-               *out_size = total_size + size_delta;
-               *out_buffer = malloc(*out_size);
-               if (*out_buffer == 0)
-               {
-                       free(new_ilst_buffer);
-                       return 0;
-               }
-
-               p_out = (uint8_t*)*out_buffer;
-               
-               mp4ff_set_position(f,total_base);
-               mp4ff_read_data(f,p_out,(uint32_t)(udta_offset - total_base )); p_out += (uint32_t)(udta_offset - total_base );
-               *(uint32_t*)p_out = fix_byte_order_32(mp4ff_read_int32(f) + size_delta); p_out += 4;
-               mp4ff_read_data(f,p_out,4); p_out += 4;
-               mp4ff_read_data(f,p_out,(uint32_t)(meta_offset - udta_offset - 8)); p_out += (uint32_t)(meta_offset - udta_offset - 8);
-               *(uint32_t*)p_out = fix_byte_order_32(mp4ff_read_int32(f) + size_delta); p_out += 4;
-               mp4ff_read_data(f,p_out,4); p_out += 4;
-               mp4ff_read_data(f,p_out,(uint32_t)(ilst_offset - meta_offset - 8)); p_out += (uint32_t)(ilst_offset - meta_offset - 8);
-               *(uint32_t*)p_out = fix_byte_order_32(mp4ff_read_int32(f) + size_delta); p_out += 4;
-               mp4ff_read_data(f,p_out,4); p_out += 4;
-
-               memcpy(p_out,new_ilst_buffer,new_ilst_size);
-               p_out += new_ilst_size;
-
-               mp4ff_set_position(f,ilst_offset + ilst_size);
-               mp4ff_read_data(f,p_out,(uint32_t)(total_size - (ilst_offset - total_base) - ilst_size));
-
-               free(new_ilst_buffer);
-       }
-       return 1;
-
-}
-
-int32_t mp4ff_meta_update(mp4ff_callback_t *f,const mp4ff_metadata_t * data)
-{
-       void * new_moov_data;
-       uint32_t new_moov_size;
-
-    mp4ff_t *ff = malloc(sizeof(mp4ff_t));
-
-    memset(ff, 0, sizeof(mp4ff_t));
-    ff->stream = f;
-       mp4ff_set_position(ff,0);
-
-    parse_atoms(ff,1);
-
-
-       if (!modify_moov(ff,data,&new_moov_data,&new_moov_size))
-       {
-               mp4ff_close(ff);
-               return 0;
-       }
-
-    /* copy moov atom to end of the file */
-    if (ff->last_atom != ATOM_MOOV)
-    {
-        char *free_data = "free";
-
-        /* rename old moov to free */
-        mp4ff_set_position(ff, ff->moov_offset + 4);
-        mp4ff_write_data(ff, free_data, 4);
-       
-        mp4ff_set_position(ff, ff->file_size);
-               mp4ff_write_int32(ff,new_moov_size + 8);
-               mp4ff_write_data(ff,"moov",4);
-               mp4ff_write_data(ff, new_moov_data, new_moov_size);
-    }
-       else
-       {
-        mp4ff_set_position(ff, ff->moov_offset);
-               mp4ff_write_int32(ff,new_moov_size + 8);
-               mp4ff_write_data(ff,"moov",4);
-               mp4ff_write_data(ff, new_moov_data, new_moov_size);
-       }
-
-       mp4ff_truncate(ff);
-
-       mp4ff_close(ff);
-    return 1;
-}
-#endif
diff --git a/lib/libfaad2/common/mp4ff/mp4util.c b/lib/libfaad2/common/mp4ff/mp4util.c
deleted file mode 100644 (file)
index c2528bc..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mp4util.c,v 1.20 2007/11/01 12:33:29 menno Exp $
-**/
-
-#include "mp4ffint.h"
-#include <stdlib.h>
-
-int32_t mp4ff_read_data(mp4ff_t *f, uint8_t *data, uint32_t size)
-{
-    int32_t result = 1;
-
-    result = f->stream->read(f->stream->user_data, data, size);
-
-    f->current_position += size;
-
-    return result;
-}
-
-int32_t mp4ff_truncate(mp4ff_t * f)
-{
-       return f->stream->truncate(f->stream->user_data);
-}
-
-int32_t mp4ff_write_data(mp4ff_t *f, uint8_t *data, uint32_t size)
-{
-    int32_t result = 1;
-
-    result = f->stream->write(f->stream->user_data, data, size);
-
-    f->current_position += size;
-
-    return result;
-}
-
-int32_t mp4ff_write_int32(mp4ff_t *f,const uint32_t data)
-{
-       uint32_t result;
-    uint32_t a, b, c, d;
-    int8_t temp[4];
-    
-    *(uint32_t*)temp = data;
-    a = (uint8_t)temp[0];
-    b = (uint8_t)temp[1];
-    c = (uint8_t)temp[2];
-    d = (uint8_t)temp[3];
-
-    result = (a<<24) | (b<<16) | (c<<8) | d;
-
-    return mp4ff_write_data(f,(uint8_t*)&result,sizeof(result));
-}
-
-int32_t mp4ff_set_position(mp4ff_t *f, const int64_t position)
-{
-    f->stream->seek(f->stream->user_data, position);
-    f->current_position = position;
-
-    return 0;
-}
-
-int64_t mp4ff_position(const mp4ff_t *f)
-{
-    return f->current_position;
-}
-
-uint64_t mp4ff_read_int64(mp4ff_t *f)
-{
-    uint8_t data[8];
-    uint64_t result = 0;
-    int8_t i;
-
-    mp4ff_read_data(f, data, 8);
-
-    for (i = 0; i < 8; i++)
-    {
-        result |= ((uint64_t)data[i]) << ((7 - i) * 8);
-    }
-
-    return result;
-}
-
-uint32_t mp4ff_read_int32(mp4ff_t *f)
-{
-    uint32_t result;
-    uint32_t a, b, c, d;
-    uint8_t data[4];
-    
-    mp4ff_read_data(f, data, 4);
-    a = (uint8_t)data[0];
-    b = (uint8_t)data[1];
-    c = (uint8_t)data[2];
-    d = (uint8_t)data[3];
-
-    result = (a<<24) | (b<<16) | (c<<8) | d;
-    return (uint32_t)result;
-}
-
-uint32_t mp4ff_read_int24(mp4ff_t *f)
-{
-    uint32_t result;
-    uint32_t a, b, c;
-    uint8_t data[4];
-    
-    mp4ff_read_data(f, data, 3);
-    a = (uint8_t)data[0];
-    b = (uint8_t)data[1];
-    c = (uint8_t)data[2];
-
-    result = (a<<16) | (b<<8) | c;
-    return (uint32_t)result;
-}
-
-uint16_t mp4ff_read_int16(mp4ff_t *f)
-{
-    uint32_t result;
-    uint32_t a, b;
-    uint8_t data[2];
-    
-    mp4ff_read_data(f, data, 2);
-    a = (uint8_t)data[0];
-    b = (uint8_t)data[1];
-
-    result = (a<<8) | b;
-    return (uint16_t)result;
-}
-
-char * mp4ff_read_string(mp4ff_t * f,uint32_t length)
-{
-       char * str = (char*)malloc(length + 1);
-       if (str!=0)
-       {
-               if ((uint32_t)mp4ff_read_data(f,(uint8_t*)str,length)!=length)
-               {
-                       free(str);
-                       str = 0;
-               }
-               else
-               {
-                       str[length] = 0;
-               }
-       }
-       return str;     
-}
-
-uint8_t mp4ff_read_char(mp4ff_t *f)
-{
-    uint8_t output;
-    mp4ff_read_data(f, &output, 1);
-    return output;
-}
-
-uint32_t mp4ff_read_mp4_descr_length(mp4ff_t *f)
-{
-    uint8_t b;
-    uint8_t numBytes = 0;
-    uint32_t length = 0;
-
-    do
-    {
-        b = mp4ff_read_char(f);
-        numBytes++;
-        length = (length << 7) | (b & 0x7F);
-    } while ((b & 0x80) && numBytes < 4);
-
-    return length;
-}
diff --git a/lib/libfaad2/config.guess b/lib/libfaad2/config.guess
deleted file mode 100755 (executable)
index 278f9e9..0000000
+++ /dev/null
@@ -1,1516 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
-
-timestamp='2007-07-22'
-
-# This file 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., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner <per@bothner.com>.
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit build system type.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION]
-
-Output the configuration name of the system \`$me' is run on.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.guess ($timestamp)
-
-Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )        # Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help" >&2
-       exit 1 ;;
-    * )
-       break ;;
-  esac
-done
-
-if test $# != 0; then
-  echo "$me: too many arguments$help" >&2
-  exit 1
-fi
-
-trap 'exit 1' 1 2 15
-
-# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
-# compiler to aid in system detection is discouraged as it requires
-# temporary files to be created and, as you can see below, it is a
-# headache to deal with in a portable fashion.
-
-# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
-# use `HOST_CC' if defined, but it is deprecated.
-
-# Portable tmp directory creation inspired by the Autoconf team.
-
-set_cc_for_build='
-trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
-: ${TMPDIR=/tmp} ;
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
- { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
- { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
- { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
-dummy=$tmp/dummy ;
-tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
-case $CC_FOR_BUILD,$HOST_CC,$CC in
- ,,)    echo "int x;" > $dummy.c ;
-       for c in cc gcc c89 c99 ; do
-         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
-            CC_FOR_BUILD="$c"; break ;
-         fi ;
-       done ;
-       if test x"$CC_FOR_BUILD" = x ; then
-         CC_FOR_BUILD=no_compiler_found ;
-       fi
-       ;;
- ,,*)   CC_FOR_BUILD=$CC ;;
- ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
-esac ; set_cc_for_build= ;'
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 1994-08-24)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-       PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    *:NetBSD:*:*)
-       # NetBSD (nbsd) targets should (where applicable) match one or
-       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
-       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
-       # switched to ELF, *-*-netbsd* would select the old
-       # object file format.  This provides both forward
-       # compatibility and a consistent mechanism for selecting the
-       # object file format.
-       #
-       # Note: NetBSD doesn't particularly care about the vendor
-       # portion of the name.  We always set it to "unknown".
-       sysctl="sysctl -n hw.machine_arch"
-       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
-           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
-       case "${UNAME_MACHINE_ARCH}" in
-           armeb) machine=armeb-unknown ;;
-           arm*) machine=arm-unknown ;;
-           sh3el) machine=shl-unknown ;;
-           sh3eb) machine=sh-unknown ;;
-           sh5el) machine=sh5le-unknown ;;
-           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
-       esac
-       # The Operating System including object format, if it has switched
-       # to ELF recently, or will in the future.
-       case "${UNAME_MACHINE_ARCH}" in
-           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
-               eval $set_cc_for_build
-               if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
-                       | grep __ELF__ >/dev/null
-               then
-                   # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
-                   # Return netbsd for either.  FIX?
-                   os=netbsd
-               else
-                   os=netbsdelf
-               fi
-               ;;
-           *)
-               os=netbsd
-               ;;
-       esac
-       # The OS release
-       # Debian GNU/NetBSD machines have a different userland, and
-       # thus, need a distinct triplet. However, they do not need
-       # kernel version information, so it can be replaced with a
-       # suitable tag, in the style of linux-gnu.
-       case "${UNAME_VERSION}" in
-           Debian*)
-               release='-gnu'
-               ;;
-           *)
-               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-               ;;
-       esac
-       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
-       # contains redundant information, the shorter form:
-       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
-       echo "${machine}-${os}${release}"
-       exit ;;
-    *:OpenBSD:*:*)
-       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
-       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
-       exit ;;
-    *:ekkoBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
-       exit ;;
-    *:SolidBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
-       exit ;;
-    macppc:MirBSD:*:*)
-       echo powerpc-unknown-mirbsd${UNAME_RELEASE}
-       exit ;;
-    *:MirBSD:*:*)
-       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
-       exit ;;
-    alpha:OSF1:*:*)
-       case $UNAME_RELEASE in
-       *4.0)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
-               ;;
-       *5.*)
-               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
-               ;;
-       esac
-       # According to Compaq, /usr/sbin/psrinfo has been available on
-       # OSF/1 and Tru64 systems produced since 1995.  I hope that
-       # covers most systems running today.  This code pipes the CPU
-       # types through head -n 1, so we only detect the type of CPU 0.
-       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
-       case "$ALPHA_CPU_TYPE" in
-           "EV4 (21064)")
-               UNAME_MACHINE="alpha" ;;
-           "EV4.5 (21064)")
-               UNAME_MACHINE="alpha" ;;
-           "LCA4 (21066/21068)")
-               UNAME_MACHINE="alpha" ;;
-           "EV5 (21164)")
-               UNAME_MACHINE="alphaev5" ;;
-           "EV5.6 (21164A)")
-               UNAME_MACHINE="alphaev56" ;;
-           "EV5.6 (21164PC)")
-               UNAME_MACHINE="alphapca56" ;;
-           "EV5.7 (21164PC)")
-               UNAME_MACHINE="alphapca57" ;;
-           "EV6 (21264)")
-               UNAME_MACHINE="alphaev6" ;;
-           "EV6.7 (21264A)")
-               UNAME_MACHINE="alphaev67" ;;
-           "EV6.8CB (21264C)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.8AL (21264B)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.8CX (21264D)")
-               UNAME_MACHINE="alphaev68" ;;
-           "EV6.9A (21264/EV69A)")
-               UNAME_MACHINE="alphaev69" ;;
-           "EV7 (21364)")
-               UNAME_MACHINE="alphaev7" ;;
-           "EV7.9 (21364A)")
-               UNAME_MACHINE="alphaev79" ;;
-       esac
-       # A Pn.n version is a patched version.
-       # A Vn.n version is a released version.
-       # A Tn.n version is a released field test version.
-       # A Xn.n version is an unreleased experimental baselevel.
-       # 1.2 uses "1.2" for uname -r.
-       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-       exit ;;
-    Alpha\ *:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # Should we change UNAME_MACHINE based on the output of uname instead
-       # of the specific Alpha model?
-       echo alpha-pc-interix
-       exit ;;
-    21064:Windows_NT:50:3)
-       echo alpha-dec-winnt3.5
-       exit ;;
-    Amiga*:UNIX_System_V:4.0:*)
-       echo m68k-unknown-sysv4
-       exit ;;
-    *:[Aa]miga[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-amigaos
-       exit ;;
-    *:[Mm]orph[Oo][Ss]:*:*)
-       echo ${UNAME_MACHINE}-unknown-morphos
-       exit ;;
-    *:OS/390:*:*)
-       echo i370-ibm-openedition
-       exit ;;
-    *:z/VM:*:*)
-       echo s390-ibm-zvmoe
-       exit ;;
-    *:OS400:*:*)
-        echo powerpc-ibm-os400
-       exit ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-       echo arm-acorn-riscix${UNAME_RELEASE}
-       exit ;;
-    arm:riscos:*:*|arm:RISCOS:*:*)
-       echo arm-unknown-riscos
-       exit ;;
-    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
-       echo hppa1.1-hitachi-hiuxmpp
-       exit ;;
-    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
-       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-       if test "`(/bin/universe) 2>/dev/null`" = att ; then
-               echo pyramid-pyramid-sysv3
-       else
-               echo pyramid-pyramid-bsd
-       fi
-       exit ;;
-    NILE*:*:*:dcosx)
-       echo pyramid-pyramid-svr4
-       exit ;;
-    DRS?6000:unix:4.0:6*)
-       echo sparc-icl-nx6
-       exit ;;
-    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
-       case `/usr/bin/uname -p` in
-           sparc) echo sparc-icl-nx7; exit ;;
-       esac ;;
-    sun4H:SunOS:5.*:*)
-       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
-       echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:6*:*)
-       # According to config.sub, this is the proper way to canonicalize
-       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-       # it's likely to be more like Solaris than SunOS4.
-       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    sun4*:SunOS:*:*)
-       case "`/usr/bin/arch -k`" in
-           Series*|S4*)
-               UNAME_RELEASE=`uname -v`
-               ;;
-       esac
-       # Japanese Language versions have a version number like `4.1.3-JL'.
-       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-       exit ;;
-    sun3*:SunOS:*:*)
-       echo m68k-sun-sunos${UNAME_RELEASE}
-       exit ;;
-    sun*:*:4.2BSD:*)
-       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
-       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
-       case "`/bin/arch`" in
-           sun3)
-               echo m68k-sun-sunos${UNAME_RELEASE}
-               ;;
-           sun4)
-               echo sparc-sun-sunos${UNAME_RELEASE}
-               ;;
-       esac
-       exit ;;
-    aushp:SunOS:*:*)
-       echo sparc-auspex-sunos${UNAME_RELEASE}
-       exit ;;
-    # The situation for MiNT is a little confusing.  The machine name
-    # can be virtually everything (everything which is not
-    # "atarist" or "atariste" at least should have a processor
-    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
-    # to the lowercase version "mint" (or "freemint").  Finally
-    # the system name "TOS" denotes a system which is actually not
-    # MiNT.  But MiNT is downward compatible to TOS, so this should
-    # be no problem.
-    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
-       echo m68k-atari-mint${UNAME_RELEASE}
-        exit ;;
-    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
-       exit ;;
-    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
-    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
-    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit ;;
-    m68k:machten:*:*)
-       echo m68k-apple-machten${UNAME_RELEASE}
-       exit ;;
-    powerpc:machten:*:*)
-       echo powerpc-apple-machten${UNAME_RELEASE}
-       exit ;;
-    RISC*:Mach:*:*)
-       echo mips-dec-mach_bsd4.3
-       exit ;;
-    RISC*:ULTRIX:*:*)
-       echo mips-dec-ultrix${UNAME_RELEASE}
-       exit ;;
-    VAX*:ULTRIX*:*:*)
-       echo vax-dec-ultrix${UNAME_RELEASE}
-       exit ;;
-    2020:CLIX:*:* | 2430:CLIX:*:*)
-       echo clipper-intergraph-clix${UNAME_RELEASE}
-       exit ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-#ifdef __cplusplus
-#include <stdio.h>  /* for printf() prototype */
-       int main (int argc, char *argv[]) {
-#else
-       int main (argc, argv) int argc; char *argv[]; {
-#endif
-       #if defined (host_mips) && defined (MIPSEB)
-       #if defined (SYSTYPE_SYSV)
-         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_SVR4)
-         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-       #endif
-       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-       #endif
-       #endif
-         exit (-1);
-       }
-EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c &&
-         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
-         SYSTEM_NAME=`$dummy $dummyarg` &&
-           { echo "$SYSTEM_NAME"; exit; }
-       echo mips-mips-riscos${UNAME_RELEASE}
-       exit ;;
-    Motorola:PowerMAX_OS:*:*)
-       echo powerpc-motorola-powermax
-       exit ;;
-    Motorola:*:4.3:PL8-*)
-       echo powerpc-harris-powermax
-       exit ;;
-    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
-       echo powerpc-harris-powermax
-       exit ;;
-    Night_Hawk:Power_UNIX:*:*)
-       echo powerpc-harris-powerunix
-       exit ;;
-    m88k:CX/UX:7*:*)
-       echo m88k-harris-cxux7
-       exit ;;
-    m88k:*:4*:R4*)
-       echo m88k-motorola-sysv4
-       exit ;;
-    m88k:*:3*:R3*)
-       echo m88k-motorola-sysv3
-       exit ;;
-    AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
-       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
-       then
-           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
-              [ ${TARGET_BINARY_INTERFACE}x = x ]
-           then
-               echo m88k-dg-dgux${UNAME_RELEASE}
-           else
-               echo m88k-dg-dguxbcs${UNAME_RELEASE}
-           fi
-       else
-           echo i586-dg-dgux${UNAME_RELEASE}
-       fi
-       exit ;;
-    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
-       echo m88k-dolphin-sysv3
-       exit ;;
-    M88*:*:R3*:*)
-       # Delta 88k system running SVR3
-       echo m88k-motorola-sysv3
-       exit ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-       echo m88k-tektronix-sysv3
-       exit ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-       echo m68k-tektronix-bsd
-       exit ;;
-    *:IRIX*:*:*)
-       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-       exit ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
-       exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
-    i*86:AIX:*:*)
-       echo i386-ibm-aix
-       exit ;;
-    ia64:AIX:*:*)
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
-       else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-       fi
-       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
-       exit ;;
-    *:AIX:2:3)
-       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-               eval $set_cc_for_build
-               sed 's/^                //' << EOF >$dummy.c
-               #include <sys/systemcfg.h>
-
-               main()
-                       {
-                       if (!__power_pc())
-                               exit(1);
-                       puts("powerpc-ibm-aix3.2.5");
-                       exit(0);
-                       }
-EOF
-               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
-               then
-                       echo "$SYSTEM_NAME"
-               else
-                       echo rs6000-ibm-aix3.2.5
-               fi
-       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-               echo rs6000-ibm-aix3.2.4
-       else
-               echo rs6000-ibm-aix3.2
-       fi
-       exit ;;
-    *:AIX:*:[45])
-       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
-       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
-               IBM_ARCH=rs6000
-       else
-               IBM_ARCH=powerpc
-       fi
-       if [ -x /usr/bin/oslevel ] ; then
-               IBM_REV=`/usr/bin/oslevel`
-       else
-               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
-       fi
-       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-       exit ;;
-    *:AIX:*:*)
-       echo rs6000-ibm-aix
-       exit ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-       echo romp-ibm-bsd4.4
-       exit ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
-       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-       exit ;;                             # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-       echo rs6000-bull-bosx
-       exit ;;
-    DPX/2?00:B.O.S.:*:*)
-       echo m68k-bull-sysv3
-       exit ;;
-    9000/[34]??:4.3bsd:1.*:*)
-       echo m68k-hp-bsd
-       exit ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-       echo m68k-hp-bsd4.4
-       exit ;;
-    9000/[34678]??:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       case "${UNAME_MACHINE}" in
-           9000/31? )            HP_ARCH=m68000 ;;
-           9000/[34]?? )         HP_ARCH=m68k ;;
-           9000/[678][0-9][0-9])
-               if [ -x /usr/bin/getconf ]; then
-                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
-                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                        esac ;;
-                    esac
-               fi
-               if [ "${HP_ARCH}" = "" ]; then
-                   eval $set_cc_for_build
-                   sed 's/^              //' << EOF >$dummy.c
-
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
-
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
-
-                  switch (cpu)
-               {
-               case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-               case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-               case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-                   switch (bits)
-                       {
-                       case 64: puts ("hppa2.0w"); break;
-                       case 32: puts ("hppa2.0n"); break;
-                       default: puts ("hppa2.0"); break;
-                       } break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-                   puts ("hppa2.0"); break;
-              #endif
-               default: puts ("hppa1.0"); break;
-               }
-                  exit (0);
-              }
-EOF
-                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
-                   test -z "$HP_ARCH" && HP_ARCH=hppa
-               fi ;;
-       esac
-       if [ ${HP_ARCH} = "hppa2.0w" ]
-       then
-           eval $set_cc_for_build
-
-           # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
-           # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
-           # generating 64-bit code.  GNU and HP use different nomenclature:
-           #
-           # $ CC_FOR_BUILD=cc ./config.guess
-           # => hppa2.0w-hp-hpux11.23
-           # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
-           # => hppa64-hp-hpux11.23
-
-           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
-               grep __LP64__ >/dev/null
-           then
-               HP_ARCH="hppa2.0w"
-           else
-               HP_ARCH="hppa64"
-           fi
-       fi
-       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-       exit ;;
-    ia64:HP-UX:*:*)
-       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-       echo ia64-hp-hpux${HPUX_REV}
-       exit ;;
-    3050*:HI-UX:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <unistd.h>
-       int
-       main ()
-       {
-         long cpu = sysconf (_SC_CPU_VERSION);
-         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-            results, however.  */
-         if (CPU_IS_PA_RISC (cpu))
-           {
-             switch (cpu)
-               {
-                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-                 default: puts ("hppa-hitachi-hiuxwe2"); break;
-               }
-           }
-         else if (CPU_IS_HP_MC68K (cpu))
-           puts ("m68k-hitachi-hiuxwe2");
-         else puts ("unknown-hitachi-hiuxwe2");
-         exit (0);
-       }
-EOF
-       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
-               { echo "$SYSTEM_NAME"; exit; }
-       echo unknown-hitachi-hiuxwe2
-       exit ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-       echo hppa1.1-hp-bsd
-       exit ;;
-    9000/8??:4.3bsd:*:*)
-       echo hppa1.0-hp-bsd
-       exit ;;
-    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
-       echo hppa1.0-hp-mpeix
-       exit ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-       echo hppa1.1-hp-osf
-       exit ;;
-    hp8??:OSF1:*:*)
-       echo hppa1.0-hp-osf
-       exit ;;
-    i*86:OSF1:*:*)
-       if [ -x /usr/sbin/sysversion ] ; then
-           echo ${UNAME_MACHINE}-unknown-osf1mk
-       else
-           echo ${UNAME_MACHINE}-unknown-osf1
-       fi
-       exit ;;
-    parisc*:Lites*:*:*)
-       echo hppa1.1-hp-lites
-       exit ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-       echo c1-convex-bsd
-        exit ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-        exit ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-       echo c34-convex-bsd
-        exit ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-       echo c38-convex-bsd
-        exit ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-       echo c4-convex-bsd
-        exit ;;
-    CRAY*Y-MP:*:*:*)
-       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*[A-Z]90:*:*:*)
-       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-             -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*TS:*:*:*)
-       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*T3E:*:*:*)
-       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    CRAY*SV1:*:*:*)
-       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    *:UNICOS/mp:*:*)
-       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
-       exit ;;
-    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
-       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit ;;
-    5000:UNIX_System_V:4.*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-       exit ;;
-    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
-       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-       exit ;;
-    sparc*:BSD/OS:*:*)
-       echo sparc-unknown-bsdi${UNAME_RELEASE}
-       exit ;;
-    *:BSD/OS:*:*)
-       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
-       exit ;;
-    *:FreeBSD:*:*)
-       case ${UNAME_MACHINE} in
-           pc98)
-               echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-           amd64)
-               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-           *)
-               echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
-       esac
-       exit ;;
-    i*:CYGWIN*:*)
-       echo ${UNAME_MACHINE}-pc-cygwin
-       exit ;;
-    *:MINGW*:*)
-       echo ${UNAME_MACHINE}-pc-mingw32
-       exit ;;
-    i*:windows32*:*)
-       # uname -m includes "-pc" on this system.
-       echo ${UNAME_MACHINE}-mingw32
-       exit ;;
-    i*:PW*:*)
-       echo ${UNAME_MACHINE}-pc-pw32
-       exit ;;
-    *:Interix*:[3456]*)
-       case ${UNAME_MACHINE} in
-           x86)
-               echo i586-pc-interix${UNAME_RELEASE}
-               exit ;;
-           EM64T | authenticamd)
-               echo x86_64-unknown-interix${UNAME_RELEASE}
-               exit ;;
-       esac ;;
-    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
-       echo i${UNAME_MACHINE}-pc-mks
-       exit ;;
-    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
-       # How do we know it's Interix rather than the generic POSIX subsystem?
-       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
-       # UNAME_MACHINE based on the output of uname instead of i386?
-       echo i586-pc-interix
-       exit ;;
-    i*:UWIN*:*)
-       echo ${UNAME_MACHINE}-pc-uwin
-       exit ;;
-    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
-       echo x86_64-unknown-cygwin
-       exit ;;
-    p*:CYGWIN*:*)
-       echo powerpcle-unknown-cygwin
-       exit ;;
-    prep*:SunOS:5.*:*)
-       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-       exit ;;
-    *:GNU:*:*)
-       # the GNU system
-       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-       exit ;;
-    *:GNU/*:*:*)
-       # other systems with GNU libc and userland
-       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
-       exit ;;
-    i*86:Minix:*:*)
-       echo ${UNAME_MACHINE}-pc-minix
-       exit ;;
-    arm*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    avr32*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    cris:Linux:*:*)
-       echo cris-axis-linux-gnu
-       exit ;;
-    crisv32:Linux:*:*)
-       echo crisv32-axis-linux-gnu
-       exit ;;
-    frv:Linux:*:*)
-       echo frv-unknown-linux-gnu
-       exit ;;
-    ia64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    m32r*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    m68*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    mips:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #undef CPU
-       #undef mips
-       #undef mipsel
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=mipsel
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=mips
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-           /^CPU/{
-               s: ::g
-               p
-           }'`"
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-       ;;
-    mips64:Linux:*:*)
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #undef CPU
-       #undef mips64
-       #undef mips64el
-       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
-       CPU=mips64el
-       #else
-       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
-       CPU=mips64
-       #else
-       CPU=
-       #endif
-       #endif
-EOF
-       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-           /^CPU/{
-               s: ::g
-               p
-           }'`"
-       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
-       ;;
-    or32:Linux:*:*)
-       echo or32-unknown-linux-gnu
-       exit ;;
-    ppc:Linux:*:*)
-       echo powerpc-unknown-linux-gnu
-       exit ;;
-    ppc64:Linux:*:*)
-       echo powerpc64-unknown-linux-gnu
-       exit ;;
-    alpha:Linux:*:*)
-       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
-         EV5)   UNAME_MACHINE=alphaev5 ;;
-         EV56)  UNAME_MACHINE=alphaev56 ;;
-         PCA56) UNAME_MACHINE=alphapca56 ;;
-         PCA57) UNAME_MACHINE=alphapca56 ;;
-         EV6)   UNAME_MACHINE=alphaev6 ;;
-         EV67)  UNAME_MACHINE=alphaev67 ;;
-         EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
-       objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
-       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
-       exit ;;
-    parisc:Linux:*:* | hppa:Linux:*:*)
-       # Look for CPU level
-       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-         PA7*) echo hppa1.1-unknown-linux-gnu ;;
-         PA8*) echo hppa2.0-unknown-linux-gnu ;;
-         *)    echo hppa-unknown-linux-gnu ;;
-       esac
-       exit ;;
-    parisc64:Linux:*:* | hppa64:Linux:*:*)
-       echo hppa64-unknown-linux-gnu
-       exit ;;
-    s390:Linux:*:* | s390x:Linux:*:*)
-       echo ${UNAME_MACHINE}-ibm-linux
-       exit ;;
-    sh64*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    sh*:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    sparc:Linux:*:* | sparc64:Linux:*:*)
-       echo ${UNAME_MACHINE}-unknown-linux-gnu
-       exit ;;
-    vax:Linux:*:*)
-       echo ${UNAME_MACHINE}-dec-linux-gnu
-       exit ;;
-    x86_64:Linux:*:*)
-       echo x86_64-unknown-linux-gnu
-       exit ;;
-    xtensa:Linux:*:*)
-       echo xtensa-unknown-linux-gnu
-       exit ;;
-    i*86:Linux:*:*)
-       # The BFD linker knows what the default object file format is, so
-       # first see if it will tell us. cd to the root directory to prevent
-       # problems with other programs or directories called `ld' in the path.
-       # Set LC_ALL=C to ensure ld outputs messages in English.
-       ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
-                        | sed -ne '/supported targets:/!d
-                                   s/[         ][      ]*/ /g
-                                   s/.*supported targets: *//
-                                   s/ .*//
-                                   p'`
-        case "$ld_supported_targets" in
-         elf32-i386)
-               TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
-               ;;
-         a.out-i386-linux)
-               echo "${UNAME_MACHINE}-pc-linux-gnuaout"
-               exit ;;
-         coff-i386)
-               echo "${UNAME_MACHINE}-pc-linux-gnucoff"
-               exit ;;
-         "")
-               # Either a pre-BFD a.out linker (linux-gnuoldld) or
-               # one that does not give us useful --help.
-               echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
-               exit ;;
-       esac
-       # Determine whether the default compiler is a.out or elf
-       eval $set_cc_for_build
-       sed 's/^        //' << EOF >$dummy.c
-       #include <features.h>
-       #ifdef __ELF__
-       # ifdef __GLIBC__
-       #  if __GLIBC__ >= 2
-       LIBC=gnu
-       #  else
-       LIBC=gnulibc1
-       #  endif
-       # else
-       LIBC=gnulibc1
-       # endif
-       #else
-       #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
-       LIBC=gnu
-       #else
-       LIBC=gnuaout
-       #endif
-       #endif
-       #ifdef __dietlibc__
-       LIBC=dietlibc
-       #endif
-EOF
-       eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
-           /^LIBC/{
-               s: ::g
-               p
-           }'`"
-       test x"${LIBC}" != x && {
-               echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
-               exit
-       }
-       test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
-       ;;
-    i*86:DYNIX/ptx:4*:*)
-       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
-       # earlier versions are messed up and put the nodename in both
-       # sysname and nodename.
-       echo i386-sequent-sysv4
-       exit ;;
-    i*86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
-       # I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
-       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
-       exit ;;
-    i*86:OS/2:*:*)
-       # If we were able to find `uname', then EMX Unix compatibility
-       # is probably installed.
-       echo ${UNAME_MACHINE}-pc-os2-emx
-       exit ;;
-    i*86:XTS-300:*:STOP)
-       echo ${UNAME_MACHINE}-unknown-stop
-       exit ;;
-    i*86:atheos:*:*)
-       echo ${UNAME_MACHINE}-unknown-atheos
-       exit ;;
-    i*86:syllable:*:*)
-       echo ${UNAME_MACHINE}-pc-syllable
-       exit ;;
-    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
-       echo i386-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    i*86:*DOS:*:*)
-       echo ${UNAME_MACHINE}-pc-msdosdjgpp
-       exit ;;
-    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
-       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
-       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
-       else
-               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
-       fi
-       exit ;;
-    i*86:*:5:[678]*)
-       # UnixWare 7.x, OpenUNIX and OpenServer 6.
-       case `/bin/uname -X | grep "^Machine"` in
-           *486*)           UNAME_MACHINE=i486 ;;
-           *Pentium)        UNAME_MACHINE=i586 ;;
-           *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
-       esac
-       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
-       exit ;;
-    i*86:*:3.2:*)
-       if test -f /usr/options/cb.name; then
-               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-       elif /bin/uname -X 2>/dev/null >/dev/null ; then
-               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
-               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
-               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
-                       && UNAME_MACHINE=i586
-               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
-                       && UNAME_MACHINE=i686
-               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-       else
-               echo ${UNAME_MACHINE}-pc-sysv32
-       fi
-       exit ;;
-    pc:*:*:*)
-       # Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i386.
-       echo i386-pc-msdosdjgpp
-        exit ;;
-    Intel:Mach:3*:*)
-       echo i386-pc-mach3
-       exit ;;
-    paragon:*:*:*)
-       echo i860-intel-osf1
-       exit ;;
-    i860:*:4.*:*) # i860-SVR4
-       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-       else # Add other i860-SVR4 vendors below as they are discovered.
-         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-       fi
-       exit ;;
-    mini*:CTIX:SYS*5:*)
-       # "miniframe"
-       echo m68010-convergent-sysv
-       exit ;;
-    mc68k:UNIX:SYSTEM5:3.51m)
-       echo m68k-convergent-sysv
-       exit ;;
-    M680?0:D-NIX:5.3:*)
-       echo m68k-diab-dnix
-       exit ;;
-    M68*:*:R3V[5678]*:*)
-       test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
-    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
-       OS_REL=''
-       test -r /etc/.relid \
-       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
-       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && { echo i486-ncr-sysv4; exit; } ;;
-    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
-       echo m68k-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    mc68030:UNIX_System_V:4.*:*)
-       echo m68k-atari-sysv4
-       exit ;;
-    TSUNAMI:LynxOS:2.*:*)
-       echo sparc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    rs6000:LynxOS:2.*:*)
-       echo rs6000-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
-       echo powerpc-unknown-lynxos${UNAME_RELEASE}
-       exit ;;
-    SM[BE]S:UNIX_SV:*:*)
-       echo mips-dde-sysv${UNAME_RELEASE}
-       exit ;;
-    RM*:ReliantUNIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
-    RM*:SINIX-*:*:*)
-       echo mips-sni-sysv4
-       exit ;;
-    *:SINIX-*:*:*)
-       if uname -p 2>/dev/null >/dev/null ; then
-               UNAME_MACHINE=`(uname -p) 2>/dev/null`
-               echo ${UNAME_MACHINE}-sni-sysv4
-       else
-               echo ns32k-sni-sysv
-       fi
-       exit ;;
-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit ;;
-    *:UNIX_System_V:4*:FTX*)
-       # From Gerald Hewes <hewes@openmarket.com>.
-       # How about differentiating between stratus architectures? -djm
-       echo hppa1.1-stratus-sysv4
-       exit ;;
-    *:*:*:FTX*)
-       # From seanf@swdc.stratus.com.
-       echo i860-stratus-sysv4
-       exit ;;
-    i*86:VOS:*:*)
-       # From Paul.Green@stratus.com.
-       echo ${UNAME_MACHINE}-stratus-vos
-       exit ;;
-    *:VOS:*:*)
-       # From Paul.Green@stratus.com.
-       echo hppa1.1-stratus-vos
-       exit ;;
-    mc68*:A/UX:*:*)
-       echo m68k-apple-aux${UNAME_RELEASE}
-       exit ;;
-    news*:NEWS-OS:6*:*)
-       echo mips-sony-newsos6
-       exit ;;
-    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
-       if [ -d /usr/nec ]; then
-               echo mips-nec-sysv${UNAME_RELEASE}
-       else
-               echo mips-unknown-sysv${UNAME_RELEASE}
-       fi
-        exit ;;
-    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
-       echo powerpc-be-beos
-       exit ;;
-    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
-       echo powerpc-apple-beos
-       exit ;;
-    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
-       echo i586-pc-beos
-       exit ;;
-    SX-4:SUPER-UX:*:*)
-       echo sx4-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-5:SUPER-UX:*:*)
-       echo sx5-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-6:SUPER-UX:*:*)
-       echo sx6-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-7:SUPER-UX:*:*)
-       echo sx7-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-8:SUPER-UX:*:*)
-       echo sx8-nec-superux${UNAME_RELEASE}
-       exit ;;
-    SX-8R:SUPER-UX:*:*)
-       echo sx8r-nec-superux${UNAME_RELEASE}
-       exit ;;
-    Power*:Rhapsody:*:*)
-       echo powerpc-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
-    *:Rhapsody:*:*)
-       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
-       exit ;;
-    *:Darwin:*:*)
-       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-       case $UNAME_PROCESSOR in
-           unknown) UNAME_PROCESSOR=powerpc ;;
-       esac
-       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
-       exit ;;
-    *:procnto*:*:* | *:QNX:[0123456789]*:*)
-       UNAME_PROCESSOR=`uname -p`
-       if test "$UNAME_PROCESSOR" = "x86"; then
-               UNAME_PROCESSOR=i386
-               UNAME_MACHINE=pc
-       fi
-       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
-       exit ;;
-    *:QNX:*:4*)
-       echo i386-pc-qnx
-       exit ;;
-    NSE-?:NONSTOP_KERNEL:*:*)
-       echo nse-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    NSR-?:NONSTOP_KERNEL:*:*)
-       echo nsr-tandem-nsk${UNAME_RELEASE}
-       exit ;;
-    *:NonStop-UX:*:*)
-       echo mips-compaq-nonstopux
-       exit ;;
-    BS2000:POSIX*:*:*)
-       echo bs2000-siemens-sysv
-       exit ;;
-    DS/*:UNIX_System_V:*:*)
-       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
-       exit ;;
-    *:Plan9:*:*)
-       # "uname -m" is not consistent, so use $cputype instead. 386
-       # is converted to i386 for consistency with other x86
-       # operating systems.
-       if test "$cputype" = "386"; then
-           UNAME_MACHINE=i386
-       else
-           UNAME_MACHINE="$cputype"
-       fi
-       echo ${UNAME_MACHINE}-unknown-plan9
-       exit ;;
-    *:TOPS-10:*:*)
-       echo pdp10-unknown-tops10
-       exit ;;
-    *:TENEX:*:*)
-       echo pdp10-unknown-tenex
-       exit ;;
-    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
-       echo pdp10-dec-tops20
-       exit ;;
-    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
-       echo pdp10-xkl-tops20
-       exit ;;
-    *:TOPS-20:*:*)
-       echo pdp10-unknown-tops20
-       exit ;;
-    *:ITS:*:*)
-       echo pdp10-unknown-its
-       exit ;;
-    SEI:*:*:SEIUX)
-        echo mips-sei-seiux${UNAME_RELEASE}
-       exit ;;
-    *:DragonFly:*:*)
-       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-       exit ;;
-    *:*VMS:*:*)
-       UNAME_MACHINE=`(uname -p) 2>/dev/null`
-       case "${UNAME_MACHINE}" in
-           A*) echo alpha-dec-vms ; exit ;;
-           I*) echo ia64-dec-vms ; exit ;;
-           V*) echo vax-dec-vms ; exit ;;
-       esac ;;
-    *:XENIX:*:SysV)
-       echo i386-pc-xenix
-       exit ;;
-    i*86:skyos:*:*)
-       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
-       exit ;;
-    i*86:rdos:*:*)
-       echo ${UNAME_MACHINE}-pc-rdos
-       exit ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-eval $set_cc_for_build
-cat >$dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-          "4"
-#else
-         ""
-#endif
-         ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix\n"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  if (version < 4)
-    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  else
-    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-       printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-       printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-# if !defined (ultrix)
-#  include <sys/param.h>
-#  if defined (BSD)
-#   if BSD == 43
-      printf ("vax-dec-bsd4.3\n"); exit (0);
-#   else
-#    if BSD == 199006
-      printf ("vax-dec-bsd4.3reno\n"); exit (0);
-#    else
-      printf ("vax-dec-bsd\n"); exit (0);
-#    endif
-#   endif
-#  else
-    printf ("vax-dec-bsd\n"); exit (0);
-#  endif
-# else
-    printf ("vax-dec-ultrix\n"); exit (0);
-# endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
-       { echo "$SYSTEM_NAME"; exit; }
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-       echo c1-convex-bsd
-       exit ;;
-    c2*)
-       if getsysinfo -f scalar_acc
-       then echo c32-convex-bsd
-       else echo c2-convex-bsd
-       fi
-       exit ;;
-    c34*)
-       echo c34-convex-bsd
-       exit ;;
-    c38*)
-       echo c38-convex-bsd
-       exit ;;
-    c4*)
-       echo c4-convex-bsd
-       exit ;;
-    esac
-fi
-
-cat >&2 <<EOF
-$0: unable to guess system type
-
-This script, last modified $timestamp, has failed to recognize
-the operating system you are using. It is advised that you
-download the most up to date version of the config scripts from
-
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess
-and
-  http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub
-
-If the version you run ($0) is already up to date, please
-send the following data and any information you think might be
-pertinent to <config-patches@gnu.org> in order to provide the needed
-information to handle your system.
-
-config.guess timestamp = $timestamp
-
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
-
-hostinfo               = `(hostinfo) 2>/dev/null`
-/bin/universe          = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch              = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
-
-UNAME_MACHINE = ${UNAME_MACHINE}
-UNAME_RELEASE = ${UNAME_RELEASE}
-UNAME_SYSTEM  = ${UNAME_SYSTEM}
-UNAME_VERSION = ${UNAME_VERSION}
-EOF
-
-exit 1
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/lib/libfaad2/config.h.in b/lib/libfaad2/config.h.in
deleted file mode 100644 (file)
index 952bdfa..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/* config.h.in.  Generated from configure.in by autoheader.  */
-
-/* Define if you want to use libfaad together with Digital Radio Mondiale
-   (DRM) */
-#undef DRM
-
-/* Define if you want support for Digital Radio Mondiale (DRM) parametric
-   stereo */
-#undef DRM_PS
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define to 1 if you have the <errno.h> header file. */
-#undef HAVE_ERRNO_H
-
-/* Define if needed */
-#undef HAVE_FLOAT32_T
-
-/* Define to 1 if you have the <float.h> header file. */
-#undef HAVE_FLOAT_H
-
-/* Define to 1 if you have the `getpwuid' function. */
-#undef HAVE_GETPWUID
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define if you have the IOKit API */
-#undef HAVE_IOKIT_IOKITLIB_H
-
-/* Define to 1 if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define if you have C99's lrintf function. */
-#undef HAVE_LRINTF
-
-/* Define to 1 if you have the <mathf.h> header file. */
-#undef HAVE_MATHF_H
-
-/* Define to 1 if you have the `memcpy' function. */
-#undef HAVE_MEMCPY
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strchr' function. */
-#undef HAVE_STRCHR
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if you have the `strsep' function. */
-#undef HAVE_STRSEP
-
-/* Define to 1 if you have the <sysfs/libsysfs.h> header file. */
-#undef HAVE_SYSFS_LIBSYSFS_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Version number of package */
-#undef VERSION
-
-/* Define to 1 if your processor stores words with the most significant byte
-   first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
-   calls it, or to nothing if 'inline' is not supported under any name.  */
-#ifndef __cplusplus
-#undef inline
-#endif
-
-/* Define to `long int' if <sys/types.h> does not define. */
-#undef off_t
diff --git a/lib/libfaad2/config.sub b/lib/libfaad2/config.sub
deleted file mode 100755 (executable)
index 1761d8b..0000000
+++ /dev/null
@@ -1,1626 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation,
-#   Inc.
-
-timestamp='2007-06-28'
-
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file 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., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Please send patches to <config-patches@gnu.org>.  Submit a context
-# diff and a properly formatted ChangeLog entry.
-#
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-me=`echo "$0" | sed -e 's,.*/,,'`
-
-usage="\
-Usage: $0 [OPTION] CPU-MFR-OPSYS
-       $0 [OPTION] ALIAS
-
-Canonicalize a configuration name.
-
-Operation modes:
-  -h, --help         print this help, then exit
-  -t, --time-stamp   print date of last modification, then exit
-  -v, --version      print version number, then exit
-
-Report bugs and patches to <config-patches@gnu.org>."
-
-version="\
-GNU config.sub ($timestamp)
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-Free Software Foundation, Inc.
-
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-
-help="
-Try \`$me --help' for more information."
-
-# Parse command line
-while test $# -gt 0 ; do
-  case $1 in
-    --time-stamp | --time* | -t )
-       echo "$timestamp" ; exit ;;
-    --version | -v )
-       echo "$version" ; exit ;;
-    --help | --h* | -h )
-       echo "$usage"; exit ;;
-    -- )     # Stop option processing
-       shift; break ;;
-    - )        # Use stdin as input.
-       break ;;
-    -* )
-       echo "$me: invalid option $1$help"
-       exit 1 ;;
-
-    *local*)
-       # First pass through any local machine types.
-       echo $1
-       exit ;;
-
-    * )
-       break ;;
-  esac
-done
-
-case $# in
- 0) echo "$me: missing argument$help" >&2
-    exit 1;;
- 1) ;;
- *) echo "$me: too many arguments$help" >&2
-    exit 1;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
-  storm-chaos* | os2-emx* | rtmk-nova*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-       -sun*os*)
-               # Prevent following clause from handling this invalid input.
-               ;;
-       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-       -apple | -axis | -knuth | -cray)
-               os=
-               basic_machine=$1
-               ;;
-       -sim | -cisco | -oki | -wec | -winbond)
-               os=
-               basic_machine=$1
-               ;;
-       -scout)
-               ;;
-       -wrs)
-               os=-vxworks
-               basic_machine=$1
-               ;;
-       -chorusos*)
-               os=-chorusos
-               basic_machine=$1
-               ;;
-       -chorusrdb)
-               os=-chorusrdb
-               basic_machine=$1
-               ;;
-       -hiux*)
-               os=-hiuxwe2
-               ;;
-       -sco6)
-               os=-sco5v6
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5)
-               os=-sco3.2v5
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco4)
-               os=-sco3.2v4
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2.[4-9]*)
-               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco3.2v[4-9]*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco5v6*)
-               # Don't forget version if it is 3.2v4 or newer.
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -sco*)
-               os=-sco3.2v2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -udk*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -isc)
-               os=-isc2.2
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -clix*)
-               basic_machine=clipper-intergraph
-               ;;
-       -isc*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-               ;;
-       -lynx*)
-               os=-lynxos
-               ;;
-       -ptx*)
-               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-               ;;
-       -windowsnt*)
-               os=`echo $os | sed -e 's/windowsnt/winnt/'`
-               ;;
-       -psos*)
-               os=-psos
-               ;;
-       -mint | -mint[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-       # Recognize the basic CPU types without company name.
-       # Some are omitted here because they have special meanings below.
-       1750a | 580 \
-       | a29k \
-       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-       | am33_2.0 \
-       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
-       | bfin \
-       | c4x | clipper \
-       | d10v | d30v | dlx | dsp16xx \
-       | fido | fr30 | frv \
-       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-       | i370 | i860 | i960 | ia64 \
-       | ip2k | iq2000 \
-       | m32c | m32r | m32rle | m68000 | m68k | m88k \
-       | maxq | mb | microblaze | mcore | mep \
-       | mips | mipsbe | mipseb | mipsel | mipsle \
-       | mips16 \
-       | mips64 | mips64el \
-       | mips64vr | mips64vrel \
-       | mips64orion | mips64orionel \
-       | mips64vr4100 | mips64vr4100el \
-       | mips64vr4300 | mips64vr4300el \
-       | mips64vr5000 | mips64vr5000el \
-       | mips64vr5900 | mips64vr5900el \
-       | mipsisa32 | mipsisa32el \
-       | mipsisa32r2 | mipsisa32r2el \
-       | mipsisa64 | mipsisa64el \
-       | mipsisa64r2 | mipsisa64r2el \
-       | mipsisa64sb1 | mipsisa64sb1el \
-       | mipsisa64sr71k | mipsisa64sr71kel \
-       | mipstx39 | mipstx39el \
-       | mn10200 | mn10300 \
-       | mt \
-       | msp430 \
-       | nios | nios2 \
-       | ns16k | ns32k \
-       | or32 \
-       | pdp10 | pdp11 | pj | pjl \
-       | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
-       | pyramid \
-       | score \
-       | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
-       | sh64 | sh64le \
-       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
-       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
-       | spu | strongarm \
-       | tahoe | thumb | tic4x | tic80 | tron \
-       | v850 | v850e \
-       | we32k \
-       | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
-       | z8k)
-               basic_machine=$basic_machine-unknown
-               ;;
-       m6811 | m68hc11 | m6812 | m68hc12)
-               # Motorola 68HC11/12.
-               basic_machine=$basic_machine-unknown
-               os=-none
-               ;;
-       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
-               ;;
-       ms1)
-               basic_machine=mt-unknown
-               ;;
-
-       # We use `pc' rather than `unknown'
-       # because (1) that's what they normally are, and
-       # (2) the word "unknown" tends to confuse beginning users.
-       i*86 | x86_64)
-         basic_machine=$basic_machine-pc
-         ;;
-       # Object if more than one company name word.
-       *-*-*)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
-               ;;
-       # Recognize the basic CPU types with company name.
-       580-* \
-       | a29k-* \
-       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
-       | avr-* | avr32-* \
-       | bfin-* | bs2000-* \
-       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
-       | clipper-* | craynv-* | cydra-* \
-       | d10v-* | d30v-* | dlx-* \
-       | elxsi-* \
-       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
-       | h8300-* | h8500-* \
-       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-       | i*86-* | i860-* | i960-* | ia64-* \
-       | ip2k-* | iq2000-* \
-       | m32c-* | m32r-* | m32rle-* \
-       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-       | m88110-* | m88k-* | maxq-* | mcore-* \
-       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-       | mips16-* \
-       | mips64-* | mips64el-* \
-       | mips64vr-* | mips64vrel-* \
-       | mips64orion-* | mips64orionel-* \
-       | mips64vr4100-* | mips64vr4100el-* \
-       | mips64vr4300-* | mips64vr4300el-* \
-       | mips64vr5000-* | mips64vr5000el-* \
-       | mips64vr5900-* | mips64vr5900el-* \
-       | mipsisa32-* | mipsisa32el-* \
-       | mipsisa32r2-* | mipsisa32r2el-* \
-       | mipsisa64-* | mipsisa64el-* \
-       | mipsisa64r2-* | mipsisa64r2el-* \
-       | mipsisa64sb1-* | mipsisa64sb1el-* \
-       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
-       | mipstx39-* | mipstx39el-* \
-       | mmix-* \
-       | mt-* \
-       | msp430-* \
-       | nios-* | nios2-* \
-       | none-* | np1-* | ns16k-* | ns32k-* \
-       | orion-* \
-       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
-       | pyramid-* \
-       | romp-* | rs6000-* \
-       | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
-       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
-       | sparclite-* \
-       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
-       | tahoe-* | thumb-* \
-       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
-       | tron-* \
-       | v850-* | v850e-* | vax-* \
-       | we32k-* \
-       | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
-       | xstormy16-* | xtensa-* \
-       | ymp-* \
-       | z8k-*)
-               ;;
-       # Recognize the various machine names and aliases which stand
-       # for a CPU type and a company and sometimes even an OS.
-       386bsd)
-               basic_machine=i386-unknown
-               os=-bsd
-               ;;
-       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-               basic_machine=m68000-att
-               ;;
-       3b*)
-               basic_machine=we32k-att
-               ;;
-       a29khif)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       abacus)
-               basic_machine=abacus-unknown
-               ;;
-       adobe68k)
-               basic_machine=m68010-adobe
-               os=-scout
-               ;;
-       alliant | fx80)
-               basic_machine=fx80-alliant
-               ;;
-       altos | altos3068)
-               basic_machine=m68k-altos
-               ;;
-       am29k)
-               basic_machine=a29k-none
-               os=-bsd
-               ;;
-       amd64)
-               basic_machine=x86_64-pc
-               ;;
-       amd64-*)
-               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       amdahl)
-               basic_machine=580-amdahl
-               os=-sysv
-               ;;
-       amiga | amiga-*)
-               basic_machine=m68k-unknown
-               ;;
-       amigaos | amigados)
-               basic_machine=m68k-unknown
-               os=-amigaos
-               ;;
-       amigaunix | amix)
-               basic_machine=m68k-unknown
-               os=-sysv4
-               ;;
-       apollo68)
-               basic_machine=m68k-apollo
-               os=-sysv
-               ;;
-       apollo68bsd)
-               basic_machine=m68k-apollo
-               os=-bsd
-               ;;
-       aux)
-               basic_machine=m68k-apple
-               os=-aux
-               ;;
-       balance)
-               basic_machine=ns32k-sequent
-               os=-dynix
-               ;;
-       c90)
-               basic_machine=c90-cray
-               os=-unicos
-               ;;
-       convex-c1)
-               basic_machine=c1-convex
-               os=-bsd
-               ;;
-       convex-c2)
-               basic_machine=c2-convex
-               os=-bsd
-               ;;
-       convex-c32)
-               basic_machine=c32-convex
-               os=-bsd
-               ;;
-       convex-c34)
-               basic_machine=c34-convex
-               os=-bsd
-               ;;
-       convex-c38)
-               basic_machine=c38-convex
-               os=-bsd
-               ;;
-       cray | j90)
-               basic_machine=j90-cray
-               os=-unicos
-               ;;
-       craynv)
-               basic_machine=craynv-cray
-               os=-unicosmp
-               ;;
-       cr16)
-               basic_machine=cr16-unknown
-               os=-elf
-               ;;
-       crds | unos)
-               basic_machine=m68k-crds
-               ;;
-       crisv32 | crisv32-* | etraxfs*)
-               basic_machine=crisv32-axis
-               ;;
-       cris | cris-* | etrax*)
-               basic_machine=cris-axis
-               ;;
-       crx)
-               basic_machine=crx-unknown
-               os=-elf
-               ;;
-       da30 | da30-*)
-               basic_machine=m68k-da30
-               ;;
-       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-               basic_machine=mips-dec
-               ;;
-       decsystem10* | dec10*)
-               basic_machine=pdp10-dec
-               os=-tops10
-               ;;
-       decsystem20* | dec20*)
-               basic_machine=pdp10-dec
-               os=-tops20
-               ;;
-       delta | 3300 | motorola-3300 | motorola-delta \
-             | 3300-motorola | delta-motorola)
-               basic_machine=m68k-motorola
-               ;;
-       delta88)
-               basic_machine=m88k-motorola
-               os=-sysv3
-               ;;
-       djgpp)
-               basic_machine=i586-pc
-               os=-msdosdjgpp
-               ;;
-       dpx20 | dpx20-*)
-               basic_machine=rs6000-bull
-               os=-bosx
-               ;;
-       dpx2* | dpx2*-bull)
-               basic_machine=m68k-bull
-               os=-sysv3
-               ;;
-       ebmon29k)
-               basic_machine=a29k-amd
-               os=-ebmon
-               ;;
-       elxsi)
-               basic_machine=elxsi-elxsi
-               os=-bsd
-               ;;
-       encore | umax | mmax)
-               basic_machine=ns32k-encore
-               ;;
-       es1800 | OSE68k | ose68k | ose | OSE)
-               basic_machine=m68k-ericsson
-               os=-ose
-               ;;
-       fx2800)
-               basic_machine=i860-alliant
-               ;;
-       genix)
-               basic_machine=ns32k-ns
-               ;;
-       gmicro)
-               basic_machine=tron-gmicro
-               os=-sysv
-               ;;
-       go32)
-               basic_machine=i386-pc
-               os=-go32
-               ;;
-       h3050r* | hiux*)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       h8300hms)
-               basic_machine=h8300-hitachi
-               os=-hms
-               ;;
-       h8300xray)
-               basic_machine=h8300-hitachi
-               os=-xray
-               ;;
-       h8500hms)
-               basic_machine=h8500-hitachi
-               os=-hms
-               ;;
-       harris)
-               basic_machine=m88k-harris
-               os=-sysv3
-               ;;
-       hp300-*)
-               basic_machine=m68k-hp
-               ;;
-       hp300bsd)
-               basic_machine=m68k-hp
-               os=-bsd
-               ;;
-       hp300hpux)
-               basic_machine=m68k-hp
-               os=-hpux
-               ;;
-       hp3k9[0-9][0-9] | hp9[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k2[0-9][0-9] | hp9k31[0-9])
-               basic_machine=m68000-hp
-               ;;
-       hp9k3[2-9][0-9])
-               basic_machine=m68k-hp
-               ;;
-       hp9k6[0-9][0-9] | hp6[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hp9k7[0-79][0-9] | hp7[0-79][0-9])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k78[0-9] | hp78[0-9])
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
-               # FIXME: really hppa2.0-hp
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][13679] | hp8[0-9][13679])
-               basic_machine=hppa1.1-hp
-               ;;
-       hp9k8[0-9][0-9] | hp8[0-9][0-9])
-               basic_machine=hppa1.0-hp
-               ;;
-       hppa-next)
-               os=-nextstep3
-               ;;
-       hppaosf)
-               basic_machine=hppa1.1-hp
-               os=-osf
-               ;;
-       hppro)
-               basic_machine=hppa1.1-hp
-               os=-proelf
-               ;;
-       i370-ibm* | ibm*)
-               basic_machine=i370-ibm
-               ;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-       i*86v32)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv32
-               ;;
-       i*86v4*)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv4
-               ;;
-       i*86v)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-sysv
-               ;;
-       i*86sol2)
-               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-               os=-solaris2
-               ;;
-       i386mach)
-               basic_machine=i386-mach
-               os=-mach
-               ;;
-       i386-vsta | vsta)
-               basic_machine=i386-unknown
-               os=-vsta
-               ;;
-       iris | iris4d)
-               basic_machine=mips-sgi
-               case $os in
-                   -irix*)
-                       ;;
-                   *)
-                       os=-irix4
-                       ;;
-               esac
-               ;;
-       isi68 | isi)
-               basic_machine=m68k-isi
-               os=-sysv
-               ;;
-       m88k-omron*)
-               basic_machine=m88k-omron
-               ;;
-       magnum | m3230)
-               basic_machine=mips-mips
-               os=-sysv
-               ;;
-       merlin)
-               basic_machine=ns32k-utek
-               os=-sysv
-               ;;
-       mingw32)
-               basic_machine=i386-pc
-               os=-mingw32
-               ;;
-       mingw32ce)
-               basic_machine=arm-unknown
-               os=-mingw32ce
-               ;;
-       miniframe)
-               basic_machine=m68000-convergent
-               ;;
-       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-               basic_machine=m68k-atari
-               os=-mint
-               ;;
-       mips3*-*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-               ;;
-       mips3*)
-               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-               ;;
-       monitor)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       morphos)
-               basic_machine=powerpc-unknown
-               os=-morphos
-               ;;
-       msdos)
-               basic_machine=i386-pc
-               os=-msdos
-               ;;
-       ms1-*)
-               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
-               ;;
-       mvs)
-               basic_machine=i370-ibm
-               os=-mvs
-               ;;
-       ncr3000)
-               basic_machine=i486-ncr
-               os=-sysv4
-               ;;
-       netbsd386)
-               basic_machine=i386-unknown
-               os=-netbsd
-               ;;
-       netwinder)
-               basic_machine=armv4l-rebel
-               os=-linux
-               ;;
-       news | news700 | news800 | news900)
-               basic_machine=m68k-sony
-               os=-newsos
-               ;;
-       news1000)
-               basic_machine=m68030-sony
-               os=-newsos
-               ;;
-       news-3600 | risc-news)
-               basic_machine=mips-sony
-               os=-newsos
-               ;;
-       necv70)
-               basic_machine=v70-nec
-               os=-sysv
-               ;;
-       next | m*-next )
-               basic_machine=m68k-next
-               case $os in
-                   -nextstep* )
-                       ;;
-                   -ns2*)
-                     os=-nextstep2
-                       ;;
-                   *)
-                     os=-nextstep3
-                       ;;
-               esac
-               ;;
-       nh3000)
-               basic_machine=m68k-harris
-               os=-cxux
-               ;;
-       nh[45]000)
-               basic_machine=m88k-harris
-               os=-cxux
-               ;;
-       nindy960)
-               basic_machine=i960-intel
-               os=-nindy
-               ;;
-       mon960)
-               basic_machine=i960-intel
-               os=-mon960
-               ;;
-       nonstopux)
-               basic_machine=mips-compaq
-               os=-nonstopux
-               ;;
-       np1)
-               basic_machine=np1-gould
-               ;;
-       nsr-tandem)
-               basic_machine=nsr-tandem
-               ;;
-       op50n-* | op60c-*)
-               basic_machine=hppa1.1-oki
-               os=-proelf
-               ;;
-       openrisc | openrisc-*)
-               basic_machine=or32-unknown
-               ;;
-       os400)
-               basic_machine=powerpc-ibm
-               os=-os400
-               ;;
-       OSE68000 | ose68000)
-               basic_machine=m68000-ericsson
-               os=-ose
-               ;;
-       os68k)
-               basic_machine=m68k-none
-               os=-os68k
-               ;;
-       pa-hitachi)
-               basic_machine=hppa1.1-hitachi
-               os=-hiuxwe2
-               ;;
-       paragon)
-               basic_machine=i860-intel
-               os=-osf
-               ;;
-       pbd)
-               basic_machine=sparc-tti
-               ;;
-       pbb)
-               basic_machine=m68k-tti
-               ;;
-       pc532 | pc532-*)
-               basic_machine=ns32k-pc532
-               ;;
-       pc98)
-               basic_machine=i386-pc
-               ;;
-       pc98-*)
-               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentium | p5 | k5 | k6 | nexgen | viac3)
-               basic_machine=i586-pc
-               ;;
-       pentiumpro | p6 | 6x86 | athlon | athlon_*)
-               basic_machine=i686-pc
-               ;;
-       pentiumii | pentium2 | pentiumiii | pentium3)
-               basic_machine=i686-pc
-               ;;
-       pentium4)
-               basic_machine=i786-pc
-               ;;
-       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
-               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumpro-* | p6-* | 6x86-* | athlon-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
-               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pentium4-*)
-               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       pn)
-               basic_machine=pn-gould
-               ;;
-       power)  basic_machine=power-ibm
-               ;;
-       ppc)    basic_machine=powerpc-unknown
-               ;;
-       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppcle | powerpclittle | ppc-le | powerpc-little)
-               basic_machine=powerpcle-unknown
-               ;;
-       ppcle-* | powerpclittle-*)
-               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64)  basic_machine=powerpc64-unknown
-               ;;
-       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-               basic_machine=powerpc64le-unknown
-               ;;
-       ppc64le-* | powerpc64little-*)
-               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-               ;;
-       ps2)
-               basic_machine=i386-ibm
-               ;;
-       pw32)
-               basic_machine=i586-unknown
-               os=-pw32
-               ;;
-       rdos)
-               basic_machine=i386-pc
-               os=-rdos
-               ;;
-       rom68k)
-               basic_machine=m68k-rom68k
-               os=-coff
-               ;;
-       rm[46]00)
-               basic_machine=mips-siemens
-               ;;
-       rtpc | rtpc-*)
-               basic_machine=romp-ibm
-               ;;
-       s390 | s390-*)
-               basic_machine=s390-ibm
-               ;;
-       s390x | s390x-*)
-               basic_machine=s390x-ibm
-               ;;
-       sa29200)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       sb1)
-               basic_machine=mipsisa64sb1-unknown
-               ;;
-       sb1el)
-               basic_machine=mipsisa64sb1el-unknown
-               ;;
-       sde)
-               basic_machine=mipsisa32-sde
-               os=-elf
-               ;;
-       sei)
-               basic_machine=mips-sei
-               os=-seiux
-               ;;
-       sequent)
-               basic_machine=i386-sequent
-               ;;
-       sh)
-               basic_machine=sh-hitachi
-               os=-hms
-               ;;
-       sh5el)
-               basic_machine=sh5le-unknown
-               ;;
-       sh64)
-               basic_machine=sh64-unknown
-               ;;
-       sparclite-wrs | simso-wrs)
-               basic_machine=sparclite-wrs
-               os=-vxworks
-               ;;
-       sps7)
-               basic_machine=m68k-bull
-               os=-sysv2
-               ;;
-       spur)
-               basic_machine=spur-unknown
-               ;;
-       st2000)
-               basic_machine=m68k-tandem
-               ;;
-       stratus)
-               basic_machine=i860-stratus
-               os=-sysv4
-               ;;
-       sun2)
-               basic_machine=m68000-sun
-               ;;
-       sun2os3)
-               basic_machine=m68000-sun
-               os=-sunos3
-               ;;
-       sun2os4)
-               basic_machine=m68000-sun
-               os=-sunos4
-               ;;
-       sun3os3)
-               basic_machine=m68k-sun
-               os=-sunos3
-               ;;
-       sun3os4)
-               basic_machine=m68k-sun
-               os=-sunos4
-               ;;
-       sun4os3)
-               basic_machine=sparc-sun
-               os=-sunos3
-               ;;
-       sun4os4)
-               basic_machine=sparc-sun
-               os=-sunos4
-               ;;
-       sun4sol2)
-               basic_machine=sparc-sun
-               os=-solaris2
-               ;;
-       sun3 | sun3-*)
-               basic_machine=m68k-sun
-               ;;
-       sun4)
-               basic_machine=sparc-sun
-               ;;
-       sun386 | sun386i | roadrunner)
-               basic_machine=i386-sun
-               ;;
-       sv1)
-               basic_machine=sv1-cray
-               os=-unicos
-               ;;
-       symmetry)
-               basic_machine=i386-sequent
-               os=-dynix
-               ;;
-       t3e)
-               basic_machine=alphaev5-cray
-               os=-unicos
-               ;;
-       t90)
-               basic_machine=t90-cray
-               os=-unicos
-               ;;
-       tic54x | c54x*)
-               basic_machine=tic54x-unknown
-               os=-coff
-               ;;
-       tic55x | c55x*)
-               basic_machine=tic55x-unknown
-               os=-coff
-               ;;
-       tic6x | c6x*)
-               basic_machine=tic6x-unknown
-               os=-coff
-               ;;
-       tx39)
-               basic_machine=mipstx39-unknown
-               ;;
-       tx39el)
-               basic_machine=mipstx39el-unknown
-               ;;
-       toad1)
-               basic_machine=pdp10-xkl
-               os=-tops20
-               ;;
-       tower | tower-32)
-               basic_machine=m68k-ncr
-               ;;
-       tpf)
-               basic_machine=s390x-ibm
-               os=-tpf
-               ;;
-       udi29k)
-               basic_machine=a29k-amd
-               os=-udi
-               ;;
-       ultra3)
-               basic_machine=a29k-nyu
-               os=-sym1
-               ;;
-       v810 | necv810)
-               basic_machine=v810-nec
-               os=-none
-               ;;
-       vaxv)
-               basic_machine=vax-dec
-               os=-sysv
-               ;;
-       vms)
-               basic_machine=vax-dec
-               os=-vms
-               ;;
-       vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
-       vxworks960)
-               basic_machine=i960-wrs
-               os=-vxworks
-               ;;
-       vxworks68)
-               basic_machine=m68k-wrs
-               os=-vxworks
-               ;;
-       vxworks29k)
-               basic_machine=a29k-wrs
-               os=-vxworks
-               ;;
-       w65*)
-               basic_machine=w65-wdc
-               os=-none
-               ;;
-       w89k-*)
-               basic_machine=hppa1.1-winbond
-               os=-proelf
-               ;;
-       xbox)
-               basic_machine=i686-pc
-               os=-mingw32
-               ;;
-       xps | xps100)
-               basic_machine=xps100-honeywell
-               ;;
-       ymp)
-               basic_machine=ymp-cray
-               os=-unicos
-               ;;
-       z8k-*-coff)
-               basic_machine=z8k-unknown
-               os=-sim
-               ;;
-       none)
-               basic_machine=none-none
-               os=-none
-               ;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-       w89k)
-               basic_machine=hppa1.1-winbond
-               ;;
-       op50n)
-               basic_machine=hppa1.1-oki
-               ;;
-       op60c)
-               basic_machine=hppa1.1-oki
-               ;;
-       romp)
-               basic_machine=romp-ibm
-               ;;
-       mmix)
-               basic_machine=mmix-knuth
-               ;;
-       rs6000)
-               basic_machine=rs6000-ibm
-               ;;
-       vax)
-               basic_machine=vax-dec
-               ;;
-       pdp10)
-               # there are many clones, so DEC is not a safe bet
-               basic_machine=pdp10-unknown
-               ;;
-       pdp11)
-               basic_machine=pdp11-dec
-               ;;
-       we32k)
-               basic_machine=we32k-att
-               ;;
-       sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
-               basic_machine=sh-unknown
-               ;;
-       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
-               basic_machine=sparc-sun
-               ;;
-       cydra)
-               basic_machine=cydra-cydrome
-               ;;
-       orion)
-               basic_machine=orion-highlevel
-               ;;
-       orion105)
-               basic_machine=clipper-highlevel
-               ;;
-       mac | mpw | mac-mpw)
-               basic_machine=m68k-apple
-               ;;
-       pmac | pmac-mpw)
-               basic_machine=powerpc-apple
-               ;;
-       *-unknown)
-               # Make sure to match an already-canonicalized machine name.
-               ;;
-       *)
-               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-       *-digital*)
-               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-               ;;
-       *-commodore*)
-               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-               ;;
-       *)
-               ;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
-       # -solaris* is a basic system type, with this one exception.
-       -solaris1 | -solaris1.*)
-               os=`echo $os | sed -e 's|solaris1|sunos4|'`
-               ;;
-       -solaris)
-               os=-solaris2
-               ;;
-       -svr4*)
-               os=-sysv4
-               ;;
-       -unixware*)
-               os=-sysv4.2uw
-               ;;
-       -gnu/linux*)
-               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-               ;;
-       # First accept the basic system types.
-       # The portable systems comes first.
-       # Each alternative MUST END IN A *, to match a version number.
-       # -sysv* is not here because it comes later, after sysvr4.
-       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-             | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
-             | -aos* \
-             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
-             | -openbsd* | -solidbsd* \
-             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
-             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
-             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-             | -chorusos* | -chorusrdb* \
-             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-             | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
-             | -uxpv* | -beos* | -mpeix* | -udk* \
-             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
-       # Remember, each alternative MUST END IN *, to match a version number.
-               ;;
-       -qnx*)
-               case $basic_machine in
-                   x86-* | i*86-*)
-                       ;;
-                   *)
-                       os=-nto$os
-                       ;;
-               esac
-               ;;
-       -nto-qnx*)
-               ;;
-       -nto*)
-               os=`echo $os | sed -e 's|nto|nto-qnx|'`
-               ;;
-       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
-             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
-               ;;
-       -mac*)
-               os=`echo $os | sed -e 's|mac|macos|'`
-               ;;
-       -linux-dietlibc)
-               os=-linux-dietlibc
-               ;;
-       -linux*)
-               os=`echo $os | sed -e 's|linux|linux-gnu|'`
-               ;;
-       -sunos5*)
-               os=`echo $os | sed -e 's|sunos5|solaris2|'`
-               ;;
-       -sunos6*)
-               os=`echo $os | sed -e 's|sunos6|solaris3|'`
-               ;;
-       -opened*)
-               os=-openedition
-               ;;
-        -os400*)
-               os=-os400
-               ;;
-       -wince*)
-               os=-wince
-               ;;
-       -osfrose*)
-               os=-osfrose
-               ;;
-       -osf*)
-               os=-osf
-               ;;
-       -utek*)
-               os=-bsd
-               ;;
-       -dynix*)
-               os=-bsd
-               ;;
-       -acis*)
-               os=-aos
-               ;;
-       -atheos*)
-               os=-atheos
-               ;;
-       -syllable*)
-               os=-syllable
-               ;;
-       -386bsd)
-               os=-bsd
-               ;;
-       -ctix* | -uts*)
-               os=-sysv
-               ;;
-       -nova*)
-               os=-rtmk-nova
-               ;;
-       -ns2 )
-               os=-nextstep2
-               ;;
-       -nsk*)
-               os=-nsk
-               ;;
-       # Preserve the version number of sinix5.
-       -sinix5.*)
-               os=`echo $os | sed -e 's|sinix|sysv|'`
-               ;;
-       -sinix*)
-               os=-sysv4
-               ;;
-        -tpf*)
-               os=-tpf
-               ;;
-       -triton*)
-               os=-sysv3
-               ;;
-       -oss*)
-               os=-sysv3
-               ;;
-       -svr4)
-               os=-sysv4
-               ;;
-       -svr3)
-               os=-sysv3
-               ;;
-       -sysvr4)
-               os=-sysv4
-               ;;
-       # This must come after -sysvr4.
-       -sysv*)
-               ;;
-       -ose*)
-               os=-ose
-               ;;
-       -es1800*)
-               os=-ose
-               ;;
-       -xenix)
-               os=-xenix
-               ;;
-       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-               os=-mint
-               ;;
-       -aros*)
-               os=-aros
-               ;;
-       -kaos*)
-               os=-kaos
-               ;;
-       -zvmoe)
-               os=-zvmoe
-               ;;
-       -none)
-               ;;
-       *)
-               # Get rid of the `-' at the beginning of $os.
-               os=`echo $os | sed 's/[^-]*-//'`
-               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-               exit 1
-               ;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-        score-*)
-               os=-elf
-               ;;
-        spu-*)
-               os=-elf
-               ;;
-       *-acorn)
-               os=-riscix1.2
-               ;;
-       arm*-rebel)
-               os=-linux
-               ;;
-       arm*-semi)
-               os=-aout
-               ;;
-        c4x-* | tic4x-*)
-               os=-coff
-               ;;
-       # This must come before the *-dec entry.
-       pdp10-*)
-               os=-tops20
-               ;;
-       pdp11-*)
-               os=-none
-               ;;
-       *-dec | vax-*)
-               os=-ultrix4.2
-               ;;
-       m68*-apollo)
-               os=-domain
-               ;;
-       i386-sun)
-               os=-sunos4.0.2
-               ;;
-       m68000-sun)
-               os=-sunos3
-               # This also exists in the configure program, but was not the
-               # default.
-               # os=-sunos4
-               ;;
-       m68*-cisco)
-               os=-aout
-               ;;
-        mep-*)
-               os=-elf
-               ;;
-       mips*-cisco)
-               os=-elf
-               ;;
-       mips*-*)
-               os=-elf
-               ;;
-       or32-*)
-               os=-coff
-               ;;
-       *-tti)  # must be before sparc entry or we get the wrong os.
-               os=-sysv3
-               ;;
-       sparc-* | *-sun)
-               os=-sunos4.1.1
-               ;;
-       *-be)
-               os=-beos
-               ;;
-       *-haiku)
-               os=-haiku
-               ;;
-       *-ibm)
-               os=-aix
-               ;;
-       *-knuth)
-               os=-mmixware
-               ;;
-       *-wec)
-               os=-proelf
-               ;;
-       *-winbond)
-               os=-proelf
-               ;;
-       *-oki)
-               os=-proelf
-               ;;
-       *-hp)
-               os=-hpux
-               ;;
-       *-hitachi)
-               os=-hiux
-               ;;
-       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-               os=-sysv
-               ;;
-       *-cbm)
-               os=-amigaos
-               ;;
-       *-dg)
-               os=-dgux
-               ;;
-       *-dolphin)
-               os=-sysv3
-               ;;
-       m68k-ccur)
-               os=-rtu
-               ;;
-       m88k-omron*)
-               os=-luna
-               ;;
-       *-next )
-               os=-nextstep
-               ;;
-       *-sequent)
-               os=-ptx
-               ;;
-       *-crds)
-               os=-unos
-               ;;
-       *-ns)
-               os=-genix
-               ;;
-       i370-*)
-               os=-mvs
-               ;;
-       *-next)
-               os=-nextstep3
-               ;;
-       *-gould)
-               os=-sysv
-               ;;
-       *-highlevel)
-               os=-bsd
-               ;;
-       *-encore)
-               os=-bsd
-               ;;
-       *-sgi)
-               os=-irix
-               ;;
-       *-siemens)
-               os=-sysv4
-               ;;
-       *-masscomp)
-               os=-rtu
-               ;;
-       f30[01]-fujitsu | f700-fujitsu)
-               os=-uxpv
-               ;;
-       *-rom68k)
-               os=-coff
-               ;;
-       *-*bug)
-               os=-coff
-               ;;
-       *-apple)
-               os=-macos
-               ;;
-       *-atari*)
-               os=-mint
-               ;;
-       *)
-               os=-none
-               ;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-       *-unknown)
-               case $os in
-                       -riscix*)
-                               vendor=acorn
-                               ;;
-                       -sunos*)
-                               vendor=sun
-                               ;;
-                       -aix*)
-                               vendor=ibm
-                               ;;
-                       -beos*)
-                               vendor=be
-                               ;;
-                       -hpux*)
-                               vendor=hp
-                               ;;
-                       -mpeix*)
-                               vendor=hp
-                               ;;
-                       -hiux*)
-                               vendor=hitachi
-                               ;;
-                       -unos*)
-                               vendor=crds
-                               ;;
-                       -dgux*)
-                               vendor=dg
-                               ;;
-                       -luna*)
-                               vendor=omron
-                               ;;
-                       -genix*)
-                               vendor=ns
-                               ;;
-                       -mvs* | -opened*)
-                               vendor=ibm
-                               ;;
-                       -os400*)
-                               vendor=ibm
-                               ;;
-                       -ptx*)
-                               vendor=sequent
-                               ;;
-                       -tpf*)
-                               vendor=ibm
-                               ;;
-                       -vxsim* | -vxworks* | -windiss*)
-                               vendor=wrs
-                               ;;
-                       -aux*)
-                               vendor=apple
-                               ;;
-                       -hms*)
-                               vendor=hitachi
-                               ;;
-                       -mpw* | -macos*)
-                               vendor=apple
-                               ;;
-                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-                               vendor=atari
-                               ;;
-                       -vos*)
-                               vendor=stratus
-                               ;;
-               esac
-               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-               ;;
-esac
-
-echo $basic_machine$os
-exit
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "timestamp='"
-# time-stamp-format: "%:y-%02m-%02d"
-# time-stamp-end: "'"
-# End:
diff --git a/lib/libfaad2/configure b/lib/libfaad2/configure
deleted file mode 100755 (executable)
index ccc129d..0000000
+++ /dev/null
@@ -1,24971 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61.
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-  fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-if test "x$CONFIG_SHELL" = x; then
-  if (eval ":") 2>/dev/null; then
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-
-  if test $as_have_required = yes &&    (eval ":
-(as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=\$LINENO
-  as_lineno_2=\$LINENO
-  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
-  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
-") 2> /dev/null; then
-  :
-else
-  as_candidate_shells=
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  case $as_dir in
-        /*)
-          for as_base in sh bash ksh sh5; do
-            as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
-          done;;
-       esac
-done
-IFS=$as_save_IFS
-
-
-      for as_shell in $as_candidate_shells $SHELL; do
-        # Try only shells that exist, to save several forks.
-        if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-               { ("$as_shell") 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-_ASEOF
-}; then
-  CONFIG_SHELL=$as_shell
-              as_have_required=yes
-              if { "$as_shell" 2> /dev/null <<\_ASEOF
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-:
-(as_func_return () {
-  (exit $1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = "$1" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test $exitcode = 0) || { (exit 1); exit 1; }
-
-(
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-
-_ASEOF
-}; then
-  break
-fi
-
-fi
-
-      done
-
-      if test "x$CONFIG_SHELL" != x; then
-  for as_var in BASH_ENV ENV
-        do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-        done
-        export CONFIG_SHELL
-        exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
-fi
-
-
-    if test $as_have_required = no; then
-  echo This script requires a shell more modern than all the
-      echo shells that I found on your system.  Please install a
-      echo modern shell, or manually run the script under such a
-      echo shell if you do have one.
-      { (exit 1); exit 1; }
-fi
-
-
-fi
-
-fi
-
-
-
-(eval "as_func_return () {
-  (exit \$1)
-}
-as_func_success () {
-  as_func_return 0
-}
-as_func_failure () {
-  as_func_return 1
-}
-as_func_ret_success () {
-  return 0
-}
-as_func_ret_failure () {
-  return 1
-}
-
-exitcode=0
-if as_func_success; then
-  :
-else
-  exitcode=1
-  echo as_func_success failed.
-fi
-
-if as_func_failure; then
-  exitcode=1
-  echo as_func_failure succeeded.
-fi
-
-if as_func_ret_success; then
-  :
-else
-  exitcode=1
-  echo as_func_ret_success failed.
-fi
-
-if as_func_ret_failure; then
-  exitcode=1
-  echo as_func_ret_failure succeeded.
-fi
-
-if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
-  :
-else
-  exitcode=1
-  echo positional parameters were not saved.
-fi
-
-test \$exitcode = 0") || {
-  echo No shell found that supports shell functions.
-  echo Please tell autoconf@gnu.org about your system,
-  echo including any error possibly output before this
-  echo message
-}
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
-  case `echo 'x\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s='ln -s'
-  # ... but there are two gotchas:
-  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-  # In both cases, we have to default to `cp -p'.
-  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-    as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-        test -d "$1/.";
-      else
-       case $1 in
-        -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-
-
-# Check that we are running under the correct shell.
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-case X$ECHO in
-X*--fallback-echo)
-  # Remove one level of quotation (which was required for Make).
-  ECHO=`echo "$ECHO" | sed 's,\\\\\$\\$0,'$0','`
-  ;;
-esac
-
-echo=${ECHO-echo}
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t' ; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell.
-  exec $SHELL "$0" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit 0
-fi
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test -z "$ECHO"; then
-if test "X${echo_test_string+set}" != Xset; then
-# find a string as large as possible, as long as the shell can cope with it
-  for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
-    # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
-    if (echo_test_string=`eval $cmd`) 2>/dev/null &&
-       echo_test_string=`eval $cmd` &&
-       (test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
-    then
-      break
-    fi
-  done
-fi
-
-if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-   echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-   test "X$echo_testing_string" = "X$echo_test_string"; then
-  :
-else
-  # The Solaris, AIX, and Digital Unix default echo programs unquote
-  # backslashes.  This makes it impossible to quote backslashes using
-  #   echo "$something" | sed 's/\\/\\\\/g'
-  #
-  # So, first we look for a working echo in the user's PATH.
-
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for dir in $PATH /usr/ucb; do
-    IFS="$lt_save_ifs"
-    if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
-       test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      echo="$dir/echo"
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  if test "X$echo" = Xecho; then
-    # We didn't find a better echo, so look for alternatives.
-    if test "X`(print -r '\t') 2>/dev/null`" = 'X\t' &&
-       echo_testing_string=`(print -r "$echo_test_string") 2>/dev/null` &&
-       test "X$echo_testing_string" = "X$echo_test_string"; then
-      # This shell has a builtin print -r that does the trick.
-      echo='print -r'
-    elif (test -f /bin/ksh || test -f /bin/ksh$ac_exeext) &&
-        test "X$CONFIG_SHELL" != X/bin/ksh; then
-      # If we have ksh, try running configure again with it.
-      ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-      export ORIGINAL_CONFIG_SHELL
-      CONFIG_SHELL=/bin/ksh
-      export CONFIG_SHELL
-      exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
-    else
-      # Try using printf.
-      echo='printf %s\n'
-      if test "X`($echo '\t') 2>/dev/null`" = 'X\t' &&
-        echo_testing_string=`($echo "$echo_test_string") 2>/dev/null` &&
-        test "X$echo_testing_string" = "X$echo_test_string"; then
-       # Cool, printf works
-       :
-      elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-          test "X$echo_testing_string" = 'X\t' &&
-          echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-          test "X$echo_testing_string" = "X$echo_test_string"; then
-       CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
-       export CONFIG_SHELL
-       SHELL="$CONFIG_SHELL"
-       export SHELL
-       echo="$CONFIG_SHELL $0 --fallback-echo"
-      elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
-          test "X$echo_testing_string" = 'X\t' &&
-          echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
-          test "X$echo_testing_string" = "X$echo_test_string"; then
-       echo="$CONFIG_SHELL $0 --fallback-echo"
-      else
-       # maybe with a smaller string...
-       prev=:
-
-       for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
-         if (test "X$echo_test_string" = "X`eval $cmd`") 2>/dev/null
-         then
-           break
-         fi
-         prev="$cmd"
-       done
-
-       if test "$prev" != 'sed 50q "$0"'; then
-         echo_test_string=`eval $prev`
-         export echo_test_string
-         exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
-       else
-         # Oops.  We lost completely, so just stick with echo.
-         echo=echo
-       fi
-      fi
-    fi
-  fi
-fi
-fi
-
-# Copy echo and quote the copy suitably for passing to libtool from
-# the Makefile, instead of quoting the original, which is used later.
-ECHO=$echo
-if test "X$ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
-   ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
-fi
-
-
-
-
-tagnames=${tagnames+${tagnames},}CXX
-
-tagnames=${tagnames+${tagnames},}F77
-
-exec 7<&0 </dev/null 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-am__isrc
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-CC
-CFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CC
-EXEEXT
-OBJEXT
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-SED
-GREP
-EGREP
-LN_S
-ECHO
-AR
-RANLIB
-DSYMUTIL
-NMEDIT
-CPP
-CXX
-CXXFLAGS
-ac_ct_CXX
-CXXDEPMODE
-am__fastdepCXX_TRUE
-am__fastdepCXX_FALSE
-CXXCPP
-F77
-FFLAGS
-ac_ct_F77
-LIBTOOL
-LIBTOOL_DEPS
-RPMBUILD
-MP4FF_LIBS
-external_mp4v2
-HAVE_MPEG4IP_PLUG_TRUE
-HAVE_MPEG4IP_PLUG_FALSE
-XMMS_CONFIG
-GTK_CONFIG
-HAVE_XMMS_TRUE
-HAVE_XMMS_FALSE
-LIBOBJS
-LTLIBOBJS'
-ac_subst_files=''
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP
-CXX
-CXXFLAGS
-CCC
-CXXCPP
-F77
-FFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *)   ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-   { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-    eval enable_$ac_feature=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
-   { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
-    eval enable_$ac_feature=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
-   { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-    eval with_$ac_package=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
-   { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
-    eval with_$ac_package=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; }
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
-   { (exit 1); exit 1; }; }
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  { echo "$as_me: error: missing argument to $ac_option" >&2
-   { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute directory names.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; }
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
-    If a cross compiler is detected then cross compile mode will be used." >&2
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  { echo "$as_me: error: Working directory cannot be determined" >&2
-   { (exit 1); exit 1; }; }
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  { echo "$as_me: error: pwd does not report name of working directory" >&2
-   { (exit 1); exit 1; }; }
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$0" : 'X\(//\)[^/]' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-   { (exit 1); exit 1; }; }
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
-   { (exit 1); exit 1; }; }
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
-  # Omit some internal or obsolete options to make the list less imposing.
-  # This message is too long to be a string in the A/UX 3.1 sh.
-  cat <<_ACEOF
-\`configure' configures this package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                         [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                         [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR           user executables [EPREFIX/bin]
-  --sbindir=DIR          system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR       program executables [EPREFIX/libexec]
-  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
-  --libdir=DIR           object code libraries [EPREFIX/lib]
-  --includedir=DIR       C header files [PREFIX/include]
-  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
-  --datarootdir=DIR      read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR          read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR          info documentation [DATAROOTDIR/info]
-  --localedir=DIR        locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR           man documentation [DATAROOTDIR/man]
-  --docdir=DIR           documentation root [DATAROOTDIR/doc/PACKAGE]
-  --htmldir=DIR          html documentation [DOCDIR]
-  --dvidir=DIR           dvi documentation [DOCDIR]
-  --pdfdir=DIR           pdf documentation [DOCDIR]
-  --psdir=DIR            ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
-  cat <<\_ACEOF
-
-Optional Features:
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --disable-dependency-tracking  speeds up one-time build
-  --enable-dependency-tracking   do not reject slow dependency extractors
-  --disable-libtool-lock  avoid locking (might break parallel builds)
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-tags[=TAGS]      include additional configurations [automatic]
-  --with-xmms             compile XMMS-1 plugin
-  --with-drm              compile libfaad with DRM support
-  --with-mpeg4ip          compile mpeg4ip plugin
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
-  CXX         C++ compiler command
-  CXXFLAGS    C++ compiler flags
-  CXXCPP      C++ preprocessor
-  F77         Fortran 77 compiler command
-  FFLAGS      Fortran 77 compiler flags
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" || continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.61
-
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by $as_me, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  echo "PATH: $as_dir"
-done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
-    2)
-      ac_configure_args1="$ac_configure_args1 '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      ac_configure_args="$ac_configure_args '$ac_arg'"
-      ;;
-    esac
-  done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      *) $as_unset $ac_var ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      cat <<\_ASBOX
-## ------------------- ##
-## File substitutions. ##
-## ------------------- ##
-_ASBOX
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      echo "$as_me: caught signal $ac_signal"
-    echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -n "$CONFIG_SITE"; then
-  set x "$CONFIG_SITE"
-elif test "x$prefix" != xNONE; then
-  set x "$prefix/share/config.site" "$prefix/etc/config.site"
-else
-  set x "$ac_default_prefix/share/config.site" \
-       "$ac_default_prefix/etc/config.site"
-fi
-shift
-for ac_site_file
-do
-  if test -r "$ac_site_file"; then
-    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file"
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special
-  # files actually), so we avoid doing that.
-  if test -f "$cache_file"; then
-    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-       { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
-echo "$as_me:   former value:  $ac_old_val" >&2;}
-       { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
-echo "$as_me:   current value: $ac_new_val" >&2;}
-       ac_cache_corrupted=:
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-ac_aux_dir=
-for ac_dir in . "$srcdir"/.; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in . \"$srcdir\"/." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-am__api_version='1.10'
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
-  ./ | .// | /cC/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-           break 3
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-done
-IFS=$as_save_IFS
-
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
-echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
-# Just in case
-sleep 1
-echo timestamp > conftest.file
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments.  Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
-   set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
-   if test "$*" = "X"; then
-      # -L didn't work.
-      set X `ls -t $srcdir/configure conftest.file`
-   fi
-   rm -f conftest.file
-   if test "$*" != "X $srcdir/configure conftest.file" \
-      && test "$*" != "X conftest.file $srcdir/configure"; then
-
-      # If neither matched, then we have a broken ls.  This can happen
-      # if, for instance, CONFIG_SHELL is bash and it inherits a
-      # broken ls alias from the environment.  This has actually
-      # happened.  Such a system could not be considered "sane".
-      { { echo "$as_me:$LINENO: error: ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" >&5
-echo "$as_me: error: ls -t appears to fail.  Make sure there is not a broken
-alias in your environment" >&2;}
-   { (exit 1); exit 1; }; }
-   fi
-
-   test "$2" = conftest.file
-   )
-then
-   # Ok.
-   :
-else
-   { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
-Check your system clock" >&5
-echo "$as_me: error: newly created file is older than distributed files!
-Check your system clock" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.  echo might interpret backslashes.
-# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm -f conftest.sed
-
-# expand $ac_aux_dir to an absolute path
-am_aux_dir=`cd $ac_aux_dir && pwd`
-
-test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
-# Use eval to expand $SHELL
-if eval "$MISSING --run true"; then
-  am_missing_run="$MISSING --run "
-else
-  am_missing_run=
-  { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
-echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
-fi
-
-{ echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5
-echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; }
-if test -z "$MKDIR_P"; then
-  if test "${ac_cv_path_mkdir+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in mkdir gmkdir; do
-        for ac_exec_ext in '' $ac_executable_extensions; do
-          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
-          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
-            'mkdir (GNU coreutils) '* | \
-            'mkdir (coreutils) '* | \
-            'mkdir (fileutils) '4.1*)
-              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
-              break 3;;
-          esac
-        done
-       done
-done
-IFS=$as_save_IFS
-
-fi
-
-  if test "${ac_cv_path_mkdir+set}" = set; then
-    MKDIR_P="$ac_cv_path_mkdir -p"
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for MKDIR_P within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    test -d ./--version && rmdir ./--version
-    MKDIR_P="$ac_install_sh -d"
-  fi
-fi
-{ echo "$as_me:$LINENO: result: $MKDIR_P" >&5
-echo "${ECHO_T}$MKDIR_P" >&6; }
-
-mkdir_p="$MKDIR_P"
-case $mkdir_p in
-  [\\/$]* | ?:[\\/]*) ;;
-  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
-esac
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AWK+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AWK="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  SET_MAKE=
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-if test "`cd $srcdir && pwd`" != "`pwd`"; then
-  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
-  # is not polluted with repeated "-I."
-  am__isrc=' -I$(srcdir)'
-  # test to see if srcdir already configured
-  if test -f $srcdir/config.status; then
-    { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
-echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-fi
-
-# test whether we have cygpath
-if test -z "$CYGPATH_W"; then
-  if (cygpath --version) >/dev/null 2>/dev/null; then
-    CYGPATH_W='cygpath -w'
-  else
-    CYGPATH_W=echo
-  fi
-fi
-
-
-# Define the identity of the package.
- PACKAGE=faad2
- VERSION=2.6.0cvs
-
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define VERSION "$VERSION"
-_ACEOF
-
-# Some tools Automake needs.
-
-ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
-
-
-AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
-
-
-AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
-
-
-AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
-
-
-MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
-
-install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"}
-
-# Installed binaries are usually stripped using `strip' when the user
-# run `make install-strip'.  However `strip' might not be the right
-# tool to use in cross-compilation environments, therefore Automake
-# will honor the `STRIP' environment variable to overrule this program.
-if test "$cross_compiling" != no; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-fi
-INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
-
-# We need awk for the "check" target.  The system "awk" is bad on
-# some platforms.
-# Always define AMTAR for backward compatibility.
-
-AMTAR=${AMTAR-"${am_missing_run}tar"}
-
-am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
-
-
-
-
-
-
-# Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-# Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-# Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
-   { (exit 1); exit 1; }; }
-
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
-if test "${ac_cv_build+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
-   { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
-if test "${ac_cv_host+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
-       @echo done
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
-echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# We grep out `Entering directory' and `Leaving directory'
-# messages which can occur if `w' ends up in MAKEFLAGS.
-# In particular we don't look at `^make:' because GNU make might
-# be invoked under some other name (usually "gmake"), in which
-# case it prints its new name instead of `make'.
-if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
-   am__include=include
-   am__quote=
-   _am_result=GNU
-fi
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
-   echo '.include "confinc"' > confmf
-   if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-      am__include=.include
-      am__quote="\""
-      _am_result=BSD
-   fi
-fi
-
-
-{ echo "$as_me:$LINENO: result: $_am_result" >&5
-echo "${ECHO_T}$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then
-  enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
-  am_depcomp="$ac_aux_dir/depcomp"
-  AMDEPBACKSLASH='\'
-fi
- if test "x$enable_dependency_tracking" != xno; then
-  AMDEP_TRUE=
-  AMDEP_FALSE='#'
-else
-  AMDEP_TRUE='#'
-  AMDEP_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; }
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-#
-# List of possible output files, starting from the most likely.
-# The algorithm is not robust to junk in `.', hence go to wildcards (a.*)
-# only as a last resort.  b.out is created by i960 compilers.
-ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out'
-#
-# The IRIX 6 linker writes into existing files which may not be
-# executable, retaining their permissions.  Remove them first so a
-# subsequent execution test works.
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { (ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-
-{ echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6; }
-if test -z "$ac_file"; then
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
-   { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; }
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
-  if { ac_try='./$ac_file'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    else
-       { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-    fi
-  fi
-fi
-{ echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6; }
-
-{ echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; }
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-else
-  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-{ echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; }
-if test "${ac_cv_objext+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_compiler_gnu=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       CFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_c89=$ac_arg
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
-  xno)
-    { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CC"   am_compiler_list=
-
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    case $depmode in
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    none) break ;;
-    esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-{ echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5
-echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; }
-if test "${lt_cv_path_SED+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for lt_ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      if { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then
-        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
-      fi
-    done
-  done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
-  test ! -f $lt_ac_sed && continue
-  cat /dev/null > conftest.in
-  lt_ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
-  # Check for GNU sed and select it if it is found.
-  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
-    lt_cv_path_SED=$lt_ac_sed
-    break
-  fi
-  while true; do
-    cat conftest.in conftest.in >conftest.tmp
-    mv conftest.tmp conftest.in
-    cp conftest.in conftest.nl
-    echo >>conftest.nl
-    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
-    cmp -s conftest.out conftest.nl || break
-    # 10000 chars as input seems more than enough
-    test $lt_ac_count -gt 10 && break
-    lt_ac_count=`expr $lt_ac_count + 1`
-    if test $lt_ac_count -gt $lt_ac_max; then
-      lt_ac_max=$lt_ac_count
-      lt_cv_path_SED=$lt_ac_sed
-    fi
-  done
-done
-
-fi
-
-SED=$lt_cv_path_SED
-
-{ echo "$as_me:$LINENO: result: $SED" >&5
-echo "${ECHO_T}$SED" >&6; }
-
-{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
-echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # Extract the first word of "grep ggrep" to use in msg output
-if test -z "$GREP"; then
-set dummy grep ggrep; ac_prog_name=$2
-if test "${ac_cv_path_GREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_path_GREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in grep ggrep; do
-  for ac_exec_ext in '' $ac_executable_extensions; do
-    ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-    # Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-
-    $ac_path_GREP_found && break 3
-  done
-done
-
-done
-IFS=$as_save_IFS
-
-
-fi
-
-GREP="$ac_cv_path_GREP"
-if test -z "$GREP"; then
-  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
-echo "${ECHO_T}$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     # Extract the first word of "egrep" to use in msg output
-if test -z "$EGREP"; then
-set dummy egrep; ac_prog_name=$2
-if test "${ac_cv_path_EGREP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_path_EGREP_found=false
-# Loop through the user's path and test for each of PROGNAME-LIST
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_prog in egrep; do
-  for ac_exec_ext in '' $ac_executable_extensions; do
-    ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-    { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-    # Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  echo $ECHO_N "0123456789$ECHO_C" >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    ac_count=`expr $ac_count + 1`
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-
-    $ac_path_EGREP_found && break 3
-  done
-done
-
-done
-IFS=$as_save_IFS
-
-
-fi
-
-EGREP="$ac_cv_path_EGREP"
-if test -z "$EGREP"; then
-  { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
-echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-
-   fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
-echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
-else
-  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-{ echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5
-echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; }
-if test "${lt_cv_ld_reload_flag+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5
-echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-{ echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5
-echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; }
-if test "${lt_cv_path_NM+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm
-fi
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5
-echo "${ECHO_T}$lt_cv_path_NM" >&6; }
-NM="$lt_cv_path_NM"
-
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
-fi
-
-{ echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5
-echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; }
-if test "${lt_cv_deplibs_check_method+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  if ( file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd* | netbsdelf*-gnu)
-  if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-nto-qnx*)
-  lt_cv_deplibs_check_method=unknown
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5
-echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; }
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *ELF-32*)
-      HPUX_IA64_MODE="32"
-      ;;
-    *ELF-64*)
-      HPUX_IA64_MODE="64"
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line 4315 "configure"' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-   if test "$lt_cv_prog_gnu_ld" = yes; then
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -melf32bsmip"
-      ;;
-    *N32*)
-      LD="${LD-ld} -melf32bmipn32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -melf64bmip"
-      ;;
-    esac
-   else
-    case `/usr/bin/file conftest.$ac_objext` in
-    *32-bit*)
-      LD="${LD-ld} -32"
-      ;;
-    *N32*)
-      LD="${LD-ld} -n32"
-      ;;
-    *64-bit*)
-      LD="${LD-ld} -64"
-      ;;
-    esac
-   fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
-s390*-*linux*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.o` in
-    *32-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_i386_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_i386"
-          ;;
-        ppc64-*linux*|powerpc64-*linux*)
-          LD="${LD-ld} -m elf32ppclinux"
-          ;;
-        s390x-*linux*)
-          LD="${LD-ld} -m elf_s390"
-          ;;
-        sparc64-*linux*)
-          LD="${LD-ld} -m elf32_sparc"
-          ;;
-      esac
-      ;;
-    *64-bit*)
-      case $host in
-        x86_64-*kfreebsd*-gnu)
-          LD="${LD-ld} -m elf_x86_64_fbsd"
-          ;;
-        x86_64-*linux*)
-          LD="${LD-ld} -m elf_x86_64"
-          ;;
-        ppc*-*linux*|powerpc*-*linux*)
-          LD="${LD-ld} -m elf64ppc"
-          ;;
-        s390*-*linux*)
-          LD="${LD-ld} -m elf64_s390"
-          ;;
-        sparc*-*linux*)
-          LD="${LD-ld} -m elf64_sparc"
-          ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5
-echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; }
-if test "${lt_cv_cc_needs_belf+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-     cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  lt_cv_cc_needs_belf=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       lt_cv_cc_needs_belf=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-     ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5
-echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-        if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-
-esac
-
-need_locks="$enable_libtool_lock"
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_stdc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_stdc=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then
-  :
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  eval "$as_ac_Header=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-for ac_header in dlfcn.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-if test -z "$CXX"; then
-  if test -n "$CCC"; then
-    CXX=$CCC
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CXX"; then
-  ac_cv_prog_CXX="$CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CXX=$ac_cv_prog_CXX
-if test -n "$CXX"; then
-  { echo "$as_me:$LINENO: result: $CXX" >&5
-echo "${ECHO_T}$CXX" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-    test -n "$CXX" && break
-  done
-fi
-if test -z "$CXX"; then
-  ac_ct_CXX=$CXX
-  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CXX"; then
-  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CXX="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
-if test -n "$ac_ct_CXX"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5
-echo "${ECHO_T}$ac_ct_CXX" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CXX" && break
-done
-
-  if test "x$ac_ct_CXX" = x; then
-    CXX="g++"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    CXX=$ac_ct_CXX
-  fi
-fi
-
-  fi
-fi
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C++ compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; }
-if test "${ac_cv_cxx_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_compiler_gnu=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; }
-GXX=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CXXFLAGS=${CXXFLAGS+set}
-ac_save_CXXFLAGS=$CXXFLAGS
-{ echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5
-echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cxx_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
-   ac_cxx_werror_flag=yes
-   ac_cv_prog_cxx_g=no
-   CXXFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       CXXFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-        CXXFLAGS="-g"
-        cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cxx_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; }
-if test "$ac_test_CXXFLAGS" = set; then
-  CXXFLAGS=$ac_save_CXXFLAGS
-elif test $ac_cv_prog_cxx_g = yes; then
-  if test "$GXX" = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-g"
-  fi
-else
-  if test "$GXX" = yes; then
-    CXXFLAGS="-O2"
-  else
-    CXXFLAGS=
-  fi
-fi
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-depcc="$CXX"  am_compiler_list=
-
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CXX_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    case $depmode in
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    none) break ;;
-    esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CXX_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CXX_dependencies_compiler_type=none
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; }
-CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
-  am__fastdepCXX_TRUE=
-  am__fastdepCXX_FALSE='#'
-else
-  am__fastdepCXX_TRUE='#'
-  am__fastdepCXX_FALSE=
-fi
-
-
-
-
-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-    (test "X$CXX" != "Xg++"))) ; then
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5
-echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; }
-if test -z "$CXXCPP"; then
-  if test "${ac_cv_prog_CXXCPP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-      # Double quotes because CXXCPP needs to be expanded
-    for CXXCPP in "$CXX -E" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
-fi
-
-    done
-    ac_cv_prog_CXXCPP=$CXXCPP
-
-fi
-  CXXCPP=$ac_cv_prog_CXXCPP
-else
-  ac_cv_prog_CXXCPP=$CXXCPP
-fi
-{ echo "$as_me:$LINENO: result: $CXXCPP" >&5
-echo "${ECHO_T}$CXXCPP" >&6; }
-ac_preproc_ok=false
-for ac_cxx_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-fi
-
-
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$F77"; then
-  ac_cv_prog_F77="$F77" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_F77="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-F77=$ac_cv_prog_F77
-if test -n "$F77"; then
-  { echo "$as_me:$LINENO: result: $F77" >&5
-echo "${ECHO_T}$F77" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-    test -n "$F77" && break
-  done
-fi
-if test -z "$F77"; then
-  ac_ct_F77=$F77
-  for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_F77"; then
-  ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_F77="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_F77=$ac_cv_prog_ac_ct_F77
-if test -n "$ac_ct_F77"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5
-echo "${ECHO_T}$ac_ct_F77" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$ac_ct_F77" && break
-done
-
-  if test "x$ac_ct_F77" = x; then
-    F77=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    F77=$ac_ct_F77
-  fi
-fi
-
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-rm -f a.out
-
-# If we don't use `.F' as extension, the preprocessor is not run on the
-# input file.  (Note that this only needs to work for GNU compilers.)
-ac_save_ext=$ac_ext
-ac_ext=F
-{ echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; }
-if test "${ac_cv_f77_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-      program main
-#ifndef __GNUC__
-       choke me
-#endif
-
-      end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_f77_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_compiler_gnu=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_f77_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; }
-ac_ext=$ac_save_ext
-ac_test_FFLAGS=${FFLAGS+set}
-ac_save_FFLAGS=$FFLAGS
-FFLAGS=
-{ echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5
-echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_f77_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  FFLAGS=-g
-cat >conftest.$ac_ext <<_ACEOF
-      program main
-
-      end
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_f77_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_f77_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_prog_f77_g=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5
-echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; }
-if test "$ac_test_FFLAGS" = set; then
-  FFLAGS=$ac_save_FFLAGS
-elif test $ac_cv_prog_f77_g = yes; then
-  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
-    FFLAGS="-g -O2"
-  else
-    FFLAGS="-g"
-  fi
-else
-  if test "x$ac_cv_f77_compiler_gnu" = xyes; then
-    FFLAGS="-O2"
-  else
-    FFLAGS=
-  fi
-fi
-
-G77=`test $ac_compiler_gnu = yes && echo yes`
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-# Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers!
-# find the maximum length of command line arguments
-{ echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5
-echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; }
-if test "${lt_cv_sys_max_cmd_len+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[        ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \
-              = "XX$teststring") >/dev/null 2>&1 &&
-             new_result=`expr "X$teststring" : ".*" 2>&1` &&
-             lt_cv_sys_max_cmd_len=$new_result &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on massive
-      # amounts of additional arguments before passing them to the linker.
-      # It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5
-echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { echo "$as_me:$LINENO: result: none" >&5
-echo "${ECHO_T}none" >&6; }
-fi
-
-
-
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5
-echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; }
-if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Transform an extracted symbol line into a proper C declaration
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^. .* \(.*\)$/extern int \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*) # Its linker distinguishes data from code symbols
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-  lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  ;;
-linux* | k*bsd*-gnu)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDGIRSTW]'
-    lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-    lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (lt_ptr) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (lt_ptr) \&\2},/p'"
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`echo 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Try without a prefix undercore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[      ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-EOF
-
-  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5
-  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if grep ' nm_test_var$' "$nlist" >/dev/null; then
-       if grep ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | grep -v main >> conftest.$ac_ext'
-
-         cat <<EOF >> conftest.$ac_ext
-#if defined (__STDC__) && __STDC__
-# define lt_ptr_t void *
-#else
-# define lt_ptr_t char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-const struct {
-  const char *name;
-  lt_ptr_t address;
-}
-lt_preloaded_symbols[] =
-{
-EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (lt_ptr_t) \&\2},/" < "$nlist" | grep -v main >> conftest.$ac_ext
-         cat <<\EOF >> conftest.$ac_ext
-  {0, (lt_ptr_t) 0}
-};
-
-#ifdef __cplusplus
-}
-#endif
-EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_save_LIBS="$LIBS"
-         lt_save_CFLAGS="$CFLAGS"
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS="$lt_save_LIBS"
-         CFLAGS="$lt_save_CFLAGS"
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { echo "$as_me:$LINENO: result: failed" >&5
-echo "${ECHO_T}failed" >&6; }
-else
-  { echo "$as_me:$LINENO: result: ok" >&5
-echo "${ECHO_T}ok" >&6; }
-fi
-
-{ echo "$as_me:$LINENO: checking for objdir" >&5
-echo $ECHO_N "checking for objdir... $ECHO_C" >&6; }
-if test "${lt_cv_objdir+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5
-echo "${ECHO_T}$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='sed -e 1s/^X//'
-sed_quote_subst='s/\([\\"\\`$\\\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\([\\"\\`\\\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-# Constants:
-rm="rm -f"
-
-# Global variables:
-default_ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-ltmain="$ac_aux_dir/ltmain.sh"
-ofile="$default_ofile"
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_AR+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { echo "$as_me:$LINENO: result: $AR" >&5
-echo "${ECHO_T}$AR" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_AR+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_AR="ar"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5
-echo "${ECHO_T}$ac_ct_AR" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-else
-  AR="$ac_cv_prog_AR"
-fi
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
-echo "${ECHO_T}$ac_ct_STRIP" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-test -z "$AS" && AS=as
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$DLLTOOL" && DLLTOOL=dlltool
-test -z "$LD" && LD=ld
-test -z "$LN_S" && LN_S="ln -s"
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-test -z "$NM" && NM=nm
-test -z "$SED" && SED=sed
-test -z "$OBJDUMP" && OBJDUMP=objdump
-test -z "$RANLIB" && RANLIB=:
-test -z "$STRIP" && STRIP=:
-test -z "$ac_objext" && ac_objext=o
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5
-echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { echo "$as_me:$LINENO: checking for file" >&5
-echo $ECHO_N "checking for file... $ECHO_C" >&6; }
-if test "${lt_cv_path_MAGIC_CMD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5
-echo "${ECHO_T}$MAGIC_CMD" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_DSYMUTIL+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { echo "$as_me:$LINENO: result: $DSYMUTIL" >&5
-echo "${ECHO_T}$DSYMUTIL" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5
-echo "${ECHO_T}$ac_ct_DSYMUTIL" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_NMEDIT+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { echo "$as_me:$LINENO: result: $NMEDIT" >&5
-echo "${ECHO_T}$NMEDIT" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5
-echo "${ECHO_T}$ac_ct_NMEDIT" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-
-    { echo "$as_me:$LINENO: checking for -single_module linker flag" >&5
-echo $ECHO_N "checking for -single_module linker flag... $ECHO_C" >&6; }
-if test "${lt_cv_apple_cc_single_mod+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-   # By default we will add the -single_module flag. You can override
-   # by either setting the environment variable LT_MULTI_MODULE
-   # non-empty at configure time, or by adding -multi_module to the
-   # link flags.
-   echo "int foo(void){return 1;}" > conftest.c
-   $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-     -dynamiclib ${wl}-single_module conftest.c
-   if test -f libconftest.dylib; then
-     lt_cv_apple_cc_single_mod=yes
-     rm -rf libconftest.dylib*
-   fi
-   rm conftest.c
-      fi
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5
-echo "${ECHO_T}$lt_cv_apple_cc_single_mod" >&6; }
-    { echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5
-echo $ECHO_N "checking for -exported_symbols_list linker flag... $ECHO_C" >&6; }
-if test "${lt_cv_ld_exported_symbols_list+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  lt_cv_ld_exported_symbols_list=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       lt_cv_ld_exported_symbols_list=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5
-echo "${ECHO_T}$lt_cv_ld_exported_symbols_list" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[0123])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*)
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-   10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-   10.[012]*)
-     _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-   10.*)
-     _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms="~$NMEDIT -s \$output_objdir/\${libname}-symbols.expsym \${lib}"
-    fi
-    if test "$DSYMUTIL" != ":"; then
-      _lt_dsymutil="~$DSYMUTIL \$lib || :"
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-
-enable_dlopen=no
-enable_win32_dll=no
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-test -z "$pic_mode" && pic_mode=default
-
-# Use C for the default configuration in the libtool script
-tagname=
-lt_save_CC="$CC"
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-  ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7367: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:7371: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         lt_prog_compiler_pic='-qnocommon'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-      icc* | ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      *)
-        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       *Sun\ F*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_pic_works+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-  ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7657: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:7661: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_static_works+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $rm -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:7761: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:7765: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  enable_shared_with_static_runtimes=no
-  archive_cmds=
-  archive_expsym_cmds=
-  old_archive_From_new_cmds=
-  old_archive_from_expsyms_cmds=
-  export_dynamic_flag_spec=
-  whole_archive_flag_spec=
-  thread_safe_flag_spec=
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_direct=no
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  link_all_deplibs=unknown
-  hardcode_automatic=no
-  module_cmds=
-  module_expsym_cmds=
-  always_export_symbols=no
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>/dev/null` in
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-      fi
-      ;;
-
-    amigaos*)
-      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-
-      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can't use
-      # them.
-      ld_shlibs=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | k*bsd*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       tmp_addflag=
-       case $cc_basename,$host_cpu in
-       pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       *)
-         tmp_sharedflag='-shared' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-       if test $supports_anon_versioning = yes; then
-         archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-         $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-       fi
-       link_all_deplibs=no
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" && \
-          strings "$collect2name" | grep resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-       hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-       archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an empty executable.
-        cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         # Exported symbols can be pulled into shared objects from archives
-         whole_archive_flag_spec='$convenience'
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      archive_cmds='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs=no
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec=' '
-      allow_undefined_flag=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_From_new_cmds='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[012])
-         allow_undefined_flag='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[012])
-               allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      archive_cmds_need_lc=no
-      hardcode_direct=no
-      hardcode_automatic=yes
-      hardcode_shlibpath_var=unsupported
-      whole_archive_flag_spec=''
-      link_all_deplibs=yes
-    if test "$GCC" = yes ; then
-       output_verbose_link_cmd='echo'
-        archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-        module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-        archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-        module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-         module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         ld_shlibs=no
-          ;;
-      esac
-    fi
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       hardcode_direct=yes
-       export_dynamic_flag_spec='${wl}-E'
-
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_libdir_flag_spec_ld='+b $libdir'
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec_ld='-rpath $libdir'
-      fi
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      link_all_deplibs=yes
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-        fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z text'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-         $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
-      else
-       wlarc=''
-       archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-       $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs" >&5
-echo "${ECHO_T}$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
-      $rm conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl
-       pic_flag=$lt_prog_compiler_pic
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag
-        allow_undefined_flag=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-         archive_cmds_need_lc=no
-        else
-         archive_cmds_need_lc=yes
-        fi
-        allow_undefined_flag=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5
-echo "${ECHO_T}$archive_cmds_need_lc" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-  if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'`
-  else
-    lt_search_path_spec=`echo "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-  fi
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  sys_lib_search_path_spec=`echo $lt_search_path_spec`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $rm \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[     ]*hwcap[        ]/d;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-nto-qnx*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
-fi
-
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" || \
-   test -n "$runpath_var" || \
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action" >&5
-echo "${ECHO_T}$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-striplib=
-old_striplib=
-{ echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5
-echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | grep "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-   darwin*)
-       if test -n "$STRIP" ; then
-         striplib="$STRIP -x"
-         old_striplib="$STRIP -S"
-         { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-       else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-       ;;
-   *)
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-    ;;
-  esac
-fi
-
-if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-   ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-   ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_dl_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-   ;;
-
-  *)
-    { echo "$as_me:$LINENO: checking for shl_load" >&5
-echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; }
-if test "${ac_cv_func_shl_load+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define shl_load to an innocuous variant, in case <limits.h> declares shl_load.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define shl_load innocuous_shl_load
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char shl_load (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef shl_load
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_shl_load || defined __stub___shl_load
-choke me
-#endif
-
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_func_shl_load=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_func_shl_load=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5
-echo "${ECHO_T}$ac_cv_func_shl_load" >&6; }
-if test $ac_cv_func_shl_load = yes; then
-  lt_cv_dlopen="shl_load"
-else
-  { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5
-echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dld_shl_load+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dld_shl_load=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_dld_shl_load=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; }
-if test $ac_cv_lib_dld_shl_load = yes; then
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  { echo "$as_me:$LINENO: checking for dlopen" >&5
-echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; }
-if test "${ac_cv_func_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define dlopen innocuous_dlopen
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char dlopen (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef dlopen
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_dlopen || defined __stub___dlopen
-choke me
-#endif
-
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_func_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_func_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5
-echo "${ECHO_T}$ac_cv_func_dlopen" >&6; }
-if test $ac_cv_func_dlopen = yes; then
-  lt_cv_dlopen="dlopen"
-else
-  { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5
-echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dl_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dl_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_dl_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; }
-if test $ac_cv_lib_dl_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5
-echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_svld_dlopen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_svld_dlopen=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_svld_dlopen=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5
-echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; }
-if test $ac_cv_lib_svld_dlopen = yes; then
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5
-echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; }
-if test "${ac_cv_lib_dld_dld_link+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_dld_dld_link=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_dld_dld_link=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5
-echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; }
-if test $ac_cv_lib_dld_dld_link = yes; then
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5
-echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; }
-if test "${lt_cv_dlopen_self+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-#line 10138 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-    exit (status);
-}
-EOF
-  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5
-echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; }
-if test "${lt_cv_dlopen_self_static+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<EOF
-#line 10238 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-#ifdef __cplusplus
-extern "C" void exit (int);
-#endif
-
-void fnord() { int i=42;}
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-    exit (status);
-}
-EOF
-  if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5
-echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-# Report which library types will actually be built
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-
-aix[4-9]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-    ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    compiler \
-    CC \
-    LD \
-    lt_prog_compiler_wl \
-    lt_prog_compiler_pic \
-    lt_prog_compiler_static \
-    lt_prog_compiler_no_builtin_flag \
-    export_dynamic_flag_spec \
-    thread_safe_flag_spec \
-    whole_archive_flag_spec \
-    enable_shared_with_static_runtimes \
-    old_archive_cmds \
-    old_archive_from_new_cmds \
-    predep_objects \
-    postdep_objects \
-    predeps \
-    postdeps \
-    compiler_lib_search_path \
-    compiler_lib_search_dirs \
-    archive_cmds \
-    archive_expsym_cmds \
-    postinstall_cmds \
-    postuninstall_cmds \
-    old_archive_from_expsyms_cmds \
-    allow_undefined_flag \
-    no_undefined_flag \
-    export_symbols_cmds \
-    hardcode_libdir_flag_spec \
-    hardcode_libdir_flag_spec_ld \
-    hardcode_libdir_separator \
-    hardcode_automatic \
-    module_cmds \
-    module_expsym_cmds \
-    lt_cv_prog_compiler_c_o \
-    fix_srcfile_path \
-    exclude_expsyms \
-    include_expsyms; do
-
-    case $var in
-    old_archive_cmds | \
-    old_archive_from_new_cmds | \
-    archive_cmds | \
-    archive_expsym_cmds | \
-    module_cmds | \
-    module_expsym_cmds | \
-    old_archive_from_expsyms_cmds | \
-    export_symbols_cmds | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\$0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
-
-cfgfile="${ofile}T"
-  trap "$rm \"$cfgfile\"; exit 1" 1 2 15
-  $rm -f "$cfgfile"
-  { echo "$as_me:$LINENO: creating $ofile" >&5
-echo "$as_me: creating $ofile" >&6;}
-
-  cat <<__EOF__ >> "$cfgfile"
-#! $SHELL
-
-# `$echo "$cfgfile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $PROGRAM (GNU $PACKAGE $VERSION$TIMESTAMP)
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
-# Free Software Foundation, Inc.
-#
-# This file is part of GNU Libtool:
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="$SED -e 1s/^X//"
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# The names of the tagged configurations supported by this script.
-available_tags=
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# ### END LIBTOOL CONFIG
-
-__EOF__
-
-
-  case $host_os in
-  aix3*)
-    cat <<\EOF >> "$cfgfile"
-
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-EOF
-    ;;
-  esac
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '$q' "$ltmain" >> "$cfgfile" || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" || \
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-
-# Check whether --with-tags was given.
-if test "${with_tags+set}" = set; then
-  withval=$with_tags; tagnames="$withval"
-fi
-
-
-if test -f "$ltmain" && test -n "$tagnames"; then
-  if test ! -f "${ofile}"; then
-    { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;}
-  fi
-
-  if test -z "$LTCC"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCC='`"
-    if test -z "$LTCC"; then
-      { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5
-echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;}
-    else
-      { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5
-echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;}
-    fi
-  fi
-  if test -z "$LTCFLAGS"; then
-    eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`"
-  fi
-
-  # Extract list of available tagged configurations in $ofile.
-  # Note that this assumes the entire list is on one line.
-  available_tags=`grep "^available_tags=" "${ofile}" | $SED -e 's/available_tags=\(.*$\)/\1/' -e 's/\"//g'`
-
-  lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-  for tagname in $tagnames; do
-    IFS="$lt_save_ifs"
-    # Check whether tagname contains only valid characters
-    case `$echo "X$tagname" | $Xsed -e 's:[-_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890,/]::g'` in
-    "") ;;
-    *)  { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5
-echo "$as_me: error: invalid tag name: $tagname" >&2;}
-   { (exit 1); exit 1; }; }
-       ;;
-    esac
-
-    if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null
-    then
-      { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5
-echo "$as_me: error: tag name \"$tagname\" already exists" >&2;}
-   { (exit 1); exit 1; }; }
-    fi
-
-    # Update the list of available tags.
-    if test -n "$tagname"; then
-      echo appending configuration tag \"$tagname\" to $ofile
-
-      case $tagname in
-      CXX)
-       if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
-           ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
-           (test "X$CXX" != "Xg++"))) ; then
-         ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-
-
-
-archive_cmds_need_lc_CXX=no
-allow_undefined_flag_CXX=
-always_export_symbols_CXX=no
-archive_expsym_cmds_CXX=
-export_dynamic_flag_spec_CXX=
-hardcode_direct_CXX=no
-hardcode_libdir_flag_spec_CXX=
-hardcode_libdir_flag_spec_ld_CXX=
-hardcode_libdir_separator_CXX=
-hardcode_minus_L_CXX=no
-hardcode_shlibpath_var_CXX=unsupported
-hardcode_automatic_CXX=no
-module_cmds_CXX=
-module_expsym_cmds_CXX=
-link_all_deplibs_CXX=unknown
-old_archive_cmds_CXX=$old_archive_cmds
-no_undefined_flag_CXX=
-whole_archive_flag_spec_CXX=
-enable_shared_with_static_runtimes_CXX=no
-
-# Dependencies to place before and after the object being linked:
-predep_objects_CXX=
-postdep_objects_CXX=
-predeps_CXX=
-postdeps_CXX=
-compiler_lib_search_path_CXX=
-compiler_lib_search_dirs_CXX=
-
-# Source file extension for C++ test sources.
-ac_ext=cpp
-
-# Object file extension for compiled C++ test sources.
-objext=o
-objext_CXX=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC=$CC
-lt_save_LD=$LD
-lt_save_GCC=$GCC
-GCC=$GXX
-lt_save_with_gnu_ld=$with_gnu_ld
-lt_save_path_LD=$lt_cv_path_LD
-if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
-  lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
-else
-  $as_unset lt_cv_prog_gnu_ld
-fi
-if test -n "${lt_cv_path_LDCXX+set}"; then
-  lt_cv_path_LD=$lt_cv_path_LDCXX
-else
-  $as_unset lt_cv_path_LD
-fi
-test -z "${LDCXX+set}" || LD=$LDCXX
-CC=${CXX-"c++"}
-compiler=$CC
-compiler_CXX=$CC
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# We don't want -fno-exception wen compiling C++ code, so set the
-# no_builtin_flag separately
-if test "$GXX" = yes; then
-  lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
-else
-  lt_prog_compiler_no_builtin_flag_CXX=
-fi
-
-if test "$GXX" = yes; then
-  # Set up default GNU C++ configuration
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { echo "$as_me:$LINENO: checking for ld used by $CC" >&5
-echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`echo $ac_prog| $SED 's%\\\\%/%g'`
-      while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`echo $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { echo "$as_me:$LINENO: checking for GNU ld" >&5
-echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; }
-else
-  { echo "$as_me:$LINENO: checking for non-GNU ld" >&5
-echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; }
-fi
-if test "${lt_cv_path_LD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { echo "$as_me:$LINENO: result: $LD" >&5
-echo "${ECHO_T}$LD" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5
-echo "$as_me: error: no acceptable ld found in \$PATH" >&2;}
-   { (exit 1); exit 1; }; }
-{ echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5
-echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; }
-if test "${lt_cv_prog_gnu_ld+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_gnu_ld" >&5
-echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-  # Check if GNU C++ uses GNU ld as the underlying linker, since the
-  # archiving commands below assume that GNU ld is being used.
-  if test "$with_gnu_ld" = yes; then
-    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-
-    hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
-    #     investigate it a little bit more. (MM)
-    wlarc='${wl}'
-
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if eval "`$CC -print-prog-name=ld` --help 2>&1" | \
-       grep 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec_CXX=
-    fi
-  else
-    with_gnu_ld=no
-    wlarc=
-
-    # A generic and very simple default shared library creation
-    # command for GNU C++ for the case where it uses the native
-    # linker, instead of GNU ld.  If possible, this setting should
-    # overridden to take advantage of the native linker features on
-    # the platform it is being used on.
-    archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-  fi
-
-  # Commands to make compiler produce verbose output that lists
-  # what "hidden" libraries, object files and flags are used when
-  # linking a shared library.
-  output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-else
-  GXX=no
-  with_gnu_ld=no
-  wlarc=
-fi
-
-# PORTME: fill in a description of your system's C++ link characteristics
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-ld_shlibs_CXX=yes
-case $host_os in
-  aix3*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  aix[4-9]*)
-    if test "$host_cpu" = ia64; then
-      # On IA64, the linker does run time linking by default, so we don't
-      # have to do anything special.
-      aix_use_runtimelinking=no
-      exp_sym_flag='-Bexport'
-      no_entry_flag=""
-    else
-      aix_use_runtimelinking=no
-
-      # Test if we are trying to use run time linking or normal
-      # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-      # need to do runtime linking.
-      case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-       for ld_flag in $LDFLAGS; do
-         case $ld_flag in
-         *-brtl*)
-           aix_use_runtimelinking=yes
-           break
-           ;;
-         esac
-       done
-       ;;
-      esac
-
-      exp_sym_flag='-bexport'
-      no_entry_flag='-bnoentry'
-    fi
-
-    # When large executables or shared objects are built, AIX ld can
-    # have problems creating the table of contents.  If linking a library
-    # or program results in "error TOC overflow" add -mminimal-toc to
-    # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-    # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-    archive_cmds_CXX=''
-    hardcode_direct_CXX=yes
-    hardcode_libdir_separator_CXX=':'
-    link_all_deplibs_CXX=yes
-
-    if test "$GXX" = yes; then
-      case $host_os in aix4.[012]|aix4.[012].*)
-      # We only want to do this on AIX 4.2 and lower, the check
-      # below for broken collect2 doesn't work under 4.3+
-       collect2name=`${CC} -print-prog-name=collect2`
-       if test -f "$collect2name" && \
-          strings "$collect2name" | grep resolve_lib_name >/dev/null
-       then
-         # We have reworked collect2
-         :
-       else
-         # We have old collect2
-         hardcode_direct_CXX=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L_CXX=yes
-         hardcode_libdir_flag_spec_CXX='-L$libdir'
-         hardcode_libdir_separator_CXX=
-       fi
-       ;;
-      esac
-      shared_flag='-shared'
-      if test "$aix_use_runtimelinking" = yes; then
-       shared_flag="$shared_flag "'${wl}-G'
-      fi
-    else
-      # not using gcc
-      if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-       shared_flag='-G'
-      else
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag='${wl}-G'
-       else
-         shared_flag='${wl}-bM:SRE'
-       fi
-      fi
-    fi
-
-    # It seems that -bexpall does not export symbols beginning with
-    # underscore (_), so it is better to generate a list of symbols to export.
-    always_export_symbols_CXX=yes
-    if test "$aix_use_runtimelinking" = yes; then
-      # Warning - without using the other runtime loading flags (-brtl),
-      # -berok will link without error, but may produce a broken library.
-      allow_undefined_flag_CXX='-berok'
-      # Determine the default libpath from the value encoded in an empty executable.
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-      hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-
-      archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-     else
-      if test "$host_cpu" = ia64; then
-       hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
-       allow_undefined_flag_CXX="-z nodefs"
-       archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-      else
-       # Determine the default libpath from the value encoded in an empty executable.
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_cxx_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-       hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
-       # Warning - without using the other run time loading flags,
-       # -berok will link without error, but may produce a broken library.
-       no_undefined_flag_CXX=' ${wl}-bernotok'
-       allow_undefined_flag_CXX=' ${wl}-berok'
-       # Exported symbols can be pulled into shared objects from archives
-       whole_archive_flag_spec_CXX='$convenience'
-       archive_cmds_need_lc_CXX=yes
-       # This is similar to how AIX traditionally builds its shared libraries.
-       archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-      fi
-    fi
-    ;;
-
-  beos*)
-    if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-      allow_undefined_flag_CXX=unsupported
-      # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-      # support --undefined.  This deserves some investigation.  FIXME
-      archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-    else
-      ld_shlibs_CXX=no
-    fi
-    ;;
-
-  chorus*)
-    case $cc_basename in
-      *)
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-    esac
-    ;;
-
-  cygwin* | mingw* | pw32*)
-    # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
-    # as there is no search path for DLLs.
-    hardcode_libdir_flag_spec_CXX='-L$libdir'
-    allow_undefined_flag_CXX=unsupported
-    always_export_symbols_CXX=no
-    enable_shared_with_static_runtimes_CXX=yes
-
-    if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-      archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      # If the export-symbols file already is a .def file (1st line
-      # is EXPORTS), use it as is; otherwise, prepend...
-      archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-       cp $export_symbols $output_objdir/$soname.def;
-      else
-       echo EXPORTS > $output_objdir/$soname.def;
-       cat $export_symbols >> $output_objdir/$soname.def;
-      fi~
-      $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-    else
-      ld_shlibs_CXX=no
-    fi
-  ;;
-      darwin* | rhapsody*)
-      archive_cmds_need_lc_CXX=no
-      hardcode_direct_CXX=no
-      hardcode_automatic_CXX=yes
-      hardcode_shlibpath_var_CXX=unsupported
-      whole_archive_flag_spec_CXX=''
-      link_all_deplibs_CXX=yes
-      allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
-      if test "$GXX" = yes ; then
-      output_verbose_link_cmd='echo'
-      archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-      module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-      archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-      module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-      if test "$lt_cv_apple_cc_single_mod" != "yes"; then
-        archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
-        archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
-      fi
-      else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-          archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-          module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-          archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         ld_shlibs_CXX=no
-          ;;
-      esac
-      fi
-        ;;
-
-  dgux*)
-    case $cc_basename in
-      ec++*)
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-      ghcx*)
-       # Green Hills C++ Compiler
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-      *)
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-    esac
-    ;;
-  freebsd[12]*)
-    # C++ shared libraries reported to be fairly broken before switch to ELF
-    ld_shlibs_CXX=no
-    ;;
-  freebsd-elf*)
-    archive_cmds_need_lc_CXX=no
-    ;;
-  freebsd* | dragonfly*)
-    # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
-    # conventions
-    ld_shlibs_CXX=yes
-    ;;
-  gnu*)
-    ;;
-  hpux9*)
-    hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-    hardcode_libdir_separator_CXX=:
-    export_dynamic_flag_spec_CXX='${wl}-E'
-    hardcode_direct_CXX=yes
-    hardcode_minus_L_CXX=yes # Not in the search PATH,
-                               # but as the default
-                               # location of the library.
-
-    case $cc_basename in
-    CC*)
-      # FIXME: insert proper C++ library support
-      ld_shlibs_CXX=no
-      ;;
-    aCC*)
-      archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      #
-      # There doesn't appear to be a way to prevent this compiler from
-      # explicitly linking system object files so we need to strip them
-      # from the output so that they don't get included in the library
-      # dependencies.
-      output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "[-]L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-      ;;
-    *)
-      if test "$GXX" = yes; then
-        archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-        # FIXME: insert proper C++ library support
-        ld_shlibs_CXX=no
-      fi
-      ;;
-    esac
-    ;;
-  hpux10*|hpux11*)
-    if test $with_gnu_ld = no; then
-      hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator_CXX=:
-
-      case $host_cpu in
-      hppa*64*|ia64*) ;;
-      *)
-       export_dynamic_flag_spec_CXX='${wl}-E'
-        ;;
-      esac
-    fi
-    case $host_cpu in
-    hppa*64*|ia64*)
-      hardcode_direct_CXX=no
-      hardcode_shlibpath_var_CXX=no
-      ;;
-    *)
-      hardcode_direct_CXX=yes
-      hardcode_minus_L_CXX=yes # Not in the search PATH,
-                                             # but as the default
-                                             # location of the library.
-      ;;
-    esac
-
-    case $cc_basename in
-      CC*)
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-      aCC*)
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-         ;;
-       *)
-         archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-         ;;
-       esac
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | grep "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-       ;;
-      *)
-       if test "$GXX" = yes; then
-         if test $with_gnu_ld = no; then
-           case $host_cpu in
-           hppa*64*)
-             archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-             ;;
-           ia64*)
-             archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-             ;;
-           *)
-             archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-             ;;
-           esac
-         fi
-       else
-         # FIXME: insert proper C++ library support
-         ld_shlibs_CXX=no
-       fi
-       ;;
-    esac
-    ;;
-  interix[3-9]*)
-    hardcode_direct_CXX=no
-    hardcode_shlibpath_var_CXX=no
-    hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-    export_dynamic_flag_spec_CXX='${wl}-E'
-    # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-    # Instead, shared libraries are loaded at an image base (0x10000000 by
-    # default) and relocated if they conflict, which is a slow very memory
-    # consuming and fragmenting process.  To avoid this, we pick a random,
-    # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-    # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-    archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-    ;;
-  irix5* | irix6*)
-    case $cc_basename in
-      CC*)
-       # SGI C++
-       archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-       # Archives containing C++ object files must be created using
-       # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
-       # necessary to make sure instantiated templates are included
-       # in the archive.
-       old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
-       ;;
-      *)
-       if test "$GXX" = yes; then
-         if test "$with_gnu_ld" = no; then
-           archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-         else
-           archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib'
-         fi
-       fi
-       link_all_deplibs_CXX=yes
-       ;;
-    esac
-    hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-    hardcode_libdir_separator_CXX=:
-    ;;
-  linux* | k*bsd*-gnu)
-    case $cc_basename in
-      KCC*)
-       # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-       # KCC will only create a shared library if the output file
-       # ends with ".so" (or ".sl" for HP-UX), so rename the library
-       # to its proper name (with version) after linking.
-       archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-       archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-
-       hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir'
-       export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-
-       # Archives containing C++ object files must be created using
-       # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-       old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-       ;;
-      icpc*)
-       # Intel C++
-       with_gnu_ld=yes
-       # version 8.0 and above of icpc choke on multiply defined symbols
-       # if we add $predep_objects and $postdep_objects, however 7.1 and
-       # earlier do not add the objects themselves.
-       case `$CC -V 2>&1` in
-       *"Version 7."*)
-         archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-         archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         ;;
-       *)  # Version 8.0 or newer
-         tmp_idyn=
-         case $host_cpu in
-           ia64*) tmp_idyn=' -i_dynamic';;
-         esac
-         archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-         archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         ;;
-       esac
-       archive_cmds_need_lc_CXX=no
-       hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-       export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-       whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-       ;;
-      pgCC* | pgcpp*)
-        # Portland Group C++ compiler
-       archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
-       archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
-
-       hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
-       export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
-       whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-        ;;
-      cxx*)
-       # Compaq C++
-       archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
-
-       runpath_var=LD_RUN_PATH
-       hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-       hardcode_libdir_separator_CXX=:
-
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)
-         # Sun C++ 5.9
-         no_undefined_flag_CXX=' -zdefs'
-         archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-         archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
-         hardcode_libdir_flag_spec_CXX='-R$libdir'
-         whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-
-         # Not sure whether something based on
-         # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
-         # would be better.
-         output_verbose_link_cmd='echo'
-
-         # Archives containing C++ object files must be created using
-         # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-         # necessary to make sure instantiated templates are included
-         # in the archive.
-         old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-         ;;
-       esac
-       ;;
-    esac
-    ;;
-  lynxos*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  m88k*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  mvs*)
-    case $cc_basename in
-      cxx*)
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-      *)
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-    esac
-    ;;
-  netbsd* | netbsdelf*-gnu)
-    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-      archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
-      wlarc=
-      hardcode_libdir_flag_spec_CXX='-R$libdir'
-      hardcode_direct_CXX=yes
-      hardcode_shlibpath_var_CXX=no
-    fi
-    # Workaround some broken pre-1.5 toolchains
-    output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
-    ;;
-  openbsd2*)
-    # C++ shared libraries are fairly broken
-    ld_shlibs_CXX=no
-    ;;
-  openbsd*)
-    if test -f /usr/libexec/ld.so; then
-      hardcode_direct_CXX=yes
-      hardcode_shlibpath_var_CXX=no
-      archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
-      hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-       archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
-       export_dynamic_flag_spec_CXX='${wl}-E'
-       whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      fi
-      output_verbose_link_cmd='echo'
-    else
-      ld_shlibs_CXX=no
-    fi
-    ;;
-  osf3*)
-    case $cc_basename in
-      KCC*)
-       # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-       # KCC will only create a shared library if the output file
-       # ends with ".so" (or ".sl" for HP-UX), so rename the library
-       # to its proper name (with version) after linking.
-       archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-       hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-       hardcode_libdir_separator_CXX=:
-
-       # Archives containing C++ object files must be created using
-       # "CC -Bstatic", where "CC" is the KAI C++ compiler.
-       old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
-
-       ;;
-      RCC*)
-       # Rational C++ 2.4.1
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-      cxx*)
-       allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-
-       hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-       hardcode_libdir_separator_CXX=:
-
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-       ;;
-      *)
-       if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-         allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-         archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-         hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-         hardcode_libdir_separator_CXX=:
-
-         # Commands to make compiler produce verbose output that lists
-         # what "hidden" libraries, object files and flags are used when
-         # linking a shared library.
-         output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-       else
-         # FIXME: insert proper C++ library support
-         ld_shlibs_CXX=no
-       fi
-       ;;
-    esac
-    ;;
-  osf4* | osf5*)
-    case $cc_basename in
-      KCC*)
-       # Kuck and Associates, Inc. (KAI) C++ Compiler
-
-       # KCC will only create a shared library if the output file
-       # ends with ".so" (or ".sl" for HP-UX), so rename the library
-       # to its proper name (with version) after linking.
-       archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
-
-       hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
-       hardcode_libdir_separator_CXX=:
-
-       # Archives containing C++ object files must be created using
-       # the KAI C++ compiler.
-       old_archive_cmds_CXX='$CC -o $oldlib $oldobjs'
-       ;;
-      RCC*)
-       # Rational C++ 2.4.1
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-      cxx*)
-       allow_undefined_flag_CXX=' -expect_unresolved \*'
-       archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-         echo "-hidden">> $lib.exp~
-         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~
-         $rm $lib.exp'
-
-       hardcode_libdir_flag_spec_CXX='-rpath $libdir'
-       hardcode_libdir_separator_CXX=:
-
-       # Commands to make compiler produce verbose output that lists
-       # what "hidden" libraries, object files and flags are used when
-       # linking a shared library.
-       #
-       # There doesn't appear to be a way to prevent this compiler from
-       # explicitly linking system object files so we need to strip them
-       # from the output so that they don't get included in the library
-       # dependencies.
-       output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
-       ;;
-      *)
-       if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-         allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
-        archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-
-         hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
-         hardcode_libdir_separator_CXX=:
-
-         # Commands to make compiler produce verbose output that lists
-         # what "hidden" libraries, object files and flags are used when
-         # linking a shared library.
-         output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "\-L"'
-
-       else
-         # FIXME: insert proper C++ library support
-         ld_shlibs_CXX=no
-       fi
-       ;;
-    esac
-    ;;
-  psos*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  sunos4*)
-    case $cc_basename in
-      CC*)
-       # Sun C++ 4.x
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-      lcc*)
-       # Lucid
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-      *)
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-    esac
-    ;;
-  solaris*)
-    case $cc_basename in
-      CC*)
-       # Sun C++ 4.2, 5.x and Centerline C++
-        archive_cmds_need_lc_CXX=yes
-       no_undefined_flag_CXX=' -zdefs'
-       archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
-       archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-       $CC -G${allow_undefined_flag}  ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-       hardcode_libdir_flag_spec_CXX='-R$libdir'
-       hardcode_shlibpath_var_CXX=no
-       case $host_os in
-         solaris2.[0-5] | solaris2.[0-5].*) ;;
-         *)
-           # The compiler driver will combine and reorder linker options,
-           # but understands `-z linker_flag'.
-           # Supported since Solaris 2.6 (maybe 2.5.1?)
-           whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
-           ;;
-       esac
-       link_all_deplibs_CXX=yes
-
-       output_verbose_link_cmd='echo'
-
-       # Archives containing C++ object files must be created using
-       # "CC -xar", where "CC" is the Sun C++ compiler.  This is
-       # necessary to make sure instantiated templates are included
-       # in the archive.
-       old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
-       ;;
-      gcx*)
-       # Green Hills C++ Compiler
-       archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-
-       # The C++ compiler must be used to create the archive.
-       old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
-       ;;
-      *)
-       # GNU C++ compiler with Solaris linker
-       if test "$GXX" = yes && test "$with_gnu_ld" = no; then
-         no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
-         if $CC --version | grep -v '^2\.7' > /dev/null; then
-           archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-           archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           output_verbose_link_cmd="$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-         else
-           # g++ 2.7 appears to require `-G' NOT `-shared' on this
-           # platform.
-           archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
-           archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-               $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
-
-           # Commands to make compiler produce verbose output that lists
-           # what "hidden" libraries, object files and flags are used when
-           # linking a shared library.
-           output_verbose_link_cmd="$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep \"\-L\""
-         fi
-
-         hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
-         case $host_os in
-         solaris2.[0-5] | solaris2.[0-5].*) ;;
-         *)
-           whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-           ;;
-         esac
-       fi
-       ;;
-    esac
-    ;;
-  sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-    no_undefined_flag_CXX='${wl}-z,text'
-    archive_cmds_need_lc_CXX=no
-    hardcode_shlibpath_var_CXX=no
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-       archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       ;;
-      *)
-       archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       ;;
-    esac
-    ;;
-  sysv5* | sco3.2v5* | sco5v6*)
-    # Note: We can NOT use -z defs as we might desire, because we do not
-    # link with -lc, and that would cause any symbols used from libc to
-    # always be unresolved, which means just about no library would
-    # ever link correctly.  If we're not using GNU ld we use -z text
-    # though, which does catch some bad symbols but isn't as heavy-handed
-    # as -z defs.
-    # For security reasons, it is highly recommended that you always
-    # use absolute paths for naming shared libraries, and exclude the
-    # DT_RUNPATH tag from executables and libraries.  But doing so
-    # requires that you compile everything twice, which is a pain.
-    # So that behaviour is only enabled if SCOABSPATH is set to a
-    # non-empty value in the environment.  Most likely only useful for
-    # creating official distributions of packages.
-    # This is a hack until libtool officially supports absolute path
-    # names for shared libraries.
-    no_undefined_flag_CXX='${wl}-z,text'
-    allow_undefined_flag_CXX='${wl}-z,nodefs'
-    archive_cmds_need_lc_CXX=no
-    hardcode_shlibpath_var_CXX=no
-    hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-    hardcode_libdir_separator_CXX=':'
-    link_all_deplibs_CXX=yes
-    export_dynamic_flag_spec_CXX='${wl}-Bexport'
-    runpath_var='LD_RUN_PATH'
-
-    case $cc_basename in
-      CC*)
-       archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       ;;
-      *)
-       archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       ;;
-    esac
-    ;;
-  tandem*)
-    case $cc_basename in
-      NCC*)
-       # NonStop-UX NCC 3.20
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-      *)
-       # FIXME: insert proper C++ library support
-       ld_shlibs_CXX=no
-       ;;
-    esac
-    ;;
-  vxworks*)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-  *)
-    # FIXME: insert proper C++ library support
-    ld_shlibs_CXX=no
-    ;;
-esac
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-GCC_CXX="$GXX"
-LD_CXX="$LD"
-
-cat > conftest.$ac_ext <<EOF
-class Foo
-{
-public:
-  Foo (void) { a = 0; }
-private:
-  int a;
-};
-EOF
-
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; then
-  # Parse the compiler output and extract the necessary
-  # objects, libraries and library flags.
-
-  # Sentinel used to keep track of whether or not we are before
-  # the conftest object file.
-  pre_test_object_deps_done=no
-
-  # The `*' in the case matches for architectures that use `case' in
-  # $output_verbose_cmd can trigger glob expansion during the loop
-  # eval without this substitution.
-  output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
-
-  for p in `eval $output_verbose_link_cmd`; do
-    case $p in
-
-    -L* | -R* | -l*)
-       # Some compilers place space between "-{L,R}" and the path.
-       # Remove the space.
-       if test $p = "-L" \
-         || test $p = "-R"; then
-        prev=$p
-        continue
-       else
-        prev=
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-        case $p in
-        -L* | -R*)
-          # Internal compiler library paths should come after those
-          # provided the user.  The postdeps already come after the
-          # user supplied libs so there is no need to process them.
-          if test -z "$compiler_lib_search_path_CXX"; then
-            compiler_lib_search_path_CXX="${prev}${p}"
-          else
-            compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
-          fi
-          ;;
-        # The "-l" case would never come before the object being
-        # linked, so don't bother handling this case.
-        esac
-       else
-        if test -z "$postdeps_CXX"; then
-          postdeps_CXX="${prev}${p}"
-        else
-          postdeps_CXX="${postdeps_CXX} ${prev}${p}"
-        fi
-       fi
-       ;;
-
-    *.$objext)
-       # This assumes that the test object file only shows up
-       # once in the compiler output.
-       if test "$p" = "conftest.$objext"; then
-        pre_test_object_deps_done=yes
-        continue
-       fi
-
-       if test "$pre_test_object_deps_done" = no; then
-        if test -z "$predep_objects_CXX"; then
-          predep_objects_CXX="$p"
-        else
-          predep_objects_CXX="$predep_objects_CXX $p"
-        fi
-       else
-        if test -z "$postdep_objects_CXX"; then
-          postdep_objects_CXX="$p"
-        else
-          postdep_objects_CXX="$postdep_objects_CXX $p"
-        fi
-       fi
-       ;;
-
-    *) ;; # Ignore the rest.
-
-    esac
-  done
-
-  # Clean up.
-  rm -f a.out a.exe
-else
-  echo "libtool.m4: error: problem compiling CXX test program"
-fi
-
-$rm -f confest.$objext
-
-compiler_lib_search_dirs_CXX=
-if test -n "$compiler_lib_search_path_CXX"; then
-  compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
-fi
-
-# PORTME: override above test on systems where it is broken
-case $host_os in
-interix[3-9]*)
-  # Interix 3.5 installs completely hosed .la files for C++, so rather than
-  # hack all around it, let's just trust "g++" to DTRT.
-  predep_objects_CXX=
-  postdep_objects_CXX=
-  postdeps_CXX=
-  ;;
-
-linux*)
-  case `$CC -V 2>&1 | sed 5q` in
-  *Sun\ C*)
-    # Sun C++ 5.9
-    #
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-    if test "$solaris_use_stlport4" != yes; then
-      postdeps_CXX='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-
-solaris*)
-  case $cc_basename in
-  CC*)
-    # The more standards-conforming stlport4 library is
-    # incompatible with the Cstd library. Avoid specifying
-    # it if it's in CXXFLAGS. Ignore libCrun as
-    # -library=stlport4 depends on it.
-    case " $CXX $CXXFLAGS " in
-    *" -library=stlport4 "*)
-      solaris_use_stlport4=yes
-      ;;
-    esac
-
-    # Adding this requires a known-good setup of shared libraries for
-    # Sun compiler versions before 5.6, else PIC objects from an old
-    # archive will be linked into the output, leading to subtle bugs.
-    if test "$solaris_use_stlport4" != yes; then
-      postdeps_CXX='-library=Cstd -library=Crun'
-    fi
-    ;;
-  esac
-  ;;
-esac
-
-case " $postdeps_CXX " in
-*" -lc "*) archive_cmds_need_lc_CXX=no ;;
-esac
-
-lt_prog_compiler_wl_CXX=
-lt_prog_compiler_pic_CXX=
-lt_prog_compiler_static_CXX=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
-  # C++ specific cases for pic, static, wl, etc.
-  if test "$GXX" = yes; then
-    lt_prog_compiler_wl_CXX='-Wl,'
-    lt_prog_compiler_static_CXX='-static'
-
-    case $host_os in
-    aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static_CXX='-Bstatic'
-      fi
-      ;;
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
-      ;;
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-    mingw* | cygwin* | os2* | pw32*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
-      ;;
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_CXX='-fno-common'
-      ;;
-    *djgpp*)
-      # DJGPP does not support shared libraries at all
-      lt_prog_compiler_pic_CXX=
-      ;;
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic_CXX=-Kconform_pic
-      fi
-      ;;
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       ;;
-      *)
-       lt_prog_compiler_pic_CXX='-fPIC'
-       ;;
-      esac
-      ;;
-    *)
-      lt_prog_compiler_pic_CXX='-fPIC'
-      ;;
-    esac
-  else
-    case $host_os in
-      aix[4-9]*)
-       # All AIX code is PIC.
-       if test "$host_cpu" = ia64; then
-         # AIX 5 now supports IA64 processor
-         lt_prog_compiler_static_CXX='-Bstatic'
-       else
-         lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
-       fi
-       ;;
-      chorus*)
-       case $cc_basename in
-       cxch68*)
-         # Green Hills C++ Compiler
-         # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
-         ;;
-       esac
-       ;;
-       darwin*)
-         # PIC is the default on this platform
-         # Common symbols not allowed in MH_DYLIB files
-         case $cc_basename in
-           xlc*)
-           lt_prog_compiler_pic_CXX='-qnocommon'
-           lt_prog_compiler_wl_CXX='-Wl,'
-           ;;
-         esac
-       ;;
-      dgux*)
-       case $cc_basename in
-         ec++*)
-           lt_prog_compiler_pic_CXX='-KPIC'
-           ;;
-         ghcx*)
-           # Green Hills C++ Compiler
-           lt_prog_compiler_pic_CXX='-pic'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      freebsd* | dragonfly*)
-       # FreeBSD uses GNU C++
-       ;;
-      hpux9* | hpux10* | hpux11*)
-       case $cc_basename in
-         CC*)
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
-           if test "$host_cpu" != ia64; then
-             lt_prog_compiler_pic_CXX='+Z'
-           fi
-           ;;
-         aCC*)
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
-           case $host_cpu in
-           hppa*64*|ia64*)
-             # +Z the default
-             ;;
-           *)
-             lt_prog_compiler_pic_CXX='+Z'
-             ;;
-           esac
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      interix*)
-       # This is c89, which is MS Visual C++ (no shared libs)
-       # Anyone wants to do a port?
-       ;;
-      irix5* | irix6* | nonstopux*)
-       case $cc_basename in
-         CC*)
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_static_CXX='-non_shared'
-           # CC pic flag -KPIC is the default.
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      linux* | k*bsd*-gnu)
-       case $cc_basename in
-         KCC*)
-           # KAI C++ Compiler
-           lt_prog_compiler_wl_CXX='--backend -Wl,'
-           lt_prog_compiler_pic_CXX='-fPIC'
-           ;;
-         icpc* | ecpc*)
-           # Intel C++
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_pic_CXX='-KPIC'
-           lt_prog_compiler_static_CXX='-static'
-           ;;
-         pgCC* | pgcpp*)
-           # Portland Group C++ compiler.
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_pic_CXX='-fpic'
-           lt_prog_compiler_static_CXX='-Bstatic'
-           ;;
-         cxx*)
-           # Compaq C++
-           # Make sure the PIC flag is empty.  It appears that all Alpha
-           # Linux and Compaq Tru64 Unix objects are PIC.
-           lt_prog_compiler_pic_CXX=
-           lt_prog_compiler_static_CXX='-non_shared'
-           ;;
-         *)
-           case `$CC -V 2>&1 | sed 5q` in
-           *Sun\ C*)
-             # Sun C++ 5.9
-             lt_prog_compiler_pic_CXX='-KPIC'
-             lt_prog_compiler_static_CXX='-Bstatic'
-             lt_prog_compiler_wl_CXX='-Qoption ld '
-             ;;
-           esac
-           ;;
-       esac
-       ;;
-      lynxos*)
-       ;;
-      m88k*)
-       ;;
-      mvs*)
-       case $cc_basename in
-         cxx*)
-           lt_prog_compiler_pic_CXX='-W c,exportall'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      netbsd* | netbsdelf*-gnu)
-       ;;
-      osf3* | osf4* | osf5*)
-       case $cc_basename in
-         KCC*)
-           lt_prog_compiler_wl_CXX='--backend -Wl,'
-           ;;
-         RCC*)
-           # Rational C++ 2.4.1
-           lt_prog_compiler_pic_CXX='-pic'
-           ;;
-         cxx*)
-           # Digital/Compaq C++
-           lt_prog_compiler_wl_CXX='-Wl,'
-           # Make sure the PIC flag is empty.  It appears that all Alpha
-           # Linux and Compaq Tru64 Unix objects are PIC.
-           lt_prog_compiler_pic_CXX=
-           lt_prog_compiler_static_CXX='-non_shared'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      psos*)
-       ;;
-      solaris*)
-       case $cc_basename in
-         CC*)
-           # Sun C++ 4.2, 5.x and Centerline C++
-           lt_prog_compiler_pic_CXX='-KPIC'
-           lt_prog_compiler_static_CXX='-Bstatic'
-           lt_prog_compiler_wl_CXX='-Qoption ld '
-           ;;
-         gcx*)
-           # Green Hills C++ Compiler
-           lt_prog_compiler_pic_CXX='-PIC'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      sunos4*)
-       case $cc_basename in
-         CC*)
-           # Sun C++ 4.x
-           lt_prog_compiler_pic_CXX='-pic'
-           lt_prog_compiler_static_CXX='-Bstatic'
-           ;;
-         lcc*)
-           # Lucid
-           lt_prog_compiler_pic_CXX='-pic'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      tandem*)
-       case $cc_basename in
-         NCC*)
-           # NonStop-UX NCC 3.20
-           lt_prog_compiler_pic_CXX='-KPIC'
-           ;;
-         *)
-           ;;
-       esac
-       ;;
-      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-       case $cc_basename in
-         CC*)
-           lt_prog_compiler_wl_CXX='-Wl,'
-           lt_prog_compiler_pic_CXX='-KPIC'
-           lt_prog_compiler_static_CXX='-Bstatic'
-           ;;
-       esac
-       ;;
-      vxworks*)
-       ;;
-      *)
-       lt_prog_compiler_can_build_shared_CXX=no
-       ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_CXX"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_pic_works_CXX=no
-  ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12639: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:12643: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works_CXX=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_CXX" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
-    case $lt_prog_compiler_pic_CXX in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
-     esac
-else
-    lt_prog_compiler_pic_CXX=
-     lt_prog_compiler_can_build_shared_CXX=no
-fi
-
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_CXX=
-    ;;
-  *)
-    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_static_works_CXX=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works_CXX=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works_CXX=yes
-     fi
-   fi
-   $rm -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_CXX" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
-    :
-else
-    lt_prog_compiler_static_CXX=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_c_o_CXX=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:12743: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:12747: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_CXX=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
-  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  case $host_os in
-  aix[4-9]*)
-    # If we're using GNU nm, then we don't want the "-C" option.
-    # -C means demangle to AIX nm, but means don't demangle with GNU nm
-    if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-    else
-      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-    fi
-    ;;
-  pw32*)
-    export_symbols_cmds_CXX="$ltdll_cmds"
-  ;;
-  cygwin* | mingw*)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-  ;;
-  linux* | k*bsd*-gnu)
-    link_all_deplibs_CXX=no
-  ;;
-  *)
-    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  ;;
-  esac
-  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5
-echo "${ECHO_T}$ld_shlibs_CXX" >&6; }
-test "$ld_shlibs_CXX" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_CXX" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_CXX=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds_CXX in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
-      $rm conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl_CXX
-       pic_flag=$lt_prog_compiler_pic_CXX
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
-        allow_undefined_flag_CXX=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-         archive_cmds_need_lc_CXX=no
-        else
-         archive_cmds_need_lc_CXX=yes
-        fi
-        allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $rm \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[     ]*hwcap[        ]/d;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-nto-qnx*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
-fi
-
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_CXX=
-if test -n "$hardcode_libdir_flag_spec_CXX" || \
-   test -n "$runpath_var_CXX" || \
-   test "X$hardcode_automatic_CXX" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_CXX" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
-     test "$hardcode_minus_L_CXX" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_CXX=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_CXX=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_CXX=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5
-echo "${ECHO_T}$hardcode_action_CXX" >&6; }
-
-if test "$hardcode_action_CXX" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    compiler_CXX \
-    CC_CXX \
-    LD_CXX \
-    lt_prog_compiler_wl_CXX \
-    lt_prog_compiler_pic_CXX \
-    lt_prog_compiler_static_CXX \
-    lt_prog_compiler_no_builtin_flag_CXX \
-    export_dynamic_flag_spec_CXX \
-    thread_safe_flag_spec_CXX \
-    whole_archive_flag_spec_CXX \
-    enable_shared_with_static_runtimes_CXX \
-    old_archive_cmds_CXX \
-    old_archive_from_new_cmds_CXX \
-    predep_objects_CXX \
-    postdep_objects_CXX \
-    predeps_CXX \
-    postdeps_CXX \
-    compiler_lib_search_path_CXX \
-    compiler_lib_search_dirs_CXX \
-    archive_cmds_CXX \
-    archive_expsym_cmds_CXX \
-    postinstall_cmds_CXX \
-    postuninstall_cmds_CXX \
-    old_archive_from_expsyms_cmds_CXX \
-    allow_undefined_flag_CXX \
-    no_undefined_flag_CXX \
-    export_symbols_cmds_CXX \
-    hardcode_libdir_flag_spec_CXX \
-    hardcode_libdir_flag_spec_ld_CXX \
-    hardcode_libdir_separator_CXX \
-    hardcode_automatic_CXX \
-    module_cmds_CXX \
-    module_expsym_cmds_CXX \
-    lt_cv_prog_compiler_c_o_CXX \
-    fix_srcfile_path_CXX \
-    exclude_expsyms_CXX \
-    include_expsyms_CXX; do
-
-    case $var in
-    old_archive_cmds_CXX | \
-    old_archive_from_new_cmds_CXX | \
-    archive_cmds_CXX | \
-    archive_expsym_cmds_CXX | \
-    module_cmds_CXX | \
-    module_expsym_cmds_CXX | \
-    old_archive_from_expsyms_cmds_CXX | \
-    export_symbols_cmds_CXX | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\$0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
-
-cfgfile="$ofile"
-
-  cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_CXX
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_CXX
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_CXX
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_CXX
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_CXX
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_CXX
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_CXX
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_CXX
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_CXX
-archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_CXX
-module_expsym_cmds=$lt_module_expsym_cmds_CXX
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_CXX
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_CXX
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_CXX
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_CXX
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_CXX
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_CXX
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_CXX
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_CXX
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_CXX
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_CXX
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_CXX
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_CXX
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_CXX
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_CXX
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC=$lt_save_CC
-LDCXX=$LD
-LD=$lt_save_LD
-GCC=$lt_save_GCC
-with_gnu_ldcxx=$with_gnu_ld
-with_gnu_ld=$lt_save_with_gnu_ld
-lt_cv_path_LDCXX=$lt_cv_path_LD
-lt_cv_path_LD=$lt_save_path_LD
-lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
-lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
-
-       else
-         tagname=""
-       fi
-       ;;
-
-      F77)
-       if test -n "$F77" && test "X$F77" != "Xno"; then
-
-ac_ext=f
-ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5'
-ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_f77_compiler_gnu
-
-
-archive_cmds_need_lc_F77=no
-allow_undefined_flag_F77=
-always_export_symbols_F77=no
-archive_expsym_cmds_F77=
-export_dynamic_flag_spec_F77=
-hardcode_direct_F77=no
-hardcode_libdir_flag_spec_F77=
-hardcode_libdir_flag_spec_ld_F77=
-hardcode_libdir_separator_F77=
-hardcode_minus_L_F77=no
-hardcode_automatic_F77=no
-module_cmds_F77=
-module_expsym_cmds_F77=
-link_all_deplibs_F77=unknown
-old_archive_cmds_F77=$old_archive_cmds
-no_undefined_flag_F77=
-whole_archive_flag_spec_F77=
-enable_shared_with_static_runtimes_F77=no
-
-# Source file extension for f77 test sources.
-ac_ext=f
-
-# Object file extension for compiled f77 test sources.
-objext=o
-objext_F77=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="\
-      subroutine t
-      return
-      end
-"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="\
-      program t
-      end
-"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${F77-"f77"}
-compiler=$CC
-compiler_F77=$CC
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-{ echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5
-echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; }
-{ echo "$as_me:$LINENO: result: $can_build_shared" >&5
-echo "${ECHO_T}$can_build_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build shared libraries" >&5
-echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; }
-test "$can_build_shared" = "no" && enable_shared=no
-
-# On AIX, shared libraries and static libraries use the same namespace, and
-# are all built from PIC.
-case $host_os in
-aix3*)
-  test "$enable_shared" = yes && enable_static=no
-  if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
-    postinstall_cmds='$RANLIB $lib'
-  fi
-  ;;
-aix[4-9]*)
-  if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-    test "$enable_shared" = yes && enable_static=no
-  fi
-  ;;
-esac
-{ echo "$as_me:$LINENO: result: $enable_shared" >&5
-echo "${ECHO_T}$enable_shared" >&6; }
-
-{ echo "$as_me:$LINENO: checking whether to build static libraries" >&5
-echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; }
-# Make sure either enable_shared or enable_static is yes.
-test "$enable_shared" = yes || enable_static=yes
-{ echo "$as_me:$LINENO: result: $enable_static" >&5
-echo "${ECHO_T}$enable_static" >&6; }
-
-GCC_F77="$G77"
-LD_F77="$LD"
-
-lt_prog_compiler_wl_F77=
-lt_prog_compiler_pic_F77=
-lt_prog_compiler_static_F77=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl_F77='-Wl,'
-    lt_prog_compiler_static_F77='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static_F77='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      lt_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic_F77='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_F77='-fno-common'
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared_F77=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic_F77=-Kconform_pic
-      fi
-      ;;
-
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic_F77='-fPIC'
-       ;;
-      esac
-      ;;
-
-    *)
-      lt_prog_compiler_pic_F77='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static_F77='-Bstatic'
-      else
-       lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         lt_prog_compiler_pic_F77='-qnocommon'
-         lt_prog_compiler_wl_F77='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic_F77='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic_F77='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static_F77='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static_F77='-non_shared'
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic_F77='-KPIC'
-      lt_prog_compiler_static_F77='-Bstatic'
-      ;;
-
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-      icc* | ecc*)
-       lt_prog_compiler_wl_F77='-Wl,'
-       lt_prog_compiler_pic_F77='-KPIC'
-       lt_prog_compiler_static_F77='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl_F77='-Wl,'
-       lt_prog_compiler_pic_F77='-fpic'
-       lt_prog_compiler_static_F77='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl_F77='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static_F77='-non_shared'
-        ;;
-      *)
-        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic_F77='-KPIC'
-         lt_prog_compiler_static_F77='-Bstatic'
-         lt_prog_compiler_wl_F77='-Wl,'
-         ;;
-       *Sun\ F*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic_F77='-KPIC'
-         lt_prog_compiler_static_F77='-Bstatic'
-         lt_prog_compiler_wl_F77=''
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static_F77='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static_F77='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic_F77='-KPIC'
-      lt_prog_compiler_static_F77='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-       lt_prog_compiler_wl_F77='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl_F77='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl_F77='-Qoption ld '
-      lt_prog_compiler_pic_F77='-PIC'
-      lt_prog_compiler_static_F77='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      lt_prog_compiler_pic_F77='-KPIC'
-      lt_prog_compiler_static_F77='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic_F77='-Kconform_pic'
-       lt_prog_compiler_static_F77='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      lt_prog_compiler_pic_F77='-KPIC'
-      lt_prog_compiler_static_F77='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl_F77='-Wl,'
-      lt_prog_compiler_can_build_shared_F77=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic_F77='-pic'
-      lt_prog_compiler_static_F77='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared_F77=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_F77"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_pic_works_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_pic_works_F77=no
-  ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_F77"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14341: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:14345: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works_F77=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_F77" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works_F77" = xyes; then
-    case $lt_prog_compiler_pic_F77 in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;;
-     esac
-else
-    lt_prog_compiler_pic_F77=
-     lt_prog_compiler_can_build_shared_F77=no
-fi
-
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_F77=
-    ;;
-  *)
-    lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_static_works_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_static_works_F77=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works_F77=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works_F77=yes
-     fi
-   fi
-   $rm -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_F77" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works_F77" = xyes; then
-    :
-else
-    lt_prog_compiler_static_F77=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_c_o_F77=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:14445: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:14449: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_F77=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
-  runpath_var=
-  allow_undefined_flag_F77=
-  enable_shared_with_static_runtimes_F77=no
-  archive_cmds_F77=
-  archive_expsym_cmds_F77=
-  old_archive_From_new_cmds_F77=
-  old_archive_from_expsyms_cmds_F77=
-  export_dynamic_flag_spec_F77=
-  whole_archive_flag_spec_F77=
-  thread_safe_flag_spec_F77=
-  hardcode_libdir_flag_spec_F77=
-  hardcode_libdir_flag_spec_ld_F77=
-  hardcode_libdir_separator_F77=
-  hardcode_direct_F77=no
-  hardcode_minus_L_F77=no
-  hardcode_shlibpath_var_F77=unsupported
-  link_all_deplibs_F77=unknown
-  hardcode_automatic_F77=no
-  module_cmds_F77=
-  module_expsym_cmds_F77=
-  always_export_symbols_F77=no
-  export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms_F77=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms_F77='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs_F77=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec_F77='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       whole_archive_flag_spec_F77=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>/dev/null` in
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs_F77=no
-       cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-      fi
-      ;;
-
-    amigaos*)
-      archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_minus_L_F77=yes
-
-      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can't use
-      # them.
-      ld_shlibs_F77=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag_F77=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs_F77=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      allow_undefined_flag_F77=unsupported
-      always_export_symbols_F77=no
-      enable_shared_with_static_runtimes_F77=yes
-      export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds_F77='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs_F77=no
-      fi
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct_F77=no
-      hardcode_shlibpath_var_F77=no
-      hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec_F77='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | k*bsd*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       tmp_addflag=
-       case $cc_basename,$host_cpu in
-       pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       *)
-         tmp_sharedflag='-shared' ;;
-       esac
-       archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-       if test $supports_anon_versioning = yes; then
-         archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-         $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-       fi
-       link_all_deplibs_F77=no
-      else
-       ld_shlibs_F77=no
-      fi
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-       archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-       ld_shlibs_F77=no
-       cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs_F77=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs_F77=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-           archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-           archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-         else
-           ld_shlibs_F77=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs_F77=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs_F77" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec_F77=
-      export_dynamic_flag_spec_F77=
-      whole_archive_flag_spec_F77=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag_F77=unsupported
-      always_export_symbols_F77=yes
-      archive_expsym_cmds_F77='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L_F77=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct_F77=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-         export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds_F77=''
-      hardcode_direct_F77=yes
-      hardcode_libdir_separator_F77=':'
-      link_all_deplibs_F77=yes
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" && \
-          strings "$collect2name" | grep resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct_F77=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L_F77=yes
-         hardcode_libdir_flag_spec_F77='-L$libdir'
-         hardcode_libdir_separator_F77=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols_F77=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag_F77='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       cat >conftest.$ac_ext <<_ACEOF
-      program main
-
-      end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_f77_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-       hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
-       archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag_F77="-z nodefs"
-         archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an empty executable.
-        cat >conftest.$ac_ext <<_ACEOF
-      program main
-
-      end
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_f77_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-        hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag_F77=' ${wl}-bernotok'
-         allow_undefined_flag_F77=' ${wl}-berok'
-         # Exported symbols can be pulled into shared objects from archives
-         whole_archive_flag_spec_F77='$convenience'
-         archive_cmds_need_lc_F77=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      archive_cmds_F77='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_minus_L_F77=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs_F77=no
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec_F77=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec_F77=' '
-      allow_undefined_flag_F77=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_From_new_cmds_F77='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path_F77='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes_F77=yes
-      ;;
-
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[012])
-         allow_undefined_flag_F77='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[012])
-               allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      archive_cmds_need_lc_F77=no
-      hardcode_direct_F77=no
-      hardcode_automatic_F77=yes
-      hardcode_shlibpath_var_F77=unsupported
-      whole_archive_flag_spec_F77=''
-      link_all_deplibs_F77=yes
-    if test "$GCC" = yes ; then
-       output_verbose_link_cmd='echo'
-        archive_cmds_F77="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-        module_cmds_F77="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-        archive_expsym_cmds_F77="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-        module_expsym_cmds_F77="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-         module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         ld_shlibs_F77=no
-          ;;
-      esac
-    fi
-      ;;
-
-    dgux*)
-      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs_F77=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec_F77='-R$libdir'
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_F77=yes
-      hardcode_minus_L_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec_F77='-R$libdir'
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds_F77='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator_F77=:
-      hardcode_direct_F77=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L_F77=yes
-      export_dynamic_flag_spec_F77='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator_F77=:
-
-       hardcode_direct_F77=yes
-       export_dynamic_flag_spec_F77='${wl}-E'
-
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L_F77=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator_F77=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_libdir_flag_spec_ld_F77='+b $libdir'
-         hardcode_direct_F77=no
-         hardcode_shlibpath_var_F77=no
-         ;;
-       *)
-         hardcode_direct_F77=yes
-         export_dynamic_flag_spec_F77='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L_F77=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec_ld_F77='-rpath $libdir'
-      fi
-      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_F77=:
-      link_all_deplibs_F77=yes
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-       archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec_F77='-R$libdir'
-      hardcode_direct_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    newsos6)
-      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_F77=yes
-      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_F77=:
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct_F77=yes
-       hardcode_shlibpath_var_F77=no
-       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec_F77='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec_F77='-R$libdir'
-            ;;
-          *)
-            archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir'
-            ;;
-         esac
-        fi
-      else
-       ld_shlibs_F77=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_minus_L_F77=yes
-      allow_undefined_flag_F77=unsupported
-      archive_cmds_F77='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag_F77=' -expect_unresolved \*'
-       archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_F77=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag_F77=' -expect_unresolved \*'
-       archive_cmds_F77='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds_F77='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec_F77='-rpath $libdir'
-      fi
-      hardcode_libdir_separator_F77=:
-      ;;
-
-    solaris*)
-      no_undefined_flag_F77=' -z text'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-         $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
-      else
-       wlarc=''
-       archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       archive_expsym_cmds_F77='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-       $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      fi
-      hardcode_libdir_flag_spec_F77='-R$libdir'
-      hardcode_shlibpath_var_F77=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs_F77=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_direct_F77=yes
-      hardcode_minus_L_F77=yes
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct_F77=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds_F77='$CC -r -o $output$reload_objs'
-         hardcode_direct_F77=no
-        ;;
-       motorola)
-         archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var_F77=no
-      export_dynamic_flag_spec_F77='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var_F77=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs_F77=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag_F77='${wl}-z,text'
-      archive_cmds_need_lc_F77=no
-      hardcode_shlibpath_var_F77=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag_F77='${wl}-z,text'
-      allow_undefined_flag_F77='${wl}-z,nodefs'
-      archive_cmds_need_lc_F77=no
-      hardcode_shlibpath_var_F77=no
-      hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      hardcode_libdir_separator_F77=':'
-      link_all_deplibs_F77=yes
-      export_dynamic_flag_spec_F77='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_F77='-L$libdir'
-      hardcode_shlibpath_var_F77=no
-      ;;
-
-    *)
-      ld_shlibs_F77=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5
-echo "${ECHO_T}$ld_shlibs_F77" >&6; }
-test "$ld_shlibs_F77" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_F77" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_F77=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds_F77 in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
-      $rm conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl_F77
-       pic_flag=$lt_prog_compiler_pic_F77
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag_F77
-        allow_undefined_flag_F77=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-         archive_cmds_need_lc_F77=no
-        else
-         archive_cmds_need_lc_F77=yes
-        fi
-        allow_undefined_flag_F77=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $rm \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[     ]*hwcap[        ]/d;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-nto-qnx*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
-fi
-
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_F77=
-if test -n "$hardcode_libdir_flag_spec_F77" || \
-   test -n "$runpath_var_F77" || \
-   test "X$hardcode_automatic_F77" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_F77" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, F77)" != no &&
-     test "$hardcode_minus_L_F77" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_F77=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_F77=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_F77=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5
-echo "${ECHO_T}$hardcode_action_F77" >&6; }
-
-if test "$hardcode_action_F77" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    compiler_F77 \
-    CC_F77 \
-    LD_F77 \
-    lt_prog_compiler_wl_F77 \
-    lt_prog_compiler_pic_F77 \
-    lt_prog_compiler_static_F77 \
-    lt_prog_compiler_no_builtin_flag_F77 \
-    export_dynamic_flag_spec_F77 \
-    thread_safe_flag_spec_F77 \
-    whole_archive_flag_spec_F77 \
-    enable_shared_with_static_runtimes_F77 \
-    old_archive_cmds_F77 \
-    old_archive_from_new_cmds_F77 \
-    predep_objects_F77 \
-    postdep_objects_F77 \
-    predeps_F77 \
-    postdeps_F77 \
-    compiler_lib_search_path_F77 \
-    compiler_lib_search_dirs_F77 \
-    archive_cmds_F77 \
-    archive_expsym_cmds_F77 \
-    postinstall_cmds_F77 \
-    postuninstall_cmds_F77 \
-    old_archive_from_expsyms_cmds_F77 \
-    allow_undefined_flag_F77 \
-    no_undefined_flag_F77 \
-    export_symbols_cmds_F77 \
-    hardcode_libdir_flag_spec_F77 \
-    hardcode_libdir_flag_spec_ld_F77 \
-    hardcode_libdir_separator_F77 \
-    hardcode_automatic_F77 \
-    module_cmds_F77 \
-    module_expsym_cmds_F77 \
-    lt_cv_prog_compiler_c_o_F77 \
-    fix_srcfile_path_F77 \
-    exclude_expsyms_F77 \
-    include_expsyms_F77; do
-
-    case $var in
-    old_archive_cmds_F77 | \
-    old_archive_from_new_cmds_F77 | \
-    archive_cmds_F77 | \
-    archive_expsym_cmds_F77 | \
-    module_cmds_F77 | \
-    module_expsym_cmds_F77 | \
-    old_archive_from_expsyms_cmds_F77 | \
-    export_symbols_cmds_F77 | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\$0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
-
-cfgfile="$ofile"
-
-  cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_F77
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_F77
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_F77
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_F77
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_F77
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_F77
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_F77
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_F77
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_F77
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_F77
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_F77
-archive_expsym_cmds=$lt_archive_expsym_cmds_F77
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_F77
-module_expsym_cmds=$lt_module_expsym_cmds_F77
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_F77
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_F77
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_F77
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_F77
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_F77
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_F77
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_F77
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_F77
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_F77
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_F77
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_F77
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_F77
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_F77
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_F77
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_F77
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_F77
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_F77
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_F77
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_F77
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-       else
-         tagname=""
-       fi
-       ;;
-
-      GCJ)
-       if test -n "$GCJ" && test "X$GCJ" != "Xno"; then
-
-
-# Source file extension for Java test sources.
-ac_ext=java
-
-# Object file extension for compiled Java test sources.
-objext=o
-objext_GCJ=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="class foo {}"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }'
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${GCJ-"gcj"}
-compiler=$CC
-compiler_GCJ=$CC
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-
-# GCJ did not exist at the time GCC didn't implicitly link libc in.
-archive_cmds_need_lc_GCJ=no
-
-old_archive_cmds_GCJ=$old_archive_cmds
-
-
-lt_prog_compiler_no_builtin_flag_GCJ=
-
-if test "$GCC" = yes; then
-  lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin'
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-  ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16665: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:16669: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-lt_prog_compiler_wl_GCJ=
-lt_prog_compiler_pic_GCJ=
-lt_prog_compiler_static_GCJ=
-
-{ echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5
-echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; }
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl_GCJ='-Wl,'
-    lt_prog_compiler_static_GCJ='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static_GCJ='-Bstatic'
-      fi
-      ;;
-
-    amigaos*)
-      # FIXME: we need at least 68020 code to build shared libraries, but
-      # adding the `-m68020' flag to GCC prevents building anything better,
-      # like `-m68040'.
-      lt_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4'
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic_GCJ='-fno-common'
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared_GCJ=no
-      enable_shared=no
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic_GCJ=-Kconform_pic
-      fi
-      ;;
-
-    hpux*)
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic_GCJ='-fPIC'
-       ;;
-      esac
-      ;;
-
-    *)
-      lt_prog_compiler_pic_GCJ='-fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static_GCJ='-Bstatic'
-      else
-       lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-      darwin*)
-        # PIC is the default on this platform
-        # Common symbols not allowed in MH_DYLIB files
-       case $cc_basename in
-         xlc*)
-         lt_prog_compiler_pic_GCJ='-qnocommon'
-         lt_prog_compiler_wl_GCJ='-Wl,'
-         ;;
-       esac
-       ;;
-
-    mingw* | cygwin* | pw32* | os2*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic_GCJ='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static_GCJ='-non_shared'
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    linux* | k*bsd*-gnu)
-      case $cc_basename in
-      icc* | ecc*)
-       lt_prog_compiler_wl_GCJ='-Wl,'
-       lt_prog_compiler_pic_GCJ='-KPIC'
-       lt_prog_compiler_static_GCJ='-static'
-        ;;
-      pgcc* | pgf77* | pgf90* | pgf95*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl_GCJ='-Wl,'
-       lt_prog_compiler_pic_GCJ='-fpic'
-       lt_prog_compiler_static_GCJ='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl_GCJ='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static_GCJ='-non_shared'
-        ;;
-      *)
-        case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic_GCJ='-KPIC'
-         lt_prog_compiler_static_GCJ='-Bstatic'
-         lt_prog_compiler_wl_GCJ='-Wl,'
-         ;;
-       *Sun\ F*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic_GCJ='-KPIC'
-         lt_prog_compiler_static_GCJ='-Bstatic'
-         lt_prog_compiler_wl_GCJ=''
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static_GCJ='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static_GCJ='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-       lt_prog_compiler_wl_GCJ='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl_GCJ='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl_GCJ='-Qoption ld '
-      lt_prog_compiler_pic_GCJ='-PIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic_GCJ='-Kconform_pic'
-       lt_prog_compiler_static_GCJ='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_pic_GCJ='-KPIC'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl_GCJ='-Wl,'
-      lt_prog_compiler_can_build_shared_GCJ=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic_GCJ='-pic'
-      lt_prog_compiler_static_GCJ='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared_GCJ=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5
-echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; }
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic_GCJ"; then
-
-{ echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5
-echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_pic_works_GCJ+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_pic_works_GCJ=no
-  ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic_GCJ"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:16955: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:16959: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works_GCJ=yes
-     fi
-   fi
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_pic_works_GCJ" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works_GCJ" = xyes; then
-    case $lt_prog_compiler_pic_GCJ in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;;
-     esac
-else
-    lt_prog_compiler_pic_GCJ=
-     lt_prog_compiler_can_build_shared_GCJ=no
-fi
-
-fi
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic_GCJ=
-    ;;
-  *)
-    lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ"
-    ;;
-esac
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\"
-{ echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_static_works_GCJ+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_static_works_GCJ=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works_GCJ=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works_GCJ=yes
-     fi
-   fi
-   $rm -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_static_works_GCJ" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works_GCJ" = xyes; then
-    :
-else
-    lt_prog_compiler_static_GCJ=
-fi
-
-
-{ echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5
-echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; }
-if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_prog_compiler_c_o_GCJ=no
-   $rm -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:17059: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:17063: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o_GCJ=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $rm conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files
-   $rm out/* && rmdir out
-   cd ..
-   rmdir conftest
-   $rm conftest*
-
-fi
-{ echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5
-echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; }
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5
-echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; }
-  hard_links=yes
-  $rm conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { echo "$as_me:$LINENO: result: $hard_links" >&5
-echo "${ECHO_T}$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-{ echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; }
-
-  runpath_var=
-  allow_undefined_flag_GCJ=
-  enable_shared_with_static_runtimes_GCJ=no
-  archive_cmds_GCJ=
-  archive_expsym_cmds_GCJ=
-  old_archive_From_new_cmds_GCJ=
-  old_archive_from_expsyms_cmds_GCJ=
-  export_dynamic_flag_spec_GCJ=
-  whole_archive_flag_spec_GCJ=
-  thread_safe_flag_spec_GCJ=
-  hardcode_libdir_flag_spec_GCJ=
-  hardcode_libdir_flag_spec_ld_GCJ=
-  hardcode_libdir_separator_GCJ=
-  hardcode_direct_GCJ=no
-  hardcode_minus_L_GCJ=no
-  hardcode_shlibpath_var_GCJ=unsupported
-  link_all_deplibs_GCJ=unknown
-  hardcode_automatic_GCJ=no
-  module_cmds_GCJ=
-  module_expsym_cmds_GCJ=
-  always_export_symbols_GCJ=no
-  export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms_GCJ=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms_GCJ='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-  # Just being paranoid about ensuring that cc_basename is set.
-  for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-  case $host_os in
-  cygwin* | mingw* | pw32*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs_GCJ=yes
-  if test "$with_gnu_ld" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir'
-    export_dynamic_flag_spec_GCJ='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | grep 'no-whole-archive' > /dev/null; then
-       whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-      else
-       whole_archive_flag_spec_GCJ=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>/dev/null` in
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs_GCJ=no
-       cat <<EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to modify your PATH
-*** so that a non-GNU linker is found, and then restart.
-
-EOF
-      fi
-      ;;
-
-    amigaos*)
-      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_minus_L_GCJ=yes
-
-      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
-      # that the semantics of dynamic libraries on AmigaOS, at least up
-      # to version 4, is to share data among multiple programs linked
-      # with the same dynamic library.  Since this doesn't match the
-      # behavior of shared libraries on other platforms, we can't use
-      # them.
-      ld_shlibs_GCJ=no
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag_GCJ=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs_GCJ=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      allow_undefined_flag_GCJ=unsupported
-      always_export_symbols_GCJ=no
-      enable_shared_with_static_runtimes_GCJ=yes
-      export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
-        archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds_GCJ='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs_GCJ=no
-      fi
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec_GCJ='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | k*bsd*-gnu)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       tmp_addflag=
-       case $cc_basename,$host_cpu in
-       pgcc*)                          # Portland Group C compiler
-         whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)                # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       *)
-         tmp_sharedflag='-shared' ;;
-       esac
-       archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-       if test $supports_anon_versioning = yes; then
-         archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~
-  cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-  $echo "local: *; };" >> $output_objdir/$libname.ver~
-         $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-       fi
-       link_all_deplibs_GCJ=no
-      else
-       ld_shlibs_GCJ=no
-      fi
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-       archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
-       ld_shlibs_GCJ=no
-       cat <<EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-EOF
-      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs_GCJ=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs_GCJ=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
-           archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib'
-           archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib'
-         else
-           ld_shlibs_GCJ=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
-       archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs_GCJ=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs_GCJ" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec_GCJ=
-      export_dynamic_flag_spec_GCJ=
-      whole_archive_flag_spec_GCJ=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag_GCJ=unsupported
-      always_export_symbols_GCJ=yes
-      archive_expsym_cmds_GCJ='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L_GCJ=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct_GCJ=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       if $NM -V 2>&1 | grep 'GNU' > /dev/null; then
-         export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds_GCJ=''
-      hardcode_direct_GCJ=yes
-      hardcode_libdir_separator_GCJ=':'
-      link_all_deplibs_GCJ=yes
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" && \
-          strings "$collect2name" | grep resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct_GCJ=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L_GCJ=yes
-         hardcode_libdir_flag_spec_GCJ='-L$libdir'
-         hardcode_libdir_separator_GCJ=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols_GCJ=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag_GCJ='-berok'
-       # Determine the default libpath from the value encoded in an empty executable.
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-       hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
-       archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-       else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag_GCJ="-z nodefs"
-         archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an empty executable.
-        cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-        hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag_GCJ=' ${wl}-bernotok'
-         allow_undefined_flag_GCJ=' ${wl}-berok'
-         # Exported symbols can be pulled into shared objects from archives
-         whole_archive_flag_spec_GCJ='$convenience'
-         archive_cmds_need_lc_GCJ=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      archive_cmds_GCJ='$rm $output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_minus_L_GCJ=yes
-      # see comment about different semantics on the GNU ld section
-      ld_shlibs_GCJ=no
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec_GCJ=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec_GCJ=' '
-      allow_undefined_flag_GCJ=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_From_new_cmds_GCJ='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes_GCJ=yes
-      ;;
-
-    darwin* | rhapsody*)
-      case $host_os in
-        rhapsody* | darwin1.[012])
-         allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress'
-         ;;
-       *) # Darwin 1.3 on
-         if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then
-           allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-         else
-           case ${MACOSX_DEPLOYMENT_TARGET} in
-             10.[012])
-               allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress'
-               ;;
-             10.*)
-               allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup'
-               ;;
-           esac
-         fi
-         ;;
-      esac
-      archive_cmds_need_lc_GCJ=no
-      hardcode_direct_GCJ=no
-      hardcode_automatic_GCJ=yes
-      hardcode_shlibpath_var_GCJ=unsupported
-      whole_archive_flag_spec_GCJ=''
-      link_all_deplibs_GCJ=yes
-    if test "$GCC" = yes ; then
-       output_verbose_link_cmd='echo'
-        archive_cmds_GCJ="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-        module_cmds_GCJ="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-        archive_expsym_cmds_GCJ="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-        module_expsym_cmds_GCJ="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-    else
-      case $cc_basename in
-        xlc*)
-         output_verbose_link_cmd='echo'
-         archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring'
-         module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
-          # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
-         archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag  -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-          ;;
-       *)
-         ld_shlibs_GCJ=no
-          ;;
-      esac
-    fi
-      ;;
-
-    dgux*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    freebsd1*)
-      ld_shlibs_GCJ=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2*)
-      archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_GCJ=yes
-      hardcode_minus_L_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds_GCJ='$rm $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      hardcode_direct_GCJ=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L_GCJ=yes
-      export_dynamic_flag_spec_GCJ='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator_GCJ=:
-
-       hardcode_direct_GCJ=yes
-       export_dynamic_flag_spec_GCJ='${wl}-E'
-
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L_GCJ=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator_GCJ=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_libdir_flag_spec_ld_GCJ='+b $libdir'
-         hardcode_direct_GCJ=no
-         hardcode_shlibpath_var_GCJ=no
-         ;;
-       *)
-         hardcode_direct_GCJ=yes
-         export_dynamic_flag_spec_GCJ='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L_GCJ=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir'
-      fi
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      link_all_deplibs_GCJ=yes
-      ;;
-
-    netbsd* | netbsdelf*-gnu)
-      if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-       archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    newsos6)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct_GCJ=yes
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct_GCJ=yes
-       hardcode_shlibpath_var_GCJ=no
-       if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec_GCJ='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec_GCJ='-R$libdir'
-            ;;
-          *)
-            archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir'
-            ;;
-         esac
-        fi
-      else
-       ld_shlibs_GCJ=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_minus_L_GCJ=yes
-      allow_undefined_flag_GCJ=unsupported
-      archive_cmds_GCJ='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag_GCJ=' -expect_unresolved \*'
-       archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator_GCJ=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag_GCJ=' -expect_unresolved \*'
-       archive_cmds_GCJ='$LD -shared${allow_undefined_flag} $libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds_GCJ='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> $lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~$rm $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec_GCJ='-rpath $libdir'
-      fi
-      hardcode_libdir_separator_GCJ=:
-      ;;
-
-    solaris*)
-      no_undefined_flag_GCJ=' -z text'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-         $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
-      else
-       wlarc=''
-       archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       archive_expsym_cmds_GCJ='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-       $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
-      fi
-      hardcode_libdir_flag_spec_GCJ='-R$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs_GCJ=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_direct_GCJ=yes
-      hardcode_minus_L_GCJ=yes
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct_GCJ=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds_GCJ='$CC -r -o $output$reload_objs'
-         hardcode_direct_GCJ=no
-        ;;
-       motorola)
-         archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var_GCJ=no
-      export_dynamic_flag_spec_GCJ='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var_GCJ=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs_GCJ=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag_GCJ='${wl}-z,text'
-      archive_cmds_need_lc_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag_GCJ='${wl}-z,text'
-      allow_undefined_flag_GCJ='${wl}-z,nodefs'
-      archive_cmds_need_lc_GCJ=no
-      hardcode_shlibpath_var_GCJ=no
-      hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
-      hardcode_libdir_separator_GCJ=':'
-      link_all_deplibs_GCJ=yes
-      export_dynamic_flag_spec_GCJ='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec_GCJ='-L$libdir'
-      hardcode_shlibpath_var_GCJ=no
-      ;;
-
-    *)
-      ld_shlibs_GCJ=no
-      ;;
-    esac
-  fi
-
-{ echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5
-echo "${ECHO_T}$ld_shlibs_GCJ" >&6; }
-test "$ld_shlibs_GCJ" = no && can_build_shared=no
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc_GCJ" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc_GCJ=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds_GCJ in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5
-echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; }
-      $rm conftest*
-      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-      if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } 2>conftest.err; then
-        soname=conftest
-        lib=conftest
-        libobjs=conftest.$ac_objext
-        deplibs=
-        wl=$lt_prog_compiler_wl_GCJ
-       pic_flag=$lt_prog_compiler_pic_GCJ
-        compiler_flags=-v
-        linker_flags=-v
-        verstring=
-        output_objdir=.
-        libname=conftest
-        lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ
-        allow_undefined_flag_GCJ=
-        if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5
-  (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-        then
-         archive_cmds_need_lc_GCJ=no
-        else
-         archive_cmds_need_lc_GCJ=yes
-        fi
-        allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag
-      else
-        cat conftest.err 1>&5
-      fi
-      $rm conftest*
-      { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5
-echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; }
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-{ echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5
-echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; }
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | grep yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  library_names_spec='$libname.ixlibrary $libname.a'
-  # Create ${libname}_ixlibrary.a entries in /sys/libs.
-  finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$echo "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $rm /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $rm \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
-      ;;
-    mingw*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      sys_lib_search_path_spec=`$CC -print-search-dirs | grep "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
-      if echo "$sys_lib_search_path_spec" | grep ';[c-zC-Z]:/' >/dev/null; then
-        # It is most probably a Windows format PATH printed by
-        # mingw gcc, but we are running on Cygwin. Gcc prints its search
-        # path with ; separators, and with drive letters. We can handle the
-        # drive letters (cygwin fileutils understands them), so leave them,
-        # especially as we might pass files found there to a mingw objdump,
-        # which wouldn't understand a cygwinified path. Ahh.
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
-      else
-        sys_lib_search_path_spec=`echo "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
-      fi
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${versuffix}$shared_ext ${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd1*)
-  dynamic_linker=no
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[123]*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-   hppa*64*)
-     shrext_cmds='.sl'
-     hardcode_into_libs=yes
-     dynamic_linker="$host_os dld.sl"
-     shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-     shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-     library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-     soname_spec='${libname}${release}${shared_ext}$major'
-     sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-     sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-     ;;
-   *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555.
-  postinstall_cmds='chmod 555 $lib'
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[     ]*hwcap[        ]/d;s/[:,       ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsdelf*-gnu)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='NetBSD ld.elf_so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-nto-qnx*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      export_dynamic_flag_spec='${wl}-Blargedynsym'
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-    shlibpath_overrides_runpath=no
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    shlibpath_overrides_runpath=yes
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ echo "$as_me:$LINENO: result: $dynamic_linker" >&5
-echo "${ECHO_T}$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_search_path_spec="$sys_lib_search_path_spec"
-fi
-
-sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  lt_cv_sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec"
-fi
-
-sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-{ echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5
-echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; }
-hardcode_action_GCJ=
-if test -n "$hardcode_libdir_flag_spec_GCJ" || \
-   test -n "$runpath_var_GCJ" || \
-   test "X$hardcode_automatic_GCJ" = "Xyes" ; then
-
-  # We can hardcode non-existant directories.
-  if test "$hardcode_direct_GCJ" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_AC_TAGVAR(hardcode_shlibpath_var, GCJ)" != no &&
-     test "$hardcode_minus_L_GCJ" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action_GCJ=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action_GCJ=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action_GCJ=unsupported
-fi
-{ echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5
-echo "${ECHO_T}$hardcode_action_GCJ" >&6; }
-
-if test "$hardcode_action_GCJ" = relink; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    compiler_GCJ \
-    CC_GCJ \
-    LD_GCJ \
-    lt_prog_compiler_wl_GCJ \
-    lt_prog_compiler_pic_GCJ \
-    lt_prog_compiler_static_GCJ \
-    lt_prog_compiler_no_builtin_flag_GCJ \
-    export_dynamic_flag_spec_GCJ \
-    thread_safe_flag_spec_GCJ \
-    whole_archive_flag_spec_GCJ \
-    enable_shared_with_static_runtimes_GCJ \
-    old_archive_cmds_GCJ \
-    old_archive_from_new_cmds_GCJ \
-    predep_objects_GCJ \
-    postdep_objects_GCJ \
-    predeps_GCJ \
-    postdeps_GCJ \
-    compiler_lib_search_path_GCJ \
-    compiler_lib_search_dirs_GCJ \
-    archive_cmds_GCJ \
-    archive_expsym_cmds_GCJ \
-    postinstall_cmds_GCJ \
-    postuninstall_cmds_GCJ \
-    old_archive_from_expsyms_cmds_GCJ \
-    allow_undefined_flag_GCJ \
-    no_undefined_flag_GCJ \
-    export_symbols_cmds_GCJ \
-    hardcode_libdir_flag_spec_GCJ \
-    hardcode_libdir_flag_spec_ld_GCJ \
-    hardcode_libdir_separator_GCJ \
-    hardcode_automatic_GCJ \
-    module_cmds_GCJ \
-    module_expsym_cmds_GCJ \
-    lt_cv_prog_compiler_c_o_GCJ \
-    fix_srcfile_path_GCJ \
-    exclude_expsyms_GCJ \
-    include_expsyms_GCJ; do
-
-    case $var in
-    old_archive_cmds_GCJ | \
-    old_archive_from_new_cmds_GCJ | \
-    archive_cmds_GCJ | \
-    archive_expsym_cmds_GCJ | \
-    module_cmds_GCJ | \
-    module_expsym_cmds_GCJ | \
-    old_archive_from_expsyms_cmds_GCJ | \
-    export_symbols_cmds_GCJ | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\$0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
-
-cfgfile="$ofile"
-
-  cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_GCJ
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_GCJ
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_GCJ
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_GCJ
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_GCJ
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_GCJ
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_GCJ
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_GCJ
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_GCJ
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_GCJ
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_GCJ
-archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_GCJ
-module_expsym_cmds=$lt_module_expsym_cmds_GCJ
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_GCJ
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_GCJ
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_GCJ
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_GCJ
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_GCJ
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_GCJ
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_GCJ
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_GCJ
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_GCJ
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_GCJ
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_GCJ
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_GCJ
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_GCJ
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_GCJ
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_GCJ
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_GCJ
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_GCJ
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-       else
-         tagname=""
-       fi
-       ;;
-
-      RC)
-
-
-# Source file extension for RC test sources.
-ac_ext=rc
-
-# Object file extension for compiled RC test sources.
-objext=o
-objext_RC=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
-
-# Code to be used in simple link tests
-lt_simple_link_test_code="$lt_simple_compile_test_code"
-
-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$rm conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$rm -r conftest*
-
-
-# Allow CC to be a program name with arguments.
-lt_save_CC="$CC"
-CC=${RC-"windres"}
-compiler=$CC
-compiler_RC=$CC
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
-
-lt_cv_prog_compiler_c_o_RC=yes
-
-# The else clause should only fire when bootstrapping the
-# libtool distribution, otherwise you forgot to ship ltmain.sh
-# with your package, and you will get complaints that there are
-# no rules to generate ltmain.sh.
-if test -f "$ltmain"; then
-  # See if we are running on zsh, and set the options which allow our commands through
-  # without removal of \ escapes.
-  if test -n "${ZSH_VERSION+set}" ; then
-    setopt NO_GLOB_SUBST
-  fi
-  # Now quote all the things that may contain metacharacters while being
-  # careful not to overquote the AC_SUBSTed values.  We take copies of the
-  # variables and quote the copies for generation of the libtool script.
-  for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \
-    SED SHELL STRIP \
-    libname_spec library_names_spec soname_spec extract_expsyms_cmds \
-    old_striplib striplib file_magic_cmd finish_cmds finish_eval \
-    deplibs_check_method reload_flag reload_cmds need_locks \
-    lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl \
-    lt_cv_sys_global_symbol_to_c_name_address \
-    sys_lib_search_path_spec sys_lib_dlsearch_path_spec \
-    old_postinstall_cmds old_postuninstall_cmds \
-    compiler_RC \
-    CC_RC \
-    LD_RC \
-    lt_prog_compiler_wl_RC \
-    lt_prog_compiler_pic_RC \
-    lt_prog_compiler_static_RC \
-    lt_prog_compiler_no_builtin_flag_RC \
-    export_dynamic_flag_spec_RC \
-    thread_safe_flag_spec_RC \
-    whole_archive_flag_spec_RC \
-    enable_shared_with_static_runtimes_RC \
-    old_archive_cmds_RC \
-    old_archive_from_new_cmds_RC \
-    predep_objects_RC \
-    postdep_objects_RC \
-    predeps_RC \
-    postdeps_RC \
-    compiler_lib_search_path_RC \
-    compiler_lib_search_dirs_RC \
-    archive_cmds_RC \
-    archive_expsym_cmds_RC \
-    postinstall_cmds_RC \
-    postuninstall_cmds_RC \
-    old_archive_from_expsyms_cmds_RC \
-    allow_undefined_flag_RC \
-    no_undefined_flag_RC \
-    export_symbols_cmds_RC \
-    hardcode_libdir_flag_spec_RC \
-    hardcode_libdir_flag_spec_ld_RC \
-    hardcode_libdir_separator_RC \
-    hardcode_automatic_RC \
-    module_cmds_RC \
-    module_expsym_cmds_RC \
-    lt_cv_prog_compiler_c_o_RC \
-    fix_srcfile_path_RC \
-    exclude_expsyms_RC \
-    include_expsyms_RC; do
-
-    case $var in
-    old_archive_cmds_RC | \
-    old_archive_from_new_cmds_RC | \
-    archive_cmds_RC | \
-    archive_expsym_cmds_RC | \
-    module_cmds_RC | \
-    module_expsym_cmds_RC | \
-    old_archive_from_expsyms_cmds_RC | \
-    export_symbols_cmds_RC | \
-    extract_expsyms_cmds | reload_cmds | finish_cmds | \
-    postinstall_cmds | postuninstall_cmds | \
-    old_postinstall_cmds | old_postuninstall_cmds | \
-    sys_lib_search_path_spec | sys_lib_dlsearch_path_spec)
-      # Double-quote double-evaled strings.
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
-      ;;
-    *)
-      eval "lt_$var=\\\"\`\$echo \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
-      ;;
-    esac
-  done
-
-  case $lt_echo in
-  *'\$0 --fallback-echo"')
-    lt_echo=`$echo "X$lt_echo" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
-    ;;
-  esac
-
-cfgfile="$ofile"
-
-  cat <<__EOF__ >> "$cfgfile"
-# ### BEGIN LIBTOOL TAG CONFIG: $tagname
-
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc_RC
-
-# Whether or not to disallow shared libs when runtime libs are static
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# An echo program that does not interpret backslashes.
-echo=$lt_echo
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A C compiler.
-LTCC=$lt_LTCC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_LTCFLAGS
-
-# A language-specific compiler.
-CC=$lt_compiler_RC
-
-# Is the compiler the GNU C compiler?
-with_gcc=$GCC_RC
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# The linker used to build libraries.
-LD=$lt_LD_RC
-
-# Whether we need hard or soft links.
-LN_S=$lt_LN_S
-
-# A BSD-compatible nm program.
-NM=$lt_NM
-
-# A symbol stripping program
-STRIP=$lt_STRIP
-
-# Used to examine libraries when file_magic_cmd begins "file"
-MAGIC_CMD=$MAGIC_CMD
-
-# Used on cygwin: DLL creation program.
-DLLTOOL="$DLLTOOL"
-
-# Used on cygwin: object dumper.
-OBJDUMP="$OBJDUMP"
-
-# Used on cygwin: assembler.
-AS="$AS"
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl_RC
-
-# Object file suffix (normally "o").
-objext="$ac_objext"
-
-# Old archive suffix (normally "a").
-libext="$libext"
-
-# Shared library suffix (normally ".so").
-shrext_cmds='$shrext_cmds'
-
-# Executable file suffix (normally "").
-exeext="$exeext"
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic_RC
-pic_mode=$pic_mode
-
-# What is the maximum length of a command?
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Do we need the lib prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static_RC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC
-
-# Compiler flag to generate thread-safe objects.
-thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC
-
-# Library versioning type.
-version_type=$version_type
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME.
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Commands used to build and install an old-style archive.
-RANLIB=$lt_RANLIB
-old_archive_cmds=$lt_old_archive_cmds_RC
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC
-
-# Commands used to build and install a shared archive.
-archive_cmds=$lt_archive_cmds_RC
-archive_expsym_cmds=$lt_archive_expsym_cmds_RC
-postinstall_cmds=$lt_postinstall_cmds
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to build a loadable module (assumed same as above if empty)
-module_cmds=$lt_module_cmds_RC
-module_expsym_cmds=$lt_module_expsym_cmds_RC
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predep_objects=$lt_predep_objects_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdep_objects=$lt_postdep_objects_RC
-
-# Dependencies to place before the objects being linked to create a
-# shared library.
-predeps=$lt_predeps_RC
-
-# Dependencies to place after the objects being linked to create a
-# shared library.
-postdeps=$lt_postdeps_RC
-
-# The directories searched by this compiler when creating a shared
-# library
-compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_RC
-
-# The library search path used internally by the compiler when linking
-# a shared library.
-compiler_lib_search_path=$lt_compiler_lib_search_path_RC
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == file_magic.
-file_magic_cmd=$lt_file_magic_cmd
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag_RC
-
-# Flag that forces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag_RC
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# Same as above, but a single script fragment to be evaled but not shown.
-finish_eval=$lt_finish_eval
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# This is the shared library runtime path variable.
-runpath_var=$runpath_var
-
-# This is the shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action_RC
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC
-
-# If ld is used when linking, flag to hardcode \$libdir into
-# a binary during linking. This must work even if \$libdir does
-# not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_RC
-
-# Whether we need a single -rpath flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC
-
-# Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the
-# resulting binary.
-hardcode_direct=$hardcode_direct_RC
-
-# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
-# resulting binary.
-hardcode_minus_L=$hardcode_minus_L_RC
-
-# Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into
-# the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var_RC
-
-# Set to yes if building a shared library automatically hardcodes DIR into the library
-# and all subsequent libraries and executables linked against it.
-hardcode_automatic=$hardcode_automatic_RC
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at relink time.
-variables_saved_for_relink="$variables_saved_for_relink"
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs_RC
-
-# Compile-time system search path for libraries
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to yes if exported symbols are required.
-always_export_symbols=$always_export_symbols_RC
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds_RC
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms_RC
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms_RC
-
-# ### END LIBTOOL TAG CONFIG: $tagname
-
-__EOF__
-
-
-else
-  # If there is no Makefile yet, we rely on a make rule to execute
-  # `config.status --recheck' to rerun these tests and create the
-  # libtool script then.
-  ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'`
-  if test -f "$ltmain_in"; then
-    test -f Makefile && make "$ltmain"
-  fi
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-CC="$lt_save_CC"
-
-       ;;
-
-      *)
-       { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5
-echo "$as_me: error: Unsupported tag name: $tagname" >&2;}
-   { (exit 1); exit 1; }; }
-       ;;
-      esac
-
-      # Append the new tag name to the list of available tags.
-      if test -n "$tagname" ; then
-      available_tags="$available_tags $tagname"
-    fi
-    fi
-  done
-  IFS="$lt_save_ifs"
-
-  # Now substitute the updated list of available tags.
-  if eval "sed -e 's/^available_tags=.*\$/available_tags=\"$available_tags\"/' \"$ofile\" > \"${ofile}T\""; then
-    mv "${ofile}T" "$ofile"
-    chmod +x "$ofile"
-  else
-    rm -f "${ofile}T"
-    { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5
-echo "$as_me: error: unable to update list of available tagged configurations." >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-fi
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-# Prevent multiple expansion
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&5
-echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
-whose name does not start with the host triplet.  If you think this
-configuration is useful to you, please write to autoconf@gnu.org." >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO: checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (ac_try="$ac_compiler --version >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler --version >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -v >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -v >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-{ (ac_try="$ac_compiler -V >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compiler -V >&5") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }
-
-{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; }
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_compiler_gnu=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_compiler_gnu=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       CFLAGS=""
-      cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_g=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
-echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; }
-if test "${ac_cv_prog_cc_c89+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_prog_cc_c89=$ac_arg
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6; } ;;
-  xno)
-    { echo "$as_me:$LINENO: result: unsupported" >&5
-echo "${ECHO_T}unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-depcc="$CC"   am_compiler_list=
-
-{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
-echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
-if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  for depmode in $am_compiler_list; do
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
-    case $depmode in
-    nosideeffect)
-      # after this tag, mechanisms are not by side-effect, so they'll
-      # only be used when explicitly requested
-      if test "x$enable_dependency_tracking" = xyes; then
-       continue
-      else
-       break
-      fi
-      ;;
-    none) break ;;
-    esac
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    if depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
-         >/dev/null 2>conftest.err &&
-       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
-       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-        break
-      fi
-    fi
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
-echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
-  test "x$enable_dependency_tracking" != xno \
-  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
-  am__fastdepCC_TRUE=
-  am__fastdepCC_FALSE='#'
-else
-  am__fastdepCC_TRUE='#'
-  am__fastdepCC_FALSE=
-fi
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Broken: fails on valid input.
-continue
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  # Broken: success on invalid input.
-continue
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in
-  ./ | .// | /cC/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-           break 3
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-done
-IFS=$as_save_IFS
-
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-{ echo "$as_me:$LINENO: checking whether ln -s works" >&5
-echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no, using $LN_S" >&5
-echo "${ECHO_T}no, using $LN_S" >&6; }
-fi
-
-{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
-set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.make <<\_ACEOF
-SHELL = /bin/sh
-all:
-       @echo '@@@%%%=$(MAKE)=@@@%%%'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-case `${MAKE-make} -f conftest.make 2>/dev/null` in
-  *@@@%%%=?*=@@@%%%*)
-    eval ac_cv_prog_make_${ac_make}_set=yes;;
-  *)
-    eval ac_cv_prog_make_${ac_make}_set=no;;
-esac
-rm -f conftest.make
-fi
-if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-  SET_MAKE=
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-for ac_prog in rpmbuild
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_RPMBUILD+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$RPMBUILD"; then
-  ac_cv_prog_RPMBUILD="$RPMBUILD" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_RPMBUILD="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-RPMBUILD=$ac_cv_prog_RPMBUILD
-if test -n "$RPMBUILD"; then
-  { echo "$as_me:$LINENO: result: $RPMBUILD" >&5
-echo "${ECHO_T}$RPMBUILD" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$RPMBUILD" && break
-done
-test -n "$RPMBUILD" || RPMBUILD="rpm"
-
-
-ac_config_headers="$ac_config_headers config.h"
-
-
-
-# Check whether --with-xmms was given.
-if test "${with_xmms+set}" = set; then
-  withval=$with_xmms; WITHXMMS=$withval
-else
-  WITHXMMS=no
-fi
-
-
-
-# Check whether --with-drm was given.
-if test "${with_drm+set}" = set; then
-  withval=$with_drm; WITHDRM=$withval
-else
-  WITHDRM=no
-fi
-
-
-
-# Check whether --with-mpeg4ip was given.
-if test "${with_mpeg4ip+set}" = set; then
-  withval=$with_mpeg4ip; WITHMPEG4IP=$withval
-else
-  WITHMPEG4IP=no
-fi
-
-
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_stdc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_stdc=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then
-  :
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-
-
-for ac_header in stdint.h inttypes.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in mathf.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in float.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-for ac_func in strchr memcpy
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  eval "$as_ac_var=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-for ac_header in sys/time.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
-echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; }
-if test "${ac_cv_header_time+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/time.h>
-#include <time.h>
-
-int
-main ()
-{
-if ((struct tm *) 0)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_time=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_header_time=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-echo "${ECHO_T}$ac_cv_header_time" >&6; }
-if test $ac_cv_header_time = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define TIME_WITH_SYS_TIME 1
-_ACEOF
-
-fi
-
-
-
-
-
-
-for ac_header in errno.h sys/stat.h sys/types.h limits.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in sysfs/libsysfs.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_header in IOKit/IOKitLib.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  { echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <$ac_header>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  eval "$as_ac_Header=\$ac_header_preproc"
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
- { echo "$as_me:$LINENO: checking for main in -lIOKit" >&5
-echo $ECHO_N "checking for main in -lIOKit... $ECHO_C" >&6; }
-if test "${ac_cv_lib_IOKit_main+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lIOKit  $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-
-int
-main ()
-{
-return main ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_lib_IOKit_main=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_lib_IOKit_main=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_lib_IOKit_main" >&5
-echo "${ECHO_T}$ac_cv_lib_IOKit_main" >&6; }
-if test $ac_cv_lib_IOKit_main = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_IOKIT_IOKITLIB_H 1
-_ACEOF
-
-     MP4FF_LIBS="-lIOKit"
-
-fi
-
-fi
-
-done
-
-
-for ac_func in getpwuid
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  eval "$as_ac_var=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-{ echo "$as_me:$LINENO: checking for inline" >&5
-echo $ECHO_N "checking for inline... $ECHO_C" >&6; }
-if test "${ac_cv_c_inline+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_c_inline=$ac_kw
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-  test "$ac_cv_c_inline" != no && break
-done
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
-echo "${ECHO_T}$ac_cv_c_inline" >&6; }
-
-
-case $ac_cv_c_inline in
-  inline | yes) ;;
-  *)
-    case $ac_cv_c_inline in
-      no) ac_val=;;
-      *) ac_val=$ac_cv_c_inline;;
-    esac
-    cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
-    ;;
-esac
-
-{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
-if test "${ac_cv_c_bigendian+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  # See if sys/param.h defines the BYTE_ORDER macro.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/param.h>
-
-int
-main ()
-{
-#if  ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
-       && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
- bogus endian macros
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_c_bigendian=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_c_bigendian=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       # It does not; compile a test program.
-if test "$cross_compiling" = yes; then
-  # try to guess the endianness by grepping values into an object file
-  ac_cv_c_bigendian=unknown
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
-short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
-int
-main ()
-{
- _ascii (); _ebcdic ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
-  ac_cv_c_bigendian=yes
-fi
-if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-  if test "$ac_cv_c_bigendian" = unknown; then
-    ac_cv_c_bigendian=no
-  else
-    # finding both strings is unlikely to happen, but who knows?
-    ac_cv_c_bigendian=unknown
-  fi
-fi
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-  /* Are we little or big endian?  From Harbison&Steele.  */
-  union
-  {
-    long int l;
-    char c[sizeof (long int)];
-  } u;
-  u.l = 1;
-  return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_c_bigendian=no
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
-echo "${ECHO_T}$ac_cv_c_bigendian" >&6; }
-case $ac_cv_c_bigendian in
-  yes)
-
-cat >>confdefs.h <<\_ACEOF
-#define WORDS_BIGENDIAN 1
-_ACEOF
- ;;
-  no)
-     ;;
-  *)
-    { { echo "$as_me:$LINENO: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&5
-echo "$as_me: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
-   { (exit 1); exit 1; }; } ;;
-esac
-
-
-{ echo "$as_me:$LINENO: checking for off_t" >&5
-echo $ECHO_N "checking for off_t... $ECHO_C" >&6; }
-if test "${ac_cv_type_off_t+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-typedef off_t ac__type_new_;
-int
-main ()
-{
-if ((ac__type_new_ *) 0)
-  return 0;
-if (sizeof (ac__type_new_))
-  return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_type_off_t=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_type_off_t=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
-echo "${ECHO_T}$ac_cv_type_off_t" >&6; }
-if test $ac_cv_type_off_t = yes; then
-  :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define off_t long int
-_ACEOF
-
-fi
-
-
-
-
-# AC_C99_FUNC_LRINTF
-{ echo "$as_me:$LINENO: checking for lrintf" >&5
-echo $ECHO_N "checking for lrintf... $ECHO_C" >&6; }
-if test "${ac_cv_c99_lrintf+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-
-lrintf_save_CFLAGS=$CFLAGS
-CFLAGS="-O -lm"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-#define         _ISOC9X_SOURCE  1
-#define         _ISOC99_SOURCE  1
-#define         __USE_ISOC99    1
-#define         __USE_ISOC9X    1
-
-#include <math.h>
-
-int
-main ()
-{
-if (!lrintf(3.14159)) lrintf(2.7183);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  ac_cv_c99_lrintf=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_cv_c99_lrintf=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-
-CFLAGS=$lrintf_save_CFLAGS
-
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_c99_lrintf" >&5
-echo "${ECHO_T}$ac_cv_c99_lrintf" >&6; }
-
-if test "$ac_cv_c99_lrintf" = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_LRINTF 1
-_ACEOF
-
-fi
-
-
-
-   { echo "$as_me:$LINENO: checking for float32_t temp" >&5
-echo $ECHO_N "checking for float32_t temp... $ECHO_C" >&6; }
-   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>,
-        #include <sys/float.h>
-int
-main ()
-{
-float32_t temp;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  libfaad_ok=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       libfaad_ok=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   if test $libfaad_ok = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_FLOAT32_T 1
-_ACEOF
-
-      { echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; }
-   else
-      { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-
-for ac_func in strsep
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; }
-if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $ac_func
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $ac_func ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$ac_func || defined __stub___$ac_func
-choke me
-#endif
-
-int
-main ()
-{
-return $ac_func ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  eval "$as_ac_var=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       eval "$as_ac_var=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_var'}'`
-              { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-# Extract the first word of "mpeg4ip-config", so it can be a program name with args.
-set dummy mpeg4ip-config; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_external_mp4v2+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$external_mp4v2"; then
-  ac_cv_prog_external_mp4v2="$external_mp4v2" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_external_mp4v2="yes"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_prog_external_mp4v2" && ac_cv_prog_external_mp4v2="no"
-fi
-fi
-external_mp4v2=$ac_cv_prog_external_mp4v2
-if test -n "$external_mp4v2"; then
-  { echo "$as_me:$LINENO: result: $external_mp4v2" >&5
-echo "${ECHO_T}$external_mp4v2" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
- if false; then
-  HAVE_MPEG4IP_PLUG_TRUE=
-  HAVE_MPEG4IP_PLUG_FALSE='#'
-else
-  HAVE_MPEG4IP_PLUG_TRUE='#'
-  HAVE_MPEG4IP_PLUG_FALSE=
-fi
-
-if test x$WITHMPEG4IP = xyes; then
-   if test x$external_mp4v2 = xyes; then
-       if true; then
-  HAVE_MPEG4IP_PLUG_TRUE=
-  HAVE_MPEG4IP_PLUG_FALSE='#'
-else
-  HAVE_MPEG4IP_PLUG_TRUE='#'
-  HAVE_MPEG4IP_PLUG_FALSE=
-fi
-
-      { echo "$as_me:$LINENO: \"Building MPEG4IP plugin\"" >&5
-echo "$as_me: \"Building MPEG4IP plugin\"" >&6;}
-   else
-       { echo "$as_me:$LINENO: \"MPEG4IP libmp4v2 is required for MPEG4IP plugin\"" >&5
-echo "$as_me: \"MPEG4IP libmp4v2 is required for MPEG4IP plugin\"" >&6;}
-   fi
-fi
-
-if test x$WITHXMMS = xyes; then
-  for ac_prog in xmms-config
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_XMMS_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$XMMS_CONFIG"; then
-  ac_cv_prog_XMMS_CONFIG="$XMMS_CONFIG" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_XMMS_CONFIG="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-XMMS_CONFIG=$ac_cv_prog_XMMS_CONFIG
-if test -n "$XMMS_CONFIG"; then
-  { echo "$as_me:$LINENO: result: $XMMS_CONFIG" >&5
-echo "${ECHO_T}$XMMS_CONFIG" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$XMMS_CONFIG" && break
-done
-test -n "$XMMS_CONFIG" || XMMS_CONFIG=""not_found""
-
-  if test "$XMMS_CONFIG" = "not_found"; then
-    { { echo "$as_me:$LINENO: error: \"*** xmms-config not found - xmms plugin can't be build\"" >&5
-echo "$as_me: error: \"*** xmms-config not found - xmms plugin can't be build\"" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  if test "${ac_cv_header_pthread_h+set}" = set; then
-  { echo "$as_me:$LINENO: checking for pthread.h" >&5
-echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_pthread_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_pthread_h" >&5
-echo "${ECHO_T}$ac_cv_header_pthread_h" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking pthread.h usability" >&5
-echo $ECHO_N "checking pthread.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <pthread.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking pthread.h presence" >&5
-echo $ECHO_N "checking pthread.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <pthread.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: pthread.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: pthread.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: pthread.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: pthread.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: pthread.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: pthread.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: pthread.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: pthread.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: pthread.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: pthread.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: pthread.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: pthread.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: pthread.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: pthread.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: pthread.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: pthread.h: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for pthread.h" >&5
-echo $ECHO_N "checking for pthread.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_pthread_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_header_pthread_h=$ac_header_preproc
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_pthread_h" >&5
-echo "${ECHO_T}$ac_cv_header_pthread_h" >&6; }
-
-fi
-if test $ac_cv_header_pthread_h = yes; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: *** pthread headers support not installed or not found" >&5
-echo "$as_me: error: *** pthread headers support not installed or not found" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-  if test "${ac_cv_header_id3_h+set}" = set; then
-  { echo "$as_me:$LINENO: checking for id3.h" >&5
-echo $ECHO_N "checking for id3.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_id3_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_id3_h" >&5
-echo "${ECHO_T}$ac_cv_header_id3_h" >&6; }
-else
-  # Is the header compilable?
-{ echo "$as_me:$LINENO: checking id3.h usability" >&5
-echo $ECHO_N "checking id3.h usability... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-#include <id3.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_header_compiler=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_header_compiler=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ echo "$as_me:$LINENO: checking id3.h presence" >&5
-echo $ECHO_N "checking id3.h presence... $ECHO_C" >&6; }
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <id3.h>
-_ACEOF
-if { (ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then
-  ac_header_preproc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-  ac_header_preproc=no
-fi
-
-rm -f conftest.err conftest.$ac_ext
-{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
-  yes:no: )
-    { echo "$as_me:$LINENO: WARNING: id3.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: id3.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: id3.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: id3.h: proceeding with the compiler's result" >&2;}
-    ac_header_preproc=yes
-    ;;
-  no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: id3.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: id3.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: id3.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: id3.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: id3.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: id3.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: id3.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: id3.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: id3.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: id3.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: id3.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: id3.h: in the future, the compiler will take precedence" >&2;}
-
-    ;;
-esac
-{ echo "$as_me:$LINENO: checking for id3.h" >&5
-echo $ECHO_N "checking for id3.h... $ECHO_C" >&6; }
-if test "${ac_cv_header_id3_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_cv_header_id3_h=$ac_header_preproc
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_id3_h" >&5
-echo "${ECHO_T}$ac_cv_header_id3_h" >&6; }
-
-fi
-if test $ac_cv_header_id3_h = yes; then
-  :
-else
-  { { echo "$as_me:$LINENO: error: *** id3lib headers support not installed or not found" >&5
-echo "$as_me: error: *** id3lib headers support not installed or not found" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-
-  for ac_prog in gtk-config
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
-if test "${ac_cv_prog_GTK_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$GTK_CONFIG"; then
-  ac_cv_prog_GTK_CONFIG="$GTK_CONFIG" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
-    ac_cv_prog_GTK_CONFIG="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-IFS=$as_save_IFS
-
-fi
-fi
-GTK_CONFIG=$ac_cv_prog_GTK_CONFIG
-if test -n "$GTK_CONFIG"; then
-  { echo "$as_me:$LINENO: result: $GTK_CONFIG" >&5
-echo "${ECHO_T}$GTK_CONFIG" >&6; }
-else
-  { echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; }
-fi
-
-
-  test -n "$GTK_CONFIG" && break
-done
-test -n "$GTK_CONFIG" || GTK_CONFIG=""not_found""
-
-  if test "$XGTK_CONFIG" = "not_found"; then
-    { { echo "$as_me:$LINENO: error: \"*** gtk-config not found - xmms plugin can't be build without\"" >&5
-echo "$as_me: error: \"*** gtk-config not found - xmms plugin can't be build without\"" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-
-   if true; then
-  HAVE_XMMS_TRUE=
-  HAVE_XMMS_FALSE='#'
-else
-  HAVE_XMMS_TRUE='#'
-  HAVE_XMMS_FALSE=
-fi
-
-else
- { echo "$as_me:$LINENO: no xmms build configured" >&5
-echo "$as_me: no xmms build configured" >&6;}
-  if false; then
-  HAVE_XMMS_TRUE=
-  HAVE_XMMS_FALSE='#'
-else
-  HAVE_XMMS_TRUE='#'
-  HAVE_XMMS_FALSE=
-fi
-
-fi
-
-if test x$WITHDRM = xyes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define DRM 1
-_ACEOF
-
-
-cat >>confdefs.h <<\_ACEOF
-#define DRM_PS 1
-_ACEOF
-
-fi
-
-ac_config_files="$ac_config_files libfaad/Makefile"
-
-ac_config_files="$ac_config_files common/Makefile"
-
-ac_config_files="$ac_config_files common/mp4ff/Makefile"
-
-ac_config_files="$ac_config_files plugins/Makefile"
-
-ac_config_files="$ac_config_files plugins/xmms/Makefile"
-
-ac_config_files="$ac_config_files plugins/xmms/src/Makefile"
-
-ac_config_files="$ac_config_files plugins/mpeg4ip/Makefile"
-
-ac_config_files="$ac_config_files faad2.spec"
-
-ac_config_files="$ac_config_files frontend/Makefile"
-
-ac_config_files="$ac_config_files Makefile"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      *) $as_unset $ac_var ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes (double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \).
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    test "x$cache_file" != "x/dev/null" &&
-      { echo "$as_me:$LINENO: updating cache $cache_file" >&5
-echo "$as_me: updating cache $cache_file" >&6;}
-    cat confcache >$cache_file
-  else
-    { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
-echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${HAVE_MPEG4IP_PLUG_TRUE}" && test -z "${HAVE_MPEG4IP_PLUG_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"HAVE_MPEG4IP_PLUG\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_MPEG4IP_PLUG\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${HAVE_MPEG4IP_PLUG_TRUE}" && test -z "${HAVE_MPEG4IP_PLUG_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"HAVE_MPEG4IP_PLUG\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_MPEG4IP_PLUG\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${HAVE_XMMS_TRUE}" && test -z "${HAVE_XMMS_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"HAVE_XMMS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_XMMS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-if test -z "${HAVE_XMMS_TRUE}" && test -z "${HAVE_XMMS_FALSE}"; then
-  { { echo "$as_me:$LINENO: error: conditional \"HAVE_XMMS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&5
-echo "$as_me: error: conditional \"HAVE_XMMS\" was never defined.
-Usually this means the macro was only invoked conditionally." >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-SHELL=\${CONFIG_SHELL-$SHELL}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization.  ##
-## --------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in
-  *posix*) set -o posix ;;
-esac
-
-fi
-
-
-
-
-# PATH needs CR
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  as_unset=unset
-else
-  as_unset=false
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-as_nl='
-'
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-case $0 in
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  { (exit 1); exit 1; }
-fi
-
-# Work around bugs in pre-3.0 UWIN ksh.
-for as_var in ENV MAIL MAILPATH
-do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
-  fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-
-# Name of the executable.
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# CDPATH.
-$as_unset CDPATH
-
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
-
-  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
-  # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line after each line using $LINENO; the second 'sed'
-  # does the real work.  The second script uses 'N' to pair each
-  # line-number line with the line containing $LINENO, and appends
-  # trailing '-' during substitution so that $LINENO is not a special
-  # case at line end.
-  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # scripts with optimization help from Paolo Bonzini.  Blame Lee
-  # E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
-   { (exit 1); exit 1; }; }
-
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in
--n*)
-  case `echo 'x\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  *)   ECHO_C='\c';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s='ln -s'
-  # ... but there are two gotchas:
-  # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-  # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-  # In both cases, we have to default to `cp -p'.
-  ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-    as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
-else
-  as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p=:
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
-  as_test_x='test -x'
-else
-  if ls -dL / >/dev/null 2>&1; then
-    as_ls_L_option=L
-  else
-    as_ls_L_option=
-  fi
-  as_test_x='
-    eval sh -c '\''
-      if test -d "$1"; then
-        test -d "$1/.";
-      else
-       case $1 in
-        -*)set "./$1";;
-       esac;
-       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
-       ???[sx]*):;;*)false;;esac;fi
-    '\'' sh
-  '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-
-# Save the log message, to keep $[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.61.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-  -q, --quiet      do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-  --file=FILE[:TEMPLATE]
-                  instantiate the configuration file FILE
-  --header=FILE[:TEMPLATE]
-                  instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.61,
-  with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2006 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-MKDIR_P='$MKDIR_P'
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value.  By we need to know if files were specified by the user.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    echo "$ac_cs_version"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    { echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; };;
-  --help | --hel | -h )
-    echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) { echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2
-   { (exit 1); exit 1; }; } ;;
-
-  *) ac_config_targets="$ac_config_targets $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-if \$ac_cs_recheck; then
-  echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  CONFIG_SHELL=$SHELL
-  export CONFIG_SHELL
-  exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
-    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
-    "libfaad/Makefile") CONFIG_FILES="$CONFIG_FILES libfaad/Makefile" ;;
-    "common/Makefile") CONFIG_FILES="$CONFIG_FILES common/Makefile" ;;
-    "common/mp4ff/Makefile") CONFIG_FILES="$CONFIG_FILES common/mp4ff/Makefile" ;;
-    "plugins/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/Makefile" ;;
-    "plugins/xmms/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/xmms/Makefile" ;;
-    "plugins/xmms/src/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/xmms/src/Makefile" ;;
-    "plugins/mpeg4ip/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/mpeg4ip/Makefile" ;;
-    "faad2.spec") CONFIG_FILES="$CONFIG_FILES faad2.spec" ;;
-    "frontend/Makefile") CONFIG_FILES="$CONFIG_FILES frontend/Makefile" ;;
-    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-
-  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
-   { (exit 1); exit 1; }; };;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp=
-  trap 'exit_status=$?
-  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
-' 0
-  trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -n "$tmp" && test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} ||
-{
-   echo "$me: cannot create a temporary directory in ." >&2
-   { (exit 1); exit 1; }
-}
-
-#
-# Set up the sed scripts for CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "$CONFIG_FILES"; then
-
-_ACEOF
-
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  cat >conf$$subs.sed <<_ACEOF
-SHELL!$SHELL$ac_delim
-PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
-PACKAGE_NAME!$PACKAGE_NAME$ac_delim
-PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
-PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
-PACKAGE_STRING!$PACKAGE_STRING$ac_delim
-PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
-exec_prefix!$exec_prefix$ac_delim
-prefix!$prefix$ac_delim
-program_transform_name!$program_transform_name$ac_delim
-bindir!$bindir$ac_delim
-sbindir!$sbindir$ac_delim
-libexecdir!$libexecdir$ac_delim
-datarootdir!$datarootdir$ac_delim
-datadir!$datadir$ac_delim
-sysconfdir!$sysconfdir$ac_delim
-sharedstatedir!$sharedstatedir$ac_delim
-localstatedir!$localstatedir$ac_delim
-includedir!$includedir$ac_delim
-oldincludedir!$oldincludedir$ac_delim
-docdir!$docdir$ac_delim
-infodir!$infodir$ac_delim
-htmldir!$htmldir$ac_delim
-dvidir!$dvidir$ac_delim
-pdfdir!$pdfdir$ac_delim
-psdir!$psdir$ac_delim
-libdir!$libdir$ac_delim
-localedir!$localedir$ac_delim
-mandir!$mandir$ac_delim
-DEFS!$DEFS$ac_delim
-ECHO_C!$ECHO_C$ac_delim
-ECHO_N!$ECHO_N$ac_delim
-ECHO_T!$ECHO_T$ac_delim
-LIBS!$LIBS$ac_delim
-build_alias!$build_alias$ac_delim
-host_alias!$host_alias$ac_delim
-target_alias!$target_alias$ac_delim
-INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
-INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
-INSTALL_DATA!$INSTALL_DATA$ac_delim
-am__isrc!$am__isrc$ac_delim
-CYGPATH_W!$CYGPATH_W$ac_delim
-PACKAGE!$PACKAGE$ac_delim
-VERSION!$VERSION$ac_delim
-ACLOCAL!$ACLOCAL$ac_delim
-AUTOCONF!$AUTOCONF$ac_delim
-AUTOMAKE!$AUTOMAKE$ac_delim
-AUTOHEADER!$AUTOHEADER$ac_delim
-MAKEINFO!$MAKEINFO$ac_delim
-install_sh!$install_sh$ac_delim
-STRIP!$STRIP$ac_delim
-INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
-mkdir_p!$mkdir_p$ac_delim
-AWK!$AWK$ac_delim
-SET_MAKE!$SET_MAKE$ac_delim
-am__leading_dot!$am__leading_dot$ac_delim
-AMTAR!$AMTAR$ac_delim
-am__tar!$am__tar$ac_delim
-am__untar!$am__untar$ac_delim
-build!$build$ac_delim
-build_cpu!$build_cpu$ac_delim
-build_vendor!$build_vendor$ac_delim
-build_os!$build_os$ac_delim
-host!$host$ac_delim
-host_cpu!$host_cpu$ac_delim
-host_vendor!$host_vendor$ac_delim
-host_os!$host_os$ac_delim
-CC!$CC$ac_delim
-CFLAGS!$CFLAGS$ac_delim
-LDFLAGS!$LDFLAGS$ac_delim
-CPPFLAGS!$CPPFLAGS$ac_delim
-ac_ct_CC!$ac_ct_CC$ac_delim
-EXEEXT!$EXEEXT$ac_delim
-OBJEXT!$OBJEXT$ac_delim
-DEPDIR!$DEPDIR$ac_delim
-am__include!$am__include$ac_delim
-am__quote!$am__quote$ac_delim
-AMDEP_TRUE!$AMDEP_TRUE$ac_delim
-AMDEP_FALSE!$AMDEP_FALSE$ac_delim
-AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
-CCDEPMODE!$CCDEPMODE$ac_delim
-am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
-am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
-SED!$SED$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
-LN_S!$LN_S$ac_delim
-ECHO!$ECHO$ac_delim
-AR!$AR$ac_delim
-RANLIB!$RANLIB$ac_delim
-DSYMUTIL!$DSYMUTIL$ac_delim
-NMEDIT!$NMEDIT$ac_delim
-CPP!$CPP$ac_delim
-CXX!$CXX$ac_delim
-CXXFLAGS!$CXXFLAGS$ac_delim
-ac_ct_CXX!$ac_ct_CXX$ac_delim
-CXXDEPMODE!$CXXDEPMODE$ac_delim
-_ACEOF
-
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
-    break
-  elif $ac_last_try; then
-    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
-  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
-  ac_eof=`expr $ac_eof + 1`
-fi
-
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-CEOF$ac_eof
-_ACEOF
-
-
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  cat >conf$$subs.sed <<_ACEOF
-am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
-am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
-CXXCPP!$CXXCPP$ac_delim
-F77!$F77$ac_delim
-FFLAGS!$FFLAGS$ac_delim
-ac_ct_F77!$ac_ct_F77$ac_delim
-LIBTOOL!$LIBTOOL$ac_delim
-LIBTOOL_DEPS!$LIBTOOL_DEPS$ac_delim
-RPMBUILD!$RPMBUILD$ac_delim
-MP4FF_LIBS!$MP4FF_LIBS$ac_delim
-external_mp4v2!$external_mp4v2$ac_delim
-HAVE_MPEG4IP_PLUG_TRUE!$HAVE_MPEG4IP_PLUG_TRUE$ac_delim
-HAVE_MPEG4IP_PLUG_FALSE!$HAVE_MPEG4IP_PLUG_FALSE$ac_delim
-XMMS_CONFIG!$XMMS_CONFIG$ac_delim
-GTK_CONFIG!$GTK_CONFIG$ac_delim
-HAVE_XMMS_TRUE!$HAVE_XMMS_TRUE$ac_delim
-HAVE_XMMS_FALSE!$HAVE_XMMS_FALSE$ac_delim
-LIBOBJS!$LIBOBJS$ac_delim
-LTLIBOBJS!$LTLIBOBJS$ac_delim
-_ACEOF
-
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 19; then
-    break
-  elif $ac_last_try; then
-    { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
-echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
-   { (exit 1); exit 1; }; }
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
-if test -n "$ac_eof"; then
-  ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
-  ac_eof=`expr $ac_eof + 1`
-fi
-
-cat >>$CONFIG_STATUS <<_ACEOF
-cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
-_ACEOF
-sed '
-s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
-s/^/s,@/; s/!/@,|#_!!_#|/
-:n
-t n
-s/'"$ac_delim"'$/,g/; t
-s/$/\\/; p
-N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
-' >>$CONFIG_STATUS <conf$$subs.sed
-rm -f conf$$subs.sed
-cat >>$CONFIG_STATUS <<_ACEOF
-:end
-s/|#_!!_#|//g
-CEOF$ac_eof
-_ACEOF
-
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=/{
-s/:*\$(srcdir):*/:/
-s/:*\${srcdir}:*/:/
-s/:*@srcdir@:*/:/
-s/^\([^=]*=[    ]*\):*/\1/
-s/:*$//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-fi # test -n "$CONFIG_FILES"
-
-
-for ac_tag in  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
-echo "$as_me: error: Invalid tag $ac_tag." >&2;}
-   { (exit 1); exit 1; }; };;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
-echo "$as_me: error: cannot find input file: $ac_f" >&2;}
-   { (exit 1); exit 1; }; };;
-      esac
-      ac_file_inputs="$ac_file_inputs $ac_f"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input="Generated from "`IFS=:
-         echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    fi
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$tmp/stdin";;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  { as_dir="$ac_dir"
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-  ac_MKDIR_P=$MKDIR_P
-  case $MKDIR_P in
-  [\\/$]* | ?:[\\/]* ) ;;
-  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-
-case `sed -n '/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p
-' $ac_file_inputs` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-    s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF
-  sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s&@configure_input@&$configure_input&;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-s&@MKDIR_P@&$ac_MKDIR_P&;t t
-$ac_datarootdir_hack
-" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
-  { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&5
-echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined." >&2;}
-
-  rm -f "$tmp/stdin"
-  case $ac_file in
-  -) cat "$tmp/out"; rm -f "$tmp/out";;
-  *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
-  esac
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-_ACEOF
-
-# Transform confdefs.h into a sed script `conftest.defines', that
-# substitutes the proper values into config.h.in to produce config.h.
-rm -f conftest.defines conftest.tail
-# First, append a space to every undef/define line, to ease matching.
-echo 's/$/ /' >conftest.defines
-# Then, protect against being on the right side of a sed subst, or in
-# an unquoted here document, in config.status.  If some macros were
-# called several times there might be several #defines for the same
-# symbol, which is useless.  But do not sort them, since the last
-# AC_DEFINE must be honored.
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where
-# NAME is the cpp macro being defined, VALUE is the value it is being given.
-# PARAMS is the parameter list in the macro definition--in most cases, it's
-# just an empty string.
-ac_dA='s,^\\([  #]*\\)[^        ]*\\([  ]*'
-ac_dB='\\)[     (].*,\\1define\\2'
-ac_dC=' '
-ac_dD=' ,'
-
-uniq confdefs.h |
-  sed -n '
-       t rset
-       :rset
-       s/^[     ]*#[    ]*define[       ][      ]*//
-       t ok
-       d
-       :ok
-       s/[\\&,]/\\&/g
-       s/^\('"$ac_word_re"'\)\(([^()]*)\)[      ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p
-       s/^\('"$ac_word_re"'\)[  ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p
-  ' >>conftest.defines
-
-# Remove the space that was appended to ease matching.
-# Then replace #undef with comments.  This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-# (The regexp can be short, since the line contains either #define or #undef.)
-echo 's/ $//
-s,^[    #]*u.*,/* & */,' >>conftest.defines
-
-# Break up conftest.defines:
-ac_max_sed_lines=50
-
-# First sed command is:         sed -f defines.sed $ac_file_inputs >"$tmp/out1"
-# Second one is:        sed -f defines.sed "$tmp/out1" >"$tmp/out2"
-# Third one will be:    sed -f defines.sed "$tmp/out2" >"$tmp/out1"
-# et cetera.
-ac_in='$ac_file_inputs'
-ac_out='"$tmp/out1"'
-ac_nxt='"$tmp/out2"'
-
-while :
-do
-  # Write a here document:
-    cat >>$CONFIG_STATUS <<_ACEOF
-    # First, check the format of the line:
-    cat >"\$tmp/defines.sed" <<\\CEOF
-/^[     ]*#[    ]*undef[        ][      ]*$ac_word_re[  ]*\$/b def
-/^[     ]*#[    ]*define[       ][      ]*$ac_word_re[(         ]/b def
-b
-:def
-_ACEOF
-  sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS
-  echo 'CEOF
-    sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS
-  ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in
-  sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail
-  grep . conftest.tail >/dev/null || break
-  rm -f conftest.defines
-  mv conftest.tail conftest.defines
-done
-rm -f conftest.defines conftest.tail
-
-echo "ac_result=$ac_in" >>$CONFIG_STATUS
-cat >>$CONFIG_STATUS <<\_ACEOF
-  if test x"$ac_file" != x-; then
-    echo "/* $configure_input  */" >"$tmp/config.h"
-    cat "$ac_result" >>"$tmp/config.h"
-    if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then
-      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f $ac_file
-      mv "$tmp/config.h" $ac_file
-    fi
-  else
-    echo "/* $configure_input  */"
-    cat "$ac_result"
-  fi
-  rm -f "$tmp/out12"
-# Compute $ac_file's index in $config_headers.
-_am_arg=$ac_file
-_am_stamp_count=1
-for _am_header in $config_headers :; do
-  case $_am_header in
-    $_am_arg | $_am_arg:* )
-      break ;;
-    * )
-      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
-  esac
-done
-echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
-$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$_am_arg" : 'X\(//\)[^/]' \| \
-        X"$_am_arg" : 'X\(//\)$' \| \
-        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$_am_arg" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`/stamp-h$_am_stamp_count
- ;;
-
-  :C)  { echo "$as_me:$LINENO: executing $ac_file commands" >&5
-echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do
-  # Strip MF so we end up with the name of the file.
-  mf=`echo "$mf" | sed -e 's/:.*$//'`
-  # Check whether this is an Automake generated Makefile or not.
-  # We used to match only the files named `Makefile.in', but
-  # some people rename them; so instead we look at the file content.
-  # Grep'ing the first line is not enough: some people post-process
-  # each Makefile.in and add a new line on top of each file to say so.
-  # Grep'ing the whole file is not good either: AIX grep has a line
-  # limit of 2048, but all sed's we know have understand at least 4000.
-  if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
-    dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$mf" : 'X\(//\)[^/]' \| \
-        X"$mf" : 'X\(//\)$' \| \
-        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$mf" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  else
-    continue
-  fi
-  # Extract the definition of DEPDIR, am__include, and am__quote
-  # from the Makefile without running `make'.
-  DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
-  test -z "$DEPDIR" && continue
-  am__include=`sed -n 's/^am__include = //p' < "$mf"`
-  test -z "am__include" && continue
-  am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
-  # When using ansi2knr, U may be empty or an underscore; expand it
-  U=`sed -n 's/^U = //p' < "$mf"`
-  # Find all dependency output files, they are included files with
-  # $(DEPDIR) in their names.  We invoke sed twice because it is the
-  # simplest approach to changing $(DEPDIR) to its actual value in the
-  # expansion.
-  for file in `sed -n "
-    s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
-       sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
-    # Make sure the directory exists.
-    test -f "$dirpart/$file" && continue
-    fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$file" : 'X\(//\)[^/]' \| \
-        X"$file" : 'X\(//\)$' \| \
-        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-    { as_dir=$dirpart/$fdir
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
-echo "$as_me: error: cannot create directory $as_dir" >&2;}
-   { (exit 1); exit 1; }; }; }
-    # echo "creating $dirpart/$file"
-    echo '# dummy' > "$dirpart/$file"
-  done
-done
- ;;
-
-  esac
-done # for ac_tag
-
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || { (exit 1); exit 1; }
-fi
-
diff --git a/lib/libfaad2/configure.in b/lib/libfaad2/configure.in
deleted file mode 100644 (file)
index 0f4f28f..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-dnl
-dnl This is the configure.in for faad2 related to unix creation
-
-dnl - libfaad.so
-dnl - libmp4ff.a (only static for moment)
-dnl - faad
-dnl - xmms input mp4/aac plugin
-dnl - mpeg4ip plugin (requires mpeg4ip's libmp4v2 to be installed)
-
-AC_INIT
-AC_CONFIG_AUX_DIR(.)
-AM_INIT_AUTOMAKE(faad2, 2.6.0cvs)
-
-AC_PROG_LIBTOOL
-AC_SUBST(LIBTOOL_DEPS)
-
-dnl Checks for programs.
-AC_PROG_CC
-AC_PROG_CPP
-dnl disable for mpeg4ip plugin
-dnl AC_PROG_CXX
-AC_PROG_INSTALL
-AC_PROG_LN_S
-AC_PROG_MAKE_SET
-AC_CHECK_PROGS(RPMBUILD, rpmbuild, rpm)
-
-AM_CONFIG_HEADER(config.h)
-
-AC_ARG_WITH(xmms,[  --with-xmms             compile XMMS-1 plugin],
-            WITHXMMS=$withval, WITHXMMS=no)
-
-AC_ARG_WITH(drm,[  --with-drm              compile libfaad with DRM support],
-            WITHDRM=$withval, WITHDRM=no)
-
-AC_ARG_WITH(mpeg4ip, [  --with-mpeg4ip          compile mpeg4ip plugin],
-                    WITHMPEG4IP=$withval, WITHMPEG4IP=no)
-
-dnl Checks for header files required for mp4.h
-AC_HEADER_STDC
-AC_CHECK_HEADERS(stdint.h inttypes.h)
-AC_CHECK_HEADERS(mathf.h)
-AC_CHECK_HEADERS(float.h)
-AC_CHECK_FUNCS(strchr memcpy)
-AC_CHECK_HEADERS(sys/time.h)
-AC_HEADER_TIME
-
-dnl DRMS 
-AC_CHECK_HEADERS(errno.h sys/stat.h sys/types.h limits.h)
-AC_CHECK_HEADERS(sysfs/libsysfs.h)
-AC_CHECK_HEADERS(IOKit/IOKitLib.h,
-  [AC_CHECK_LIB(IOKit, main,
-    [AC_DEFINE(HAVE_IOKIT_IOKITLIB_H, 1, [Define if you have the IOKit API])
-     MP4FF_LIBS="-lIOKit"
-     AC_SUBST(MP4FF_LIBS)])])
-AC_CHECK_FUNCS(getpwuid)
-
-AC_C_INLINE
-AC_C_BIGENDIAN
-
-AC_TYPE_OFF_T
-
-AC_DEFUN([MY_CHECK_TYPEDEF_FROM_INCLUDE],
-[
-   AC_MSG_CHECKING([for $1])
-   AC_TRY_COMPILE([$2],
-                  [$1;],
-                  libfaad_ok=yes, libfaad_ok=no)
-   if test $libfaad_ok = yes; then
-      AC_DEFINE($3, 1, [Define if needed])
-      AC_MSG_RESULT([yes])
-   else
-      AC_MSG_RESULT([no])
-fi
-])
-
-dnl @synopsis AC_C99_FUNC_LRINTF
-dnl
-dnl Check whether C99's lrintf function is available.
-dnl @version 1.3        Feb 12 2002
-dnl @author Erik de Castro Lopo <erikd AT mega-nerd DOT com>
-dnl
-dnl Permission to use, copy, modify, distribute, and sell this file for any
-dnl purpose is hereby granted without fee, provided that the above copyright
-dnl and this permission notice appear in all copies.  No representations are
-dnl made about the suitability of this software for any purpose.  It is
-dnl provided "as is" without express or implied warranty.
-dnl
-AC_DEFUN([AC_C99_FUNC_LRINTF],
-[AC_CACHE_CHECK(for lrintf,
-  ac_cv_c99_lrintf,
-[
-lrintf_save_CFLAGS=$CFLAGS
-CFLAGS="-O -lm"
-AC_TRY_LINK([
-#define         _ISOC9X_SOURCE  1
-#define         _ISOC99_SOURCE  1
-#define         __USE_ISOC99    1
-#define         __USE_ISOC9X    1
-
-#include <math.h>
-], if (!lrintf(3.14159)) lrintf(2.7183);, ac_cv_c99_lrintf=yes, ac_cv_c99_lrintf=no)
-
-CFLAGS=$lrintf_save_CFLAGS
-
-])
-
-if test "$ac_cv_c99_lrintf" = yes; then
-  AC_DEFINE(HAVE_LRINTF, 1,
-            [Define if you have C99's lrintf function.])
-fi
-])# AC_C99_FUNC_LRINTF
-AC_C99_FUNC_LRINTF
-
-MY_CHECK_TYPEDEF_FROM_INCLUDE([float32_t temp],
-        [#include <sys/types.h>,
-        #include <sys/float.h>], [HAVE_FLOAT32_T])
-
-AC_CHECK_FUNCS(strsep)
-
-AC_CHECK_PROG(external_mp4v2, mpeg4ip-config, yes, no)
-AM_CONDITIONAL(HAVE_MPEG4IP_PLUG, false)
-if test x$WITHMPEG4IP = xyes; then
-   if test x$external_mp4v2 = xyes; then
-      AM_CONDITIONAL(HAVE_MPEG4IP_PLUG, true)
-      AC_MSG_NOTICE("Building MPEG4IP plugin")
-   else
-       AC_MSG_NOTICE("MPEG4IP libmp4v2 is required for MPEG4IP plugin")
-   fi
-fi
-
-if test x$WITHXMMS = xyes; then
-  AC_CHECK_PROGS(XMMS_CONFIG, xmms-config,"not_found")
-  if test "$XMMS_CONFIG" = "not_found"; then
-    AC_MSG_ERROR("*** xmms-config not found - xmms plugin can't be build")
-  fi
-  AC_CHECK_HEADER(pthread.h,,
-           AC_MSG_ERROR(*** pthread headers support not installed or not found))
-  AC_CHECK_HEADER(id3.h,,
-       AC_MSG_ERROR(*** id3lib headers support not installed or not found))
-  AC_CHECK_PROGS(GTK_CONFIG, gtk-config, "not_found")
-  if test "$XGTK_CONFIG" = "not_found"; then
-    AC_MSG_ERROR("*** gtk-config not found - xmms plugin can't be build without")
-  fi
-
-  AM_CONDITIONAL(HAVE_XMMS, true)
-else
- AC_MSG_NOTICE(no xmms build configured)
- AM_CONDITIONAL(HAVE_XMMS, false)
-fi
-
-if test x$WITHDRM = xyes; then
-  AC_DEFINE(DRM, 1, [Define if you want to use libfaad together with Digital Radio Mondiale (DRM)])
-  AC_DEFINE(DRM_PS, 1, [Define if you want support for Digital Radio Mondiale (DRM) parametric stereo])
-fi
-
-AC_CONFIG_FILES(libfaad/Makefile)
-AC_CONFIG_FILES(common/Makefile)
-AC_CONFIG_FILES(common/mp4ff/Makefile)
-AC_CONFIG_FILES(plugins/Makefile)
-AC_CONFIG_FILES(plugins/xmms/Makefile)
-AC_CONFIG_FILES(plugins/xmms/src/Makefile)
-AC_CONFIG_FILES(plugins/mpeg4ip/Makefile)
-AC_CONFIG_FILES(faad2.spec)
-AC_CONFIG_FILES(frontend/Makefile)
-AC_CONFIG_FILES(Makefile)
-
-AC_OUTPUT
diff --git a/lib/libfaad2/depcomp b/lib/libfaad2/depcomp
deleted file mode 100755 (executable)
index e5f9736..0000000
+++ /dev/null
@@ -1,589 +0,0 @@
-#! /bin/sh
-# depcomp - compile a program generating dependencies as side-effects
-
-scriptversion=2007-03-29.01
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software
-# Foundation, Inc.
-
-# 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, 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., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
-
-case $1 in
-  '')
-     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
-     exit 1;
-     ;;
-  -h | --h*)
-    cat <<\EOF
-Usage: depcomp [--help] [--version] PROGRAM [ARGS]
-
-Run PROGRAMS ARGS to compile a file, generating dependencies
-as side-effects.
-
-Environment variables:
-  depmode     Dependency tracking mode.
-  source      Source file read by `PROGRAMS ARGS'.
-  object      Object file output by `PROGRAMS ARGS'.
-  DEPDIR      directory where to store dependencies.
-  depfile     Dependency file to output.
-  tmpdepfile  Temporary file to use when outputing dependencies.
-  libtool     Whether libtool is used (yes/no).
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
-    exit $?
-    ;;
-  -v | --v*)
-    echo "depcomp $scriptversion"
-    exit $?
-    ;;
-esac
-
-if test -z "$depmode" || test -z "$source" || test -z "$object"; then
-  echo "depcomp: Variables source, object and depmode must be set" 1>&2
-  exit 1
-fi
-
-# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
-depfile=${depfile-`echo "$object" |
-  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
-tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
-
-rm -f "$tmpdepfile"
-
-# Some modes work just like other modes, but use different flags.  We
-# parameterize here, but still list the modes in the big case below,
-# to make depend.m4 easier to write.  Note that we *cannot* use a case
-# here, because this file can only contain one case statement.
-if test "$depmode" = hp; then
-  # HP compiler uses -M and no extra arg.
-  gccflag=-M
-  depmode=gcc
-fi
-
-if test "$depmode" = dashXmstdout; then
-   # This is just like dashmstdout with a different argument.
-   dashmflag=-xM
-   depmode=dashmstdout
-fi
-
-case "$depmode" in
-gcc3)
-## gcc 3 implements dependency tracking that does exactly what
-## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
-## it if -MD -MP comes after the -MF stuff.  Hmm.
-## Unfortunately, FreeBSD c89 acceptance of flags depends upon
-## the command line argument order; so add the flags where they
-## appear in depend2.am.  Note that the slowdown incurred here
-## affects only configure: in makefiles, %FASTDEP% shortcuts this.
-  for arg
-  do
-    case $arg in
-    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
-    *)  set fnord "$@" "$arg" ;;
-    esac
-    shift # fnord
-    shift # $arg
-  done
-  "$@"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  mv "$tmpdepfile" "$depfile"
-  ;;
-
-gcc)
-## There are various ways to get dependency output from gcc.  Here's
-## why we pick this rather obscure method:
-## - Don't want to use -MD because we'd like the dependencies to end
-##   up in a subdir.  Having to rename by hand is ugly.
-##   (We might end up doing this anyway to support other compilers.)
-## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
-##   -MM, not -M (despite what the docs say).
-## - Using -M directly means running the compiler twice (even worse
-##   than renaming).
-  if test -z "$gccflag"; then
-    gccflag=-MD,
-  fi
-  "$@" -Wp,"$gccflag$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-## The second -e expression handles DOS-style file names with drive letters.
-  sed -e 's/^[^:]*: / /' \
-      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
-## This next piece of magic avoids the `deleted header file' problem.
-## The problem is that when a header file which appears in a .P file
-## is deleted, the dependency causes make to die (because there is
-## typically no way to rebuild the header).  We avoid this by adding
-## dummy dependencies for each header file.  Too bad gcc doesn't do
-## this for us directly.
-  tr ' ' '
-' < "$tmpdepfile" |
-## Some versions of gcc put a space before the `:'.  On the theory
-## that the space means something, we add a space to the output as
-## well.
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp)
-  # This case exists only to let depend.m4 do its work.  It works by
-  # looking at the text of this script.  This case will never be run,
-  # since it is checked for above.
-  exit 1
-  ;;
-
-sgi)
-  if test "$libtool" = yes; then
-    "$@" "-Wp,-MDupdate,$tmpdepfile"
-  else
-    "$@" -MDupdate "$tmpdepfile"
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-
-  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
-    echo "$object : \\" > "$depfile"
-
-    # Clip off the initial element (the dependent).  Don't try to be
-    # clever and replace this with sed code, as IRIX sed won't handle
-    # lines with more than a fixed number of characters (4096 in
-    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
-    # the IRIX cc adds comments like `#:fec' to the end of the
-    # dependency line.
-    tr ' ' '
-' < "$tmpdepfile" \
-    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
-    tr '
-' ' ' >> $depfile
-    echo >> $depfile
-
-    # The second pass generates a dummy entry for each header file.
-    tr ' ' '
-' < "$tmpdepfile" \
-   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
-   >> $depfile
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-aix)
-  # The C for AIX Compiler uses -M and outputs the dependencies
-  # in a .u file.  In older versions, this file always lives in the
-  # current directory.  Also, the AIX compiler puts `$object:' at the
-  # start of each line; $object doesn't have directory information.
-  # Version 6 uses the directory in both cases.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$base.u
-    tmpdepfile3=$dir.libs/$base.u
-    "$@" -Wc,-M
-  else
-    tmpdepfile1=$dir$base.u
-    tmpdepfile2=$dir$base.u
-    tmpdepfile3=$dir$base.u
-    "$@" -M
-  fi
-  stat=$?
-
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-    exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    # Each line is of the form `foo.o: dependent.h'.
-    # Do two passes, one to just change these to
-    # `$object: dependent.h' and one to simply `dependent.h:'.
-    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-    # That's a tab and a space in the [].
-    sed -e 's,^.*\.[a-z]*:[     ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-  else
-    # The sourcefile does not contain any dependencies, so just
-    # store a dummy comment line, to avoid errors with the Makefile
-    # "include basename.Plo" scheme.
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile"
-  ;;
-
-icc)
-  # Intel's C compiler understands `-MD -MF file'.  However on
-  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
-  # ICC 7.0 will fill foo.d with something like
-  #    foo.o: sub/foo.c
-  #    foo.o: sub/foo.h
-  # which is wrong.  We want:
-  #    sub/foo.o: sub/foo.c
-  #    sub/foo.o: sub/foo.h
-  #    sub/foo.c:
-  #    sub/foo.h:
-  # ICC 7.1 will output
-  #    foo.o: sub/foo.c sub/foo.h
-  # and will wrap long lines using \ :
-  #    foo.o: sub/foo.c ... \
-  #     sub/foo.h ... \
-  #     ...
-
-  "$@" -MD -MF "$tmpdepfile"
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-    rm -f "$tmpdepfile"
-    exit $stat
-  fi
-  rm -f "$depfile"
-  # Each line is of the form `foo.o: dependent.h',
-  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
-  # Do two passes, one to just change these to
-  # `$object: dependent.h' and one to simply `dependent.h:'.
-  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
-  # Some versions of the HPUX 10.20 sed can't process this invocation
-  # correctly.  Breaking it into two sed invocations is a workaround.
-  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
-    sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-hp2)
-  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
-  # compilers, which have integrated preprocessors.  The correct option
-  # to use with these is +Maked; it writes dependencies to a file named
-  # 'foo.d', which lands next to the object file, wherever that
-  # happens to be.
-  # Much of this is similar to the tru64 case; see comments there.
-  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-  test "x$dir" = "x$object" && dir=
-  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-  if test "$libtool" = yes; then
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir.libs/$base.d
-    "$@" -Wc,+Maked
-  else
-    tmpdepfile1=$dir$base.d
-    tmpdepfile2=$dir$base.d
-    "$@" +Maked
-  fi
-  stat=$?
-  if test $stat -eq 0; then :
-  else
-     rm -f "$tmpdepfile1" "$tmpdepfile2"
-     exit $stat
-  fi
-
-  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
-  do
-    test -f "$tmpdepfile" && break
-  done
-  if test -f "$tmpdepfile"; then
-    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
-    # Add `dependent.h:' lines.
-    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
-  else
-    echo "#dummy" > "$depfile"
-  fi
-  rm -f "$tmpdepfile" "$tmpdepfile2"
-  ;;
-
-tru64)
-   # The Tru64 compiler uses -MD to generate dependencies as a side
-   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
-   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
-   # dependencies in `foo.d' instead, so we check for that too.
-   # Subdirectories are respected.
-   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
-   test "x$dir" = "x$object" && dir=
-   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
-
-   if test "$libtool" = yes; then
-      # With Tru64 cc, shared objects can also be used to make a
-      # static library.  This mechanism is used in libtool 1.4 series to
-      # handle both shared and static libraries in a single compilation.
-      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
-      #
-      # With libtool 1.5 this exception was removed, and libtool now
-      # generates 2 separate objects for the 2 libraries.  These two
-      # compilations output dependencies in $dir.libs/$base.o.d and
-      # in $dir$base.o.d.  We have to check for both files, because
-      # one of the two compilations can be disabled.  We should prefer
-      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
-      # automatically cleaned when .libs/ is deleted, while ignoring
-      # the former would cause a distcleancheck panic.
-      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
-      tmpdepfile2=$dir$base.o.d          # libtool 1.5
-      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
-      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
-      "$@" -Wc,-MD
-   else
-      tmpdepfile1=$dir$base.o.d
-      tmpdepfile2=$dir$base.d
-      tmpdepfile3=$dir$base.d
-      tmpdepfile4=$dir$base.d
-      "$@" -MD
-   fi
-
-   stat=$?
-   if test $stat -eq 0; then :
-   else
-      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-      exit $stat
-   fi
-
-   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
-   do
-     test -f "$tmpdepfile" && break
-   done
-   if test -f "$tmpdepfile"; then
-      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
-      # That's a tab and a space in the [].
-      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
-   else
-      echo "#dummy" > "$depfile"
-   fi
-   rm -f "$tmpdepfile"
-   ;;
-
-#nosideeffect)
-  # This comment above is used by automake to tell side-effect
-  # dependency tracking mechanisms from slower ones.
-
-dashmstdout)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  test -z "$dashmflag" && dashmflag=-M
-  # Require at least two characters before searching for `:'
-  # in the target name.  This is to cope with DOS-style filenames:
-  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
-  "$@" $dashmflag |
-    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  tr ' ' '
-' < "$tmpdepfile" | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-dashXmstdout)
-  # This case only exists to satisfy depend.m4.  It is never actually
-  # run, as this mode is specially recognized in the preamble.
-  exit 1
-  ;;
-
-makedepend)
-  "$@" || exit $?
-  # Remove any Libtool call
-  if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-  # X makedepend
-  shift
-  cleared=no
-  for arg in "$@"; do
-    case $cleared in
-    no)
-      set ""; shift
-      cleared=yes ;;
-    esac
-    case "$arg" in
-    -D*|-I*)
-      set fnord "$@" "$arg"; shift ;;
-    # Strip any option that makedepend may not understand.  Remove
-    # the object too, otherwise makedepend will parse it as a source file.
-    -*|$object)
-      ;;
-    *)
-      set fnord "$@" "$arg"; shift ;;
-    esac
-  done
-  obj_suffix="`echo $object | sed 's/^.*\././'`"
-  touch "$tmpdepfile"
-  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
-  rm -f "$depfile"
-  cat < "$tmpdepfile" > "$depfile"
-  sed '1,2d' "$tmpdepfile" | tr ' ' '
-' | \
-## Some versions of the HPUX 10.20 sed can't process this invocation
-## correctly.  Breaking it into two sed invocations is a workaround.
-    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile" "$tmpdepfile".bak
-  ;;
-
-cpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout.
-  "$@" || exit $?
-
-  # Remove the call to Libtool.
-  if test "$libtool" = yes; then
-    while test $1 != '--mode=compile'; do
-      shift
-    done
-    shift
-  fi
-
-  # Remove `-o $object'.
-  IFS=" "
-  for arg
-  do
-    case $arg in
-    -o)
-      shift
-      ;;
-    $object)
-      shift
-      ;;
-    *)
-      set fnord "$@" "$arg"
-      shift # fnord
-      shift # $arg
-      ;;
-    esac
-  done
-
-  "$@" -E |
-    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
-    sed '$ s: \\$::' > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  cat < "$tmpdepfile" >> "$depfile"
-  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-msvisualcpp)
-  # Important note: in order to support this mode, a compiler *must*
-  # always write the preprocessed file to stdout, regardless of -o,
-  # because we must use -o when running libtool.
-  "$@" || exit $?
-  IFS=" "
-  for arg
-  do
-    case "$arg" in
-    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
-       set fnord "$@"
-       shift
-       shift
-       ;;
-    *)
-       set fnord "$@" "$arg"
-       shift
-       shift
-       ;;
-    esac
-  done
-  "$@" -E |
-  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
-  rm -f "$depfile"
-  echo "$object : \\" > "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::   \1 \\:p' >> "$depfile"
-  echo "       " >> "$depfile"
-  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
-  rm -f "$tmpdepfile"
-  ;;
-
-none)
-  exec "$@"
-  ;;
-
-*)
-  echo "Unknown depmode $depmode" 1>&2
-  exit 1
-  ;;
-esac
-
-exit 0
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/lib/libfaad2/docs/Ahead AAC Decoder library documentation.doc b/lib/libfaad2/docs/Ahead AAC Decoder library documentation.doc
deleted file mode 100644 (file)
index d0946c2..0000000
Binary files a/lib/libfaad2/docs/Ahead AAC Decoder library documentation.doc and /dev/null differ
diff --git a/lib/libfaad2/docs/Ahead AAC Decoder library documentation.pdf b/lib/libfaad2/docs/Ahead AAC Decoder library documentation.pdf
deleted file mode 100644 (file)
index c69e638..0000000
Binary files a/lib/libfaad2/docs/Ahead AAC Decoder library documentation.pdf and /dev/null differ
diff --git a/lib/libfaad2/faad2.spec.in b/lib/libfaad2/faad2.spec.in
deleted file mode 100644 (file)
index 37f9687..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-# option to compile without XMMS plugin
-%if %{?without_xmms:1}%{!?without_xmms:0}
- %define _without_xmms --without-xmms
-%else
- %define _with_xmms --with-xmms
-%endif
-# this has been taken from http://www.hyperborea.org/software/dillo/dillo.spec
-#################################################################################
-# Identify which distribution we're building on.
-# This will determine any changes in menu structure or release number (i.e. .mdk)
-# Eventually, need to make this configurable from the rpmbuild command line.
-
-%define freedesktop %(if [ -e /usr/share/applications ]; then echo 1; else echo 0; fi;)
-%define conectiva %(if [ -e /etc/conectiva-release ]; then echo 1; else echo 0; fi;)
-%define mdk  %(if [ -e /etc/mandrake-release ]; then echo 1; else echo 0; fi;)
-%define suse %(if [ -e /etc/SuSE-release ]; then echo 1; else echo 0; fi;)
-%define oldsuse 0
-%if %{suse}
-       %define oldsuse %(if [ `grep VERSION /etc/SuSE-release | sed -e "s/VERSION = //"` \\< 8.0 ]; then echo 1; else echo 0; fi;)
-%endif
-
-%define oldredhat %(if [ -e /etc/redhat-release ]; then echo 1; else echo 0; fi;) && !%{mdk} && !%{suse} && !%{conectiva} && !%{freedesktop}
-%define plain !%{mdk} && !%{suse} && !%{conectiva} && !%{oldredhat} && !%{freedesktop}
-
-Summary:    C library and frontend for decoding MPEG2/4 AAC
-Name:       faad2
-Version:    @VERSION@
-Release:    1
-License:    GPL
-Group:      Applications/Multimedia
-Source0:    http://download.sourceforge.net/faad/%{name}-%{version}.tar.gz
-#Patch:                faad2-%{version}.patch
-BuildRequires: autoconf, automake, libtool, gcc-c++
-
-%if %{?_with_xmms:1}%{!?_with_xmms:0}
-BuildRequires: xmms-devel
-%endif
-
-URL:        http://www.audiocoding.com/
-#################################################################################
-%if %{?_with_xmms:1}%{!?_with_xmms:0}
-# GTK Dependencies
-%if %{mdk}
-BuildRequires: libgtk+-devel >= 1.2.0
-%endif
-%if %{suse}
-BuildRequires: gtk-devel >= 1.2.0
-%endif
-%if !%{suse} && !%{mdk}
-BuildRequires: gtk+-devel >= 1.2.0
-%endif
-%endif
-
-BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root
-Packager:   a.kurpiers@nt.tu-darmstadt.de
-
-%description
-FAAD 2 is a LC, MAIN and LTP profile, MPEG2 and MPEG-4 AAC decoder, completely
-written from scratch. FAAD 2 is licensed under the GPL.
-
-Includes libmp4ff, a Quicktime library for UNIX in a freely redistributable,
-statically linkable library.
-
-%package devel
-Summary: Development libraries the FAAD 2 AAC decoder.
-Group: Development/Libraries
-Requires: %{name}
-
-%description devel
-Header files and development documentation for libfaad.
-
-%if %{?_with_xmms:1}%{!?_with_xmms:0}
-%package xmms
-Group: Applications/Multimedia
-Summary: AAC and MP4 input plugin for xmms
-Requires: %{name}, xmms
-
-
-%description xmms
-The AAC xmms input plugin for xmms recognizes AAC files by an
-.aac extension.
-This MP4 xmms plugin reads AAC files with and without ID3 tags (version 2.x).
-AAC files are MPEG2 or MPEG4 files that can be found in MPEG4 audio files
-(.mp4). MPEG4 files with AAC inside can be read by RealPlayer or Quicktime.
-%endif
-
-%prep
-#%setup -n %{name}
-%setup -n %{name}-%{version}
-#%patch -p0
-
-%build
-#sh bootstrap
-./configure --with-drm %{?_with_xmms} %{?_without_xmms} --prefix=/usr
-make
-
-%install
-rm -rf %{buildroot}
-# Hack to work around a problem with DESTDIR in libtool 1.4.x
-LIBRARY_PATH="%{buildroot}/usr/lib:${LIBRARY_PATH}" make install DESTDIR=%{buildroot}
-# install libmp4ff
-install -m 755 common/mp4ff/libmp4ff.a %{buildroot}%{_libdir}
-install common/mp4ff/mp4ff.h %{buildroot}%{_includedir}
-
-%post -p /sbin/ldconfig
-
-%postun -p /sbin/ldconfig
-
-%clean
-rm -rf %{buildroot}
-
-%files
-%defattr(-, root, root)
-%doc AUTHORS COPYING ChangeLog NEWS README TODO
-%{_bindir}/*
-%{_libdir}/libfaad.so*
-
-%files devel
-%defattr(-, root, root)
-%{_libdir}/libfaad.a
-%{_libdir}/libfaad.la
-%{_includedir}/faad.h
-%{_includedir}/neaacdec.h
-%{_includedir}/mp4ff.h
-%{_libdir}/libmp4ff.a
-
-%if %{?_with_xmms:1}%{!?_with_xmms:0}
-%files xmms
-%defattr(-,root,root)
-%doc plugins/xmms/README
-%_libdir/xmms/Input/*
-%endif
-
-%changelog
-* Tue Jan 24 2006 Alexander Kurpiers <a.kurpiers@nt.tu-darmstadt.de>
-- fix wrong function declaration in mp4ffint.h
-
-* Wed Nov 15 2005 Alexander Kurpiers <a.kurpiers@nt.tu-darmstadt.de>
-- fix requirements for xmms plugin
-- add libmp4ff to devel package (only static library)
-
-* Sat Aug 13 2005 Alexander Kurpiers <a.kurpiers@nt.tu-darmstadt.de>
-- fix dependencies for xmms plugin. libmp4v2/id3lib no longer needed
-
-* Sun Apr 24 2005 Alexander Kurpiers <a.kurpiers@nt.tu-darmstadt.de>
-- make xmms plugin generation optional. Build with '--define "without_xmms 1"'
-
-* Tue Nov 02 2004 Alexander Kurpiers <a.kurpiers@nt.tu-darmstadt.de>
-- remove libmp4ff and libmp4v2 from RPM
-- changes for new version of faad2
-
-* Sat Apr 17 2004 Alexander Kurpiers <a.kurpiers@nt.tu-darmstadt.de>
-- apply fix to make DRM support work
-- use "platform-independant" dependencies (taken from dillo.spec)
-
-* Fri Feb 06 2004 Alexander Kurpiers <a.kurpiers@nt.tu-darmstadt.de>
-- remove seperate libmp4ff target
-
-* Wed Nov 05 2003 Alexander Kurpiers <a.kurpiers@nt.tu-darmstadt.de>
-- include xmms plugins/libmp4v2/libmp4ff into RPM
-
-* Tue Aug 12 2003 Matthias Saou <matthias.saou@est.une.marmotte.net>
-- Update to 2.0rc1.
-- Introduced LD_LIBRARY_PATH workaround.
-- Removed optional xmms plugin build, it seems mandatory now.
-- Added gtk+ build dep for the xmms plugin.
-
-* Wed May 14 2003 Matthias Saou <matthias.saou@est.une.marmotte.net>
-- Added xmms plugin build.
-
-* Wed Apr  9 2003 Matthias Saou <matthias.saou@est.une.marmotte.net>
-- Spec file cleanup.
-- Now exclude .la file.
-- Update to latest CVS checkout to fix compile problem.
-
-
-* Fri Aug 10 2002 Alexander Kurpiers <a.kurpiers@nt.tu-darmstadt.de>
-- changes to compile v1.1 release
-
-* Tue Jun 18 2002 Alexander Kurpiers <a.kurpiers@nt.tu-darmstadt.de>
-- First RPM.
-
diff --git a/lib/libfaad2/frontend/Makefile.am b/lib/libfaad2/frontend/Makefile.am
deleted file mode 100644 (file)
index 21cbe8b..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-bin_PROGRAMS = faad
-
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/common/faad \
-   -I$(top_srcdir)/common/mp4ff
-
-faad_LDADD = $(top_builddir)/libfaad/libfaad.la \
-       $(top_builddir)/common/mp4ff/libmp4ff.la
-
-faad_SOURCES = main.c \
-       audio.c audio.h \
-       $(top_srcdir)/common/faad/getopt.c
diff --git a/lib/libfaad2/frontend/Makefile.in b/lib/libfaad2/frontend/Makefile.in
deleted file mode 100644 (file)
index 601898c..0000000
+++ /dev/null
@@ -1,489 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-bin_PROGRAMS = faad$(EXEEXT)
-subdir = frontend
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
-binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS)
-am_faad_OBJECTS = main.$(OBJEXT) audio.$(OBJEXT) getopt.$(OBJEXT)
-faad_OBJECTS = $(am_faad_OBJECTS)
-faad_DEPENDENCIES = $(top_builddir)/libfaad/libfaad.la \
-       $(top_builddir)/common/mp4ff/libmp4ff.la
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-SOURCES = $(faad_SOURCES)
-DIST_SOURCES = $(faad_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-GTK_CONFIG = @GTK_CONFIG@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MP4FF_LIBS = @MP4FF_LIBS@
-NMEDIT = @NMEDIT@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-RPMBUILD = @RPMBUILD@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CONFIG = @XMMS_CONFIG@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-external_mp4v2 = @external_mp4v2@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/common/faad \
-   -I$(top_srcdir)/common/mp4ff
-
-faad_LDADD = $(top_builddir)/libfaad/libfaad.la \
-       $(top_builddir)/common/mp4ff/libmp4ff.la
-
-faad_SOURCES = main.c \
-       audio.c audio.h \
-       $(top_srcdir)/common/faad/getopt.c
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  frontend/Makefile'; \
-       cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  frontend/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-binPROGRAMS: $(bin_PROGRAMS)
-       @$(NORMAL_INSTALL)
-       test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
-       @list='$(bin_PROGRAMS)'; for p in $$list; do \
-         p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-         if test -f $$p \
-            || test -f $$p1 \
-         ; then \
-           f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
-          echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \
-          $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \
-         else :; fi; \
-       done
-
-uninstall-binPROGRAMS:
-       @$(NORMAL_UNINSTALL)
-       @list='$(bin_PROGRAMS)'; for p in $$list; do \
-         f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
-         echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \
-         rm -f "$(DESTDIR)$(bindir)/$$f"; \
-       done
-
-clean-binPROGRAMS:
-       @list='$(bin_PROGRAMS)'; for p in $$list; do \
-         f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
-         echo " rm -f $$p $$f"; \
-         rm -f $$p $$f ; \
-       done
-faad$(EXEEXT): $(faad_OBJECTS) $(faad_DEPENDENCIES) 
-       @rm -f faad$(EXEEXT)
-       $(LINK) $(faad_OBJECTS) $(faad_LDADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audio.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/getopt.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-getopt.o: $(top_srcdir)/common/faad/getopt.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getopt.o -MD -MP -MF $(DEPDIR)/getopt.Tpo -c -o getopt.o `test -f '$(top_srcdir)/common/faad/getopt.c' || echo '$(srcdir)/'`$(top_srcdir)/common/faad/getopt.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/getopt.Tpo $(DEPDIR)/getopt.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$(top_srcdir)/common/faad/getopt.c' object='getopt.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getopt.o `test -f '$(top_srcdir)/common/faad/getopt.c' || echo '$(srcdir)/'`$(top_srcdir)/common/faad/getopt.c
-
-getopt.obj: $(top_srcdir)/common/faad/getopt.c
-@am__fastdepCC_TRUE@   $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT getopt.obj -MD -MP -MF $(DEPDIR)/getopt.Tpo -c -o getopt.obj `if test -f '$(top_srcdir)/common/faad/getopt.c'; then $(CYGPATH_W) '$(top_srcdir)/common/faad/getopt.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/common/faad/getopt.c'; fi`
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/getopt.Tpo $(DEPDIR)/getopt.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$(top_srcdir)/common/faad/getopt.c' object='getopt.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o getopt.obj `if test -f '$(top_srcdir)/common/faad/getopt.c'; then $(CYGPATH_W) '$(top_srcdir)/common/faad/getopt.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/common/faad/getopt.c'; fi`
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-           $$tags $$unique; \
-       fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$tags$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$tags $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && cd $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-         else \
-           test -f $(distdir)/$$file \
-           || cp -p $$d/$$file $(distdir)/$$file \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-am
-all-am: Makefile $(PROGRAMS)
-installdirs:
-       for dir in "$(DESTDIR)$(bindir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am: install-binPROGRAMS
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-binPROGRAMS
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
-       clean-generic clean-libtool ctags distclean distclean-compile \
-       distclean-generic distclean-libtool distclean-tags distdir dvi \
-       dvi-am html html-am info info-am install install-am \
-       install-binPROGRAMS install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am install-man \
-       install-pdf install-pdf-am install-ps install-ps-am \
-       install-strip installcheck installcheck-am installdirs \
-       maintainer-clean maintainer-clean-generic mostlyclean \
-       mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
-       pdf pdf-am ps ps-am tags uninstall uninstall-am \
-       uninstall-binPROGRAMS
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lib/libfaad2/frontend/audio.c b/lib/libfaad2/frontend/audio.c
deleted file mode 100644 (file)
index ec0eb8a..0000000
+++ /dev/null
@@ -1,500 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: audio.c,v 1.28 2007/11/01 12:33:29 menno Exp $
-**/
-
-#ifdef _WIN32
-#include <io.h>
-#endif
-#include <stdlib.h>
-#include <stdio.h>
-#include <fcntl.h>
-#include <math.h>
-#include <neaacdec.h>
-#include "audio.h"
-
-
-audio_file *open_audio_file(char *infile, int samplerate, int channels,
-                            int outputFormat, int fileType, long channelMask)
-{
-    audio_file *aufile = malloc(sizeof(audio_file));
-
-    aufile->outputFormat = outputFormat;
-
-    aufile->samplerate = samplerate;
-    aufile->channels = channels;
-    aufile->total_samples = 0;
-    aufile->fileType = fileType;
-    aufile->channelMask = channelMask;
-
-    switch (outputFormat)
-    {
-    case FAAD_FMT_16BIT:
-        aufile->bits_per_sample = 16;
-        break;
-    case FAAD_FMT_24BIT:
-        aufile->bits_per_sample = 24;
-        break;
-    case FAAD_FMT_32BIT:
-    case FAAD_FMT_FLOAT:
-        aufile->bits_per_sample = 32;
-        break;
-    default:
-        if (aufile) free(aufile);
-        return NULL;
-    }
-
-    if(infile[0] == '-')
-    {
-#ifdef _WIN32
-        setmode(fileno(stdout), O_BINARY);
-#endif
-        aufile->sndfile = stdout;
-        aufile->toStdio = 1;
-    } else {
-        aufile->toStdio = 0;
-        aufile->sndfile = fopen(infile, "wb");
-    }
-
-    if (aufile->sndfile == NULL)
-    {
-        if (aufile) free(aufile);
-        return NULL;
-    }
-
-    if (aufile->fileType == OUTPUT_WAV)
-    {
-        if (aufile->channelMask)
-            write_wav_extensible_header(aufile, aufile->channelMask);
-        else
-            write_wav_header(aufile);
-    }
-
-    return aufile;
-}
-
-int write_audio_file(audio_file *aufile, void *sample_buffer, int samples, int offset)
-{
-    char *buf = (char *)sample_buffer;
-    switch (aufile->outputFormat)
-    {
-    case FAAD_FMT_16BIT:
-        return write_audio_16bit(aufile, buf + offset*2, samples);
-    case FAAD_FMT_24BIT:
-        return write_audio_24bit(aufile, buf + offset*4, samples);
-    case FAAD_FMT_32BIT:
-        return write_audio_32bit(aufile, buf + offset*4, samples);
-    case FAAD_FMT_FLOAT:
-        return write_audio_float(aufile, buf + offset*4, samples);
-    default:
-        return 0;
-    }
-
-    return 0;
-}
-
-void close_audio_file(audio_file *aufile)
-{
-    if (aufile->fileType == OUTPUT_WAV)
-    {
-        fseek(aufile->sndfile, 0, SEEK_SET);
-
-        if (aufile->channelMask)
-            write_wav_extensible_header(aufile, aufile->channelMask);
-        else
-            write_wav_header(aufile);
-    }
-
-    if (aufile->toStdio == 0)
-        fclose(aufile->sndfile);
-
-    if (aufile) free(aufile);
-}
-
-static int write_wav_header(audio_file *aufile)
-{
-    unsigned char header[44];
-    unsigned char* p = header;
-    unsigned int bytes = (aufile->bits_per_sample + 7) / 8;
-    float data_size = (float)bytes * aufile->total_samples;
-    unsigned long word32;
-
-    *p++ = 'R'; *p++ = 'I'; *p++ = 'F'; *p++ = 'F';
-
-    word32 = (data_size + (44 - 8) < (float)MAXWAVESIZE) ?
-        (unsigned long)data_size + (44 - 8)  :  (unsigned long)MAXWAVESIZE;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    *p++ = 'W'; *p++ = 'A'; *p++ = 'V'; *p++ = 'E';
-
-    *p++ = 'f'; *p++ = 'm'; *p++ = 't'; *p++ = ' ';
-
-    *p++ = 0x10; *p++ = 0x00; *p++ = 0x00; *p++ = 0x00;
-
-    if (aufile->outputFormat == FAAD_FMT_FLOAT)
-    {
-        *p++ = 0x03; *p++ = 0x00;
-    } else {
-        *p++ = 0x01; *p++ = 0x00;
-    }
-
-    *p++ = (unsigned char)(aufile->channels >> 0);
-    *p++ = (unsigned char)(aufile->channels >> 8);
-
-    word32 = (unsigned long)(aufile->samplerate + 0.5);
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    word32 = aufile->samplerate * bytes * aufile->channels;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    word32 = bytes * aufile->channels;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 0);
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 8);
-
-    *p++ = 'd'; *p++ = 'a'; *p++ = 't'; *p++ = 'a';
-
-    word32 = data_size < MAXWAVESIZE ?
-        (unsigned long)data_size : (unsigned long)MAXWAVESIZE;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    return fwrite(header, sizeof(header), 1, aufile->sndfile);
-}
-
-static int write_wav_extensible_header(audio_file *aufile, long channelMask)
-{
-    unsigned char header[68];
-    unsigned char* p = header;
-    unsigned int bytes = (aufile->bits_per_sample + 7) / 8;
-    float data_size = (float)bytes * aufile->total_samples;
-    unsigned long word32;
-
-    *p++ = 'R'; *p++ = 'I'; *p++ = 'F'; *p++ = 'F';
-
-    word32 = (data_size + (68 - 8) < (float)MAXWAVESIZE) ?
-        (unsigned long)data_size + (68 - 8)  :  (unsigned long)MAXWAVESIZE;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    *p++ = 'W'; *p++ = 'A'; *p++ = 'V'; *p++ = 'E';
-
-    *p++ = 'f'; *p++ = 'm'; *p++ = 't'; *p++ = ' ';
-
-    *p++ = /*0x10*/0x28; *p++ = 0x00; *p++ = 0x00; *p++ = 0x00;
-
-    /* WAVE_FORMAT_EXTENSIBLE */
-    *p++ = 0xFE; *p++ = 0xFF;
-
-    *p++ = (unsigned char)(aufile->channels >> 0);
-    *p++ = (unsigned char)(aufile->channels >> 8);
-
-    word32 = (unsigned long)(aufile->samplerate + 0.5);
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    word32 = aufile->samplerate * bytes * aufile->channels;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    word32 = bytes * aufile->channels;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 0);
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 8);
-
-    /* cbSize */
-    *p++ = (unsigned char)(22);
-    *p++ = (unsigned char)(0);
-
-    /* WAVEFORMATEXTENSIBLE */
-
-    /* wValidBitsPerSample */
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 0);
-    *p++ = (unsigned char)(aufile->bits_per_sample >> 8);
-
-    /* dwChannelMask */
-    word32 = channelMask;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    /* SubFormat */
-    if (aufile->outputFormat == FAAD_FMT_FLOAT)
-    {
-        /* KSDATAFORMAT_SUBTYPE_IEEE_FLOAT: 00000003-0000-0010-8000-00aa00389b71 */
-        *p++ = 0x03;
-        *p++ = 0x00;
-        *p++ = 0x00;
-        *p++ = 0x00;
-        *p++ = 0x00; *p++ = 0x00; *p++ = 0x10; *p++ = 0x00; *p++ = 0x80; *p++ = 0x00;
-        *p++ = 0x00; *p++ = 0xaa; *p++ = 0x00; *p++ = 0x38; *p++ = 0x9b; *p++ = 0x71;
-    } else {
-        /* KSDATAFORMAT_SUBTYPE_PCM: 00000001-0000-0010-8000-00aa00389b71 */
-        *p++ = 0x01;
-        *p++ = 0x00;
-        *p++ = 0x00;
-        *p++ = 0x00;
-        *p++ = 0x00; *p++ = 0x00; *p++ = 0x10; *p++ = 0x00; *p++ = 0x80; *p++ = 0x00;
-        *p++ = 0x00; *p++ = 0xaa; *p++ = 0x00; *p++ = 0x38; *p++ = 0x9b; *p++ = 0x71;
-    }
-
-    /* end WAVEFORMATEXTENSIBLE */
-
-    *p++ = 'd'; *p++ = 'a'; *p++ = 't'; *p++ = 'a';
-
-    word32 = data_size < MAXWAVESIZE ?
-        (unsigned long)data_size : (unsigned long)MAXWAVESIZE;
-    *p++ = (unsigned char)(word32 >>  0);
-    *p++ = (unsigned char)(word32 >>  8);
-    *p++ = (unsigned char)(word32 >> 16);
-    *p++ = (unsigned char)(word32 >> 24);
-
-    return fwrite(header, sizeof(header), 1, aufile->sndfile);
-}
-
-static int write_audio_16bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples)
-{
-    int ret;
-    unsigned int i;
-    short *sample_buffer16 = (short*)sample_buffer;
-    char *data = malloc(samples*aufile->bits_per_sample*sizeof(char)/8);
-
-    aufile->total_samples += samples;
-
-    if (aufile->channels == 6 && aufile->channelMask)
-    {
-        for (i = 0; i < samples; i += aufile->channels)
-        {
-            short r1, r2, r3, r4, r5, r6;
-            r1 = sample_buffer16[i];
-            r2 = sample_buffer16[i+1];
-            r3 = sample_buffer16[i+2];
-            r4 = sample_buffer16[i+3];
-            r5 = sample_buffer16[i+4];
-            r6 = sample_buffer16[i+5];
-            sample_buffer16[i] = r2;
-            sample_buffer16[i+1] = r3;
-            sample_buffer16[i+2] = r1;
-            sample_buffer16[i+3] = r6;
-            sample_buffer16[i+4] = r4;
-            sample_buffer16[i+5] = r5;
-        }
-    }
-
-    for (i = 0; i < samples; i++)
-    {
-        data[i*2] = (char)(sample_buffer16[i] & 0xFF);
-        data[i*2+1] = (char)((sample_buffer16[i] >> 8) & 0xFF);
-    }
-
-    ret = fwrite(data, samples, aufile->bits_per_sample/8, aufile->sndfile);
-
-    if (data) free(data);
-
-    return ret;
-}
-
-static int write_audio_24bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples)
-{
-    int ret;
-    unsigned int i;
-    long *sample_buffer24 = (long*)sample_buffer;
-    char *data = malloc(samples*aufile->bits_per_sample*sizeof(char)/8);
-
-    aufile->total_samples += samples;
-
-    if (aufile->channels == 6 && aufile->channelMask)
-    {
-        for (i = 0; i < samples; i += aufile->channels)
-        {
-            long r1, r2, r3, r4, r5, r6;
-            r1 = sample_buffer24[i];
-            r2 = sample_buffer24[i+1];
-            r3 = sample_buffer24[i+2];
-            r4 = sample_buffer24[i+3];
-            r5 = sample_buffer24[i+4];
-            r6 = sample_buffer24[i+5];
-            sample_buffer24[i] = r2;
-            sample_buffer24[i+1] = r3;
-            sample_buffer24[i+2] = r1;
-            sample_buffer24[i+3] = r6;
-            sample_buffer24[i+4] = r4;
-            sample_buffer24[i+5] = r5;
-        }
-    }
-
-    for (i = 0; i < samples; i++)
-    {
-        data[i*3] = (char)(sample_buffer24[i] & 0xFF);
-        data[i*3+1] = (char)((sample_buffer24[i] >> 8) & 0xFF);
-        data[i*3+2] = (char)((sample_buffer24[i] >> 16) & 0xFF);
-    }
-
-    ret = fwrite(data, samples, aufile->bits_per_sample/8, aufile->sndfile);
-
-    if (data) free(data);
-
-    return ret;
-}
-
-static int write_audio_32bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples)
-{
-    int ret;
-    unsigned int i;
-    long *sample_buffer32 = (long*)sample_buffer;
-    char *data = malloc(samples*aufile->bits_per_sample*sizeof(char)/8);
-
-    aufile->total_samples += samples;
-
-    if (aufile->channels == 6 && aufile->channelMask)
-    {
-        for (i = 0; i < samples; i += aufile->channels)
-        {
-            long r1, r2, r3, r4, r5, r6;
-            r1 = sample_buffer32[i];
-            r2 = sample_buffer32[i+1];
-            r3 = sample_buffer32[i+2];
-            r4 = sample_buffer32[i+3];
-            r5 = sample_buffer32[i+4];
-            r6 = sample_buffer32[i+5];
-            sample_buffer32[i] = r2;
-            sample_buffer32[i+1] = r3;
-            sample_buffer32[i+2] = r1;
-            sample_buffer32[i+3] = r6;
-            sample_buffer32[i+4] = r4;
-            sample_buffer32[i+5] = r5;
-        }
-    }
-
-    for (i = 0; i < samples; i++)
-    {
-        data[i*4] = (char)(sample_buffer32[i] & 0xFF);
-        data[i*4+1] = (char)((sample_buffer32[i] >> 8) & 0xFF);
-        data[i*4+2] = (char)((sample_buffer32[i] >> 16) & 0xFF);
-        data[i*4+3] = (char)((sample_buffer32[i] >> 24) & 0xFF);
-    }
-
-    ret = fwrite(data, samples, aufile->bits_per_sample/8, aufile->sndfile);
-
-    if (data) free(data);
-
-    return ret;
-}
-
-static int write_audio_float(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples)
-{
-    int ret;
-    unsigned int i;
-    float *sample_buffer_f = (float*)sample_buffer;
-    unsigned char *data = malloc(samples*aufile->bits_per_sample*sizeof(char)/8);
-
-    aufile->total_samples += samples;
-
-    if (aufile->channels == 6 && aufile->channelMask)
-    {
-        for (i = 0; i < samples; i += aufile->channels)
-        {
-            float r1, r2, r3, r4, r5, r6;
-            r1 = sample_buffer_f[i];
-            r2 = sample_buffer_f[i+1];
-            r3 = sample_buffer_f[i+2];
-            r4 = sample_buffer_f[i+3];
-            r5 = sample_buffer_f[i+4];
-            r6 = sample_buffer_f[i+5];
-            sample_buffer_f[i] = r2;
-            sample_buffer_f[i+1] = r3;
-            sample_buffer_f[i+2] = r1;
-            sample_buffer_f[i+3] = r6;
-            sample_buffer_f[i+4] = r4;
-            sample_buffer_f[i+5] = r5;
-        }
-    }
-
-    for (i = 0; i < samples; i++)
-    {
-        int exponent, mantissa, negative = 0 ;
-        float in = sample_buffer_f[i];
-
-        data[i*4] = 0; data[i*4+1] = 0; data[i*4+2] = 0; data[i*4+3] = 0;
-        if (in == 0.0)
-            continue;
-
-        if (in < 0.0)
-        {
-            in *= -1.0;
-            negative = 1;
-        }
-        in = (float)frexp(in, &exponent);
-        exponent += 126;
-        in *= (float)0x1000000;
-        mantissa = (((int)in) & 0x7FFFFF);
-
-        if (negative)
-            data[i*4+3] |= 0x80;
-
-        if (exponent & 0x01)
-            data[i*4+2] |= 0x80;
-
-        data[i*4] = mantissa & 0xFF;
-        data[i*4+1] = (mantissa >> 8) & 0xFF;
-        data[i*4+2] |= (mantissa >> 16) & 0x7F;
-        data[i*4+3] |= (exponent >> 1) & 0x7F;
-    }
-
-    ret = fwrite(data, samples, aufile->bits_per_sample/8, aufile->sndfile);
-
-    if (data) free(data);
-
-    return ret;
-}
diff --git a/lib/libfaad2/frontend/audio.h b/lib/libfaad2/frontend/audio.h
deleted file mode 100644 (file)
index 72003d3..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: audio.h,v 1.19 2007/11/01 12:33:29 menno Exp $
-**/
-
-#ifndef AUDIO_H_INCLUDED
-#define AUDIO_H_INCLUDED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define MAXWAVESIZE     4294967040LU
-
-#define OUTPUT_WAV 1
-#define OUTPUT_RAW 2
-
-typedef struct
-{
-    int toStdio;
-    int outputFormat;
-    FILE *sndfile;
-    unsigned int fileType;
-    unsigned long samplerate;
-    unsigned int bits_per_sample;
-    unsigned int channels;
-    unsigned long total_samples;
-    long channelMask;
-} audio_file;
-
-audio_file *open_audio_file(char *infile, int samplerate, int channels,
-                            int outputFormat, int fileType, long channelMask);
-int write_audio_file(audio_file *aufile, void *sample_buffer, int samples, int offset);
-void close_audio_file(audio_file *aufile);
-static int write_wav_header(audio_file *aufile);
-static int write_wav_extensible_header(audio_file *aufile, long channelMask);
-static int write_audio_16bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples);
-static int write_audio_24bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples);
-static int write_audio_32bit(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples);
-static int write_audio_float(audio_file *aufile, void *sample_buffer,
-                             unsigned int samples);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/frontend/faad.dsp b/lib/libfaad2/frontend/faad.dsp
deleted file mode 100644 (file)
index 89ab513..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-# Microsoft Developer Studio Project File - Name="faad" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=faad - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "faad.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "faad.mak" CFG="faad - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "faad - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "faad - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=xicl6.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "faad - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /I "../include" /I "../common/mp4ff" /I "../common/faad" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x413 /d "NDEBUG"
-# ADD RSC /l 0x413 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 Advapi32.lib /nologo /subsystem:console /machine:I386
-# SUBTRACT LINK32 /profile
-
-!ELSEIF  "$(CFG)" == "faad - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /I "../include" /I "../common/mp4ff" /I "../common/faad" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x413 /d "_DEBUG"
-# ADD RSC /l 0x413 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 Advapi32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "faad - Win32 Release"
-# Name "faad - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\audio.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\faad\getopt.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\main.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\audio.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\faad\getopt.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\mp4ff\mp4ff.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\common\mp4ff\mp4ff_int_types.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\include\neaacdec.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/lib/libfaad2/frontend/faad.dsw b/lib/libfaad2/frontend/faad.dsw
deleted file mode 100644 (file)
index b936354..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "faad"=.\faad.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libfaad
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name mp4ff
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libfaad"=..\libfaad\libfaad.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "mp4ff"=..\common\mp4ff\mp4ff.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/lib/libfaad2/frontend/faad.sln b/lib/libfaad2/frontend/faad.sln
deleted file mode 100644 (file)
index 64e429f..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual C++ Express 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "faad", "faad.vcproj", "{2BD8CBB3-DFC9-4A6A-9B7A-07ED749BED58}"
-       ProjectSection(ProjectDependencies) = postProject
-               {BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114} = {BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114}
-               {F470BB4A-7675-4D6A-B310-41F33AC6F987} = {F470BB4A-7675-4D6A-B310-41F33AC6F987}
-       EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfaad", "..\libfaad\libfaad.vcproj", "{BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mp4ff", "..\common\mp4ff\mp4ff.vcproj", "{F470BB4A-7675-4D6A-B310-41F33AC6F987}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Win32 = Debug|Win32
-               Release|Win32 = Release|Win32
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {2BD8CBB3-DFC9-4A6A-9B7A-07ED749BED58}.Debug|Win32.ActiveCfg = Debug|Win32
-               {2BD8CBB3-DFC9-4A6A-9B7A-07ED749BED58}.Debug|Win32.Build.0 = Debug|Win32
-               {2BD8CBB3-DFC9-4A6A-9B7A-07ED749BED58}.Release|Win32.ActiveCfg = Release|Win32
-               {2BD8CBB3-DFC9-4A6A-9B7A-07ED749BED58}.Release|Win32.Build.0 = Release|Win32
-               {BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114}.Debug|Win32.ActiveCfg = Debug|Win32
-               {BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114}.Debug|Win32.Build.0 = Debug|Win32
-               {BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114}.Release|Win32.ActiveCfg = Release|Win32
-               {BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114}.Release|Win32.Build.0 = Release|Win32
-               {F470BB4A-7675-4D6A-B310-41F33AC6F987}.Debug|Win32.ActiveCfg = Debug|Win32
-               {F470BB4A-7675-4D6A-B310-41F33AC6F987}.Debug|Win32.Build.0 = Debug|Win32
-               {F470BB4A-7675-4D6A-B310-41F33AC6F987}.Release|Win32.ActiveCfg = Release|Win32
-               {F470BB4A-7675-4D6A-B310-41F33AC6F987}.Release|Win32.Build.0 = Release|Win32
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-EndGlobal
diff --git a/lib/libfaad2/frontend/faad.vcproj b/lib/libfaad2/frontend/faad.vcproj
deleted file mode 100644 (file)
index a461ee5..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="8,00"
-       Name="faad"
-       ProjectGUID="{2BD8CBB3-DFC9-4A6A-9B7A-07ED749BED58}"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="1"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               TypeLibraryName=".\Debug/faad.tlb"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               AdditionalOptions=""
-                               Optimization="0"
-                               AdditionalIncludeDirectories="../include,../common/mp4ff,../common/faad"
-                               PreprocessorDefinitions="WIN32,_DEBUG,_CONSOLE"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Debug/faad.pch"
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               DebugInformationFormat="4"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1043"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="ws2_32.lib odbc32.lib odbccp32.lib Advapi32.lib"
-                               OutputFile=".\Debug/faad.exe"
-                               LinkIncremental="2"
-                               SuppressStartupBanner="true"
-                               GenerateDebugInformation="true"
-                               ProgramDatabaseFile=".\Debug/faad.pdb"
-                               SubSystem="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCWebDeploymentTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="1"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               TypeLibraryName=".\Release/faad.tlb"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               AdditionalOptions=""
-                               Optimization="1"
-                               InlineFunctionExpansion="1"
-                               EnableIntrinsicFunctions="true"
-                               FavorSizeOrSpeed="1"
-                               AdditionalIncludeDirectories="../include,../common/mp4ff,../common/faad"
-                               PreprocessorDefinitions="WIN32,NDEBUG,_CONSOLE"
-                               StringPooling="true"
-                               RuntimeLibrary="2"
-                               EnableFunctionLevelLinking="true"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Release/faad.pch"
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1043"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="ws2_32.lib Advapi32.lib"
-                               OutputFile=".\Release/faad.exe"
-                               LinkIncremental="1"
-                               SuppressStartupBanner="true"
-                               SubSystem="1"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCWebDeploymentTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-                       >
-                       <File
-                               RelativePath=".\audio.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\common\faad\getopt.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\main.c"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl"
-                       >
-                       <File
-                               RelativePath=".\audio.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\include\faad.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\common\faad\getopt.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\common\mp4v2\mp4.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\common\mp4v2\mpeg4ip.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\common\mp4v2\systems.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="..\common\mp4v2\win32_ver.h"
-                               >
-                       </File>
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/lib/libfaad2/frontend/main.c b/lib/libfaad2/frontend/main.c
deleted file mode 100644 (file)
index 94c6e58..0000000
+++ /dev/null
@@ -1,1261 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: main.c,v 1.81 2007/11/01 12:33:29 menno Exp $
-**/
-
-#ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#define off_t __int64
-#else
-#include <time.h>
-#endif
-
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <getopt.h>
-
-#include <neaacdec.h>
-#include <mp4ff.h>
-
-#include "audio.h"
-
-#ifndef min
-#define min(a,b) ( (a) < (b) ? (a) : (b) )
-#endif
-
-#define MAX_CHANNELS 6 /* make this higher to support files with
-                          more channels */
-
-
-static int quiet = 0;
-
-void faad_fprintf(FILE *stream, const char *fmt, ...)
-{
-    va_list ap;
-
-    if (!quiet)
-    {
-        va_start(ap, fmt);
-
-        vfprintf(stream, fmt, ap);
-
-        va_end(ap);
-    }
-}
-
-/* FAAD file buffering routines */
-typedef struct {
-    long bytes_into_buffer;
-    long bytes_consumed;
-    long file_offset;
-    unsigned char *buffer;
-    int at_eof;
-    FILE *infile;
-} aac_buffer;
-
-
-int fill_buffer(aac_buffer *b)
-{
-    int bread;
-
-    if (b->bytes_consumed > 0)
-    {
-        if (b->bytes_into_buffer)
-        {
-            memmove((void*)b->buffer, (void*)(b->buffer + b->bytes_consumed),
-                b->bytes_into_buffer*sizeof(unsigned char));
-        }
-
-        if (!b->at_eof)
-        {
-            bread = fread((void*)(b->buffer + b->bytes_into_buffer), 1,
-                b->bytes_consumed, b->infile);
-
-            if (bread != b->bytes_consumed)
-                b->at_eof = 1;
-
-            b->bytes_into_buffer += bread;
-        }
-
-        b->bytes_consumed = 0;
-
-        if (b->bytes_into_buffer > 3)
-        {
-            if (memcmp(b->buffer, "TAG", 3) == 0)
-                b->bytes_into_buffer = 0;
-        }
-        if (b->bytes_into_buffer > 11)
-        {
-            if (memcmp(b->buffer, "LYRICSBEGIN", 11) == 0)
-                b->bytes_into_buffer = 0;
-        }
-        if (b->bytes_into_buffer > 8)
-        {
-            if (memcmp(b->buffer, "APETAGEX", 8) == 0)
-                b->bytes_into_buffer = 0;
-        }
-    }
-
-    return 1;
-}
-
-void advance_buffer(aac_buffer *b, int bytes)
-{
-    b->file_offset += bytes;
-    b->bytes_consumed = bytes;
-    b->bytes_into_buffer -= bytes;
-}
-
-static int adts_sample_rates[] = {96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000,7350,0,0,0};
-
-int adts_parse(aac_buffer *b, int *bitrate, float *length)
-{
-    int frames, frame_length;
-    int t_framelength = 0;
-    int samplerate;
-    float frames_per_sec, bytes_per_frame;
-
-    /* Read all frames to ensure correct time and bitrate */
-    for (frames = 0; /* */; frames++)
-    {
-        fill_buffer(b);
-
-        if (b->bytes_into_buffer > 7)
-        {
-            /* check syncword */
-            if (!((b->buffer[0] == 0xFF)&&((b->buffer[1] & 0xF6) == 0xF0)))
-                break;
-
-            if (frames == 0)
-                samplerate = adts_sample_rates[(b->buffer[2]&0x3c)>>2];
-
-            frame_length = ((((unsigned int)b->buffer[3] & 0x3)) << 11)
-                | (((unsigned int)b->buffer[4]) << 3) | (b->buffer[5] >> 5);
-
-            t_framelength += frame_length;
-
-            if (frame_length > b->bytes_into_buffer)
-                break;
-
-            advance_buffer(b, frame_length);
-        } else {
-            break;
-        }
-    }
-
-    frames_per_sec = (float)samplerate/1024.0f;
-    if (frames != 0)
-        bytes_per_frame = (float)t_framelength/(float)(frames*1000);
-    else
-        bytes_per_frame = 0;
-    *bitrate = (int)(8. * bytes_per_frame * frames_per_sec + 0.5);
-    if (frames_per_sec != 0)
-        *length = (float)frames/frames_per_sec;
-    else
-        *length = 1;
-
-    return 1;
-}
-
-
-
-uint32_t read_callback(void *user_data, void *buffer, uint32_t length)
-{
-    return fread(buffer, 1, length, (FILE*)user_data);
-}
-
-uint32_t seek_callback(void *user_data, uint64_t position)
-{
-    return fseek((FILE*)user_data, position, SEEK_SET);
-}
-
-/* MicroSoft channel definitions */
-#define SPEAKER_FRONT_LEFT             0x1
-#define SPEAKER_FRONT_RIGHT            0x2
-#define SPEAKER_FRONT_CENTER           0x4
-#define SPEAKER_LOW_FREQUENCY          0x8
-#define SPEAKER_BACK_LEFT              0x10
-#define SPEAKER_BACK_RIGHT             0x20
-#define SPEAKER_FRONT_LEFT_OF_CENTER   0x40
-#define SPEAKER_FRONT_RIGHT_OF_CENTER  0x80
-#define SPEAKER_BACK_CENTER            0x100
-#define SPEAKER_SIDE_LEFT              0x200
-#define SPEAKER_SIDE_RIGHT             0x400
-#define SPEAKER_TOP_CENTER             0x800
-#define SPEAKER_TOP_FRONT_LEFT         0x1000
-#define SPEAKER_TOP_FRONT_CENTER       0x2000
-#define SPEAKER_TOP_FRONT_RIGHT        0x4000
-#define SPEAKER_TOP_BACK_LEFT          0x8000
-#define SPEAKER_TOP_BACK_CENTER        0x10000
-#define SPEAKER_TOP_BACK_RIGHT         0x20000
-#define SPEAKER_RESERVED               0x80000000
-
-long aacChannelConfig2wavexChannelMask(NeAACDecFrameInfo *hInfo)
-{
-    if (hInfo->channels == 6 && hInfo->num_lfe_channels)
-    {
-        return SPEAKER_FRONT_LEFT + SPEAKER_FRONT_RIGHT +
-            SPEAKER_FRONT_CENTER + SPEAKER_LOW_FREQUENCY +
-            SPEAKER_BACK_LEFT + SPEAKER_BACK_RIGHT;
-    } else {
-        return 0;
-    }
-}
-
-char *position2string(int position)
-{
-    switch (position)
-    {
-    case FRONT_CHANNEL_CENTER: return "Center front";
-    case FRONT_CHANNEL_LEFT:   return "Left front";
-    case FRONT_CHANNEL_RIGHT:  return "Right front";
-    case SIDE_CHANNEL_LEFT:    return "Left side";
-    case SIDE_CHANNEL_RIGHT:   return "Right side";
-    case BACK_CHANNEL_LEFT:    return "Left back";
-    case BACK_CHANNEL_RIGHT:   return "Right back";
-    case BACK_CHANNEL_CENTER:  return "Center back";
-    case LFE_CHANNEL:          return "LFE";
-    case UNKNOWN_CHANNEL:      return "Unknown";
-    default: return "";
-    }
-
-    return "";
-}
-
-void print_channel_info(NeAACDecFrameInfo *frameInfo)
-{
-    /* print some channel info */
-    int i;
-    long channelMask = aacChannelConfig2wavexChannelMask(frameInfo);
-
-    faad_fprintf(stderr, "  ---------------------\n");
-    if (frameInfo->num_lfe_channels > 0)
-    {
-        faad_fprintf(stderr, " | Config: %2d.%d Ch     |", frameInfo->channels-frameInfo->num_lfe_channels, frameInfo->num_lfe_channels);
-    } else {
-        faad_fprintf(stderr, " | Config: %2d Ch       |", frameInfo->channels);
-    }
-    if (channelMask)
-        faad_fprintf(stderr, " WARNING: channels are reordered according to\n");
-    else
-        faad_fprintf(stderr, "\n");
-    faad_fprintf(stderr, "  ---------------------");
-    if (channelMask)
-        faad_fprintf(stderr, "  MS defaults defined in WAVE_FORMAT_EXTENSIBLE\n");
-    else
-        faad_fprintf(stderr, "\n");
-    faad_fprintf(stderr, " | Ch |    Position    |\n");
-    faad_fprintf(stderr, "  ---------------------\n");
-    for (i = 0; i < frameInfo->channels; i++)
-    {
-        faad_fprintf(stderr, " | %.2d | %-14s |\n", i, position2string((int)frameInfo->channel_position[i]));
-    }
-    faad_fprintf(stderr, "  ---------------------\n");
-    faad_fprintf(stderr, "\n");
-}
-
-int FindAdtsSRIndex(int sr)
-{
-    int i;
-
-    for (i = 0; i < 16; i++)
-    {
-        if (sr == adts_sample_rates[i])
-            return i;
-    }
-    return 16 - 1;
-}
-
-unsigned char *MakeAdtsHeader(int *dataSize, NeAACDecFrameInfo *hInfo, int old_format)
-{
-    unsigned char *data;
-    int profile = (hInfo->object_type - 1) & 0x3;
-    int sr_index = ((hInfo->sbr == SBR_UPSAMPLED) || (hInfo->sbr == NO_SBR_UPSAMPLED)) ?
-        FindAdtsSRIndex(hInfo->samplerate / 2) : FindAdtsSRIndex(hInfo->samplerate);
-    int skip = (old_format) ? 8 : 7;
-    int framesize = skip + hInfo->bytesconsumed;
-
-    if (hInfo->header_type == ADTS)
-        framesize -= skip;
-
-    *dataSize = 7;
-
-    data = malloc(*dataSize * sizeof(unsigned char));
-    memset(data, 0, *dataSize * sizeof(unsigned char));
-
-    data[0] += 0xFF; /* 8b: syncword */
-
-    data[1] += 0xF0; /* 4b: syncword */
-    /* 1b: mpeg id = 0 */
-    /* 2b: layer = 0 */
-    data[1] += 1; /* 1b: protection absent */
-
-    data[2] += ((profile << 6) & 0xC0); /* 2b: profile */
-    data[2] += ((sr_index << 2) & 0x3C); /* 4b: sampling_frequency_index */
-    /* 1b: private = 0 */
-    data[2] += ((hInfo->channels >> 2) & 0x1); /* 1b: channel_configuration */
-
-    data[3] += ((hInfo->channels << 6) & 0xC0); /* 2b: channel_configuration */
-    /* 1b: original */
-    /* 1b: home */
-    /* 1b: copyright_id */
-    /* 1b: copyright_id_start */
-    data[3] += ((framesize >> 11) & 0x3); /* 2b: aac_frame_length */
-
-    data[4] += ((framesize >> 3) & 0xFF); /* 8b: aac_frame_length */
-
-    data[5] += ((framesize << 5) & 0xE0); /* 3b: aac_frame_length */
-    data[5] += ((0x7FF >> 6) & 0x1F); /* 5b: adts_buffer_fullness */
-
-    data[6] += ((0x7FF << 2) & 0x3F); /* 6b: adts_buffer_fullness */
-    /* 2b: num_raw_data_blocks */
-
-    return data;
-}
-
-/* globals */
-char *progName;
-
-char *file_ext[] =
-{
-    NULL,
-    ".wav",
-    ".aif",
-    ".au",
-    ".au",
-    ".pcm",
-    NULL
-};
-
-void usage(void)
-{
-    faad_fprintf(stdout, "\nUsage:\n");
-    faad_fprintf(stdout, "%s [options] infile.aac\n", progName);
-    faad_fprintf(stdout, "Options:\n");
-    faad_fprintf(stdout, " -h    Shows this help screen.\n");
-    faad_fprintf(stdout, " -i    Shows info about the input file.\n");
-    faad_fprintf(stdout, " -a X  Write MPEG-4 AAC ADTS output file.\n");
-    faad_fprintf(stdout, " -t    Assume old ADTS format.\n");
-    faad_fprintf(stdout, " -o X  Set output filename.\n");
-    faad_fprintf(stdout, " -f X  Set output format. Valid values for X are:\n");
-    faad_fprintf(stdout, "        1:  Microsoft WAV format (default).\n");
-    faad_fprintf(stdout, "        2:  RAW PCM data.\n");
-    faad_fprintf(stdout, " -b X  Set output sample format. Valid values for X are:\n");
-    faad_fprintf(stdout, "        1:  16 bit PCM data (default).\n");
-    faad_fprintf(stdout, "        2:  24 bit PCM data.\n");
-    faad_fprintf(stdout, "        3:  32 bit PCM data.\n");
-    faad_fprintf(stdout, "        4:  32 bit floating point data.\n");
-    faad_fprintf(stdout, "        5:  64 bit floating point data.\n");
-    faad_fprintf(stdout, " -s X  Force the samplerate to X (for RAW files).\n");
-    faad_fprintf(stdout, " -l X  Set object type. Supported object types:\n");
-    faad_fprintf(stdout, "        1:  Main object type.\n");
-    faad_fprintf(stdout, "        2:  LC (Low Complexity) object type.\n");
-    faad_fprintf(stdout, "        4:  LTP (Long Term Prediction) object type.\n");
-    faad_fprintf(stdout, "        23: LD (Low Delay) object type.\n");
-    faad_fprintf(stdout, " -d    Down matrix 5.1 to 2 channels\n");
-    faad_fprintf(stdout, " -w    Write output to stdio instead of a file.\n");
-    faad_fprintf(stdout, " -g    Disable gapless decoding.\n");
-    faad_fprintf(stdout, " -q    Quiet - suppresses status messages.\n");
-    faad_fprintf(stdout, "Example:\n");
-    faad_fprintf(stdout, "       %s infile.aac\n", progName);
-    faad_fprintf(stdout, "       %s infile.mp4\n", progName);
-    faad_fprintf(stdout, "       %s -o outfile.wav infile.aac\n", progName);
-    faad_fprintf(stdout, "       %s -w infile.aac > outfile.wav\n", progName);
-    faad_fprintf(stdout, "       %s -a outfile.aac infile.aac\n", progName);
-    return;
-}
-
-int decodeAACfile(char *aacfile, char *sndfile, char *adts_fn, int to_stdout,
-                  int def_srate, int object_type, int outputFormat, int fileType,
-                  int downMatrix, int infoOnly, int adts_out, int old_format,
-                  float *song_length)
-{
-    int tagsize;
-    unsigned long samplerate;
-    unsigned char channels;
-    void *sample_buffer;
-
-    audio_file *aufile;
-
-    FILE *adtsFile;
-    unsigned char *adtsData;
-    int adtsDataSize;
-
-    NeAACDecHandle hDecoder;
-    NeAACDecFrameInfo frameInfo;
-    NeAACDecConfigurationPtr config;
-
-    char percents[200];
-    int percent, old_percent = -1;
-    int bread, fileread;
-    int header_type = 0;
-    int bitrate = 0;
-    float length = 0;
-
-    int first_time = 1;
-
-    aac_buffer b;
-
-    memset(&b, 0, sizeof(aac_buffer));
-
-    if (adts_out)
-    {
-        adtsFile = fopen(adts_fn, "wb");
-        if (adtsFile == NULL)
-        {
-            faad_fprintf(stderr, "Error opening file: %s\n", adts_fn);
-            return 1;
-        }
-    }
-
-    b.infile = fopen(aacfile, "rb");
-    if (b.infile == NULL)
-    {
-        /* unable to open file */
-        faad_fprintf(stderr, "Error opening file: %s\n", aacfile);
-        return 1;
-    }
-
-    fseek(b.infile, 0, SEEK_END);
-    fileread = ftell(b.infile);
-    fseek(b.infile, 0, SEEK_SET);
-
-    if (!(b.buffer = (unsigned char*)malloc(FAAD_MIN_STREAMSIZE*MAX_CHANNELS)))
-    {
-        faad_fprintf(stderr, "Memory allocation error\n");
-        return 0;
-    }
-    memset(b.buffer, 0, FAAD_MIN_STREAMSIZE*MAX_CHANNELS);
-
-    bread = fread(b.buffer, 1, FAAD_MIN_STREAMSIZE*MAX_CHANNELS, b.infile);
-    b.bytes_into_buffer = bread;
-    b.bytes_consumed = 0;
-    b.file_offset = 0;
-
-    if (bread != FAAD_MIN_STREAMSIZE*MAX_CHANNELS)
-        b.at_eof = 1;
-
-    tagsize = 0;
-    if (!memcmp(b.buffer, "ID3", 3))
-    {
-        /* high bit is not used */
-        tagsize = (b.buffer[6] << 21) | (b.buffer[7] << 14) |
-            (b.buffer[8] <<  7) | (b.buffer[9] <<  0);
-
-        tagsize += 10;
-        advance_buffer(&b, tagsize);
-        fill_buffer(&b);
-    }
-
-    hDecoder = NeAACDecOpen();
-
-    /* Set the default object type and samplerate */
-    /* This is useful for RAW AAC files */
-    config = NeAACDecGetCurrentConfiguration(hDecoder);
-    if (def_srate)
-        config->defSampleRate = def_srate;
-    config->defObjectType = object_type;
-    config->outputFormat = outputFormat;
-    config->downMatrix = downMatrix;
-    config->useOldADTSFormat = old_format;
-    //config->dontUpSampleImplicitSBR = 1;
-    NeAACDecSetConfiguration(hDecoder, config);
-
-    /* get AAC infos for printing */
-    header_type = 0;
-    if ((b.buffer[0] == 0xFF) && ((b.buffer[1] & 0xF6) == 0xF0))
-    {
-        adts_parse(&b, &bitrate, &length);
-        fseek(b.infile, tagsize, SEEK_SET);
-
-        bread = fread(b.buffer, 1, FAAD_MIN_STREAMSIZE*MAX_CHANNELS, b.infile);
-        if (bread != FAAD_MIN_STREAMSIZE*MAX_CHANNELS)
-            b.at_eof = 1;
-        else
-            b.at_eof = 0;
-        b.bytes_into_buffer = bread;
-        b.bytes_consumed = 0;
-        b.file_offset = tagsize;
-
-        header_type = 1;
-    } else if (memcmp(b.buffer, "ADIF", 4) == 0) {
-        int skip_size = (b.buffer[4] & 0x80) ? 9 : 0;
-        bitrate = ((unsigned int)(b.buffer[4 + skip_size] & 0x0F)<<19) |
-            ((unsigned int)b.buffer[5 + skip_size]<<11) |
-            ((unsigned int)b.buffer[6 + skip_size]<<3) |
-            ((unsigned int)b.buffer[7 + skip_size] & 0xE0);
-
-        length = (float)fileread;
-        if (length != 0)
-        {
-            length = ((float)length*8.f)/((float)bitrate) + 0.5f;
-        }
-
-        bitrate = (int)((float)bitrate/1000.0f + 0.5f);
-
-        header_type = 2;
-    }
-
-    *song_length = length;
-
-    fill_buffer(&b);
-    if ((bread = NeAACDecInit(hDecoder, b.buffer,
-        b.bytes_into_buffer, &samplerate, &channels)) < 0)
-    {
-        /* If some error initializing occured, skip the file */
-        faad_fprintf(stderr, "Error initializing decoder library.\n");
-        if (b.buffer)
-            free(b.buffer);
-        NeAACDecClose(hDecoder);
-        fclose(b.infile);
-        return 1;
-    }
-    advance_buffer(&b, bread);
-    fill_buffer(&b);
-
-    /* print AAC file info */
-    faad_fprintf(stderr, "%s file info:\n", aacfile);
-    switch (header_type)
-    {
-    case 0:
-        faad_fprintf(stderr, "RAW\n\n");
-        break;
-    case 1:
-        faad_fprintf(stderr, "ADTS, %.3f sec, %d kbps, %d Hz\n\n",
-            length, bitrate, samplerate);
-        break;
-    case 2:
-        faad_fprintf(stderr, "ADIF, %.3f sec, %d kbps, %d Hz\n\n",
-            length, bitrate, samplerate);
-        break;
-    }
-
-    if (infoOnly)
-    {
-        NeAACDecClose(hDecoder);
-        fclose(b.infile);
-        if (b.buffer)
-            free(b.buffer);
-        return 0;
-    }
-
-    do
-    {
-        sample_buffer = NeAACDecDecode(hDecoder, &frameInfo,
-            b.buffer, b.bytes_into_buffer);
-
-        if (adts_out == 1)
-        {
-            int skip = (old_format) ? 8 : 7;
-            adtsData = MakeAdtsHeader(&adtsDataSize, &frameInfo, old_format);
-
-            /* write the adts header */
-            fwrite(adtsData, 1, adtsDataSize, adtsFile);
-
-            /* write the frame data */
-            if (frameInfo.header_type == ADTS)
-                fwrite(b.buffer + skip, 1, frameInfo.bytesconsumed - skip, adtsFile);
-            else
-                fwrite(b.buffer, 1, frameInfo.bytesconsumed, adtsFile);
-        }
-
-        /* update buffer indices */
-        advance_buffer(&b, frameInfo.bytesconsumed);
-
-        if (frameInfo.error > 0)
-        {
-            faad_fprintf(stderr, "Error: %s\n",
-                NeAACDecGetErrorMessage(frameInfo.error));
-        }
-
-        /* open the sound file now that the number of channels are known */
-        if (first_time && !frameInfo.error)
-        {
-            /* print some channel info */
-            print_channel_info(&frameInfo);
-
-            if (!adts_out)
-            {
-                /* open output file */
-                if (!to_stdout)
-                {
-                    aufile = open_audio_file(sndfile, frameInfo.samplerate, frameInfo.channels,
-                        outputFormat, fileType, aacChannelConfig2wavexChannelMask(&frameInfo));
-                } else {
-                    aufile = open_audio_file("-", frameInfo.samplerate, frameInfo.channels,
-                        outputFormat, fileType, aacChannelConfig2wavexChannelMask(&frameInfo));
-                }
-                if (aufile == NULL)
-                {
-                    if (b.buffer)
-                        free(b.buffer);
-                    NeAACDecClose(hDecoder);
-                    fclose(b.infile);
-                    return 0;
-                }
-            } else {
-                faad_fprintf(stderr, "Writing output MPEG-4 AAC ADTS file.\n\n");
-            }
-            first_time = 0;
-        }
-
-        percent = min((int)(b.file_offset*100)/fileread, 100);
-        if (percent > old_percent)
-        {
-            old_percent = percent;
-            sprintf(percents, "%d%% decoding %s.", percent, aacfile);
-            faad_fprintf(stderr, "%s\r", percents);
-#ifdef _WIN32
-            SetConsoleTitle(percents);
-#endif
-        }
-
-        if ((frameInfo.error == 0) && (frameInfo.samples > 0) && (!adts_out))
-        {
-            write_audio_file(aufile, sample_buffer, frameInfo.samples, 0);
-        }
-
-        /* fill buffer */
-        fill_buffer(&b);
-
-        if (b.bytes_into_buffer == 0)
-            sample_buffer = NULL; /* to make sure it stops now */
-
-    } while (sample_buffer != NULL);
-
-    NeAACDecClose(hDecoder);
-
-    if (adts_out == 1)
-    {
-        fclose(adtsFile);
-    }
-
-    fclose(b.infile);
-
-    if (!first_time && !adts_out)
-        close_audio_file(aufile);
-
-    if (b.buffer)
-        free(b.buffer);
-
-    return frameInfo.error;
-}
-
-int GetAACTrack(mp4ff_t *infile)
-{
-    /* find AAC track */
-    int i, rc;
-    int numTracks = mp4ff_total_tracks(infile);
-
-    for (i = 0; i < numTracks; i++)
-    {
-        unsigned char *buff = NULL;
-        int buff_size = 0;
-        mp4AudioSpecificConfig mp4ASC;
-
-        mp4ff_get_decoder_config(infile, i, &buff, &buff_size);
-
-        if (buff)
-        {
-            rc = NeAACDecAudioSpecificConfig(buff, buff_size, &mp4ASC);
-            free(buff);
-
-            if (rc < 0)
-                continue;
-            return i;
-        }
-    }
-
-    /* can't decode this */
-    return -1;
-}
-
-unsigned long srates[] =
-{
-    96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000,
-    12000, 11025, 8000
-};
-
-int decodeMP4file(char *mp4file, char *sndfile, char *adts_fn, int to_stdout,
-                  int outputFormat, int fileType, int downMatrix, int noGapless,
-                  int infoOnly, int adts_out, float *song_length)
-{
-    int track;
-    unsigned long samplerate;
-    unsigned char channels;
-    void *sample_buffer;
-
-    mp4ff_t *infile;
-    long sampleId, numSamples;
-
-    audio_file *aufile;
-
-    FILE *mp4File;
-    FILE *adtsFile;
-    unsigned char *adtsData;
-    int adtsDataSize;
-
-    NeAACDecHandle hDecoder;
-    NeAACDecConfigurationPtr config;
-    NeAACDecFrameInfo frameInfo;
-    mp4AudioSpecificConfig mp4ASC;
-
-    unsigned char *buffer;
-    int buffer_size;
-
-    char percents[200];
-    int percent, old_percent = -1;
-
-    int first_time = 1;
-
-    /* for gapless decoding */
-    unsigned int useAacLength = 1;
-    unsigned int initial = 1;
-    unsigned int framesize;
-    unsigned long timescale;
-
-
-    /* initialise the callback structure */
-    mp4ff_callback_t *mp4cb = malloc(sizeof(mp4ff_callback_t));
-
-    mp4File = fopen(mp4file, "rb");
-    mp4cb->read = read_callback;
-    mp4cb->seek = seek_callback;
-    mp4cb->user_data = mp4File;
-
-
-    hDecoder = NeAACDecOpen();
-
-    /* Set configuration */
-    config = NeAACDecGetCurrentConfiguration(hDecoder);
-    config->outputFormat = outputFormat;
-    config->downMatrix = downMatrix;
-    //config->dontUpSampleImplicitSBR = 1;
-    NeAACDecSetConfiguration(hDecoder, config);
-
-    if (adts_out)
-    {
-        adtsFile = fopen(adts_fn, "wb");
-        if (adtsFile == NULL)
-        {
-            faad_fprintf(stderr, "Error opening file: %s\n", adts_fn);
-            return 1;
-        }
-    }
-
-    infile = mp4ff_open_read(mp4cb);
-    if (!infile)
-    {
-        /* unable to open file */
-        faad_fprintf(stderr, "Error opening file: %s\n", mp4file);
-        return 1;
-    }
-
-    if ((track = GetAACTrack(infile)) < 0)
-    {
-        faad_fprintf(stderr, "Unable to find correct AAC sound track in the MP4 file.\n");
-        NeAACDecClose(hDecoder);
-        mp4ff_close(infile);
-        free(mp4cb);
-        fclose(mp4File);
-        return 1;
-    }
-
-    buffer = NULL;
-    buffer_size = 0;
-    mp4ff_get_decoder_config(infile, track, &buffer, &buffer_size);
-
-    if(NeAACDecInit2(hDecoder, buffer, buffer_size,
-                    &samplerate, &channels) < 0)
-    {
-        /* If some error initializing occured, skip the file */
-        faad_fprintf(stderr, "Error initializing decoder library.\n");
-        NeAACDecClose(hDecoder);
-        mp4ff_close(infile);
-        free(mp4cb);
-        fclose(mp4File);
-        return 1;
-    }
-
-    timescale = mp4ff_time_scale(infile, track);
-    framesize = 1024;
-    useAacLength = 0;
-
-    if (buffer)
-    {
-        if (NeAACDecAudioSpecificConfig(buffer, buffer_size, &mp4ASC) >= 0)
-        {
-            if (mp4ASC.frameLengthFlag == 1) framesize = 960;
-            if (mp4ASC.sbr_present_flag == 1) framesize *= 2;
-        }
-        free(buffer);
-    }
-
-    /* print some mp4 file info */
-    faad_fprintf(stderr, "%s file info:\n\n", mp4file);
-    {
-        char *tag = NULL, *item = NULL;
-        int k, j;
-        char *ot[6] = { "NULL", "MAIN AAC", "LC AAC", "SSR AAC", "LTP AAC", "HE AAC" };
-        long samples = mp4ff_num_samples(infile, track);
-        float f = 1024.0;
-        float seconds;
-        if (mp4ASC.sbr_present_flag == 1)
-        {
-            f = f * 2.0;
-        }
-        seconds = (float)samples*(float)(f-1.0)/(float)mp4ASC.samplingFrequency;
-
-        *song_length = seconds;
-
-        faad_fprintf(stderr, "%s\t%.3f secs, %d ch, %d Hz\n\n", ot[(mp4ASC.objectTypeIndex > 5)?0:mp4ASC.objectTypeIndex],
-            seconds, mp4ASC.channelsConfiguration, mp4ASC.samplingFrequency);
-
-#define PRINT_MP4_METADATA
-#ifdef PRINT_MP4_METADATA
-        j = mp4ff_meta_get_num_items(infile);
-        for (k = 0; k < j; k++)
-        {
-            if (mp4ff_meta_get_by_index(infile, k, &item, &tag))
-            {
-                if (item != NULL && tag != NULL)
-                {
-                    faad_fprintf(stderr, "%s: %s\n", item, tag);
-                    free(item); item = NULL;
-                    free(tag); tag = NULL;
-                }
-            }
-        }
-        if (j > 0) faad_fprintf(stderr, "\n");
-#endif
-    }
-
-    if (infoOnly)
-    {
-        NeAACDecClose(hDecoder);
-        mp4ff_close(infile);
-        free(mp4cb);
-        fclose(mp4File);
-        return 0;
-    }
-
-    numSamples = mp4ff_num_samples(infile, track);
-
-    for (sampleId = 0; sampleId < numSamples; sampleId++)
-    {
-        int rc;
-        long dur;
-        unsigned int sample_count;
-        unsigned int delay = 0;
-
-        /* get acces unit from MP4 file */
-        buffer = NULL;
-        buffer_size = 0;
-
-        dur = mp4ff_get_sample_duration(infile, track, sampleId);
-        rc = mp4ff_read_sample(infile, track, sampleId, &buffer,  &buffer_size);
-        if (rc == 0)
-        {
-            faad_fprintf(stderr, "Reading from MP4 file failed.\n");
-            NeAACDecClose(hDecoder);
-            mp4ff_close(infile);
-            free(mp4cb);
-            fclose(mp4File);
-            return 1;
-        }
-
-        sample_buffer = NeAACDecDecode(hDecoder, &frameInfo, buffer, buffer_size);
-
-        if (adts_out == 1)
-        {
-            adtsData = MakeAdtsHeader(&adtsDataSize, &frameInfo, 0);
-
-            /* write the adts header */
-            fwrite(adtsData, 1, adtsDataSize, adtsFile);
-
-            fwrite(buffer, 1, frameInfo.bytesconsumed, adtsFile);
-        }
-
-        if (buffer) free(buffer);
-
-        if (!noGapless)
-        {
-            if (sampleId == 0) dur = 0;
-
-            if (useAacLength || (timescale != samplerate)) {
-                sample_count = frameInfo.samples;
-            } else {
-                sample_count = (unsigned int)(dur * frameInfo.channels);
-
-                if (!useAacLength && !initial && (sampleId < numSamples/2) && (sample_count != frameInfo.samples))
-                {
-                    faad_fprintf(stderr, "MP4 seems to have incorrect frame duration, using values from AAC data.\n");
-                    useAacLength = 1;
-                    sample_count = frameInfo.samples;
-                }
-            }
-
-            if (initial && (sample_count < framesize*frameInfo.channels) && (frameInfo.samples > sample_count))
-                delay = frameInfo.samples - sample_count;
-        } else {
-            sample_count = frameInfo.samples;
-        }
-
-        /* open the sound file now that the number of channels are known */
-        if (first_time && !frameInfo.error)
-        {
-            /* print some channel info */
-            print_channel_info(&frameInfo);
-
-            if (!adts_out)
-            {
-                /* open output file */
-                if(!to_stdout)
-                {
-                    aufile = open_audio_file(sndfile, frameInfo.samplerate, frameInfo.channels,
-                        outputFormat, fileType, aacChannelConfig2wavexChannelMask(&frameInfo));
-                } else {
-#ifdef _WIN32
-                    setmode(fileno(stdout), O_BINARY);
-#endif
-                    aufile = open_audio_file("-", frameInfo.samplerate, frameInfo.channels,
-                        outputFormat, fileType, aacChannelConfig2wavexChannelMask(&frameInfo));
-                }
-                if (aufile == NULL)
-                {
-                    NeAACDecClose(hDecoder);
-                    mp4ff_close(infile);
-                    free(mp4cb);
-                    fclose(mp4File);
-                    return 0;
-                }
-            }
-            first_time = 0;
-        }
-
-        if (sample_count > 0) initial = 0;
-
-        percent = min((int)(sampleId*100)/numSamples, 100);
-        if (percent > old_percent)
-        {
-            old_percent = percent;
-            sprintf(percents, "%d%% decoding %s.", percent, mp4file);
-            faad_fprintf(stderr, "%s\r", percents);
-#ifdef _WIN32
-            SetConsoleTitle(percents);
-#endif
-        }
-
-        if ((frameInfo.error == 0) && (sample_count > 0) && (!adts_out))
-        {
-            write_audio_file(aufile, sample_buffer, sample_count, delay);
-        }
-
-        if (frameInfo.error > 0)
-        {
-            faad_fprintf(stderr, "Warning: %s\n",
-                NeAACDecGetErrorMessage(frameInfo.error));
-        }
-    }
-
-    NeAACDecClose(hDecoder);
-
-    if (adts_out == 1)
-    {
-        fclose(adtsFile);
-    }
-
-    mp4ff_close(infile);
-
-    if (!first_time && !adts_out)
-        close_audio_file(aufile);
-
-    free(mp4cb);
-    fclose(mp4File);
-
-    return frameInfo.error;
-}
-
-int main(int argc, char *argv[])
-{
-    int result;
-    int infoOnly = 0;
-    int writeToStdio = 0;
-    int object_type = LC;
-    int def_srate = 0;
-    int downMatrix = 0;
-    int format = 1;
-    int outputFormat = FAAD_FMT_16BIT;
-    int outfile_set = 0;
-    int adts_out = 0;
-    int old_format = 0;
-    int showHelp = 0;
-    int mp4file = 0;
-    int noGapless = 0;
-    char *fnp;
-    char aacFileName[255];
-    char audioFileName[255];
-    char adtsFileName[255];
-    unsigned char header[8];
-    float length = 0;
-    FILE *hMP4File;
-
-/* System dependant types */
-#ifdef _WIN32
-    long begin;
-#else
-    clock_t begin;
-#endif
-
-    unsigned long cap = NeAACDecGetCapabilities();
-
-
-    /* begin process command line */
-    progName = argv[0];
-    while (1) {
-        int c = -1;
-        int option_index = 0;
-        static struct option long_options[] = {
-            { "quiet",      0, 0, 'q' },
-            { "outfile",    0, 0, 'o' },
-            { "adtsout",    0, 0, 'a' },
-            { "oldformat",  0, 0, 't' },
-            { "format",     0, 0, 'f' },
-            { "bits",       0, 0, 'b' },
-            { "samplerate", 0, 0, 's' },
-            { "objecttype", 0, 0, 'l' },
-            { "downmix",    0, 0, 'd' },
-            { "info",       0, 0, 'i' },
-            { "stdio",      0, 0, 'w' },
-            { "stdio",      0, 0, 'g' },
-            { "help",       0, 0, 'h' },
-            { 0, 0, 0, 0 }
-        };
-
-        c = getopt_long(argc, argv, "o:a:s:f:b:l:wgdhitq",
-            long_options, &option_index);
-
-        if (c == -1)
-            break;
-
-        switch (c) {
-        case 'o':
-            if (optarg)
-            {
-                outfile_set = 1;
-                strcpy(audioFileName, optarg);
-            }
-            break;
-        case 'a':
-            if (optarg)
-            {
-                adts_out = 1;
-                strcpy(adtsFileName, optarg);
-            }
-            break;
-        case 's':
-            if (optarg)
-            {
-                char dr[10];
-                if (sscanf(optarg, "%s", dr) < 1) {
-                    def_srate = 0;
-                } else {
-                    def_srate = atoi(dr);
-                }
-            }
-            break;
-        case 'f':
-            if (optarg)
-            {
-                char dr[10];
-                if (sscanf(optarg, "%s", dr) < 1)
-                {
-                    format = 1;
-                } else {
-                    format = atoi(dr);
-                    if ((format < 1) || (format > 2))
-                        showHelp = 1;
-                }
-            }
-            break;
-        case 'b':
-            if (optarg)
-            {
-                char dr[10];
-                if (sscanf(optarg, "%s", dr) < 1)
-                {
-                    outputFormat = FAAD_FMT_16BIT; /* just use default */
-                } else {
-                    outputFormat = atoi(dr);
-                    if ((outputFormat < 1) || (outputFormat > 5))
-                        showHelp = 1;
-                }
-            }
-            break;
-        case 'l':
-            if (optarg)
-            {
-                char dr[10];
-                if (sscanf(optarg, "%s", dr) < 1)
-                {
-                    object_type = LC; /* default */
-                } else {
-                    object_type = atoi(dr);
-                    if ((object_type != LC) &&
-                        (object_type != MAIN) &&
-                        (object_type != LTP) &&
-                        (object_type != LD))
-                    {
-                        showHelp = 1;
-                    }
-                }
-            }
-            break;
-        case 't':
-            old_format = 1;
-            break;
-        case 'd':
-            downMatrix = 1;
-            break;
-        case 'w':
-            writeToStdio = 1;
-            break;
-        case 'g':
-            noGapless = 1;
-            break;
-        case 'i':
-            infoOnly = 1;
-            break;
-        case 'h':
-            showHelp = 1;
-            break;
-        case 'q':
-            quiet = 1;
-            break;
-        default:
-            break;
-        }
-    }
-
-
-    faad_fprintf(stderr, " *********** Ahead Software MPEG-4 AAC Decoder V%s ******************\n\n", FAAD2_VERSION);
-    faad_fprintf(stderr, " Build: %s\n", __DATE__);
-    faad_fprintf(stderr, " Copyright 2002-2004: Ahead Software AG\n");
-    faad_fprintf(stderr, " http://www.audiocoding.com\n");
-    if (cap & FIXED_POINT_CAP)
-        faad_fprintf(stderr, " Fixed point version\n");
-    else
-        faad_fprintf(stderr, " Floating point version\n");
-    faad_fprintf(stderr, "\n");
-    faad_fprintf(stderr, " This program is free software; you can redistribute it and/or modify\n");
-    faad_fprintf(stderr, " it under the terms of the GNU General Public License.\n");
-    faad_fprintf(stderr, "\n");
-    faad_fprintf(stderr, " **************************************************************************\n\n");
-
-
-    /* check that we have at least two non-option arguments */
-    /* Print help if requested */
-    if (((argc - optind) < 1) || showHelp)
-    {
-        usage();
-        return 1;
-    }
-
-    /* only allow raw data on stdio */
-    if (writeToStdio == 1)
-    {
-        format = 2;
-    }
-
-    /* point to the specified file name */
-    strcpy(aacFileName, argv[optind]);
-
-#ifdef _WIN32
-    begin = GetTickCount();
-#else
-    begin = clock();
-#endif
-
-    /* Only calculate the path and open the file for writing if
-       we are not writing to stdout.
-     */
-    if(!writeToStdio && !outfile_set)
-    {
-        strcpy(audioFileName, aacFileName);
-
-        fnp = (char *)strrchr(audioFileName,'.');
-
-        if (fnp)
-            fnp[0] = '\0';
-
-        strcat(audioFileName, file_ext[format]);
-    }
-
-    /* check for mp4 file */
-    mp4file = 0;
-    hMP4File = fopen(aacFileName, "rb");
-    if (!hMP4File)
-    {
-        faad_fprintf(stderr, "Error opening file: %s\n", aacFileName);
-        return 1;
-    }
-    fread(header, 1, 8, hMP4File);
-    fclose(hMP4File);
-    if (header[4] == 'f' && header[5] == 't' && header[6] == 'y' && header[7] == 'p')
-        mp4file = 1;
-
-    if (mp4file)
-    {
-        result = decodeMP4file(aacFileName, audioFileName, adtsFileName, writeToStdio,
-            outputFormat, format, downMatrix, noGapless, infoOnly, adts_out, &length);
-    } else {
-        result = decodeAACfile(aacFileName, audioFileName, adtsFileName, writeToStdio,
-            def_srate, object_type, outputFormat, format, downMatrix, infoOnly, adts_out,
-            old_format, &length);
-    }
-
-    if (!result && !infoOnly)
-    {
-#ifdef _WIN32
-        float dec_length = (float)(GetTickCount()-begin)/1000.0;
-        SetConsoleTitle("FAAD");
-#else
-        /* clock() grabs time since the start of the app but when we decode
-           multiple files, each file has its own starttime (begin).
-         */
-        float dec_length = (float)(clock() - begin)/(float)CLOCKS_PER_SEC;
-#endif
-        faad_fprintf(stderr, "Decoding %s took: %5.2f sec. %5.2fx real-time.\n", aacFileName,
-            dec_length, length/dec_length);
-    }
-
-    return 0;
-}
diff --git a/lib/libfaad2/in_mpeg4aac.nsi b/lib/libfaad2/in_mpeg4aac.nsi
deleted file mode 100644 (file)
index 9063387..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-Name "AudioCoding.com MP4 Winamp plugin"
-OutFile in_mp4.exe
-CRCCheck on
-LicenseText "You must read the following license before installing."
-LicenseData COPYING
-ComponentText "This will install the AudioCoding.com MP4 Winamp plugin on your computer."
-InstType Normal
-AutoCloseWindow true
-SetOverwrite on
-SetDateSave on
-
-InstallDir $PROGRAMFILES\Winamp
-InstallDirRegKey HKEY_LOCAL_MACHINE "Software\Microsoft\Windows\CurrentVersion\Uninstall\Winamp" "UninstallString"
-;DirShow
-DirText "The installer has detected the path to Winamp. If it is not correct, please change."
-
-Section "AudioCoding.com MP4 Winamp plugin"
-SectionIn 1
-SetOutPath $INSTDIR\Plugins
-File plugins\in_mp4\Release\in_mp4.dll
-SectionEnd
diff --git a/lib/libfaad2/include/faad.h b/lib/libfaad2/include/faad.h
deleted file mode 100644 (file)
index 72f4072..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: faad.h,v 1.51 2007/11/01 12:33:29 menno Exp $
-**/
-
-/* warn people for update */
-#pragma message("please update faad2 include filename and function names!")
-
-/* Backwards compatible link */
-#include "neaacdec.h"
diff --git a/lib/libfaad2/include/neaacdec.h b/lib/libfaad2/include/neaacdec.h
deleted file mode 100644 (file)
index 6ffa54f..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: neaacdec.h,v 1.11 2007/11/01 12:33:29 menno Exp $
-**/
-
-#ifndef __NEAACDEC_H__
-#define __NEAACDEC_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-
-#if 1
-/* MACROS FOR BACKWARDS COMPATIBILITY */
-/* structs */
-#define faacDecHandle                  NeAACDecHandle
-#define faacDecConfiguration           NeAACDecConfiguration
-#define faacDecConfigurationPtr        NeAACDecConfigurationPtr
-#define faacDecFrameInfo               NeAACDecFrameInfo
-/* functions */
-#define faacDecGetErrorMessage         NeAACDecGetErrorMessage
-#define faacDecSetConfiguration        NeAACDecSetConfiguration
-#define faacDecGetCurrentConfiguration NeAACDecGetCurrentConfiguration
-#define faacDecInit                    NeAACDecInit
-#define faacDecInit2                   NeAACDecInit2
-#define faacDecInitDRM                 NeAACDecInitDRM
-#define faacDecPostSeekReset           NeAACDecPostSeekReset
-#define faacDecOpen                    NeAACDecOpen
-#define faacDecClose                   NeAACDecClose
-#define faacDecDecode                  NeAACDecDecode
-#define AudioSpecificConfig            NeAACDecAudioSpecificConfig
-#endif
-
-
-#ifdef _WIN32
-  #pragma pack(push, 8)
-  #ifndef NEAACDECAPI
-    #define NEAACDECAPI __cdecl
-  #endif
-#else
-  #ifndef NEAACDECAPI
-    #define NEAACDECAPI
-  #endif
-#endif
-
-#define FAAD2_VERSION "2.6"
-
-/* object types for AAC */
-#define MAIN       1
-#define LC         2
-#define SSR        3
-#define LTP        4
-#define HE_AAC     5
-#define ER_LC     17
-#define ER_LTP    19
-#define LD        23
-#define DRM_ER_LC 27 /* special object type for DRM */
-
-/* header types */
-#define RAW        0
-#define ADIF       1
-#define ADTS       2
-
-/* SBR signalling */
-#define NO_SBR           0
-#define SBR_UPSAMPLED    1
-#define SBR_DOWNSAMPLED  2
-#define NO_SBR_UPSAMPLED 3
-
-/* library output formats */
-#define FAAD_FMT_16BIT  1
-#define FAAD_FMT_24BIT  2
-#define FAAD_FMT_32BIT  3
-#define FAAD_FMT_FLOAT  4
-#define FAAD_FMT_FIXED  FAAD_FMT_FLOAT
-#define FAAD_FMT_DOUBLE 5
-
-/* Capabilities */
-#define LC_DEC_CAP           (1<<0) /* Can decode LC */
-#define MAIN_DEC_CAP         (1<<1) /* Can decode MAIN */
-#define LTP_DEC_CAP          (1<<2) /* Can decode LTP */
-#define LD_DEC_CAP           (1<<3) /* Can decode LD */
-#define ERROR_RESILIENCE_CAP (1<<4) /* Can decode ER */
-#define FIXED_POINT_CAP      (1<<5) /* Fixed point */
-
-/* Channel definitions */
-#define FRONT_CHANNEL_CENTER (1)
-#define FRONT_CHANNEL_LEFT   (2)
-#define FRONT_CHANNEL_RIGHT  (3)
-#define SIDE_CHANNEL_LEFT    (4)
-#define SIDE_CHANNEL_RIGHT   (5)
-#define BACK_CHANNEL_LEFT    (6)
-#define BACK_CHANNEL_RIGHT   (7)
-#define BACK_CHANNEL_CENTER  (8)
-#define LFE_CHANNEL          (9)
-#define UNKNOWN_CHANNEL      (0)
-
-/* DRM channel definitions */
-#define DRMCH_MONO          1
-#define DRMCH_STEREO        2
-#define DRMCH_SBR_MONO      3
-#define DRMCH_SBR_STEREO    4
-#define DRMCH_SBR_PS_STEREO 5
-
-
-/* A decode call can eat up to FAAD_MIN_STREAMSIZE bytes per decoded channel,
-   so at least so much bytes per channel should be available in this stream */
-#define FAAD_MIN_STREAMSIZE 768 /* 6144 bits/channel */
-
-
-typedef void *NeAACDecHandle;
-
-typedef struct mp4AudioSpecificConfig
-{
-    /* Audio Specific Info */
-    unsigned char objectTypeIndex;
-    unsigned char samplingFrequencyIndex;
-    unsigned long samplingFrequency;
-    unsigned char channelsConfiguration;
-
-    /* GA Specific Info */
-    unsigned char frameLengthFlag;
-    unsigned char dependsOnCoreCoder;
-    unsigned short coreCoderDelay;
-    unsigned char extensionFlag;
-    unsigned char aacSectionDataResilienceFlag;
-    unsigned char aacScalefactorDataResilienceFlag;
-    unsigned char aacSpectralDataResilienceFlag;
-    unsigned char epConfig;
-
-    char sbr_present_flag;
-    char forceUpSampling;
-    char downSampledSBR;
-} mp4AudioSpecificConfig;
-
-typedef struct NeAACDecConfiguration
-{
-    unsigned char defObjectType;
-    unsigned long defSampleRate;
-    unsigned char outputFormat;
-    unsigned char downMatrix;
-    unsigned char useOldADTSFormat;
-    unsigned char dontUpSampleImplicitSBR;
-} NeAACDecConfiguration, *NeAACDecConfigurationPtr;
-
-typedef struct NeAACDecFrameInfo
-{
-    unsigned long bytesconsumed;
-    unsigned long samples;
-    unsigned char channels;
-    unsigned char error;
-    unsigned long samplerate;
-
-    /* SBR: 0: off, 1: on; upsample, 2: on; downsampled, 3: off; upsampled */
-    unsigned char sbr;
-
-    /* MPEG-4 ObjectType */
-    unsigned char object_type;
-
-    /* AAC header type; MP4 will be signalled as RAW also */
-    unsigned char header_type;
-
-    /* multichannel configuration */
-    unsigned char num_front_channels;
-    unsigned char num_side_channels;
-    unsigned char num_back_channels;
-    unsigned char num_lfe_channels;
-    unsigned char channel_position[64];
-
-    /* PS: 0: off, 1: on */
-    unsigned char ps;
-} NeAACDecFrameInfo;
-
-char* NEAACDECAPI NeAACDecGetErrorMessage(unsigned char errcode);
-
-unsigned long NEAACDECAPI NeAACDecGetCapabilities(void);
-
-NeAACDecHandle NEAACDECAPI NeAACDecOpen(void);
-
-NeAACDecConfigurationPtr NEAACDECAPI NeAACDecGetCurrentConfiguration(NeAACDecHandle hDecoder);
-
-unsigned char NEAACDECAPI NeAACDecSetConfiguration(NeAACDecHandle hDecoder,
-                                                   NeAACDecConfigurationPtr config);
-
-/* Init the library based on info from the AAC file (ADTS/ADIF) */
-long NEAACDECAPI NeAACDecInit(NeAACDecHandle hDecoder,
-                              unsigned char *buffer,
-                              unsigned long buffer_size,
-                              unsigned long *samplerate,
-                              unsigned char *channels);
-
-/* Init the library using a DecoderSpecificInfo */
-char NEAACDECAPI NeAACDecInit2(NeAACDecHandle hDecoder, unsigned char *pBuffer,
-                               unsigned long SizeOfDecoderSpecificInfo,
-                               unsigned long *samplerate, unsigned char *channels);
-
-/* Init the library for DRM */
-char NEAACDECAPI NeAACDecInitDRM(NeAACDecHandle *hDecoder, unsigned long samplerate,
-                                 unsigned char channels);
-
-void NEAACDECAPI NeAACDecPostSeekReset(NeAACDecHandle hDecoder, long frame);
-
-void NEAACDECAPI NeAACDecClose(NeAACDecHandle hDecoder);
-
-void* NEAACDECAPI NeAACDecDecode(NeAACDecHandle hDecoder,
-                                 NeAACDecFrameInfo *hInfo,
-                                 unsigned char *buffer,
-                                 unsigned long buffer_size);
-
-void* NEAACDECAPI NeAACDecDecode2(NeAACDecHandle hDecoder,
-                                  NeAACDecFrameInfo *hInfo,
-                                  unsigned char *buffer,
-                                  unsigned long buffer_size,
-                                  void **sample_buffer,
-                                  unsigned long sample_buffer_size);
-
-char NEAACDECAPI NeAACDecAudioSpecificConfig(unsigned char *pBuffer,
-                                             unsigned long buffer_size,
-                                             mp4AudioSpecificConfig *mp4ASC);
-
-#ifdef _WIN32
-  #pragma pack(pop)
-#endif
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
diff --git a/lib/libfaad2/install-sh b/lib/libfaad2/install-sh
deleted file mode 100755 (executable)
index a5897de..0000000
+++ /dev/null
@@ -1,519 +0,0 @@
-#!/bin/sh
-# install - install a program, script, or datafile
-
-scriptversion=2006-12-25.00
-
-# This originates from X11R5 (mit/util/scripts/install.sh), which was
-# later released in X11R6 (xc/config/util/install.sh) with the
-# following copyright and license.
-#
-# Copyright (C) 1994 X Consortium
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to
-# deal in the Software without restriction, including without limitation the
-# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-# sell copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
-# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
-# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name of the X Consortium shall not
-# be used in advertising or otherwise to promote the sale, use or other deal-
-# ings in this Software without prior written authorization from the X Consor-
-# tium.
-#
-#
-# FSF changes to this file are in the public domain.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-
-nl='
-'
-IFS=" ""       $nl"
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit=${DOITPROG-}
-if test -z "$doit"; then
-  doit_exec=exec
-else
-  doit_exec=$doit
-fi
-
-# Put in absolute file names if you don't have them in your path;
-# or use environment vars.
-
-chgrpprog=${CHGRPPROG-chgrp}
-chmodprog=${CHMODPROG-chmod}
-chownprog=${CHOWNPROG-chown}
-cmpprog=${CMPPROG-cmp}
-cpprog=${CPPROG-cp}
-mkdirprog=${MKDIRPROG-mkdir}
-mvprog=${MVPROG-mv}
-rmprog=${RMPROG-rm}
-stripprog=${STRIPPROG-strip}
-
-posix_glob='?'
-initialize_posix_glob='
-  test "$posix_glob" != "?" || {
-    if (set -f) 2>/dev/null; then
-      posix_glob=
-    else
-      posix_glob=:
-    fi
-  }
-'
-
-posix_mkdir=
-
-# Desired mode of installed file.
-mode=0755
-
-chgrpcmd=
-chmodcmd=$chmodprog
-chowncmd=
-mvcmd=$mvprog
-rmcmd="$rmprog -f"
-stripcmd=
-
-src=
-dst=
-dir_arg=
-dst_arg=
-
-copy_on_change=false
-no_target_directory=
-
-usage="\
-Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
-   or: $0 [OPTION]... SRCFILES... DIRECTORY
-   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
-   or: $0 [OPTION]... -d DIRECTORIES...
-
-In the 1st form, copy SRCFILE to DSTFILE.
-In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
-In the 4th, create DIRECTORIES.
-
-Options:
-     --help     display this help and exit.
-     --version  display version info and exit.
-
-  -c            (ignored)
-  -C            install only if different (preserve the last data modification time)
-  -d            create directories instead of installing files.
-  -g GROUP      $chgrpprog installed files to GROUP.
-  -m MODE       $chmodprog installed files to MODE.
-  -o USER       $chownprog installed files to USER.
-  -s            $stripprog installed files.
-  -t DIRECTORY  install into DIRECTORY.
-  -T            report an error if DSTFILE is a directory.
-
-Environment variables override the default commands:
-  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
-  RMPROG STRIPPROG
-"
-
-while test $# -ne 0; do
-  case $1 in
-    -c) ;;
-
-    -C) copy_on_change=true;;
-
-    -d) dir_arg=true;;
-
-    -g) chgrpcmd="$chgrpprog $2"
-       shift;;
-
-    --help) echo "$usage"; exit $?;;
-
-    -m) mode=$2
-       case $mode in
-         *' '* | *'    '* | *'
-'*       | *'*'* | *'?'* | *'['*)
-           echo "$0: invalid mode: $mode" >&2
-           exit 1;;
-       esac
-       shift;;
-
-    -o) chowncmd="$chownprog $2"
-       shift;;
-
-    -s) stripcmd=$stripprog;;
-
-    -t) dst_arg=$2
-       shift;;
-
-    -T) no_target_directory=true;;
-
-    --version) echo "$0 $scriptversion"; exit $?;;
-
-    --)        shift
-       break;;
-
-    -*)        echo "$0: invalid option: $1" >&2
-       exit 1;;
-
-    *)  break;;
-  esac
-  shift
-done
-
-if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
-  # When -d is used, all remaining arguments are directories to create.
-  # When -t is used, the destination is already specified.
-  # Otherwise, the last argument is the destination.  Remove it from $@.
-  for arg
-  do
-    if test -n "$dst_arg"; then
-      # $@ is not empty: it contains at least $arg.
-      set fnord "$@" "$dst_arg"
-      shift # fnord
-    fi
-    shift # arg
-    dst_arg=$arg
-  done
-fi
-
-if test $# -eq 0; then
-  if test -z "$dir_arg"; then
-    echo "$0: no input file specified." >&2
-    exit 1
-  fi
-  # It's OK to call `install-sh -d' without argument.
-  # This can happen when creating conditional directories.
-  exit 0
-fi
-
-if test -z "$dir_arg"; then
-  trap '(exit $?); exit' 1 2 13 15
-
-  # Set umask so as not to create temps with too-generous modes.
-  # However, 'strip' requires both read and write access to temps.
-  case $mode in
-    # Optimize common cases.
-    *644) cp_umask=133;;
-    *755) cp_umask=22;;
-
-    *[0-7])
-      if test -z "$stripcmd"; then
-       u_plus_rw=
-      else
-       u_plus_rw='% 200'
-      fi
-      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
-    *)
-      if test -z "$stripcmd"; then
-       u_plus_rw=
-      else
-       u_plus_rw=,u+rw
-      fi
-      cp_umask=$mode$u_plus_rw;;
-  esac
-fi
-
-for src
-do
-  # Protect names starting with `-'.
-  case $src in
-    -*) src=./$src;;
-  esac
-
-  if test -n "$dir_arg"; then
-    dst=$src
-    dstdir=$dst
-    test -d "$dstdir"
-    dstdir_status=$?
-  else
-
-    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
-    # might cause directories to be created, which would be especially bad
-    # if $src (and thus $dsttmp) contains '*'.
-    if test ! -f "$src" && test ! -d "$src"; then
-      echo "$0: $src does not exist." >&2
-      exit 1
-    fi
-
-    if test -z "$dst_arg"; then
-      echo "$0: no destination specified." >&2
-      exit 1
-    fi
-
-    dst=$dst_arg
-    # Protect names starting with `-'.
-    case $dst in
-      -*) dst=./$dst;;
-    esac
-
-    # If destination is a directory, append the input filename; won't work
-    # if double slashes aren't ignored.
-    if test -d "$dst"; then
-      if test -n "$no_target_directory"; then
-       echo "$0: $dst_arg: Is a directory" >&2
-       exit 1
-      fi
-      dstdir=$dst
-      dst=$dstdir/`basename "$src"`
-      dstdir_status=0
-    else
-      # Prefer dirname, but fall back on a substitute if dirname fails.
-      dstdir=`
-       (dirname "$dst") 2>/dev/null ||
-       expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-            X"$dst" : 'X\(//\)[^/]' \| \
-            X"$dst" : 'X\(//\)$' \| \
-            X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
-       echo X"$dst" |
-           sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\/\)[^/].*/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\/\)$/{
-                  s//\1/
-                  q
-                }
-                /^X\(\/\).*/{
-                  s//\1/
-                  q
-                }
-                s/.*/./; q'
-      `
-
-      test -d "$dstdir"
-      dstdir_status=$?
-    fi
-  fi
-
-  obsolete_mkdir_used=false
-
-  if test $dstdir_status != 0; then
-    case $posix_mkdir in
-      '')
-       # Create intermediate dirs using mode 755 as modified by the umask.
-       # This is like FreeBSD 'install' as of 1997-10-28.
-       umask=`umask`
-       case $stripcmd.$umask in
-         # Optimize common cases.
-         *[2367][2367]) mkdir_umask=$umask;;
-         .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
-         *[0-7])
-           mkdir_umask=`expr $umask + 22 \
-             - $umask % 100 % 40 + $umask % 20 \
-             - $umask % 10 % 4 + $umask % 2
-           `;;
-         *) mkdir_umask=$umask,go-w;;
-       esac
-
-       # With -d, create the new directory with the user-specified mode.
-       # Otherwise, rely on $mkdir_umask.
-       if test -n "$dir_arg"; then
-         mkdir_mode=-m$mode
-       else
-         mkdir_mode=
-       fi
-
-       posix_mkdir=false
-       case $umask in
-         *[123567][0-7][0-7])
-           # POSIX mkdir -p sets u+wx bits regardless of umask, which
-           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
-           ;;
-         *)
-           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
-           trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
-           if (umask $mkdir_umask &&
-               exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
-           then
-             if test -z "$dir_arg" || {
-                  # Check for POSIX incompatibilities with -m.
-                  # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
-                  # other-writeable bit of parent directory when it shouldn't.
-                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
-                  ls_ld_tmpdir=`ls -ld "$tmpdir"`
-                  case $ls_ld_tmpdir in
-                    d????-?r-*) different_mode=700;;
-                    d????-?--*) different_mode=755;;
-                    *) false;;
-                  esac &&
-                  $mkdirprog -m$different_mode -p -- "$tmpdir" && {
-                    ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
-                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
-                  }
-                }
-             then posix_mkdir=:
-             fi
-             rmdir "$tmpdir/d" "$tmpdir"
-           else
-             # Remove any dirs left behind by ancient mkdir implementations.
-             rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
-           fi
-           trap '' 0;;
-       esac;;
-    esac
-
-    if
-      $posix_mkdir && (
-       umask $mkdir_umask &&
-       $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
-      )
-    then :
-    else
-
-      # The umask is ridiculous, or mkdir does not conform to POSIX,
-      # or it failed possibly due to a race condition.  Create the
-      # directory the slow way, step by step, checking for races as we go.
-
-      case $dstdir in
-       /*) prefix='/';;
-       -*) prefix='./';;
-       *)  prefix='';;
-      esac
-
-      eval "$initialize_posix_glob"
-
-      oIFS=$IFS
-      IFS=/
-      $posix_glob set -f
-      set fnord $dstdir
-      shift
-      $posix_glob set +f
-      IFS=$oIFS
-
-      prefixes=
-
-      for d
-      do
-       test -z "$d" && continue
-
-       prefix=$prefix$d
-       if test -d "$prefix"; then
-         prefixes=
-       else
-         if $posix_mkdir; then
-           (umask=$mkdir_umask &&
-            $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
-           # Don't fail if two instances are running concurrently.
-           test -d "$prefix" || exit 1
-         else
-           case $prefix in
-             *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
-             *) qprefix=$prefix;;
-           esac
-           prefixes="$prefixes '$qprefix'"
-         fi
-       fi
-       prefix=$prefix/
-      done
-
-      if test -n "$prefixes"; then
-       # Don't fail if two instances are running concurrently.
-       (umask $mkdir_umask &&
-        eval "\$doit_exec \$mkdirprog $prefixes") ||
-         test -d "$dstdir" || exit 1
-       obsolete_mkdir_used=true
-      fi
-    fi
-  fi
-
-  if test -n "$dir_arg"; then
-    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
-    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
-      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
-  else
-
-    # Make a couple of temp file names in the proper directory.
-    dsttmp=$dstdir/_inst.$$_
-    rmtmp=$dstdir/_rm.$$_
-
-    # Trap to clean up those temp files at exit.
-    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
-
-    # Copy the file name to the temp name.
-    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
-
-    # and set any options; do chmod last to preserve setuid bits.
-    #
-    # If any of these fail, we abort the whole thing.  If we want to
-    # ignore errors from any of these, just make sure not to ignore
-    # errors from the above "$doit $cpprog $src $dsttmp" command.
-    #
-    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
-    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
-    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
-    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
-
-    # If -C, don't bother to copy if it wouldn't change the file.
-    if $copy_on_change &&
-       old=`LC_ALL=C ls -dlL "$dst"    2>/dev/null` &&
-       new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
-
-       eval "$initialize_posix_glob" &&
-       $posix_glob set -f &&
-       set X $old && old=:$2:$4:$5:$6 &&
-       set X $new && new=:$2:$4:$5:$6 &&
-       $posix_glob set +f &&
-
-       test "$old" = "$new" &&
-       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
-    then
-      rm -f "$dsttmp"
-    else
-      # Rename the file to the real destination.
-      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
-
-      # The rename failed, perhaps because mv can't rename something else
-      # to itself, or perhaps because mv is so ancient that it does not
-      # support -f.
-      {
-       # Now remove or move aside any old file at destination location.
-       # We try this two ways since rm can't unlink itself on some
-       # systems and the destination file might be busy for other
-       # reasons.  In this case, the final cleanup might fail but the new
-       # file should still install successfully.
-       {
-         test ! -f "$dst" ||
-         $doit $rmcmd -f "$dst" 2>/dev/null ||
-         { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
-           { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
-         } ||
-         { echo "$0: cannot unlink or rename $dst" >&2
-           (exit 1); exit 1
-         }
-       } &&
-
-       # Now rename the file to the real destination.
-       $doit $mvcmd "$dsttmp" "$dst"
-      }
-    fi || exit 1
-
-    trap '' 0
-  fi
-done
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/lib/libfaad2/libfaad/Makefile.am b/lib/libfaad2/libfaad/Makefile.am
deleted file mode 100644 (file)
index 5bd56f0..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-lib_LTLIBRARIES = libfaad.la
-
-include_HEADERS = $(top_srcdir)/include/faad.h \
-                  $(top_srcdir)/include/neaacdec.h
-
-libfaad_la_LDFLAGS = -lm
-
-libfaad_la_SOURCES = bits.c cfft.c decoder.c drc.c \
-drm_dec.c error.c filtbank.c \
-ic_predict.c is.c lt_predict.c mdct.c mp4.c ms.c output.c pns.c \
-ps_dec.c ps_syntax.c \
-pulse.c specrec.c syntax.c tns.c hcr.c huffman.c \
-rvlc.c ssr.c ssr_fb.c ssr_ipqf.c common.c \
-sbr_dct.c sbr_e_nf.c sbr_fbt.c sbr_hfadj.c sbr_hfgen.c \
-sbr_huff.c sbr_qmf.c sbr_syntax.c sbr_tf_grid.c sbr_dec.c \
-analysis.h bits.h cfft.h cfft_tab.h common.h \
-decoder.h drc.h drm_dec.h error.h fixed.h filtbank.h \
-huffman.h ic_predict.h iq_table.h is.h kbd_win.h lt_predict.h \
-mdct.h mdct_tab.h mp4.h ms.h output.h pns.h ps_dec.h ps_tables.h \
-pulse.h rvlc.h \
-sbr_dct.h sbr_dec.h sbr_e_nf.h sbr_fbt.h sbr_hfadj.h sbr_hfgen.h \
-sbr_huff.h sbr_noise.h sbr_qmf.h sbr_syntax.h sbr_tf_grid.h \
-sine_win.h specrec.h ssr.h ssr_fb.h ssr_ipqf.h \
-ssr_win.h syntax.h structs.h tns.h \
-sbr_qmf_c.h codebook/hcb.h \
-codebook/hcb_1.h codebook/hcb_2.h codebook/hcb_3.h codebook/hcb_4.h \
-codebook/hcb_5.h codebook/hcb_6.h codebook/hcb_7.h codebook/hcb_8.h \
-codebook/hcb_9.h codebook/hcb_10.h codebook/hcb_11.h codebook/hcb_sf.h
\ No newline at end of file
diff --git a/lib/libfaad2/libfaad/Makefile.in b/lib/libfaad2/libfaad/Makefile.in
deleted file mode 100644 (file)
index a96eb20..0000000
+++ /dev/null
@@ -1,561 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = libfaad
-DIST_COMMON = $(include_HEADERS) $(srcdir)/Makefile.am \
-       $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-libfaad_la_LIBADD =
-am_libfaad_la_OBJECTS = bits.lo cfft.lo decoder.lo drc.lo drm_dec.lo \
-       error.lo filtbank.lo ic_predict.lo is.lo lt_predict.lo mdct.lo \
-       mp4.lo ms.lo output.lo pns.lo ps_dec.lo ps_syntax.lo pulse.lo \
-       specrec.lo syntax.lo tns.lo hcr.lo huffman.lo rvlc.lo ssr.lo \
-       ssr_fb.lo ssr_ipqf.lo common.lo sbr_dct.lo sbr_e_nf.lo \
-       sbr_fbt.lo sbr_hfadj.lo sbr_hfgen.lo sbr_huff.lo sbr_qmf.lo \
-       sbr_syntax.lo sbr_tf_grid.lo sbr_dec.lo
-libfaad_la_OBJECTS = $(am_libfaad_la_OBJECTS)
-libfaad_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(libfaad_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-SOURCES = $(libfaad_la_SOURCES)
-DIST_SOURCES = $(libfaad_la_SOURCES)
-includeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(include_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-GTK_CONFIG = @GTK_CONFIG@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MP4FF_LIBS = @MP4FF_LIBS@
-NMEDIT = @NMEDIT@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-RPMBUILD = @RPMBUILD@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CONFIG = @XMMS_CONFIG@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-external_mp4v2 = @external_mp4v2@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-lib_LTLIBRARIES = libfaad.la
-include_HEADERS = $(top_srcdir)/include/faad.h \
-                  $(top_srcdir)/include/neaacdec.h
-
-libfaad_la_LDFLAGS = -lm
-libfaad_la_SOURCES = bits.c cfft.c decoder.c drc.c \
-drm_dec.c error.c filtbank.c \
-ic_predict.c is.c lt_predict.c mdct.c mp4.c ms.c output.c pns.c \
-ps_dec.c ps_syntax.c \
-pulse.c specrec.c syntax.c tns.c hcr.c huffman.c \
-rvlc.c ssr.c ssr_fb.c ssr_ipqf.c common.c \
-sbr_dct.c sbr_e_nf.c sbr_fbt.c sbr_hfadj.c sbr_hfgen.c \
-sbr_huff.c sbr_qmf.c sbr_syntax.c sbr_tf_grid.c sbr_dec.c \
-analysis.h bits.h cfft.h cfft_tab.h common.h \
-decoder.h drc.h drm_dec.h error.h fixed.h filtbank.h \
-huffman.h ic_predict.h iq_table.h is.h kbd_win.h lt_predict.h \
-mdct.h mdct_tab.h mp4.h ms.h output.h pns.h ps_dec.h ps_tables.h \
-pulse.h rvlc.h \
-sbr_dct.h sbr_dec.h sbr_e_nf.h sbr_fbt.h sbr_hfadj.h sbr_hfgen.h \
-sbr_huff.h sbr_noise.h sbr_qmf.h sbr_syntax.h sbr_tf_grid.h \
-sine_win.h specrec.h ssr.h ssr_fb.h ssr_ipqf.h \
-ssr_win.h syntax.h structs.h tns.h \
-sbr_qmf_c.h codebook/hcb.h \
-codebook/hcb_1.h codebook/hcb_2.h codebook/hcb_3.h codebook/hcb_4.h \
-codebook/hcb_5.h codebook/hcb_6.h codebook/hcb_7.h codebook/hcb_8.h \
-codebook/hcb_9.h codebook/hcb_10.h codebook/hcb_11.h codebook/hcb_sf.h
-
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  libfaad/Makefile'; \
-       cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  libfaad/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         if test -f $$p; then \
-           f=$(am__strip_dir) \
-           echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
-           $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
-         else :; fi; \
-       done
-
-uninstall-libLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         p=$(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
-       done
-
-clean-libLTLIBRARIES:
-       -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-libfaad.la: $(libfaad_la_OBJECTS) $(libfaad_la_DEPENDENCIES) 
-       $(libfaad_la_LINK) -rpath $(libdir) $(libfaad_la_OBJECTS) $(libfaad_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bits.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cfft.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/common.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoder.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drm_dec.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/filtbank.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hcr.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/huffman.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ic_predict.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/is.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lt_predict.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mdct.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mp4.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ms.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/output.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pns.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ps_dec.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ps_syntax.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pulse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rvlc.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sbr_dct.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sbr_dec.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sbr_e_nf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sbr_fbt.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sbr_hfadj.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sbr_hfgen.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sbr_huff.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sbr_qmf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sbr_syntax.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sbr_tf_grid.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/specrec.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssr.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssr_fb.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssr_ipqf.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syntax.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tns.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-install-includeHEADERS: $(include_HEADERS)
-       @$(NORMAL_INSTALL)
-       test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
-       @list='$(include_HEADERS)'; for p in $$list; do \
-         if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
-         f=$(am__strip_dir) \
-         echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
-         $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
-       done
-
-uninstall-includeHEADERS:
-       @$(NORMAL_UNINSTALL)
-       @list='$(include_HEADERS)'; for p in $$list; do \
-         f=$(am__strip_dir) \
-         echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
-         rm -f "$(DESTDIR)$(includedir)/$$f"; \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-           $$tags $$unique; \
-       fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$tags$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$tags $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && cd $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-         else \
-           test -f $(distdir)/$$file \
-           || cp -p $$d/$$file $(distdir)/$$file \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES) $(HEADERS)
-installdirs:
-       for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
-       mostlyclean-am
-
-distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-includeHEADERS
-
-install-dvi: install-dvi-am
-
-install-exec-am: install-libLTLIBRARIES
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-libLTLIBRARIES clean-libtool ctags distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-includeHEADERS install-info \
-       install-info-am install-libLTLIBRARIES install-man install-pdf \
-       install-pdf-am install-ps install-ps-am install-strip \
-       installcheck installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-includeHEADERS \
-       uninstall-libLTLIBRARIES
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lib/libfaad2/libfaad/analysis.h b/lib/libfaad2/libfaad/analysis.h
deleted file mode 100644 (file)
index 50e43fa..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: analysis.h,v 1.18 2007/11/01 12:33:29 menno Exp $
-**/
-
-#ifndef __ANALYSIS_H__
-#define __ANALYSIS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#ifdef ANALYSIS
-#define DEBUGDEC        ,uint8_t print,uint16_t var,uint8_t *dbg
-#define DEBUGVAR(A,B,C) ,A,B,C
-extern uint16_t dbg_count;
-#else
-#define DEBUGDEC
-#define DEBUGVAR(A,B,C)
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/bits.c b/lib/libfaad2/libfaad/bits.c
deleted file mode 100644 (file)
index dc14d7a..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: bits.c,v 1.44 2007/11/01 12:33:29 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-#include "bits.h"
-
-/* initialize buffer, call once before first getbits or showbits */
-void faad_initbits(bitfile *ld, const void *_buffer, const uint32_t buffer_size)
-{
-    uint32_t tmp;
-
-    if (ld == NULL)
-        return;
-
-    // useless
-    //memset(ld, 0, sizeof(bitfile));
-
-    if (buffer_size == 0 || _buffer == NULL)
-    {
-        ld->error = 1;
-        return;
-    }
-
-    ld->buffer = _buffer;
-
-    ld->buffer_size = buffer_size;
-    ld->bytes_left  = buffer_size;
-
-    if (ld->bytes_left >= 4)
-    {
-        tmp = getdword((uint32_t*)ld->buffer);
-        ld->bytes_left -= 4;
-    } else {
-        tmp = getdword_n((uint32_t*)ld->buffer, ld->bytes_left);
-        ld->bytes_left = 0;
-    }
-    ld->bufa = tmp;
-
-    if (ld->bytes_left >= 4)
-    {
-        tmp = getdword((uint32_t*)ld->buffer + 1);
-        ld->bytes_left -= 4;
-    } else {
-        tmp = getdword_n((uint32_t*)ld->buffer + 1, ld->bytes_left);
-        ld->bytes_left = 0;
-    }
-    ld->bufb = tmp;
-
-    ld->start = (uint32_t*)ld->buffer;
-    ld->tail = ((uint32_t*)ld->buffer + 2);
-
-    ld->bits_left = 32;
-
-    ld->error = 0;
-}
-
-void faad_endbits(bitfile *ld)
-{
-    // void
-}
-
-uint32_t faad_get_processed_bits(bitfile *ld)
-{
-    return (uint32_t)(8 * (4*(ld->tail - ld->start) - 4) - (ld->bits_left));
-}
-
-uint8_t faad_byte_align(bitfile *ld)
-{
-    int remainder = (32 - ld->bits_left) & 0x7;
-
-    if (remainder)
-    {
-        faad_flushbits(ld, 8 - remainder);
-        return (uint8_t)(8 - remainder);
-    }
-    return 0;
-}
-
-void faad_flushbits_ex(bitfile *ld, uint32_t bits)
-{
-    uint32_t tmp;
-
-    ld->bufa = ld->bufb;
-    if (ld->bytes_left >= 4)
-    {
-        tmp = getdword(ld->tail);
-        ld->bytes_left -= 4;
-    } else {
-        tmp = getdword_n(ld->tail, ld->bytes_left);
-        ld->bytes_left = 0;
-    }
-    ld->bufb = tmp;
-    ld->tail++;
-    ld->bits_left += (32 - bits);
-    //ld->bytes_left -= 4;
-//    if (ld->bytes_left == 0)
-//        ld->no_more_reading = 1;
-//    if (ld->bytes_left < 0)
-//        ld->error = 1;
-}
-
-/* rewind to beginning */
-void faad_rewindbits(bitfile *ld)
-{
-    uint32_t tmp;
-
-    ld->bytes_left = ld->buffer_size;
-
-    if (ld->bytes_left >= 4)
-    {
-        tmp = getdword((uint32_t*)&ld->start[0]);
-        ld->bytes_left -= 4;
-    } else {
-        tmp = getdword_n((uint32_t*)&ld->start[0], ld->bytes_left);
-        ld->bytes_left = 0;
-    }
-    ld->bufa = tmp;
-
-    if (ld->bytes_left >= 4)
-    {
-        tmp = getdword((uint32_t*)&ld->start[1]);
-        ld->bytes_left -= 4;
-    } else {
-        tmp = getdword_n((uint32_t*)&ld->start[1], ld->bytes_left);
-        ld->bytes_left = 0;
-    }
-    ld->bufb = tmp;
-
-    ld->bits_left = 32;
-    ld->tail = &ld->start[2];
-}
-
-/* reset to a certain point */
-void faad_resetbits(bitfile *ld, int bits)
-{
-    uint32_t tmp;
-    int words = bits >> 5;
-    int remainder = bits & 0x1F;
-
-    ld->bytes_left = ld->buffer_size - words*4;
-
-    if (ld->bytes_left >= 4)
-    {
-        tmp = getdword(&ld->start[words]);
-        ld->bytes_left -= 4;
-    } else {
-        tmp = getdword_n(&ld->start[words], ld->bytes_left);
-        ld->bytes_left = 0;
-    }
-    ld->bufa = tmp;
-
-    if (ld->bytes_left >= 4)
-    {
-        tmp = getdword(&ld->start[words+1]);
-        ld->bytes_left -= 4;
-    } else {
-        tmp = getdword_n(&ld->start[words+1], ld->bytes_left);
-        ld->bytes_left = 0;
-    }
-    ld->bufb = tmp;
-
-    ld->bits_left = 32 - remainder;
-    ld->tail = &ld->start[words+2];
-
-    /* recheck for reading too many bytes */
-    ld->error = 0;
-//    if (ld->bytes_left == 0)
-//        ld->no_more_reading = 1;
-//    if (ld->bytes_left < 0)
-//        ld->error = 1;
-}
-
-uint8_t *faad_getbitbuffer(bitfile *ld, uint32_t bits
-                       DEBUGDEC)
-{
-    int i;
-    unsigned int temp;
-    int bytes = bits >> 3;
-    int remainder = bits & 0x7;
-
-    uint8_t *buffer = (uint8_t*)faad_malloc((bytes+1)*sizeof(uint8_t));
-
-    for (i = 0; i < bytes; i++)
-    {
-        buffer[i] = (uint8_t)faad_getbits(ld, 8 DEBUGVAR(print,var,dbg));
-    }
-
-    if (remainder)
-    {
-        temp = faad_getbits(ld, remainder DEBUGVAR(print,var,dbg)) << (8-remainder);
-
-        buffer[bytes] = (uint8_t)temp;
-    }
-
-    return buffer;
-}
-
-#ifdef DRM
-/* return the original data buffer */
-void *faad_origbitbuffer(bitfile *ld)
-{
-    return (void*)ld->start;
-}
-
-/* return the original data buffer size */
-uint32_t faad_origbitbuffer_size(bitfile *ld)
-{
-    return ld->buffer_size;
-}
-#endif
-
-/* reversed bit reading routines, used for RVLC and HCR */
-void faad_initbits_rev(bitfile *ld, void *buffer,
-                       uint32_t bits_in_buffer)
-{
-    uint32_t tmp;
-    int32_t index;
-
-    ld->buffer_size = bit2byte(bits_in_buffer);
-
-    index = (bits_in_buffer+31)/32 - 1;
-
-    ld->start = (uint32_t*)buffer + index - 2;
-
-    tmp = getdword((uint32_t*)buffer + index);
-    ld->bufa = tmp;
-
-    tmp = getdword((uint32_t*)buffer + index - 1);
-    ld->bufb = tmp;
-
-    ld->tail = (uint32_t*)buffer + index;
-
-    ld->bits_left = bits_in_buffer % 32;
-    if (ld->bits_left == 0)
-        ld->bits_left = 32;
-
-    ld->bytes_left = ld->buffer_size;
-    ld->error = 0;
-}
-
-/* EOF */
diff --git a/lib/libfaad2/libfaad/bits.h b/lib/libfaad2/libfaad/bits.h
deleted file mode 100644 (file)
index e303e8e..0000000
+++ /dev/null
@@ -1,452 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: bits.h,v 1.45 2007/11/01 12:33:29 menno Exp $
-**/
-
-#ifndef __BITS_H__
-#define __BITS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "analysis.h"
-#ifdef ANALYSIS
-#include <stdio.h>
-#endif
-
-#define BYTE_NUMBIT     8
-#define BYTE_NUMBIT_LD  3
-//#define bit2byte(a) ((a+7)/BYTE_NUMBIT)
-#define bit2byte(a) ((a+7)>>BYTE_NUMBIT_LD)
-
-typedef struct _bitfile
-{
-    /* bit input */
-    uint32_t bufa;
-    uint32_t bufb;
-    uint32_t bits_left;
-    uint32_t buffer_size; /* size of the buffer in bytes */
-    uint32_t bytes_left;
-    uint8_t error;
-    uint32_t *tail;
-    uint32_t *start;
-    const void *buffer;
-} bitfile;
-
-
-#if 0
-static uint32_t const bitmask[] = {
-    0x0, 0x1, 0x3, 0x7, 0xF, 0x1F, 0x3F, 0x7F, 0xFF, 0x1FF,
-    0x3FF, 0x7FF, 0xFFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF,
-    0x1FFFF, 0x3FFFF, 0x7FFFF, 0xFFFFF, 0x1FFFFF, 0x3FFFFF,
-    0x7FFFFF, 0xFFFFFF, 0x1FFFFFF, 0x3FFFFFF, 0x7FFFFFF,
-    0xFFFFFFF, 0x1FFFFFFF, 0x3FFFFFFF, 0x7FFFFFFF
-    /* added bitmask 32, correct?!?!?! */
-    , 0xFFFFFFFF
-};
-#endif
-
-void faad_initbits(bitfile *ld, const void *buffer, const uint32_t buffer_size);
-void faad_endbits(bitfile *ld);
-void faad_initbits_rev(bitfile *ld, void *buffer,
-                       uint32_t bits_in_buffer);
-uint8_t faad_byte_align(bitfile *ld);
-uint32_t faad_get_processed_bits(bitfile *ld);
-void faad_flushbits_ex(bitfile *ld, uint32_t bits);
-void faad_rewindbits(bitfile *ld);
-void faad_resetbits(bitfile *ld, int bits);
-uint8_t *faad_getbitbuffer(bitfile *ld, uint32_t bits
-                       DEBUGDEC);
-#ifdef DRM
-void *faad_origbitbuffer(bitfile *ld);
-uint32_t faad_origbitbuffer_size(bitfile *ld);
-#endif
-
-/* circumvent memory alignment errors on ARM */
-static INLINE uint32_t getdword(void *mem)
-{
-    uint32_t tmp;
-#ifndef ARCH_IS_BIG_ENDIAN
-    ((uint8_t*)&tmp)[0] = ((uint8_t*)mem)[3];
-    ((uint8_t*)&tmp)[1] = ((uint8_t*)mem)[2];
-    ((uint8_t*)&tmp)[2] = ((uint8_t*)mem)[1];
-    ((uint8_t*)&tmp)[3] = ((uint8_t*)mem)[0];
-#else
-    ((uint8_t*)&tmp)[0] = ((uint8_t*)mem)[0];
-    ((uint8_t*)&tmp)[1] = ((uint8_t*)mem)[1];
-    ((uint8_t*)&tmp)[2] = ((uint8_t*)mem)[2];
-    ((uint8_t*)&tmp)[3] = ((uint8_t*)mem)[3];
-#endif
-
-    return tmp;
-}
-
-/* reads only n bytes from the stream instead of the standard 4 */
-static /*INLINE*/ uint32_t getdword_n(void *mem, int n)
-{
-    uint32_t tmp = 0;
-#ifndef ARCH_IS_BIG_ENDIAN
-    switch (n)
-    {
-    case 3:
-        ((uint8_t*)&tmp)[1] = ((uint8_t*)mem)[2];
-    case 2:
-        ((uint8_t*)&tmp)[2] = ((uint8_t*)mem)[1];
-    case 1:
-        ((uint8_t*)&tmp)[3] = ((uint8_t*)mem)[0];
-    default:
-        break;
-    }
-#else
-    switch (n)
-    {
-    case 3:
-        ((uint8_t*)&tmp)[2] = ((uint8_t*)mem)[2];
-    case 2:
-        ((uint8_t*)&tmp)[1] = ((uint8_t*)mem)[1];
-    case 1:
-        ((uint8_t*)&tmp)[0] = ((uint8_t*)mem)[0];
-    default:
-        break;
-    }
-#endif
-
-    return tmp;
-}
-
-static INLINE uint32_t faad_showbits(bitfile *ld, uint32_t bits)
-{
-    if (bits <= ld->bits_left)
-    {
-        //return (ld->bufa >> (ld->bits_left - bits)) & bitmask[bits];
-        return (ld->bufa << (32 - ld->bits_left)) >> (32 - bits);
-    }
-
-    bits -= ld->bits_left;
-    //return ((ld->bufa & bitmask[ld->bits_left]) << bits) | (ld->bufb >> (32 - bits));
-    return ((ld->bufa & ((1<<ld->bits_left)-1)) << bits) | (ld->bufb >> (32 - bits));
-}
-
-static INLINE void faad_flushbits(bitfile *ld, uint32_t bits)
-{
-    /* do nothing if error */
-    if (ld->error != 0)
-        return;
-
-    if (bits < ld->bits_left)
-    {
-        ld->bits_left -= bits;
-    } else {
-        faad_flushbits_ex(ld, bits);
-    }
-}
-
-/* return next n bits (right adjusted) */
-static /*INLINE*/ uint32_t faad_getbits(bitfile *ld, uint32_t n DEBUGDEC)
-{
-    uint32_t ret;
-
-    if (n == 0)
-        return 0;
-
-    ret = faad_showbits(ld, n);
-    faad_flushbits(ld, n);
-
-#ifdef ANALYSIS
-    if (print)
-        fprintf(stdout, "%4d %2d bits, val: %4d, variable: %d %s\n", dbg_count++, n, ret, var, dbg);
-#endif
-
-    return ret;
-}
-
-static INLINE uint8_t faad_get1bit(bitfile *ld DEBUGDEC)
-{
-    uint8_t r;
-
-    if (ld->bits_left > 0)
-    {
-        ld->bits_left--;
-        r = (uint8_t)((ld->bufa >> ld->bits_left) & 1);
-        return r;
-    }
-
-    /* bits_left == 0 */
-#if 0
-    r = (uint8_t)(ld->bufb >> 31);
-    faad_flushbits_ex(ld, 1);
-#else
-    r = (uint8_t)faad_getbits(ld, 1);
-#endif
-    return r;
-}
-
-/* reversed bitreading routines */
-static INLINE uint32_t faad_showbits_rev(bitfile *ld, uint32_t bits)
-{
-    uint8_t i;
-    uint32_t B = 0;
-
-    if (bits <= ld->bits_left)
-    {
-        for (i = 0; i < bits; i++)
-        {
-            if (ld->bufa & (1 << (i + (32 - ld->bits_left))))
-                B |= (1 << (bits - i - 1));
-        }
-        return B;
-    } else {
-        for (i = 0; i < ld->bits_left; i++)
-        {
-            if (ld->bufa & (1 << (i + (32 - ld->bits_left))))
-                B |= (1 << (bits - i - 1));
-        }
-        for (i = 0; i < bits - ld->bits_left; i++)
-        {
-            if (ld->bufb & (1 << (i + (32-ld->bits_left))))
-                B |= (1 << (bits - ld->bits_left - i - 1));
-        }
-        return B;
-    }
-}
-
-static INLINE void faad_flushbits_rev(bitfile *ld, uint32_t bits)
-{
-    /* do nothing if error */
-    if (ld->error != 0)
-        return;
-
-    if (bits < ld->bits_left)
-    {
-        ld->bits_left -= bits;
-    } else {
-        uint32_t tmp;
-
-        ld->bufa = ld->bufb;
-        tmp = getdword(ld->start);
-        ld->bufb = tmp;
-        ld->start--;
-        ld->bits_left += (32 - bits);
-
-        if (ld->bytes_left < 4)
-        {
-            ld->error = 1;
-            ld->bytes_left = 0;
-        } else {
-            ld->bytes_left -= 4;
-        }
-//        if (ld->bytes_left == 0)
-//            ld->no_more_reading = 1;
-    }
-}
-
-static /*INLINE*/ uint32_t faad_getbits_rev(bitfile *ld, uint32_t n
-                                        DEBUGDEC)
-{
-    uint32_t ret;
-
-    if (n == 0)
-        return 0;
-
-    ret = faad_showbits_rev(ld, n);
-    faad_flushbits_rev(ld, n);
-
-#ifdef ANALYSIS
-    if (print)
-        fprintf(stdout, "%4d %2d bits, val: %4d, variable: %d %s\n", dbg_count++, n, ret, var, dbg);
-#endif
-
-    return ret;
-}
-
-#ifdef DRM
-/* CRC lookup table for G8 polynome in DRM standard */
-static const uint8_t crc_table_G8[256] = {
-    0x0, 0x1d, 0x3a, 0x27, 0x74, 0x69, 0x4e, 0x53,
-    0xe8, 0xf5, 0xd2, 0xcf, 0x9c, 0x81, 0xa6, 0xbb,
-    0xcd, 0xd0, 0xf7, 0xea, 0xb9, 0xa4, 0x83, 0x9e,
-    0x25, 0x38, 0x1f, 0x2, 0x51, 0x4c, 0x6b, 0x76,
-    0x87, 0x9a, 0xbd, 0xa0, 0xf3, 0xee, 0xc9, 0xd4,
-    0x6f, 0x72, 0x55, 0x48, 0x1b, 0x6, 0x21, 0x3c,
-    0x4a, 0x57, 0x70, 0x6d, 0x3e, 0x23, 0x4, 0x19,
-    0xa2, 0xbf, 0x98, 0x85, 0xd6, 0xcb, 0xec, 0xf1,
-    0x13, 0xe, 0x29, 0x34, 0x67, 0x7a, 0x5d, 0x40,
-    0xfb, 0xe6, 0xc1, 0xdc, 0x8f, 0x92, 0xb5, 0xa8,
-    0xde, 0xc3, 0xe4, 0xf9, 0xaa, 0xb7, 0x90, 0x8d,
-    0x36, 0x2b, 0xc, 0x11, 0x42, 0x5f, 0x78, 0x65,
-    0x94, 0x89, 0xae, 0xb3, 0xe0, 0xfd, 0xda, 0xc7,
-    0x7c, 0x61, 0x46, 0x5b, 0x8, 0x15, 0x32, 0x2f,
-    0x59, 0x44, 0x63, 0x7e, 0x2d, 0x30, 0x17, 0xa,
-    0xb1, 0xac, 0x8b, 0x96, 0xc5, 0xd8, 0xff, 0xe2,
-    0x26, 0x3b, 0x1c, 0x1, 0x52, 0x4f, 0x68, 0x75,
-    0xce, 0xd3, 0xf4, 0xe9, 0xba, 0xa7, 0x80, 0x9d,
-    0xeb, 0xf6, 0xd1, 0xcc, 0x9f, 0x82, 0xa5, 0xb8,
-    0x3, 0x1e, 0x39, 0x24, 0x77, 0x6a, 0x4d, 0x50,
-    0xa1, 0xbc, 0x9b, 0x86, 0xd5, 0xc8, 0xef, 0xf2,
-    0x49, 0x54, 0x73, 0x6e, 0x3d, 0x20, 0x7, 0x1a,
-    0x6c, 0x71, 0x56, 0x4b, 0x18, 0x5, 0x22, 0x3f,
-    0x84, 0x99, 0xbe, 0xa3, 0xf0, 0xed, 0xca, 0xd7,
-    0x35, 0x28, 0xf, 0x12, 0x41, 0x5c, 0x7b, 0x66,
-    0xdd, 0xc0, 0xe7, 0xfa, 0xa9, 0xb4, 0x93, 0x8e,
-    0xf8, 0xe5, 0xc2, 0xdf, 0x8c, 0x91, 0xb6, 0xab,
-    0x10, 0xd, 0x2a, 0x37, 0x64, 0x79, 0x5e, 0x43,
-    0xb2, 0xaf, 0x88, 0x95, 0xc6, 0xdb, 0xfc, 0xe1,
-    0x5a, 0x47, 0x60, 0x7d, 0x2e, 0x33, 0x14, 0x9,
-    0x7f, 0x62, 0x45, 0x58, 0xb, 0x16, 0x31, 0x2c,
-    0x97, 0x8a, 0xad, 0xb0, 0xe3, 0xfe, 0xd9, 0xc4,
-};
-
-static uint8_t faad_check_CRC(bitfile *ld, uint16_t len)
-{
-    int bytes, rem;
-    unsigned int CRC;
-    unsigned int r=255;  /* Initialize to all ones */
-
-    /* CRC polynome used x^8 + x^4 + x^3 + x^2 +1 */
-#define GPOLY 0435
-
-    faad_rewindbits(ld);
-
-    CRC = (unsigned int) ~faad_getbits(ld, 8
-        DEBUGVAR(1,999,"faad_check_CRC(): CRC")) & 0xFF;          /* CRC is stored inverted */
-
-    bytes = len >> 3;
-    rem = len & 0x7;
-
-    for (; bytes > 0; bytes--)
-    {
-        r = crc_table_G8[( r ^ faad_getbits(ld, 8 DEBUGVAR(1,998,"")) ) & 0xFF];
-    }
-    for (; rem > 0; rem--)
-    {
-        r = ( (r << 1) ^ (( ( faad_get1bit(ld
-            DEBUGVAR(1,998,""))  & 1) ^ ((r >> 7) & 1)) * GPOLY )) & 0xFF;
-    }
-
-    if (r != CRC)
-  //  if (0)
-    {
-        return 28;
-    } else {
-        return 0;
-    }
-}
-
-static uint8_t tabFlipbits[256] = {
-    0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,
-    8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,
-    4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,
-    12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,
-    2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,
-    10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,
-    6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,
-    14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,
-    1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,
-    9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,
-    5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,
-    13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,
-    3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,
-    11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,
-    7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,
-    15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255
-};
-#endif
-
-#ifdef ERROR_RESILIENCE
-
-/* Modified bit reading functions for HCR */
-
-typedef struct
-{
-    /* bit input */
-    uint32_t bufa;
-    uint32_t bufb;
-    int8_t len;
-} bits_t;
-
-
-static INLINE uint32_t showbits_hcr(bits_t *ld, uint8_t bits)
-{
-    if (bits == 0) return 0;
-    if (ld->len <= 32)
-    {
-        /* huffman_spectral_data_2 needs to read more than may be available, bits maybe
-           > ld->len, deliver 0 than */
-        if (ld->len >= bits)
-            return ((ld->bufa >> (ld->len - bits)) & (0xFFFFFFFF >> (32 - bits)));
-        else
-            return ((ld->bufa << (bits - ld->len)) & (0xFFFFFFFF >> (32 - bits)));
-    } else {
-        if ((ld->len - bits) < 32)
-        {
-            return ( (ld->bufb & (0xFFFFFFFF >> (64 - ld->len))) << (bits - ld->len + 32)) |
-                (ld->bufa >> (ld->len - bits));
-        } else {
-            return ((ld->bufb >> (ld->len - bits - 32)) & (0xFFFFFFFF >> (32 - bits)));
-        }
-    }
-}
-
-/* return 1 if position is outside of buffer, 0 otherwise */
-static INLINE int8_t flushbits_hcr( bits_t *ld, uint8_t bits)
-{
-    ld->len -= bits;
-
-    if (ld->len <0)
-    {
-        ld->len = 0;
-        return 1;
-    } else {
-        return 0;
-    }
-}
-
-static INLINE int8_t getbits_hcr(bits_t *ld, uint8_t n, uint32_t *result)
-{
-    *result = showbits_hcr(ld, n);
-    return flushbits_hcr(ld, n);
-}
-
-static INLINE int8_t get1bit_hcr(bits_t *ld, uint8_t *result)
-{
-    uint32_t res;
-    int8_t ret;
-
-    ret = getbits_hcr(ld, 1, &res);
-    *result = (int8_t)(res & 1);
-    return ret;
-}
-
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/cfft.c b/lib/libfaad2/libfaad/cfft.c
deleted file mode 100644 (file)
index 5b01d75..0000000
+++ /dev/null
@@ -1,1005 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: cfft.c,v 1.35 2007/11/01 12:33:29 menno Exp $
-**/
-
-/*
- * Algorithmically based on Fortran-77 FFTPACK
- * by Paul N. Swarztrauber(Version 4, 1985).
- *
- * Does even sized fft only
- */
-
-/* isign is +1 for backward and -1 for forward transforms */
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-
-#include "cfft.h"
-#include "cfft_tab.h"
-
-
-/* static function declarations */
-static void passf2pos(const uint16_t ido, const uint16_t l1, const complex_t *cc,
-                      complex_t *ch, const complex_t *wa);
-static void passf2neg(const uint16_t ido, const uint16_t l1, const complex_t *cc,
-                      complex_t *ch, const complex_t *wa);
-static void passf3(const uint16_t ido, const uint16_t l1, const complex_t *cc,
-                   complex_t *ch, const complex_t *wa1, const complex_t *wa2, const int8_t isign);
-static void passf4pos(const uint16_t ido, const uint16_t l1, const complex_t *cc, complex_t *ch,
-                      const complex_t *wa1, const complex_t *wa2, const complex_t *wa3);
-static void passf4neg(const uint16_t ido, const uint16_t l1, const complex_t *cc, complex_t *ch,
-                      const complex_t *wa1, const complex_t *wa2, const complex_t *wa3);
-static void passf5(const uint16_t ido, const uint16_t l1, const complex_t *cc, complex_t *ch,
-                   const complex_t *wa1, const complex_t *wa2, const complex_t *wa3,
-                   const complex_t *wa4, const int8_t isign);
-INLINE void cfftf1(uint16_t n, complex_t *c, complex_t *ch,
-                   const uint16_t *ifac, const complex_t *wa, const int8_t isign);
-static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac);
-
-
-/*----------------------------------------------------------------------
-   passf2, passf3, passf4, passf5. Complex FFT passes fwd and bwd.
-  ----------------------------------------------------------------------*/
-
-static void passf2pos(const uint16_t ido, const uint16_t l1, const complex_t *cc,
-                      complex_t *ch, const complex_t *wa)
-{
-    uint16_t i, k, ah, ac;
-
-    if (ido == 1)
-    {
-        for (k = 0; k < l1; k++)
-        {
-            ah = 2*k;
-            ac = 4*k;
-
-            RE(ch[ah])    = RE(cc[ac]) + RE(cc[ac+1]);
-            RE(ch[ah+l1]) = RE(cc[ac]) - RE(cc[ac+1]);
-            IM(ch[ah])    = IM(cc[ac]) + IM(cc[ac+1]);
-            IM(ch[ah+l1]) = IM(cc[ac]) - IM(cc[ac+1]);
-        }
-    } else {
-        for (k = 0; k < l1; k++)
-        {
-            ah = k*ido;
-            ac = 2*k*ido;
-
-            for (i = 0; i < ido; i++)
-            {
-                complex_t t2;
-
-                RE(ch[ah+i]) = RE(cc[ac+i]) + RE(cc[ac+i+ido]);
-                RE(t2)       = RE(cc[ac+i]) - RE(cc[ac+i+ido]);
-
-                IM(ch[ah+i]) = IM(cc[ac+i]) + IM(cc[ac+i+ido]);
-                IM(t2)       = IM(cc[ac+i]) - IM(cc[ac+i+ido]);
-
-#if 1
-                ComplexMult(&IM(ch[ah+i+l1*ido]), &RE(ch[ah+i+l1*ido]),
-                    IM(t2), RE(t2), RE(wa[i]), IM(wa[i]));
-#else
-                ComplexMult(&RE(ch[ah+i+l1*ido]), &IM(ch[ah+i+l1*ido]),
-                    RE(t2), IM(t2), RE(wa[i]), IM(wa[i]));
-#endif
-            }
-        }
-    }
-}
-
-static void passf2neg(const uint16_t ido, const uint16_t l1, const complex_t *cc,
-                      complex_t *ch, const complex_t *wa)
-{
-    uint16_t i, k, ah, ac;
-
-    if (ido == 1)
-    {
-        for (k = 0; k < l1; k++)
-        {
-            ah = 2*k;
-            ac = 4*k;
-
-            RE(ch[ah])    = RE(cc[ac]) + RE(cc[ac+1]);
-            RE(ch[ah+l1]) = RE(cc[ac]) - RE(cc[ac+1]);
-            IM(ch[ah])    = IM(cc[ac]) + IM(cc[ac+1]);
-            IM(ch[ah+l1]) = IM(cc[ac]) - IM(cc[ac+1]);
-        }
-    } else {
-        for (k = 0; k < l1; k++)
-        {
-            ah = k*ido;
-            ac = 2*k*ido;
-
-            for (i = 0; i < ido; i++)
-            {
-                complex_t t2;
-
-                RE(ch[ah+i]) = RE(cc[ac+i]) + RE(cc[ac+i+ido]);
-                RE(t2)       = RE(cc[ac+i]) - RE(cc[ac+i+ido]);
-
-                IM(ch[ah+i]) = IM(cc[ac+i]) + IM(cc[ac+i+ido]);
-                IM(t2)       = IM(cc[ac+i]) - IM(cc[ac+i+ido]);
-
-#if 1
-                ComplexMult(&RE(ch[ah+i+l1*ido]), &IM(ch[ah+i+l1*ido]),
-                    RE(t2), IM(t2), RE(wa[i]), IM(wa[i]));
-#else
-                ComplexMult(&IM(ch[ah+i+l1*ido]), &RE(ch[ah+i+l1*ido]),
-                    IM(t2), RE(t2), RE(wa[i]), IM(wa[i]));
-#endif
-            }
-        }
-    }
-}
-
-
-static void passf3(const uint16_t ido, const uint16_t l1, const complex_t *cc,
-                   complex_t *ch, const complex_t *wa1, const complex_t *wa2,
-                   const int8_t isign)
-{
-    static real_t taur = FRAC_CONST(-0.5);
-    static real_t taui = FRAC_CONST(0.866025403784439);
-    uint16_t i, k, ac, ah;
-    complex_t c2, c3, d2, d3, t2;
-
-    if (ido == 1)
-    {
-        if (isign == 1)
-        {
-            for (k = 0; k < l1; k++)
-            {
-                ac = 3*k+1;
-                ah = k;
-
-                RE(t2) = RE(cc[ac]) + RE(cc[ac+1]);
-                IM(t2) = IM(cc[ac]) + IM(cc[ac+1]);
-                RE(c2) = RE(cc[ac-1]) + MUL_F(RE(t2),taur);
-                IM(c2) = IM(cc[ac-1]) + MUL_F(IM(t2),taur);
-
-                RE(ch[ah]) = RE(cc[ac-1]) + RE(t2);
-                IM(ch[ah]) = IM(cc[ac-1]) + IM(t2);
-
-                RE(c3) = MUL_F((RE(cc[ac]) - RE(cc[ac+1])), taui);
-                IM(c3) = MUL_F((IM(cc[ac]) - IM(cc[ac+1])), taui);
-
-                RE(ch[ah+l1]) = RE(c2) - IM(c3);
-                IM(ch[ah+l1]) = IM(c2) + RE(c3);
-                RE(ch[ah+2*l1]) = RE(c2) + IM(c3);
-                IM(ch[ah+2*l1]) = IM(c2) - RE(c3);
-            }
-        } else {
-            for (k = 0; k < l1; k++)
-            {
-                ac = 3*k+1;
-                ah = k;
-
-                RE(t2) = RE(cc[ac]) + RE(cc[ac+1]);
-                IM(t2) = IM(cc[ac]) + IM(cc[ac+1]);
-                RE(c2) = RE(cc[ac-1]) + MUL_F(RE(t2),taur);
-                IM(c2) = IM(cc[ac-1]) + MUL_F(IM(t2),taur);
-
-                RE(ch[ah]) = RE(cc[ac-1]) + RE(t2);
-                IM(ch[ah]) = IM(cc[ac-1]) + IM(t2);
-
-                RE(c3) = MUL_F((RE(cc[ac]) - RE(cc[ac+1])), taui);
-                IM(c3) = MUL_F((IM(cc[ac]) - IM(cc[ac+1])), taui);
-
-                RE(ch[ah+l1]) = RE(c2) + IM(c3);
-                IM(ch[ah+l1]) = IM(c2) - RE(c3);
-                RE(ch[ah+2*l1]) = RE(c2) - IM(c3);
-                IM(ch[ah+2*l1]) = IM(c2) + RE(c3);
-            }
-        }
-    } else {
-        if (isign == 1)
-        {
-            for (k = 0; k < l1; k++)
-            {
-                for (i = 0; i < ido; i++)
-                {
-                    ac = i + (3*k+1)*ido;
-                    ah = i + k * ido;
-
-                    RE(t2) = RE(cc[ac]) + RE(cc[ac+ido]);
-                    RE(c2) = RE(cc[ac-ido]) + MUL_F(RE(t2),taur);
-                    IM(t2) = IM(cc[ac]) + IM(cc[ac+ido]);
-                    IM(c2) = IM(cc[ac-ido]) + MUL_F(IM(t2),taur);
-
-                    RE(ch[ah]) = RE(cc[ac-ido]) + RE(t2);
-                    IM(ch[ah]) = IM(cc[ac-ido]) + IM(t2);
-
-                    RE(c3) = MUL_F((RE(cc[ac]) - RE(cc[ac+ido])), taui);
-                    IM(c3) = MUL_F((IM(cc[ac]) - IM(cc[ac+ido])), taui);
-
-                    RE(d2) = RE(c2) - IM(c3);
-                    IM(d3) = IM(c2) - RE(c3);
-                    RE(d3) = RE(c2) + IM(c3);
-                    IM(d2) = IM(c2) + RE(c3);
-
-#if 1
-                    ComplexMult(&IM(ch[ah+l1*ido]), &RE(ch[ah+l1*ido]),
-                        IM(d2), RE(d2), RE(wa1[i]), IM(wa1[i]));
-                    ComplexMult(&IM(ch[ah+2*l1*ido]), &RE(ch[ah+2*l1*ido]),
-                        IM(d3), RE(d3), RE(wa2[i]), IM(wa2[i]));
-#else
-                    ComplexMult(&RE(ch[ah+l1*ido]), &IM(ch[ah+l1*ido]),
-                        RE(d2), IM(d2), RE(wa1[i]), IM(wa1[i]));
-                    ComplexMult(&RE(ch[ah+2*l1*ido]), &IM(ch[ah+2*l1*ido]),
-                        RE(d3), IM(d3), RE(wa2[i]), IM(wa2[i]));
-#endif
-                }
-            }
-        } else {
-            for (k = 0; k < l1; k++)
-            {
-                for (i = 0; i < ido; i++)
-                {
-                    ac = i + (3*k+1)*ido;
-                    ah = i + k * ido;
-
-                    RE(t2) = RE(cc[ac]) + RE(cc[ac+ido]);
-                    RE(c2) = RE(cc[ac-ido]) + MUL_F(RE(t2),taur);
-                    IM(t2) = IM(cc[ac]) + IM(cc[ac+ido]);
-                    IM(c2) = IM(cc[ac-ido]) + MUL_F(IM(t2),taur);
-
-                    RE(ch[ah]) = RE(cc[ac-ido]) + RE(t2);
-                    IM(ch[ah]) = IM(cc[ac-ido]) + IM(t2);
-
-                    RE(c3) = MUL_F((RE(cc[ac]) - RE(cc[ac+ido])), taui);
-                    IM(c3) = MUL_F((IM(cc[ac]) - IM(cc[ac+ido])), taui);
-
-                    RE(d2) = RE(c2) + IM(c3);
-                    IM(d3) = IM(c2) + RE(c3);
-                    RE(d3) = RE(c2) - IM(c3);
-                    IM(d2) = IM(c2) - RE(c3);
-
-#if 1
-                    ComplexMult(&RE(ch[ah+l1*ido]), &IM(ch[ah+l1*ido]),
-                        RE(d2), IM(d2), RE(wa1[i]), IM(wa1[i]));
-                    ComplexMult(&RE(ch[ah+2*l1*ido]), &IM(ch[ah+2*l1*ido]),
-                        RE(d3), IM(d3), RE(wa2[i]), IM(wa2[i]));
-#else
-                    ComplexMult(&IM(ch[ah+l1*ido]), &RE(ch[ah+l1*ido]),
-                        IM(d2), RE(d2), RE(wa1[i]), IM(wa1[i]));
-                    ComplexMult(&IM(ch[ah+2*l1*ido]), &RE(ch[ah+2*l1*ido]),
-                        IM(d3), RE(d3), RE(wa2[i]), IM(wa2[i]));
-#endif
-                }
-            }
-        }
-    }
-}
-
-
-static void passf4pos(const uint16_t ido, const uint16_t l1, const complex_t *cc,
-                      complex_t *ch, const complex_t *wa1, const complex_t *wa2,
-                      const complex_t *wa3)
-{
-    uint16_t i, k, ac, ah;
-
-    if (ido == 1)
-    {
-        for (k = 0; k < l1; k++)
-        {
-            complex_t t1, t2, t3, t4;
-
-            ac = 4*k;
-            ah = k;
-
-            RE(t2) = RE(cc[ac])   + RE(cc[ac+2]);
-            RE(t1) = RE(cc[ac])   - RE(cc[ac+2]);
-            IM(t2) = IM(cc[ac])   + IM(cc[ac+2]);
-            IM(t1) = IM(cc[ac])   - IM(cc[ac+2]);
-            RE(t3) = RE(cc[ac+1]) + RE(cc[ac+3]);
-            IM(t4) = RE(cc[ac+1]) - RE(cc[ac+3]);
-            IM(t3) = IM(cc[ac+3]) + IM(cc[ac+1]);
-            RE(t4) = IM(cc[ac+3]) - IM(cc[ac+1]);
-
-            RE(ch[ah])      = RE(t2) + RE(t3);
-            RE(ch[ah+2*l1]) = RE(t2) - RE(t3);
-
-            IM(ch[ah])      = IM(t2) + IM(t3);
-            IM(ch[ah+2*l1]) = IM(t2) - IM(t3);
-
-            RE(ch[ah+l1])   = RE(t1) + RE(t4);
-            RE(ch[ah+3*l1]) = RE(t1) - RE(t4);
-
-            IM(ch[ah+l1])   = IM(t1) + IM(t4);
-            IM(ch[ah+3*l1]) = IM(t1) - IM(t4);
-        }
-    } else {
-        for (k = 0; k < l1; k++)
-        {
-            ac = 4*k*ido;
-            ah = k*ido;
-
-            for (i = 0; i < ido; i++)
-            {
-                complex_t c2, c3, c4, t1, t2, t3, t4;
-
-                RE(t2) = RE(cc[ac+i]) + RE(cc[ac+i+2*ido]);
-                RE(t1) = RE(cc[ac+i]) - RE(cc[ac+i+2*ido]);
-                IM(t2) = IM(cc[ac+i]) + IM(cc[ac+i+2*ido]);
-                IM(t1) = IM(cc[ac+i]) - IM(cc[ac+i+2*ido]);
-                RE(t3) = RE(cc[ac+i+ido]) + RE(cc[ac+i+3*ido]);
-                IM(t4) = RE(cc[ac+i+ido]) - RE(cc[ac+i+3*ido]);
-                IM(t3) = IM(cc[ac+i+3*ido]) + IM(cc[ac+i+ido]);
-                RE(t4) = IM(cc[ac+i+3*ido]) - IM(cc[ac+i+ido]);
-
-                RE(c2) = RE(t1) + RE(t4);
-                RE(c4) = RE(t1) - RE(t4);
-
-                IM(c2) = IM(t1) + IM(t4);
-                IM(c4) = IM(t1) - IM(t4);
-
-                RE(ch[ah+i]) = RE(t2) + RE(t3);
-                RE(c3)       = RE(t2) - RE(t3);
-
-                IM(ch[ah+i]) = IM(t2) + IM(t3);
-                IM(c3)       = IM(t2) - IM(t3);
-
-#if 1
-                ComplexMult(&IM(ch[ah+i+l1*ido]), &RE(ch[ah+i+l1*ido]),
-                    IM(c2), RE(c2), RE(wa1[i]), IM(wa1[i]));
-                ComplexMult(&IM(ch[ah+i+2*l1*ido]), &RE(ch[ah+i+2*l1*ido]),
-                    IM(c3), RE(c3), RE(wa2[i]), IM(wa2[i]));
-                ComplexMult(&IM(ch[ah+i+3*l1*ido]), &RE(ch[ah+i+3*l1*ido]),
-                    IM(c4), RE(c4), RE(wa3[i]), IM(wa3[i]));
-#else
-                ComplexMult(&RE(ch[ah+i+l1*ido]), &IM(ch[ah+i+l1*ido]),
-                    RE(c2), IM(c2), RE(wa1[i]), IM(wa1[i]));
-                ComplexMult(&RE(ch[ah+i+2*l1*ido]), &IM(ch[ah+i+2*l1*ido]),
-                    RE(c3), IM(c3), RE(wa2[i]), IM(wa2[i]));
-                ComplexMult(&RE(ch[ah+i+3*l1*ido]), &IM(ch[ah+i+3*l1*ido]),
-                    RE(c4), IM(c4), RE(wa3[i]), IM(wa3[i]));
-#endif
-            }
-        }
-    }
-}
-
-static void passf4neg(const uint16_t ido, const uint16_t l1, const complex_t *cc,
-                      complex_t *ch, const complex_t *wa1, const complex_t *wa2,
-                      const complex_t *wa3)
-{
-    uint16_t i, k, ac, ah;
-
-    if (ido == 1)
-    {
-        for (k = 0; k < l1; k++)
-        {
-            complex_t t1, t2, t3, t4;
-
-            ac = 4*k;
-            ah = k;
-
-            RE(t2) = RE(cc[ac])   + RE(cc[ac+2]);
-            RE(t1) = RE(cc[ac])   - RE(cc[ac+2]);
-            IM(t2) = IM(cc[ac])   + IM(cc[ac+2]);
-            IM(t1) = IM(cc[ac])   - IM(cc[ac+2]);
-            RE(t3) = RE(cc[ac+1]) + RE(cc[ac+3]);
-            IM(t4) = RE(cc[ac+1]) - RE(cc[ac+3]);
-            IM(t3) = IM(cc[ac+3]) + IM(cc[ac+1]);
-            RE(t4) = IM(cc[ac+3]) - IM(cc[ac+1]);
-
-            RE(ch[ah])      = RE(t2) + RE(t3);
-            RE(ch[ah+2*l1]) = RE(t2) - RE(t3);
-
-            IM(ch[ah])      = IM(t2) + IM(t3);
-            IM(ch[ah+2*l1]) = IM(t2) - IM(t3);
-
-            RE(ch[ah+l1])   = RE(t1) - RE(t4);
-            RE(ch[ah+3*l1]) = RE(t1) + RE(t4);
-
-            IM(ch[ah+l1])   = IM(t1) - IM(t4);
-            IM(ch[ah+3*l1]) = IM(t1) + IM(t4);
-        }
-    } else {
-        for (k = 0; k < l1; k++)
-        {
-            ac = 4*k*ido;
-            ah = k*ido;
-
-            for (i = 0; i < ido; i++)
-            {
-                complex_t c2, c3, c4, t1, t2, t3, t4;
-
-                RE(t2) = RE(cc[ac+i]) + RE(cc[ac+i+2*ido]);
-                RE(t1) = RE(cc[ac+i]) - RE(cc[ac+i+2*ido]);
-                IM(t2) = IM(cc[ac+i]) + IM(cc[ac+i+2*ido]);
-                IM(t1) = IM(cc[ac+i]) - IM(cc[ac+i+2*ido]);
-                RE(t3) = RE(cc[ac+i+ido]) + RE(cc[ac+i+3*ido]);
-                IM(t4) = RE(cc[ac+i+ido]) - RE(cc[ac+i+3*ido]);
-                IM(t3) = IM(cc[ac+i+3*ido]) + IM(cc[ac+i+ido]);
-                RE(t4) = IM(cc[ac+i+3*ido]) - IM(cc[ac+i+ido]);
-
-                RE(c2) = RE(t1) - RE(t4);
-                RE(c4) = RE(t1) + RE(t4);
-
-                IM(c2) = IM(t1) - IM(t4);
-                IM(c4) = IM(t1) + IM(t4);
-
-                RE(ch[ah+i]) = RE(t2) + RE(t3);
-                RE(c3)       = RE(t2) - RE(t3);
-
-                IM(ch[ah+i]) = IM(t2) + IM(t3);
-                IM(c3)       = IM(t2) - IM(t3);
-
-#if 1
-                ComplexMult(&RE(ch[ah+i+l1*ido]), &IM(ch[ah+i+l1*ido]),
-                    RE(c2), IM(c2), RE(wa1[i]), IM(wa1[i]));
-                ComplexMult(&RE(ch[ah+i+2*l1*ido]), &IM(ch[ah+i+2*l1*ido]),
-                    RE(c3), IM(c3), RE(wa2[i]), IM(wa2[i]));
-                ComplexMult(&RE(ch[ah+i+3*l1*ido]), &IM(ch[ah+i+3*l1*ido]),
-                    RE(c4), IM(c4), RE(wa3[i]), IM(wa3[i]));
-#else
-                ComplexMult(&IM(ch[ah+i+l1*ido]), &RE(ch[ah+i+l1*ido]),
-                    IM(c2), RE(c2), RE(wa1[i]), IM(wa1[i]));
-                ComplexMult(&IM(ch[ah+i+2*l1*ido]), &RE(ch[ah+i+2*l1*ido]),
-                    IM(c3), RE(c3), RE(wa2[i]), IM(wa2[i]));
-                ComplexMult(&IM(ch[ah+i+3*l1*ido]), &RE(ch[ah+i+3*l1*ido]),
-                    IM(c4), RE(c4), RE(wa3[i]), IM(wa3[i]));
-#endif
-            }
-        }
-    }
-}
-
-static void passf5(const uint16_t ido, const uint16_t l1, const complex_t *cc,
-                   complex_t *ch, const complex_t *wa1, const complex_t *wa2, const complex_t *wa3,
-                   const complex_t *wa4, const int8_t isign)
-{
-    static real_t tr11 = FRAC_CONST(0.309016994374947);
-    static real_t ti11 = FRAC_CONST(0.951056516295154);
-    static real_t tr12 = FRAC_CONST(-0.809016994374947);
-    static real_t ti12 = FRAC_CONST(0.587785252292473);
-    uint16_t i, k, ac, ah;
-    complex_t c2, c3, c4, c5, d3, d4, d5, d2, t2, t3, t4, t5;
-
-    if (ido == 1)
-    {
-        if (isign == 1)
-        {
-            for (k = 0; k < l1; k++)
-            {
-                ac = 5*k + 1;
-                ah = k;
-
-                RE(t2) = RE(cc[ac]) + RE(cc[ac+3]);
-                IM(t2) = IM(cc[ac]) + IM(cc[ac+3]);
-                RE(t3) = RE(cc[ac+1]) + RE(cc[ac+2]);
-                IM(t3) = IM(cc[ac+1]) + IM(cc[ac+2]);
-                RE(t4) = RE(cc[ac+1]) - RE(cc[ac+2]);
-                IM(t4) = IM(cc[ac+1]) - IM(cc[ac+2]);
-                RE(t5) = RE(cc[ac]) - RE(cc[ac+3]);
-                IM(t5) = IM(cc[ac]) - IM(cc[ac+3]);
-
-                RE(ch[ah]) = RE(cc[ac-1]) + RE(t2) + RE(t3);
-                IM(ch[ah]) = IM(cc[ac-1]) + IM(t2) + IM(t3);
-
-                RE(c2) = RE(cc[ac-1]) + MUL_F(RE(t2),tr11) + MUL_F(RE(t3),tr12);
-                IM(c2) = IM(cc[ac-1]) + MUL_F(IM(t2),tr11) + MUL_F(IM(t3),tr12);
-                RE(c3) = RE(cc[ac-1]) + MUL_F(RE(t2),tr12) + MUL_F(RE(t3),tr11);
-                IM(c3) = IM(cc[ac-1]) + MUL_F(IM(t2),tr12) + MUL_F(IM(t3),tr11);
-
-                ComplexMult(&RE(c5), &RE(c4),
-                    ti11, ti12, RE(t5), RE(t4));
-                ComplexMult(&IM(c5), &IM(c4),
-                    ti11, ti12, IM(t5), IM(t4));
-
-                RE(ch[ah+l1]) = RE(c2) - IM(c5);
-                IM(ch[ah+l1]) = IM(c2) + RE(c5);
-                RE(ch[ah+2*l1]) = RE(c3) - IM(c4);
-                IM(ch[ah+2*l1]) = IM(c3) + RE(c4);
-                RE(ch[ah+3*l1]) = RE(c3) + IM(c4);
-                IM(ch[ah+3*l1]) = IM(c3) - RE(c4);
-                RE(ch[ah+4*l1]) = RE(c2) + IM(c5);
-                IM(ch[ah+4*l1]) = IM(c2) - RE(c5);
-            }
-        } else {
-            for (k = 0; k < l1; k++)
-            {
-                ac = 5*k + 1;
-                ah = k;
-
-                RE(t2) = RE(cc[ac]) + RE(cc[ac+3]);
-                IM(t2) = IM(cc[ac]) + IM(cc[ac+3]);
-                RE(t3) = RE(cc[ac+1]) + RE(cc[ac+2]);
-                IM(t3) = IM(cc[ac+1]) + IM(cc[ac+2]);
-                RE(t4) = RE(cc[ac+1]) - RE(cc[ac+2]);
-                IM(t4) = IM(cc[ac+1]) - IM(cc[ac+2]);
-                RE(t5) = RE(cc[ac]) - RE(cc[ac+3]);
-                IM(t5) = IM(cc[ac]) - IM(cc[ac+3]);
-
-                RE(ch[ah]) = RE(cc[ac-1]) + RE(t2) + RE(t3);
-                IM(ch[ah]) = IM(cc[ac-1]) + IM(t2) + IM(t3);
-
-                RE(c2) = RE(cc[ac-1]) + MUL_F(RE(t2),tr11) + MUL_F(RE(t3),tr12);
-                IM(c2) = IM(cc[ac-1]) + MUL_F(IM(t2),tr11) + MUL_F(IM(t3),tr12);
-                RE(c3) = RE(cc[ac-1]) + MUL_F(RE(t2),tr12) + MUL_F(RE(t3),tr11);
-                IM(c3) = IM(cc[ac-1]) + MUL_F(IM(t2),tr12) + MUL_F(IM(t3),tr11);
-
-                ComplexMult(&RE(c4), &RE(c5),
-                    ti12, ti11, RE(t5), RE(t4));
-                ComplexMult(&IM(c4), &IM(c5),
-                    ti12, ti11, IM(t5), IM(t4));
-
-                RE(ch[ah+l1]) = RE(c2) + IM(c5);
-                IM(ch[ah+l1]) = IM(c2) - RE(c5);
-                RE(ch[ah+2*l1]) = RE(c3) + IM(c4);
-                IM(ch[ah+2*l1]) = IM(c3) - RE(c4);
-                RE(ch[ah+3*l1]) = RE(c3) - IM(c4);
-                IM(ch[ah+3*l1]) = IM(c3) + RE(c4);
-                RE(ch[ah+4*l1]) = RE(c2) - IM(c5);
-                IM(ch[ah+4*l1]) = IM(c2) + RE(c5);
-            }
-        }
-    } else {
-        if (isign == 1)
-        {
-            for (k = 0; k < l1; k++)
-            {
-                for (i = 0; i < ido; i++)
-                {
-                    ac = i + (k*5 + 1) * ido;
-                    ah = i + k * ido;
-
-                    RE(t2) = RE(cc[ac]) + RE(cc[ac+3*ido]);
-                    IM(t2) = IM(cc[ac]) + IM(cc[ac+3*ido]);
-                    RE(t3) = RE(cc[ac+ido]) + RE(cc[ac+2*ido]);
-                    IM(t3) = IM(cc[ac+ido]) + IM(cc[ac+2*ido]);
-                    RE(t4) = RE(cc[ac+ido]) - RE(cc[ac+2*ido]);
-                    IM(t4) = IM(cc[ac+ido]) - IM(cc[ac+2*ido]);
-                    RE(t5) = RE(cc[ac]) - RE(cc[ac+3*ido]);
-                    IM(t5) = IM(cc[ac]) - IM(cc[ac+3*ido]);
-
-                    RE(ch[ah]) = RE(cc[ac-ido]) + RE(t2) + RE(t3);
-                    IM(ch[ah]) = IM(cc[ac-ido]) + IM(t2) + IM(t3);
-
-                    RE(c2) = RE(cc[ac-ido]) + MUL_F(RE(t2),tr11) + MUL_F(RE(t3),tr12);
-                    IM(c2) = IM(cc[ac-ido]) + MUL_F(IM(t2),tr11) + MUL_F(IM(t3),tr12);
-                    RE(c3) = RE(cc[ac-ido]) + MUL_F(RE(t2),tr12) + MUL_F(RE(t3),tr11);
-                    IM(c3) = IM(cc[ac-ido]) + MUL_F(IM(t2),tr12) + MUL_F(IM(t3),tr11);
-
-                    ComplexMult(&RE(c5), &RE(c4),
-                        ti11, ti12, RE(t5), RE(t4));
-                    ComplexMult(&IM(c5), &IM(c4),
-                        ti11, ti12, IM(t5), IM(t4));
-
-                    IM(d2) = IM(c2) + RE(c5);
-                    IM(d3) = IM(c3) + RE(c4);
-                    RE(d4) = RE(c3) + IM(c4);
-                    RE(d5) = RE(c2) + IM(c5);
-                    RE(d2) = RE(c2) - IM(c5);
-                    IM(d5) = IM(c2) - RE(c5);
-                    RE(d3) = RE(c3) - IM(c4);
-                    IM(d4) = IM(c3) - RE(c4);
-
-#if 1
-                    ComplexMult(&IM(ch[ah+l1*ido]), &RE(ch[ah+l1*ido]),
-                        IM(d2), RE(d2), RE(wa1[i]), IM(wa1[i]));
-                    ComplexMult(&IM(ch[ah+2*l1*ido]), &RE(ch[ah+2*l1*ido]),
-                        IM(d3), RE(d3), RE(wa2[i]), IM(wa2[i]));
-                    ComplexMult(&IM(ch[ah+3*l1*ido]), &RE(ch[ah+3*l1*ido]),
-                        IM(d4), RE(d4), RE(wa3[i]), IM(wa3[i]));
-                    ComplexMult(&IM(ch[ah+4*l1*ido]), &RE(ch[ah+4*l1*ido]),
-                        IM(d5), RE(d5), RE(wa4[i]), IM(wa4[i]));
-#else
-                    ComplexMult(&RE(ch[ah+l1*ido]), &IM(ch[ah+l1*ido]),
-                        RE(d2), IM(d2), RE(wa1[i]), IM(wa1[i]));
-                    ComplexMult(&RE(ch[ah+2*l1*ido]), &IM(ch[ah+2*l1*ido]),
-                        RE(d3), IM(d3), RE(wa2[i]), IM(wa2[i]));
-                    ComplexMult(&RE(ch[ah+3*l1*ido]), &IM(ch[ah+3*l1*ido]),
-                        RE(d4), IM(d4), RE(wa3[i]), IM(wa3[i]));
-                    ComplexMult(&RE(ch[ah+4*l1*ido]), &IM(ch[ah+4*l1*ido]),
-                        RE(d5), IM(d5), RE(wa4[i]), IM(wa4[i]));
-#endif
-                }
-            }
-        } else {
-            for (k = 0; k < l1; k++)
-            {
-                for (i = 0; i < ido; i++)
-                {
-                    ac = i + (k*5 + 1) * ido;
-                    ah = i + k * ido;
-
-                    RE(t2) = RE(cc[ac]) + RE(cc[ac+3*ido]);
-                    IM(t2) = IM(cc[ac]) + IM(cc[ac+3*ido]);
-                    RE(t3) = RE(cc[ac+ido]) + RE(cc[ac+2*ido]);
-                    IM(t3) = IM(cc[ac+ido]) + IM(cc[ac+2*ido]);
-                    RE(t4) = RE(cc[ac+ido]) - RE(cc[ac+2*ido]);
-                    IM(t4) = IM(cc[ac+ido]) - IM(cc[ac+2*ido]);
-                    RE(t5) = RE(cc[ac]) - RE(cc[ac+3*ido]);
-                    IM(t5) = IM(cc[ac]) - IM(cc[ac+3*ido]);
-
-                    RE(ch[ah]) = RE(cc[ac-ido]) + RE(t2) + RE(t3);
-                    IM(ch[ah]) = IM(cc[ac-ido]) + IM(t2) + IM(t3);
-
-                    RE(c2) = RE(cc[ac-ido]) + MUL_F(RE(t2),tr11) + MUL_F(RE(t3),tr12);
-                    IM(c2) = IM(cc[ac-ido]) + MUL_F(IM(t2),tr11) + MUL_F(IM(t3),tr12);
-                    RE(c3) = RE(cc[ac-ido]) + MUL_F(RE(t2),tr12) + MUL_F(RE(t3),tr11);
-                    IM(c3) = IM(cc[ac-ido]) + MUL_F(IM(t2),tr12) + MUL_F(IM(t3),tr11);
-
-                    ComplexMult(&RE(c4), &RE(c5),
-                        ti12, ti11, RE(t5), RE(t4));
-                    ComplexMult(&IM(c4), &IM(c5),
-                        ti12, ti11, IM(t5), IM(t4));
-
-                    IM(d2) = IM(c2) - RE(c5);
-                    IM(d3) = IM(c3) - RE(c4);
-                    RE(d4) = RE(c3) - IM(c4);
-                    RE(d5) = RE(c2) - IM(c5);
-                    RE(d2) = RE(c2) + IM(c5);
-                    IM(d5) = IM(c2) + RE(c5);
-                    RE(d3) = RE(c3) + IM(c4);
-                    IM(d4) = IM(c3) + RE(c4);
-
-#if 1
-                    ComplexMult(&RE(ch[ah+l1*ido]), &IM(ch[ah+l1*ido]),
-                        RE(d2), IM(d2), RE(wa1[i]), IM(wa1[i]));
-                    ComplexMult(&RE(ch[ah+2*l1*ido]), &IM(ch[ah+2*l1*ido]),
-                        RE(d3), IM(d3), RE(wa2[i]), IM(wa2[i]));
-                    ComplexMult(&RE(ch[ah+3*l1*ido]), &IM(ch[ah+3*l1*ido]),
-                        RE(d4), IM(d4), RE(wa3[i]), IM(wa3[i]));
-                    ComplexMult(&RE(ch[ah+4*l1*ido]), &IM(ch[ah+4*l1*ido]),
-                        RE(d5), IM(d5), RE(wa4[i]), IM(wa4[i]));
-#else
-                    ComplexMult(&IM(ch[ah+l1*ido]), &RE(ch[ah+l1*ido]),
-                        IM(d2), RE(d2), RE(wa1[i]), IM(wa1[i]));
-                    ComplexMult(&IM(ch[ah+2*l1*ido]), &RE(ch[ah+2*l1*ido]),
-                        IM(d3), RE(d3), RE(wa2[i]), IM(wa2[i]));
-                    ComplexMult(&IM(ch[ah+3*l1*ido]), &RE(ch[ah+3*l1*ido]),
-                        IM(d4), RE(d4), RE(wa3[i]), IM(wa3[i]));
-                    ComplexMult(&IM(ch[ah+4*l1*ido]), &RE(ch[ah+4*l1*ido]),
-                        IM(d5), RE(d5), RE(wa4[i]), IM(wa4[i]));
-#endif
-                }
-            }
-        }
-    }
-}
-
-
-/*----------------------------------------------------------------------
-   cfftf1, cfftf, cfftb, cffti1, cffti. Complex FFTs.
-  ----------------------------------------------------------------------*/
-
-static INLINE void cfftf1pos(uint16_t n, complex_t *c, complex_t *ch,
-                             const uint16_t *ifac, const complex_t *wa,
-                             const int8_t isign)
-{
-    uint16_t i;
-    uint16_t k1, l1, l2;
-    uint16_t na, nf, ip, iw, ix2, ix3, ix4, ido, idl1;
-
-    nf = ifac[1];
-    na = 0;
-    l1 = 1;
-    iw = 0;
-
-    for (k1 = 2; k1 <= nf+1; k1++)
-    {
-        ip = ifac[k1];
-        l2 = ip*l1;
-        ido = n / l2;
-        idl1 = ido*l1;
-
-        switch (ip)
-        {
-        case 4:
-            ix2 = iw + ido;
-            ix3 = ix2 + ido;
-
-            if (na == 0)
-                passf4pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3]);
-            else
-                passf4pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3]);
-
-            na = 1 - na;
-            break;
-        case 2:
-            if (na == 0)
-                passf2pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw]);
-            else
-                passf2pos((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw]);
-
-            na = 1 - na;
-            break;
-        case 3:
-            ix2 = iw + ido;
-
-            if (na == 0)
-                passf3((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], isign);
-            else
-                passf3((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], isign);
-
-            na = 1 - na;
-            break;
-        case 5:
-            ix2 = iw + ido;
-            ix3 = ix2 + ido;
-            ix4 = ix3 + ido;
-
-            if (na == 0)
-                passf5((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3], &wa[ix4], isign);
-            else
-                passf5((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3], &wa[ix4], isign);
-
-            na = 1 - na;
-            break;
-        }
-
-        l1 = l2;
-        iw += (ip-1) * ido;
-    }
-
-    if (na == 0)
-        return;
-
-    for (i = 0; i < n; i++)
-    {
-        RE(c[i]) = RE(ch[i]);
-        IM(c[i]) = IM(ch[i]);
-    }
-}
-
-static INLINE void cfftf1neg(uint16_t n, complex_t *c, complex_t *ch,
-                             const uint16_t *ifac, const complex_t *wa,
-                             const int8_t isign)
-{
-    uint16_t i;
-    uint16_t k1, l1, l2;
-    uint16_t na, nf, ip, iw, ix2, ix3, ix4, ido, idl1;
-
-    nf = ifac[1];
-    na = 0;
-    l1 = 1;
-    iw = 0;
-
-    for (k1 = 2; k1 <= nf+1; k1++)
-    {
-        ip = ifac[k1];
-        l2 = ip*l1;
-        ido = n / l2;
-        idl1 = ido*l1;
-
-        switch (ip)
-        {
-        case 4:
-            ix2 = iw + ido;
-            ix3 = ix2 + ido;
-
-            if (na == 0)
-                passf4neg((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3]);
-            else
-                passf4neg((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3]);
-
-            na = 1 - na;
-            break;
-        case 2:
-            if (na == 0)
-                passf2neg((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw]);
-            else
-                passf2neg((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw]);
-
-            na = 1 - na;
-            break;
-        case 3:
-            ix2 = iw + ido;
-
-            if (na == 0)
-                passf3((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], isign);
-            else
-                passf3((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], isign);
-
-            na = 1 - na;
-            break;
-        case 5:
-            ix2 = iw + ido;
-            ix3 = ix2 + ido;
-            ix4 = ix3 + ido;
-
-            if (na == 0)
-                passf5((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)c, ch, &wa[iw], &wa[ix2], &wa[ix3], &wa[ix4], isign);
-            else
-                passf5((const uint16_t)ido, (const uint16_t)l1, (const complex_t*)ch, c, &wa[iw], &wa[ix2], &wa[ix3], &wa[ix4], isign);
-
-            na = 1 - na;
-            break;
-        }
-
-        l1 = l2;
-        iw += (ip-1) * ido;
-    }
-
-    if (na == 0)
-        return;
-
-    for (i = 0; i < n; i++)
-    {
-        RE(c[i]) = RE(ch[i]);
-        IM(c[i]) = IM(ch[i]);
-    }
-}
-
-void cfftf(cfft_info *cfft, complex_t *c)
-{
-    cfftf1neg(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, (const complex_t*)cfft->tab, -1);
-}
-
-void cfftb(cfft_info *cfft, complex_t *c)
-{
-    cfftf1pos(cfft->n, c, cfft->work, (const uint16_t*)cfft->ifac, (const complex_t*)cfft->tab, +1);
-}
-
-static void cffti1(uint16_t n, complex_t *wa, uint16_t *ifac)
-{
-    static uint16_t ntryh[4] = {3, 4, 2, 5};
-#ifndef FIXED_POINT
-    real_t arg, argh, argld, fi;
-    uint16_t ido, ipm;
-    uint16_t i1, k1, l1, l2;
-    uint16_t ld, ii, ip;
-#endif
-    uint16_t ntry = 0, i, j;
-    uint16_t ib;
-    uint16_t nf, nl, nq, nr;
-
-    nl = n;
-    nf = 0;
-    j = 0;
-
-startloop:
-    j++;
-
-    if (j <= 4)
-        ntry = ntryh[j-1];
-    else
-        ntry += 2;
-
-    do
-    {
-        nq = nl / ntry;
-        nr = nl - ntry*nq;
-
-        if (nr != 0)
-            goto startloop;
-
-        nf++;
-        ifac[nf+1] = ntry;
-        nl = nq;
-
-        if (ntry == 2 && nf != 1)
-        {
-            for (i = 2; i <= nf; i++)
-            {
-                ib = nf - i + 2;
-                ifac[ib+1] = ifac[ib];
-            }
-            ifac[2] = 2;
-        }
-    } while (nl != 1);
-
-    ifac[0] = n;
-    ifac[1] = nf;
-
-#ifndef FIXED_POINT
-    argh = (real_t)2.0*(real_t)M_PI / (real_t)n;
-    i = 0;
-    l1 = 1;
-
-    for (k1 = 1; k1 <= nf; k1++)
-    {
-        ip = ifac[k1+1];
-        ld = 0;
-        l2 = l1*ip;
-        ido = n / l2;
-        ipm = ip - 1;
-
-        for (j = 0; j < ipm; j++)
-        {
-            i1 = i;
-            RE(wa[i]) = 1.0;
-            IM(wa[i]) = 0.0;
-            ld += l1;
-            fi = 0;
-            argld = ld*argh;
-
-            for (ii = 0; ii < ido; ii++)
-            {
-                i++;
-                fi++;
-                arg = fi * argld;
-                RE(wa[i]) = (real_t)cos(arg);
-#if 1
-                IM(wa[i]) = (real_t)sin(arg);
-#else
-                IM(wa[i]) = (real_t)-sin(arg);
-#endif
-            }
-
-            if (ip > 5)
-            {
-                RE(wa[i1]) = RE(wa[i]);
-                IM(wa[i1]) = IM(wa[i]);
-            }
-        }
-        l1 = l2;
-    }
-#endif
-}
-
-cfft_info *cffti(uint16_t n)
-{
-    cfft_info *cfft = (cfft_info*)faad_malloc(sizeof(cfft_info));
-
-    cfft->n = n;
-    cfft->work = (complex_t*)faad_malloc(n*sizeof(complex_t));
-
-#ifndef FIXED_POINT
-    cfft->tab = (complex_t*)faad_malloc(n*sizeof(complex_t));
-
-    cffti1(n, cfft->tab, cfft->ifac);
-#else
-    cffti1(n, NULL, cfft->ifac);
-
-    switch (n)
-    {
-    case 64: cfft->tab = (complex_t*)cfft_tab_64; break;
-    case 512: cfft->tab = (complex_t*)cfft_tab_512; break;
-#ifdef LD_DEC
-    case 256: cfft->tab = (complex_t*)cfft_tab_256; break;
-#endif
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-    case 60: cfft->tab = (complex_t*)cfft_tab_60; break;
-    case 480: cfft->tab = (complex_t*)cfft_tab_480; break;
-#ifdef LD_DEC
-    case 240: cfft->tab = (complex_t*)cfft_tab_240; break;
-#endif
-#endif
-    case 128: cfft->tab = (complex_t*)cfft_tab_128; break;
-    }
-#endif
-
-    return cfft;
-}
-
-void cfftu(cfft_info *cfft)
-{
-    if (cfft->work) faad_free(cfft->work);
-#ifndef FIXED_POINT
-    if (cfft->tab) faad_free(cfft->tab);
-#endif
-
-    if (cfft) faad_free(cfft);
-}
-
diff --git a/lib/libfaad2/libfaad/cfft.h b/lib/libfaad2/libfaad/cfft.h
deleted file mode 100644 (file)
index dc89cdc..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: cfft.h,v 1.24 2007/11/01 12:33:29 menno Exp $
-**/
-
-#ifndef __CFFT_H__
-#define __CFFT_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct
-{
-    uint16_t n;
-    uint16_t ifac[15];
-    complex_t *work;
-    complex_t *tab;
-} cfft_info;
-
-
-void cfftf(cfft_info *cfft, complex_t *c);
-void cfftb(cfft_info *cfft, complex_t *c);
-cfft_info *cffti(uint16_t n);
-void cfftu(cfft_info *cfft);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/cfft_tab.h b/lib/libfaad2/libfaad/cfft_tab.h
deleted file mode 100644 (file)
index 80b1b75..0000000
+++ /dev/null
@@ -1,1823 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: cfft_tab.h,v 1.21 2007/11/01 12:33:29 menno Exp $
-**/
-
-#ifndef __CFFT_TAB_H__
-#define __CFFT_TAB_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef FIXED_POINT
-
-ALIGN static const complex_t cfft_tab_512[] =
-{
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.999924719333649), FRAC_CONST(0.012271538376808) },
-    { FRAC_CONST(0.999698817729950), FRAC_CONST(0.024541229009628) },
-    { FRAC_CONST(0.999322354793549), FRAC_CONST(0.036807224154472) },
-    { FRAC_CONST(0.998795449733734), FRAC_CONST(0.049067676067352) },
-    { FRAC_CONST(0.998118102550507), FRAC_CONST(0.061320740729570) },
-    { FRAC_CONST(0.997290432453156), FRAC_CONST(0.073564566671848) },
-    { FRAC_CONST(0.996312618255615), FRAC_CONST(0.085797317326069) },
-    { FRAC_CONST(0.995184719562531), FRAC_CONST(0.098017141222954) },
-    { FRAC_CONST(0.993906974792480), FRAC_CONST(0.110222205519676) },
-    { FRAC_CONST(0.992479562759399), FRAC_CONST(0.122410677373409) },
-    { FRAC_CONST(0.990902662277222), FRAC_CONST(0.134580716490746) },
-    { FRAC_CONST(0.989176511764526), FRAC_CONST(0.146730467677116) },
-    { FRAC_CONST(0.987301409244537), FRAC_CONST(0.158858150243759) },
-    { FRAC_CONST(0.985277652740479), FRAC_CONST(0.170961901545525) },
-    { FRAC_CONST(0.983105480670929), FRAC_CONST(0.183039888739586) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.978317379951477), FRAC_CONST(0.207111388444901) },
-    { FRAC_CONST(0.975702106952667), FRAC_CONST(0.219101235270500) },
-    { FRAC_CONST(0.972939968109131), FRAC_CONST(0.231058120727539) },
-    { FRAC_CONST(0.970031261444092), FRAC_CONST(0.242980197072029) },
-    { FRAC_CONST(0.966976463794708), FRAC_CONST(0.254865676164627) },
-    { FRAC_CONST(0.963776051998138), FRAC_CONST(0.266712784767151) },
-    { FRAC_CONST(0.960430502891541), FRAC_CONST(0.278519690036774) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.953306019306183), FRAC_CONST(0.302005946636200) },
-    { FRAC_CONST(0.949528157711029), FRAC_CONST(0.313681751489639) },
-    { FRAC_CONST(0.945607304573059), FRAC_CONST(0.325310319662094) },
-    { FRAC_CONST(0.941544055938721), FRAC_CONST(0.336889863014221) },
-    { FRAC_CONST(0.937339007854462), FRAC_CONST(0.348418682813644) },
-    { FRAC_CONST(0.932992815971375), FRAC_CONST(0.359895050525665) },
-    { FRAC_CONST(0.928506076335907), FRAC_CONST(0.371317207813263) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.919113874435425), FRAC_CONST(0.393992066383362) },
-    { FRAC_CONST(0.914209723472595), FRAC_CONST(0.405241340398788) },
-    { FRAC_CONST(0.909167945384979), FRAC_CONST(0.416429579257965) },
-    { FRAC_CONST(0.903989315032959), FRAC_CONST(0.427555084228516) },
-    { FRAC_CONST(0.898674488067627), FRAC_CONST(0.438616245985031) },
-    { FRAC_CONST(0.893224298954010), FRAC_CONST(0.449611335992813) },
-    { FRAC_CONST(0.887639641761780), FRAC_CONST(0.460538715124130) },
-    { FRAC_CONST(0.881921231746674), FRAC_CONST(0.471396744251251) },
-    { FRAC_CONST(0.876070082187653), FRAC_CONST(0.482183754444122) },
-    { FRAC_CONST(0.870086967945099), FRAC_CONST(0.492898225784302) },
-    { FRAC_CONST(0.863972842693329), FRAC_CONST(0.503538370132446) },
-    { FRAC_CONST(0.857728600502014), FRAC_CONST(0.514102756977081) },
-    { FRAC_CONST(0.851355195045471), FRAC_CONST(0.524589717388153) },
-    { FRAC_CONST(0.844853579998016), FRAC_CONST(0.534997642040253) },
-    { FRAC_CONST(0.838224709033966), FRAC_CONST(0.545324981212616) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.824589252471924), FRAC_CONST(0.565731823444366) },
-    { FRAC_CONST(0.817584812641144), FRAC_CONST(0.575808227062225) },
-    { FRAC_CONST(0.810457170009613), FRAC_CONST(0.585797905921936) },
-    { FRAC_CONST(0.803207516670227), FRAC_CONST(0.595699310302734) },
-    { FRAC_CONST(0.795836925506592), FRAC_CONST(0.605511009693146) },
-    { FRAC_CONST(0.788346409797668), FRAC_CONST(0.615231633186340) },
-    { FRAC_CONST(0.780737221240997), FRAC_CONST(0.624859511852264) },
-    { FRAC_CONST(0.773010432720184), FRAC_CONST(0.634393334388733) },
-    { FRAC_CONST(0.765167236328125), FRAC_CONST(0.643831551074982) },
-    { FRAC_CONST(0.757208824157715), FRAC_CONST(0.653172850608826) },
-    { FRAC_CONST(0.749136388301849), FRAC_CONST(0.662415802478790) },
-    { FRAC_CONST(0.740951120853424), FRAC_CONST(0.671558976173401) },
-    { FRAC_CONST(0.732654273509979), FRAC_CONST(0.680601000785828) },
-    { FRAC_CONST(0.724247097969055), FRAC_CONST(0.689540565013886) },
-    { FRAC_CONST(0.715730786323547), FRAC_CONST(0.698376297950745) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.698376238346100), FRAC_CONST(0.715730845928192) },
-    { FRAC_CONST(0.689540505409241), FRAC_CONST(0.724247097969055) },
-    { FRAC_CONST(0.680601000785828), FRAC_CONST(0.732654273509979) },
-    { FRAC_CONST(0.671558916568756), FRAC_CONST(0.740951180458069) },
-    { FRAC_CONST(0.662415742874146), FRAC_CONST(0.749136388301849) },
-    { FRAC_CONST(0.653172791004181), FRAC_CONST(0.757208883762360) },
-    { FRAC_CONST(0.643831551074982), FRAC_CONST(0.765167295932770) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.624859452247620), FRAC_CONST(0.780737280845642) },
-    { FRAC_CONST(0.615231573581696), FRAC_CONST(0.788346409797668) },
-    { FRAC_CONST(0.605511009693146), FRAC_CONST(0.795836925506592) },
-    { FRAC_CONST(0.595699310302734), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(0.585797846317291), FRAC_CONST(0.810457170009613) },
-    { FRAC_CONST(0.575808167457581), FRAC_CONST(0.817584812641144) },
-    { FRAC_CONST(0.565731823444366), FRAC_CONST(0.824589312076569) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.545324981212616), FRAC_CONST(0.838224709033966) },
-    { FRAC_CONST(0.534997642040253), FRAC_CONST(0.844853579998016) },
-    { FRAC_CONST(0.524589657783508), FRAC_CONST(0.851355195045471) },
-    { FRAC_CONST(0.514102697372437), FRAC_CONST(0.857728660106659) },
-    { FRAC_CONST(0.503538429737091), FRAC_CONST(0.863972842693329) },
-    { FRAC_CONST(0.492898195981979), FRAC_CONST(0.870086967945099) },
-    { FRAC_CONST(0.482183724641800), FRAC_CONST(0.876070141792297) },
-    { FRAC_CONST(0.471396654844284), FRAC_CONST(0.881921291351318) },
-    { FRAC_CONST(0.460538715124130), FRAC_CONST(0.887639641761780) },
-    { FRAC_CONST(0.449611306190491), FRAC_CONST(0.893224298954010) },
-    { FRAC_CONST(0.438616186380386), FRAC_CONST(0.898674488067627) },
-    { FRAC_CONST(0.427555114030838), FRAC_CONST(0.903989315032959) },
-    { FRAC_CONST(0.416429549455643), FRAC_CONST(0.909168004989624) },
-    { FRAC_CONST(0.405241280794144), FRAC_CONST(0.914209783077240) },
-    { FRAC_CONST(0.393991947174072), FRAC_CONST(0.919113874435425) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.371317148208618), FRAC_CONST(0.928506076335907) },
-    { FRAC_CONST(0.359894961118698), FRAC_CONST(0.932992815971375) },
-    { FRAC_CONST(0.348418682813644), FRAC_CONST(0.937339007854462) },
-    { FRAC_CONST(0.336889833211899), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(0.325310230255127), FRAC_CONST(0.945607364177704) },
-    { FRAC_CONST(0.313681662082672), FRAC_CONST(0.949528217315674) },
-    { FRAC_CONST(0.302005946636200), FRAC_CONST(0.953306019306183) },
-    { FRAC_CONST(0.290284633636475), FRAC_CONST(0.956940352916718) },
-    { FRAC_CONST(0.278519600629807), FRAC_CONST(0.960430562496185) },
-    { FRAC_CONST(0.266712754964828), FRAC_CONST(0.963776051998138) },
-    { FRAC_CONST(0.254865646362305), FRAC_CONST(0.966976463794708) },
-    { FRAC_CONST(0.242980122566223), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(0.231058135628700), FRAC_CONST(0.972939968109131) },
-    { FRAC_CONST(0.219101220369339), FRAC_CONST(0.975702106952667) },
-    { FRAC_CONST(0.207111328840256), FRAC_CONST(0.978317379951477) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(0.183039888739586), FRAC_CONST(0.983105480670929) },
-    { FRAC_CONST(0.170961856842041), FRAC_CONST(0.985277652740479) },
-    { FRAC_CONST(0.158858075737953), FRAC_CONST(0.987301409244537) },
-    { FRAC_CONST(0.146730497479439), FRAC_CONST(0.989176511764526) },
-    { FRAC_CONST(0.134580686688423), FRAC_CONST(0.990902662277222) },
-    { FRAC_CONST(0.122410625219345), FRAC_CONST(0.992479562759399) },
-    { FRAC_CONST(0.110222116112709), FRAC_CONST(0.993906974792480) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(0.085797272622585), FRAC_CONST(0.996312618255615) },
-    { FRAC_CONST(0.073564492166042), FRAC_CONST(0.997290432453156) },
-    { FRAC_CONST(0.061320748180151), FRAC_CONST(0.998118102550507) },
-    { FRAC_CONST(0.049067649990320), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(0.036807164549828), FRAC_CONST(0.999322414398193) },
-    { FRAC_CONST(0.024541135877371), FRAC_CONST(0.999698817729950) },
-    { FRAC_CONST(0.012271529063582), FRAC_CONST(0.999924719333649) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.012271616607904), FRAC_CONST(0.999924719333649) },
-    { FRAC_CONST(-0.024541223421693), FRAC_CONST(0.999698817729950) },
-    { FRAC_CONST(-0.036807250231504), FRAC_CONST(0.999322354793549) },
-    { FRAC_CONST(-0.049067739397287), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(-0.061320833861828), FRAC_CONST(0.998118102550507) },
-    { FRAC_CONST(-0.073564574122429), FRAC_CONST(0.997290432453156) },
-    { FRAC_CONST(-0.085797362029552), FRAC_CONST(0.996312618255615) },
-    { FRAC_CONST(-0.098017223179340), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(-0.110222205519676), FRAC_CONST(0.993906974792480) },
-    { FRAC_CONST(-0.122410707175732), FRAC_CONST(0.992479503154755) },
-    { FRAC_CONST(-0.134580776095390), FRAC_CONST(0.990902602672577) },
-    { FRAC_CONST(-0.146730571985245), FRAC_CONST(0.989176511764526) },
-    { FRAC_CONST(-0.158858165144920), FRAC_CONST(0.987301409244537) },
-    { FRAC_CONST(-0.170961946249008), FRAC_CONST(0.985277652740479) },
-    { FRAC_CONST(-0.183039978146553), FRAC_CONST(0.983105480670929) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.207111418247223), FRAC_CONST(0.978317379951477) },
-    { FRAC_CONST(-0.219101309776306), FRAC_CONST(0.975702106952667) },
-    { FRAC_CONST(-0.231058210134506), FRAC_CONST(0.972939908504486) },
-    { FRAC_CONST(-0.242980197072029), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(-0.254865705966949), FRAC_CONST(0.966976463794708) },
-    { FRAC_CONST(-0.266712844371796), FRAC_CONST(0.963776051998138) },
-    { FRAC_CONST(-0.278519690036774), FRAC_CONST(0.960430502891541) },
-    { FRAC_CONST(-0.290284723043442), FRAC_CONST(0.956940293312073) },
-    { FRAC_CONST(-0.302006036043167), FRAC_CONST(0.953306019306183) },
-    { FRAC_CONST(-0.313681721687317), FRAC_CONST(0.949528157711029) },
-    { FRAC_CONST(-0.325310319662094), FRAC_CONST(0.945607304573059) },
-    { FRAC_CONST(-0.336889922618866), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(-0.348418772220612), FRAC_CONST(0.937338948249817) },
-    { FRAC_CONST(-0.359895050525665), FRAC_CONST(0.932992815971375) },
-    { FRAC_CONST(-0.371317237615585), FRAC_CONST(0.928506076335907) },
-    { FRAC_CONST(-0.382683515548706), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.393992036581039), FRAC_CONST(0.919113874435425) },
-    { FRAC_CONST(-0.405241340398788), FRAC_CONST(0.914209723472595) },
-    { FRAC_CONST(-0.416429519653320), FRAC_CONST(0.909168004989624) },
-    { FRAC_CONST(-0.427555084228516), FRAC_CONST(0.903989315032959) },
-    { FRAC_CONST(-0.438616245985031), FRAC_CONST(0.898674428462982) },
-    { FRAC_CONST(-0.449611365795136), FRAC_CONST(0.893224298954010) },
-    { FRAC_CONST(-0.460538804531097), FRAC_CONST(0.887639582157135) },
-    { FRAC_CONST(-0.471396833658218), FRAC_CONST(0.881921231746674) },
-    { FRAC_CONST(-0.482183903455734), FRAC_CONST(0.876070022583008) },
-    { FRAC_CONST(-0.492898166179657), FRAC_CONST(0.870087027549744) },
-    { FRAC_CONST(-0.503538370132446), FRAC_CONST(0.863972842693329) },
-    { FRAC_CONST(-0.514102756977081), FRAC_CONST(0.857728600502014) },
-    { FRAC_CONST(-0.524589717388153), FRAC_CONST(0.851355135440826) },
-    { FRAC_CONST(-0.534997701644897), FRAC_CONST(0.844853520393372) },
-    { FRAC_CONST(-0.545325100421906), FRAC_CONST(0.838224649429321) },
-    { FRAC_CONST(-0.555570363998413), FRAC_CONST(0.831469535827637) },
-    { FRAC_CONST(-0.565731763839722), FRAC_CONST(0.824589312076569) },
-    { FRAC_CONST(-0.575808167457581), FRAC_CONST(0.817584812641144) },
-    { FRAC_CONST(-0.585797905921936), FRAC_CONST(0.810457170009613) },
-    { FRAC_CONST(-0.595699369907379), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(-0.605511128902435), FRAC_CONST(0.795836865901947) },
-    { FRAC_CONST(-0.615231692790985), FRAC_CONST(0.788346350193024) },
-    { FRAC_CONST(-0.624859631061554), FRAC_CONST(0.780737102031708) },
-    { FRAC_CONST(-0.634393274784088), FRAC_CONST(0.773010492324829) },
-    { FRAC_CONST(-0.643831551074982), FRAC_CONST(0.765167236328125) },
-    { FRAC_CONST(-0.653172850608826), FRAC_CONST(0.757208824157715) },
-    { FRAC_CONST(-0.662415802478790), FRAC_CONST(0.749136328697205) },
-    { FRAC_CONST(-0.671559035778046), FRAC_CONST(0.740951061248779) },
-    { FRAC_CONST(-0.680601119995117), FRAC_CONST(0.732654154300690) },
-    { FRAC_CONST(-0.689540684223175), FRAC_CONST(0.724246978759766) },
-    { FRAC_CONST(-0.698376238346100), FRAC_CONST(0.715730845928192) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.715730845928192), FRAC_CONST(0.698376238346100) },
-    { FRAC_CONST(-0.724247157573700), FRAC_CONST(0.689540505409241) },
-    { FRAC_CONST(-0.732654333114624), FRAC_CONST(0.680600941181183) },
-    { FRAC_CONST(-0.740951240062714), FRAC_CONST(0.671558856964111) },
-    { FRAC_CONST(-0.749136507511139), FRAC_CONST(0.662415623664856) },
-    { FRAC_CONST(-0.757208824157715), FRAC_CONST(0.653172850608826) },
-    { FRAC_CONST(-0.765167295932770), FRAC_CONST(0.643831551074982) },
-    { FRAC_CONST(-0.773010492324829), FRAC_CONST(0.634393274784088) },
-    { FRAC_CONST(-0.780737280845642), FRAC_CONST(0.624859452247620) },
-    { FRAC_CONST(-0.788346469402313), FRAC_CONST(0.615231513977051) },
-    { FRAC_CONST(-0.795836985111237), FRAC_CONST(0.605510950088501) },
-    { FRAC_CONST(-0.803207635879517), FRAC_CONST(0.595699131488800) },
-    { FRAC_CONST(-0.810457170009613), FRAC_CONST(0.585797846317291) },
-    { FRAC_CONST(-0.817584812641144), FRAC_CONST(0.575808167457581) },
-    { FRAC_CONST(-0.824589312076569), FRAC_CONST(0.565731763839722) },
-    { FRAC_CONST(-0.831469655036926), FRAC_CONST(0.555570185184479) },
-    { FRAC_CONST(-0.838224768638611), FRAC_CONST(0.545324862003326) },
-    { FRAC_CONST(-0.844853639602661), FRAC_CONST(0.534997463226318) },
-    { FRAC_CONST(-0.851355314254761), FRAC_CONST(0.524589538574219) },
-    { FRAC_CONST(-0.857728600502014), FRAC_CONST(0.514102756977081) },
-    { FRAC_CONST(-0.863972842693329), FRAC_CONST(0.503538370132446) },
-    { FRAC_CONST(-0.870087027549744), FRAC_CONST(0.492898136377335) },
-    { FRAC_CONST(-0.876070141792297), FRAC_CONST(0.482183694839478) },
-    { FRAC_CONST(-0.881921350955963), FRAC_CONST(0.471396625041962) },
-    { FRAC_CONST(-0.887639701366425), FRAC_CONST(0.460538566112518) },
-    { FRAC_CONST(-0.893224298954010), FRAC_CONST(0.449611365795136) },
-    { FRAC_CONST(-0.898674488067627), FRAC_CONST(0.438616245985031) },
-    { FRAC_CONST(-0.903989315032959), FRAC_CONST(0.427555054426193) },
-    { FRAC_CONST(-0.909168004989624), FRAC_CONST(0.416429489850998) },
-    { FRAC_CONST(-0.914209783077240), FRAC_CONST(0.405241221189499) },
-    { FRAC_CONST(-0.919113874435425), FRAC_CONST(0.393991917371750) },
-    { FRAC_CONST(-0.923879623413086), FRAC_CONST(0.382683277130127) },
-    { FRAC_CONST(-0.928506076335907), FRAC_CONST(0.371317237615585) },
-    { FRAC_CONST(-0.932992815971375), FRAC_CONST(0.359895050525665) },
-    { FRAC_CONST(-0.937339007854462), FRAC_CONST(0.348418653011322) },
-    { FRAC_CONST(-0.941544115543365), FRAC_CONST(0.336889803409576) },
-    { FRAC_CONST(-0.945607364177704), FRAC_CONST(0.325310200452805) },
-    { FRAC_CONST(-0.949528217315674), FRAC_CONST(0.313681602478027) },
-    { FRAC_CONST(-0.953306078910828), FRAC_CONST(0.302005797624588) },
-    { FRAC_CONST(-0.956940352916718), FRAC_CONST(0.290284723043442) },
-    { FRAC_CONST(-0.960430502891541), FRAC_CONST(0.278519690036774) },
-    { FRAC_CONST(-0.963776051998138), FRAC_CONST(0.266712725162506) },
-    { FRAC_CONST(-0.966976463794708), FRAC_CONST(0.254865586757660) },
-    { FRAC_CONST(-0.970031261444092), FRAC_CONST(0.242980077862740) },
-    { FRAC_CONST(-0.972939968109131), FRAC_CONST(0.231057971715927) },
-    { FRAC_CONST(-0.975702166557312), FRAC_CONST(0.219101071357727) },
-    { FRAC_CONST(-0.978317379951477), FRAC_CONST(0.207111403346062) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(-0.983105480670929), FRAC_CONST(0.183039844036102) },
-    { FRAC_CONST(-0.985277652740479), FRAC_CONST(0.170961812138557) },
-    { FRAC_CONST(-0.987301409244537), FRAC_CONST(0.158858031034470) },
-    { FRAC_CONST(-0.989176511764526), FRAC_CONST(0.146730333566666) },
-    { FRAC_CONST(-0.990902662277222), FRAC_CONST(0.134580522775650) },
-    { FRAC_CONST(-0.992479503154755), FRAC_CONST(0.122410699725151) },
-    { FRAC_CONST(-0.993906974792480), FRAC_CONST(0.110222198069096) },
-    { FRAC_CONST(-0.995184719562531), FRAC_CONST(0.098017096519470) },
-    { FRAC_CONST(-0.996312618255615), FRAC_CONST(0.085797227919102) },
-    { FRAC_CONST(-0.997290492057800), FRAC_CONST(0.073564447462559) },
-    { FRAC_CONST(-0.998118102550507), FRAC_CONST(0.061320584267378) },
-    { FRAC_CONST(-0.998795449733734), FRAC_CONST(0.049067486077547) },
-    { FRAC_CONST(-0.999322354793549), FRAC_CONST(0.036807239055634) },
-    { FRAC_CONST(-0.999698817729950), FRAC_CONST(0.024541210383177) },
-    { FRAC_CONST(-0.999924719333649), FRAC_CONST(0.012271485291421) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.999698817729950), FRAC_CONST(0.024541229009628) },
-    { FRAC_CONST(0.998795449733734), FRAC_CONST(0.049067676067352) },
-    { FRAC_CONST(0.997290432453156), FRAC_CONST(0.073564566671848) },
-    { FRAC_CONST(0.995184719562531), FRAC_CONST(0.098017141222954) },
-    { FRAC_CONST(0.992479562759399), FRAC_CONST(0.122410677373409) },
-    { FRAC_CONST(0.989176511764526), FRAC_CONST(0.146730467677116) },
-    { FRAC_CONST(0.985277652740479), FRAC_CONST(0.170961901545525) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.975702106952667), FRAC_CONST(0.219101235270500) },
-    { FRAC_CONST(0.970031261444092), FRAC_CONST(0.242980197072029) },
-    { FRAC_CONST(0.963776051998138), FRAC_CONST(0.266712784767151) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.949528157711029), FRAC_CONST(0.313681751489639) },
-    { FRAC_CONST(0.941544055938721), FRAC_CONST(0.336889863014221) },
-    { FRAC_CONST(0.932992815971375), FRAC_CONST(0.359895050525665) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.914209723472595), FRAC_CONST(0.405241340398788) },
-    { FRAC_CONST(0.903989315032959), FRAC_CONST(0.427555084228516) },
-    { FRAC_CONST(0.893224298954010), FRAC_CONST(0.449611335992813) },
-    { FRAC_CONST(0.881921231746674), FRAC_CONST(0.471396744251251) },
-    { FRAC_CONST(0.870086967945099), FRAC_CONST(0.492898225784302) },
-    { FRAC_CONST(0.857728600502014), FRAC_CONST(0.514102756977081) },
-    { FRAC_CONST(0.844853579998016), FRAC_CONST(0.534997642040253) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.817584812641144), FRAC_CONST(0.575808227062225) },
-    { FRAC_CONST(0.803207516670227), FRAC_CONST(0.595699310302734) },
-    { FRAC_CONST(0.788346409797668), FRAC_CONST(0.615231633186340) },
-    { FRAC_CONST(0.773010432720184), FRAC_CONST(0.634393334388733) },
-    { FRAC_CONST(0.757208824157715), FRAC_CONST(0.653172850608826) },
-    { FRAC_CONST(0.740951120853424), FRAC_CONST(0.671558976173401) },
-    { FRAC_CONST(0.724247097969055), FRAC_CONST(0.689540565013886) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.689540505409241), FRAC_CONST(0.724247097969055) },
-    { FRAC_CONST(0.671558916568756), FRAC_CONST(0.740951180458069) },
-    { FRAC_CONST(0.653172791004181), FRAC_CONST(0.757208883762360) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.615231573581696), FRAC_CONST(0.788346409797668) },
-    { FRAC_CONST(0.595699310302734), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(0.575808167457581), FRAC_CONST(0.817584812641144) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.534997642040253), FRAC_CONST(0.844853579998016) },
-    { FRAC_CONST(0.514102697372437), FRAC_CONST(0.857728660106659) },
-    { FRAC_CONST(0.492898195981979), FRAC_CONST(0.870086967945099) },
-    { FRAC_CONST(0.471396654844284), FRAC_CONST(0.881921291351318) },
-    { FRAC_CONST(0.449611306190491), FRAC_CONST(0.893224298954010) },
-    { FRAC_CONST(0.427555114030838), FRAC_CONST(0.903989315032959) },
-    { FRAC_CONST(0.405241280794144), FRAC_CONST(0.914209783077240) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.359894961118698), FRAC_CONST(0.932992815971375) },
-    { FRAC_CONST(0.336889833211899), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(0.313681662082672), FRAC_CONST(0.949528217315674) },
-    { FRAC_CONST(0.290284633636475), FRAC_CONST(0.956940352916718) },
-    { FRAC_CONST(0.266712754964828), FRAC_CONST(0.963776051998138) },
-    { FRAC_CONST(0.242980122566223), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(0.219101220369339), FRAC_CONST(0.975702106952667) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(0.170961856842041), FRAC_CONST(0.985277652740479) },
-    { FRAC_CONST(0.146730497479439), FRAC_CONST(0.989176511764526) },
-    { FRAC_CONST(0.122410625219345), FRAC_CONST(0.992479562759399) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(0.073564492166042), FRAC_CONST(0.997290432453156) },
-    { FRAC_CONST(0.049067649990320), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(0.024541135877371), FRAC_CONST(0.999698817729950) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.998795449733734), FRAC_CONST(0.049067676067352) },
-    { FRAC_CONST(0.995184719562531), FRAC_CONST(0.098017141222954) },
-    { FRAC_CONST(0.989176511764526), FRAC_CONST(0.146730467677116) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.970031261444092), FRAC_CONST(0.242980197072029) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.941544055938721), FRAC_CONST(0.336889863014221) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.903989315032959), FRAC_CONST(0.427555084228516) },
-    { FRAC_CONST(0.881921231746674), FRAC_CONST(0.471396744251251) },
-    { FRAC_CONST(0.857728600502014), FRAC_CONST(0.514102756977081) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.803207516670227), FRAC_CONST(0.595699310302734) },
-    { FRAC_CONST(0.773010432720184), FRAC_CONST(0.634393334388733) },
-    { FRAC_CONST(0.740951120853424), FRAC_CONST(0.671558976173401) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.671558916568756), FRAC_CONST(0.740951180458069) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.595699310302734), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.514102697372437), FRAC_CONST(0.857728660106659) },
-    { FRAC_CONST(0.471396654844284), FRAC_CONST(0.881921291351318) },
-    { FRAC_CONST(0.427555114030838), FRAC_CONST(0.903989315032959) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.336889833211899), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(0.290284633636475), FRAC_CONST(0.956940352916718) },
-    { FRAC_CONST(0.242980122566223), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(0.146730497479439), FRAC_CONST(0.989176511764526) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(0.049067649990320), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.049067739397287), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(-0.098017223179340), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(-0.146730571985245), FRAC_CONST(0.989176511764526) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.242980197072029), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(-0.290284723043442), FRAC_CONST(0.956940293312073) },
-    { FRAC_CONST(-0.336889922618866), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(-0.382683515548706), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.427555084228516), FRAC_CONST(0.903989315032959) },
-    { FRAC_CONST(-0.471396833658218), FRAC_CONST(0.881921231746674) },
-    { FRAC_CONST(-0.514102756977081), FRAC_CONST(0.857728600502014) },
-    { FRAC_CONST(-0.555570363998413), FRAC_CONST(0.831469535827637) },
-    { FRAC_CONST(-0.595699369907379), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(-0.634393274784088), FRAC_CONST(0.773010492324829) },
-    { FRAC_CONST(-0.671559035778046), FRAC_CONST(0.740951061248779) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.740951240062714), FRAC_CONST(0.671558856964111) },
-    { FRAC_CONST(-0.773010492324829), FRAC_CONST(0.634393274784088) },
-    { FRAC_CONST(-0.803207635879517), FRAC_CONST(0.595699131488800) },
-    { FRAC_CONST(-0.831469655036926), FRAC_CONST(0.555570185184479) },
-    { FRAC_CONST(-0.857728600502014), FRAC_CONST(0.514102756977081) },
-    { FRAC_CONST(-0.881921350955963), FRAC_CONST(0.471396625041962) },
-    { FRAC_CONST(-0.903989315032959), FRAC_CONST(0.427555054426193) },
-    { FRAC_CONST(-0.923879623413086), FRAC_CONST(0.382683277130127) },
-    { FRAC_CONST(-0.941544115543365), FRAC_CONST(0.336889803409576) },
-    { FRAC_CONST(-0.956940352916718), FRAC_CONST(0.290284723043442) },
-    { FRAC_CONST(-0.970031261444092), FRAC_CONST(0.242980077862740) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(-0.989176511764526), FRAC_CONST(0.146730333566666) },
-    { FRAC_CONST(-0.995184719562531), FRAC_CONST(0.098017096519470) },
-    { FRAC_CONST(-0.998795449733734), FRAC_CONST(0.049067486077547) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.997290432453156), FRAC_CONST(0.073564566671848) },
-    { FRAC_CONST(0.989176511764526), FRAC_CONST(0.146730467677116) },
-    { FRAC_CONST(0.975702106952667), FRAC_CONST(0.219101235270500) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.932992815971375), FRAC_CONST(0.359895050525665) },
-    { FRAC_CONST(0.903989315032959), FRAC_CONST(0.427555084228516) },
-    { FRAC_CONST(0.870086967945099), FRAC_CONST(0.492898225784302) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.788346469402313), FRAC_CONST(0.615231573581696) },
-    { FRAC_CONST(0.740951120853424), FRAC_CONST(0.671558976173401) },
-    { FRAC_CONST(0.689540505409241), FRAC_CONST(0.724247097969055) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.575808227062225), FRAC_CONST(0.817584812641144) },
-    { FRAC_CONST(0.514102697372437), FRAC_CONST(0.857728660106659) },
-    { FRAC_CONST(0.449611306190491), FRAC_CONST(0.893224298954010) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.313681751489639), FRAC_CONST(0.949528157711029) },
-    { FRAC_CONST(0.242980241775513), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(0.170961856842041), FRAC_CONST(0.985277652740479) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(0.024541255086660), FRAC_CONST(0.999698817729950) },
-    { FRAC_CONST(-0.049067739397287), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(-0.122410707175732), FRAC_CONST(0.992479503154755) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.266712725162506), FRAC_CONST(0.963776051998138) },
-    { FRAC_CONST(-0.336889803409576), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(-0.405241340398788), FRAC_CONST(0.914209723472595) },
-    { FRAC_CONST(-0.471396833658218), FRAC_CONST(0.881921231746674) },
-    { FRAC_CONST(-0.534997701644897), FRAC_CONST(0.844853520393372) },
-    { FRAC_CONST(-0.595699369907379), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(-0.653172850608826), FRAC_CONST(0.757208824157715) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.757208824157715), FRAC_CONST(0.653172850608826) },
-    { FRAC_CONST(-0.803207516670227), FRAC_CONST(0.595699369907379) },
-    { FRAC_CONST(-0.844853520393372), FRAC_CONST(0.534997701644897) },
-    { FRAC_CONST(-0.881921231746674), FRAC_CONST(0.471396833658218) },
-    { FRAC_CONST(-0.914209783077240), FRAC_CONST(0.405241221189499) },
-    { FRAC_CONST(-0.941544115543365), FRAC_CONST(0.336889803409576) },
-    { FRAC_CONST(-0.963776051998138), FRAC_CONST(0.266712725162506) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(-0.992479503154755), FRAC_CONST(0.122410699725151) },
-    { FRAC_CONST(-0.998795449733734), FRAC_CONST(0.049067724496126) },
-    { FRAC_CONST(-0.999698817729950), FRAC_CONST(-0.024541147053242) },
-    { FRAC_CONST(-0.995184719562531), FRAC_CONST(-0.098017267882824) },
-    { FRAC_CONST(-0.985277652740479), FRAC_CONST(-0.170961990952492) },
-    { FRAC_CONST(-0.970031261444092), FRAC_CONST(-0.242980241775513) },
-    { FRAC_CONST(-0.949528157711029), FRAC_CONST(-0.313681781291962) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(-0.893224298954010), FRAC_CONST(-0.449611306190491) },
-    { FRAC_CONST(-0.857728660106659), FRAC_CONST(-0.514102697372437) },
-    { FRAC_CONST(-0.817584872245789), FRAC_CONST(-0.575808107852936) },
-    { FRAC_CONST(-0.773010551929474), FRAC_CONST(-0.634393215179443) },
-    { FRAC_CONST(-0.724247038364410), FRAC_CONST(-0.689540624618530) },
-    { FRAC_CONST(-0.671558916568756), FRAC_CONST(-0.740951180458069) },
-    { FRAC_CONST(-0.615231573581696), FRAC_CONST(-0.788346469402313) },
-    { FRAC_CONST(-0.555570006370544), FRAC_CONST(-0.831469774246216) },
-    { FRAC_CONST(-0.492898195981979), FRAC_CONST(-0.870086967945099) },
-    { FRAC_CONST(-0.427554935216904), FRAC_CONST(-0.903989374637604) },
-    { FRAC_CONST(-0.359895110130310), FRAC_CONST(-0.932992756366730) },
-    { FRAC_CONST(-0.290284544229507), FRAC_CONST(-0.956940352916718) },
-    { FRAC_CONST(-0.219101369380951), FRAC_CONST(-0.975702106952667) },
-    { FRAC_CONST(-0.146730408072472), FRAC_CONST(-0.989176511764526) },
-    { FRAC_CONST(-0.073564760386944), FRAC_CONST(-0.997290432453156) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.995184719562531), FRAC_CONST(0.098017141222954) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.881921231746674), FRAC_CONST(0.471396744251251) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.773010432720184), FRAC_CONST(0.634393334388733) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.471396654844284), FRAC_CONST(0.881921291351318) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.290284633636475), FRAC_CONST(0.956940352916718) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.382683515548706), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.555570363998413), FRAC_CONST(0.831469535827637) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.831469655036926), FRAC_CONST(0.555570185184479) },
-    { FRAC_CONST(-0.923879623413086), FRAC_CONST(0.382683277130127) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.471396833658218), FRAC_CONST(0.881921231746674) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.881921231746674), FRAC_CONST(0.471396833658218) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(-0.995184719562531), FRAC_CONST(-0.098017267882824) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(-0.773010551929474), FRAC_CONST(-0.634393215179443) },
-    { FRAC_CONST(-0.555570006370544), FRAC_CONST(-0.831469774246216) },
-    { FRAC_CONST(-0.290284544229507), FRAC_CONST(-0.956940352916718) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.000000011924881), FRAC_CONST(-1.000000000000000) }
-};
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-ALIGN static const complex_t cfft_tab_480[] =
-{
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.999914348125458), FRAC_CONST(0.013089596293867) },
-    { FRAC_CONST(0.999657332897186), FRAC_CONST(0.026176949962974) },
-    { FRAC_CONST(0.999229013919830), FRAC_CONST(0.039259817451239) },
-    { FRAC_CONST(0.998629510402679), FRAC_CONST(0.052335958927870) },
-    { FRAC_CONST(0.997858941555023), FRAC_CONST(0.065403133630753) },
-    { FRAC_CONST(0.996917307376862), FRAC_CONST(0.078459098935127) },
-    { FRAC_CONST(0.995804905891418), FRAC_CONST(0.091501623392105) },
-    { FRAC_CONST(0.994521915912628), FRAC_CONST(0.104528464376926) },
-    { FRAC_CONST(0.993068456649780), FRAC_CONST(0.117537401616573) },
-    { FRAC_CONST(0.991444885730743), FRAC_CONST(0.130526199936867) },
-    { FRAC_CONST(0.989651381969452), FRAC_CONST(0.143492624163628) },
-    { FRAC_CONST(0.987688362598419), FRAC_CONST(0.156434476375580) },
-    { FRAC_CONST(0.985556066036224), FRAC_CONST(0.169349506497383) },
-    { FRAC_CONST(0.983254909515381), FRAC_CONST(0.182235524058342) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.978147625923157), FRAC_CONST(0.207911700010300) },
-    { FRAC_CONST(0.975342333316803), FRAC_CONST(0.220697447657585) },
-    { FRAC_CONST(0.972369909286499), FRAC_CONST(0.233445376157761) },
-    { FRAC_CONST(0.969230890274048), FRAC_CONST(0.246153295040131) },
-    { FRAC_CONST(0.965925812721252), FRAC_CONST(0.258819043636322) },
-    { FRAC_CONST(0.962455213069916), FRAC_CONST(0.271440446376801) },
-    { FRAC_CONST(0.958819746971130), FRAC_CONST(0.284015357494354) },
-    { FRAC_CONST(0.955019950866699), FRAC_CONST(0.296541601419449) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.946930110454559), FRAC_CONST(0.321439445018768) },
-    { FRAC_CONST(0.942641496658325), FRAC_CONST(0.333806872367859) },
-    { FRAC_CONST(0.938191354274750), FRAC_CONST(0.346117079257965) },
-    { FRAC_CONST(0.933580398559570), FRAC_CONST(0.358367949724197) },
-    { FRAC_CONST(0.928809583187103), FRAC_CONST(0.370557427406311) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.918791174888611), FRAC_CONST(0.394743889570236) },
-    { FRAC_CONST(0.913545429706573), FRAC_CONST(0.406736642122269) },
-    { FRAC_CONST(0.908143162727356), FRAC_CONST(0.418659746646881) },
-    { FRAC_CONST(0.902585268020630), FRAC_CONST(0.430511116981506) },
-    { FRAC_CONST(0.896872758865356), FRAC_CONST(0.442288726568222) },
-    { FRAC_CONST(0.891006529331207), FRAC_CONST(0.453990519046783) },
-    { FRAC_CONST(0.884987652301788), FRAC_CONST(0.465614527463913) },
-    { FRAC_CONST(0.878817081451416), FRAC_CONST(0.477158784866333) },
-    { FRAC_CONST(0.872496008872986), FRAC_CONST(0.488621264696121) },
-    { FRAC_CONST(0.866025388240814), FRAC_CONST(0.500000000000000) },
-    { FRAC_CONST(0.859406411647797), FRAC_CONST(0.511293113231659) },
-    { FRAC_CONST(0.852640151977539), FRAC_CONST(0.522498548030853) },
-    { FRAC_CONST(0.845727801322937), FRAC_CONST(0.533614516258240) },
-    { FRAC_CONST(0.838670551776886), FRAC_CONST(0.544639050960541) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.824126183986664), FRAC_CONST(0.566406250000000) },
-    { FRAC_CONST(0.816641509532928), FRAC_CONST(0.577145218849182) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.801253795623779), FRAC_CONST(0.598324596881866) },
-    { FRAC_CONST(0.793353319168091), FRAC_CONST(0.608761429786682) },
-    { FRAC_CONST(0.785316884517670), FRAC_CONST(0.619093954563141) },
-    { FRAC_CONST(0.777145922183990), FRAC_CONST(0.629320383071899) },
-    { FRAC_CONST(0.768841803073883), FRAC_CONST(0.639438986778259) },
-    { FRAC_CONST(0.760405957698822), FRAC_CONST(0.649448096752167) },
-    { FRAC_CONST(0.751839756965637), FRAC_CONST(0.659345865249634) },
-    { FRAC_CONST(0.743144810199738), FRAC_CONST(0.669130623340607) },
-    { FRAC_CONST(0.734322488307953), FRAC_CONST(0.678800761699677) },
-    { FRAC_CONST(0.725374400615692), FRAC_CONST(0.688354551792145) },
-    { FRAC_CONST(0.716301918029785), FRAC_CONST(0.697790503501892) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.697790443897247), FRAC_CONST(0.716301977634430) },
-    { FRAC_CONST(0.688354551792145), FRAC_CONST(0.725374400615692) },
-    { FRAC_CONST(0.678800702095032), FRAC_CONST(0.734322547912598) },
-    { FRAC_CONST(0.669130563735962), FRAC_CONST(0.743144869804382) },
-    { FRAC_CONST(0.659345805644989), FRAC_CONST(0.751839816570282) },
-    { FRAC_CONST(0.649448037147522), FRAC_CONST(0.760405957698822) },
-    { FRAC_CONST(0.639438986778259), FRAC_CONST(0.768841862678528) },
-    { FRAC_CONST(0.629320383071899), FRAC_CONST(0.777145981788635) },
-    { FRAC_CONST(0.619093954563141), FRAC_CONST(0.785316944122314) },
-    { FRAC_CONST(0.608761370182037), FRAC_CONST(0.793353378772736) },
-    { FRAC_CONST(0.598324596881866), FRAC_CONST(0.801253855228424) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.577145159244537), FRAC_CONST(0.816641569137573) },
-    { FRAC_CONST(0.566406250000000), FRAC_CONST(0.824126183986664) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.544638991355896), FRAC_CONST(0.838670611381531) },
-    { FRAC_CONST(0.533614516258240), FRAC_CONST(0.845727801322937) },
-    { FRAC_CONST(0.522498488426209), FRAC_CONST(0.852640211582184) },
-    { FRAC_CONST(0.511293113231659), FRAC_CONST(0.859406411647797) },
-    { FRAC_CONST(0.499999970197678), FRAC_CONST(0.866025447845459) },
-    { FRAC_CONST(0.488621175289154), FRAC_CONST(0.872496068477631) },
-    { FRAC_CONST(0.477158755064011), FRAC_CONST(0.878817141056061) },
-    { FRAC_CONST(0.465614467859268), FRAC_CONST(0.884987652301788) },
-    { FRAC_CONST(0.453990519046783), FRAC_CONST(0.891006529331207) },
-    { FRAC_CONST(0.442288666963577), FRAC_CONST(0.896872758865356) },
-    { FRAC_CONST(0.430511027574539), FRAC_CONST(0.902585327625275) },
-    { FRAC_CONST(0.418659746646881), FRAC_CONST(0.908143162727356) },
-    { FRAC_CONST(0.406736612319946), FRAC_CONST(0.913545489311218) },
-    { FRAC_CONST(0.394743800163269), FRAC_CONST(0.918791234493256) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.370557397603989), FRAC_CONST(0.928809583187103) },
-    { FRAC_CONST(0.358367860317230), FRAC_CONST(0.933580458164215) },
-    { FRAC_CONST(0.346117049455643), FRAC_CONST(0.938191354274750) },
-    { FRAC_CONST(0.333806812763214), FRAC_CONST(0.942641496658325) },
-    { FRAC_CONST(0.321439474821091), FRAC_CONST(0.946930110454559) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(0.296541512012482), FRAC_CONST(0.955019950866699) },
-    { FRAC_CONST(0.284015327692032), FRAC_CONST(0.958819746971130) },
-    { FRAC_CONST(0.271440386772156), FRAC_CONST(0.962455272674561) },
-    { FRAC_CONST(0.258819073438644), FRAC_CONST(0.965925812721252) },
-    { FRAC_CONST(0.246153265237808), FRAC_CONST(0.969230890274048) },
-    { FRAC_CONST(0.233445301651955), FRAC_CONST(0.972369909286499) },
-    { FRAC_CONST(0.220697447657585), FRAC_CONST(0.975342333316803) },
-    { FRAC_CONST(0.207911655306816), FRAC_CONST(0.978147625923157) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(0.182235524058342), FRAC_CONST(0.983254909515381) },
-    { FRAC_CONST(0.169349446892738), FRAC_CONST(0.985556066036224) },
-    { FRAC_CONST(0.156434372067451), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(0.143492594361305), FRAC_CONST(0.989651381969452) },
-    { FRAC_CONST(0.130526125431061), FRAC_CONST(0.991444885730743) },
-    { FRAC_CONST(0.117537401616573), FRAC_CONST(0.993068456649780) },
-    { FRAC_CONST(0.104528419673443), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(0.091501533985138), FRAC_CONST(0.995804905891418) },
-    { FRAC_CONST(0.078459084033966), FRAC_CONST(0.996917307376862) },
-    { FRAC_CONST(0.065403074026108), FRAC_CONST(0.997858941555023) },
-    { FRAC_CONST(0.052335973829031), FRAC_CONST(0.998629510402679) },
-    { FRAC_CONST(0.039259787648916), FRAC_CONST(0.999229013919830) },
-    { FRAC_CONST(0.026176875457168), FRAC_CONST(0.999657332897186) },
-    { FRAC_CONST(0.013089597225189), FRAC_CONST(0.999914348125458) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.013089684769511), FRAC_CONST(0.999914348125458) },
-    { FRAC_CONST(-0.026176963001490), FRAC_CONST(0.999657332897186) },
-    { FRAC_CONST(-0.039259877055883), FRAC_CONST(0.999229013919830) },
-    { FRAC_CONST(-0.052336059510708), FRAC_CONST(0.998629510402679) },
-    { FRAC_CONST(-0.065403163433075), FRAC_CONST(0.997858941555023) },
-    { FRAC_CONST(-0.078459173440933), FRAC_CONST(0.996917307376862) },
-    { FRAC_CONST(-0.091501623392105), FRAC_CONST(0.995804905891418) },
-    { FRAC_CONST(-0.104528509080410), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(-0.117537491023541), FRAC_CONST(0.993068456649780) },
-    { FRAC_CONST(-0.130526214838028), FRAC_CONST(0.991444885730743) },
-    { FRAC_CONST(-0.143492683768272), FRAC_CONST(0.989651381969452) },
-    { FRAC_CONST(-0.156434446573257), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(-0.169349536299706), FRAC_CONST(0.985556066036224) },
-    { FRAC_CONST(-0.182235598564148), FRAC_CONST(0.983254909515381) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.207911744713783), FRAC_CONST(0.978147566318512) },
-    { FRAC_CONST(-0.220697522163391), FRAC_CONST(0.975342273712158) },
-    { FRAC_CONST(-0.233445391058922), FRAC_CONST(0.972369909286499) },
-    { FRAC_CONST(-0.246153354644775), FRAC_CONST(0.969230890274048) },
-    { FRAC_CONST(-0.258819162845612), FRAC_CONST(0.965925812721252) },
-    { FRAC_CONST(-0.271440476179123), FRAC_CONST(0.962455213069916) },
-    { FRAC_CONST(-0.284015417098999), FRAC_CONST(0.958819687366486) },
-    { FRAC_CONST(-0.296541571617126), FRAC_CONST(0.955019950866699) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.321439564228058), FRAC_CONST(0.946930110454559) },
-    { FRAC_CONST(-0.333806872367859), FRAC_CONST(0.942641496658325) },
-    { FRAC_CONST(-0.346117109060287), FRAC_CONST(0.938191294670105) },
-    { FRAC_CONST(-0.358367949724197), FRAC_CONST(0.933580458164215) },
-    { FRAC_CONST(-0.370557487010956), FRAC_CONST(0.928809523582459) },
-    { FRAC_CONST(-0.382683515548706), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.394743859767914), FRAC_CONST(0.918791234493256) },
-    { FRAC_CONST(-0.406736701726913), FRAC_CONST(0.913545429706573) },
-    { FRAC_CONST(-0.418659836053848), FRAC_CONST(0.908143103122711) },
-    { FRAC_CONST(-0.430511116981506), FRAC_CONST(0.902585268020630) },
-    { FRAC_CONST(-0.442288637161255), FRAC_CONST(0.896872758865356) },
-    { FRAC_CONST(-0.453990608453751), FRAC_CONST(0.891006469726563) },
-    { FRAC_CONST(-0.465614557266235), FRAC_CONST(0.884987592697144) },
-    { FRAC_CONST(-0.477158725261688), FRAC_CONST(0.878817141056061) },
-    { FRAC_CONST(-0.488621354103088), FRAC_CONST(0.872495949268341) },
-    { FRAC_CONST(-0.500000059604645), FRAC_CONST(0.866025388240814) },
-    { FRAC_CONST(-0.511293053627014), FRAC_CONST(0.859406411647797) },
-    { FRAC_CONST(-0.522498667240143), FRAC_CONST(0.852640092372894) },
-    { FRAC_CONST(-0.533614575862885), FRAC_CONST(0.845727801322937) },
-    { FRAC_CONST(-0.544639050960541), FRAC_CONST(0.838670551776886) },
-    { FRAC_CONST(-0.555570363998413), FRAC_CONST(0.831469535827637) },
-    { FRAC_CONST(-0.566406309604645), FRAC_CONST(0.824126124382019) },
-    { FRAC_CONST(-0.577145218849182), FRAC_CONST(0.816641569137573) },
-    { FRAC_CONST(-0.587785184383392), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(-0.598324656486511), FRAC_CONST(0.801253736019135) },
-    { FRAC_CONST(-0.608761429786682), FRAC_CONST(0.793353319168091) },
-    { FRAC_CONST(-0.619093894958496), FRAC_CONST(0.785316944122314) },
-    { FRAC_CONST(-0.629320502281189), FRAC_CONST(0.777145862579346) },
-    { FRAC_CONST(-0.639439046382904), FRAC_CONST(0.768841803073883) },
-    { FRAC_CONST(-0.649448037147522), FRAC_CONST(0.760405957698822) },
-    { FRAC_CONST(-0.659345924854279), FRAC_CONST(0.751839697360992) },
-    { FRAC_CONST(-0.669130682945251), FRAC_CONST(0.743144810199738) },
-    { FRAC_CONST(-0.678800761699677), FRAC_CONST(0.734322488307953) },
-    { FRAC_CONST(-0.688354671001434), FRAC_CONST(0.725374281406403) },
-    { FRAC_CONST(-0.697790503501892), FRAC_CONST(0.716301858425140) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.716302037239075), FRAC_CONST(0.697790324687958) },
-    { FRAC_CONST(-0.725374460220337), FRAC_CONST(0.688354492187500) },
-    { FRAC_CONST(-0.734322547912598), FRAC_CONST(0.678800702095032) },
-    { FRAC_CONST(-0.743144929409027), FRAC_CONST(0.669130444526672) },
-    { FRAC_CONST(-0.751839876174927), FRAC_CONST(0.659345746040344) },
-    { FRAC_CONST(-0.760406017303467), FRAC_CONST(0.649448037147522) },
-    { FRAC_CONST(-0.768841803073883), FRAC_CONST(0.639439046382904) },
-    { FRAC_CONST(-0.777146041393280), FRAC_CONST(0.629320263862610) },
-    { FRAC_CONST(-0.785316944122314), FRAC_CONST(0.619093894958496) },
-    { FRAC_CONST(-0.793353319168091), FRAC_CONST(0.608761429786682) },
-    { FRAC_CONST(-0.801253914833069), FRAC_CONST(0.598324477672577) },
-    { FRAC_CONST(-0.809017062187195), FRAC_CONST(0.587785184383392) },
-    { FRAC_CONST(-0.816641569137573), FRAC_CONST(0.577145218849182) },
-    { FRAC_CONST(-0.824126303195953), FRAC_CONST(0.566406130790710) },
-    { FRAC_CONST(-0.831469655036926), FRAC_CONST(0.555570185184479) },
-    { FRAC_CONST(-0.838670551776886), FRAC_CONST(0.544639050960541) },
-    { FRAC_CONST(-0.845727920532227), FRAC_CONST(0.533614337444305) },
-    { FRAC_CONST(-0.852640211582184), FRAC_CONST(0.522498488426209) },
-    { FRAC_CONST(-0.859406411647797), FRAC_CONST(0.511293053627014) },
-    { FRAC_CONST(-0.866025388240814), FRAC_CONST(0.500000059604645) },
-    { FRAC_CONST(-0.872496068477631), FRAC_CONST(0.488621145486832) },
-    { FRAC_CONST(-0.878817141056061), FRAC_CONST(0.477158725261688) },
-    { FRAC_CONST(-0.884987652301788), FRAC_CONST(0.465614557266235) },
-    { FRAC_CONST(-0.891006588935852), FRAC_CONST(0.453990370035172) },
-    { FRAC_CONST(-0.896872758865356), FRAC_CONST(0.442288637161255) },
-    { FRAC_CONST(-0.902585268020630), FRAC_CONST(0.430511116981506) },
-    { FRAC_CONST(-0.908143222332001), FRAC_CONST(0.418659597635269) },
-    { FRAC_CONST(-0.913545489311218), FRAC_CONST(0.406736582517624) },
-    { FRAC_CONST(-0.918791234493256), FRAC_CONST(0.394743859767914) },
-    { FRAC_CONST(-0.923879623413086), FRAC_CONST(0.382683277130127) },
-    { FRAC_CONST(-0.928809583187103), FRAC_CONST(0.370557337999344) },
-    { FRAC_CONST(-0.933580458164215), FRAC_CONST(0.358367919921875) },
-    { FRAC_CONST(-0.938191413879395), FRAC_CONST(0.346116900444031) },
-    { FRAC_CONST(-0.942641556262970), FRAC_CONST(0.333806753158569) },
-    { FRAC_CONST(-0.946930170059204), FRAC_CONST(0.321439445018768) },
-    { FRAC_CONST(-0.951056599617004), FRAC_CONST(0.309016793966293) },
-    { FRAC_CONST(-0.955020010471344), FRAC_CONST(0.296541452407837) },
-    { FRAC_CONST(-0.958819746971130), FRAC_CONST(0.284015297889709) },
-    { FRAC_CONST(-0.962455213069916), FRAC_CONST(0.271440476179123) },
-    { FRAC_CONST(-0.965925872325897), FRAC_CONST(0.258818924427032) },
-    { FRAC_CONST(-0.969230949878693), FRAC_CONST(0.246153235435486) },
-    { FRAC_CONST(-0.972369909286499), FRAC_CONST(0.233445376157761) },
-    { FRAC_CONST(-0.975342333316803), FRAC_CONST(0.220697283744812) },
-    { FRAC_CONST(-0.978147625923157), FRAC_CONST(0.207911610603333) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(-0.983254909515381), FRAC_CONST(0.182235360145569) },
-    { FRAC_CONST(-0.985556066036224), FRAC_CONST(0.169349402189255) },
-    { FRAC_CONST(-0.987688362598419), FRAC_CONST(0.156434446573257) },
-    { FRAC_CONST(-0.989651441574097), FRAC_CONST(0.143492430448532) },
-    { FRAC_CONST(-0.991444885730743), FRAC_CONST(0.130526080727577) },
-    { FRAC_CONST(-0.993068456649780), FRAC_CONST(0.117537356913090) },
-    { FRAC_CONST(-0.994521915912628), FRAC_CONST(0.104528494179249) },
-    { FRAC_CONST(-0.995804965496063), FRAC_CONST(0.091501489281654) },
-    { FRAC_CONST(-0.996917366981506), FRAC_CONST(0.078459039330482) },
-    { FRAC_CONST(-0.997858941555023), FRAC_CONST(0.065403148531914) },
-    { FRAC_CONST(-0.998629570007324), FRAC_CONST(0.052335809916258) },
-    { FRAC_CONST(-0.999229013919830), FRAC_CONST(0.039259742945433) },
-    { FRAC_CONST(-0.999657332897186), FRAC_CONST(0.026176951825619) },
-    { FRAC_CONST(-0.999914348125458), FRAC_CONST(0.013089434243739) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.999657332897186), FRAC_CONST(0.026176949962974) },
-    { FRAC_CONST(0.998629510402679), FRAC_CONST(0.052335958927870) },
-    { FRAC_CONST(0.996917307376862), FRAC_CONST(0.078459098935127) },
-    { FRAC_CONST(0.994521915912628), FRAC_CONST(0.104528464376926) },
-    { FRAC_CONST(0.991444885730743), FRAC_CONST(0.130526199936867) },
-    { FRAC_CONST(0.987688362598419), FRAC_CONST(0.156434476375580) },
-    { FRAC_CONST(0.983254909515381), FRAC_CONST(0.182235524058342) },
-    { FRAC_CONST(0.978147625923157), FRAC_CONST(0.207911700010300) },
-    { FRAC_CONST(0.972369909286499), FRAC_CONST(0.233445376157761) },
-    { FRAC_CONST(0.965925812721252), FRAC_CONST(0.258819043636322) },
-    { FRAC_CONST(0.958819746971130), FRAC_CONST(0.284015357494354) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.942641496658325), FRAC_CONST(0.333806872367859) },
-    { FRAC_CONST(0.933580398559570), FRAC_CONST(0.358367949724197) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.913545429706573), FRAC_CONST(0.406736642122269) },
-    { FRAC_CONST(0.902585268020630), FRAC_CONST(0.430511116981506) },
-    { FRAC_CONST(0.891006529331207), FRAC_CONST(0.453990519046783) },
-    { FRAC_CONST(0.878817081451416), FRAC_CONST(0.477158784866333) },
-    { FRAC_CONST(0.866025388240814), FRAC_CONST(0.500000000000000) },
-    { FRAC_CONST(0.852640151977539), FRAC_CONST(0.522498548030853) },
-    { FRAC_CONST(0.838670551776886), FRAC_CONST(0.544639050960541) },
-    { FRAC_CONST(0.824126183986664), FRAC_CONST(0.566406250000000) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.793353319168091), FRAC_CONST(0.608761429786682) },
-    { FRAC_CONST(0.777145922183990), FRAC_CONST(0.629320383071899) },
-    { FRAC_CONST(0.760405957698822), FRAC_CONST(0.649448096752167) },
-    { FRAC_CONST(0.743144810199738), FRAC_CONST(0.669130623340607) },
-    { FRAC_CONST(0.725374400615692), FRAC_CONST(0.688354551792145) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.688354551792145), FRAC_CONST(0.725374400615692) },
-    { FRAC_CONST(0.669130563735962), FRAC_CONST(0.743144869804382) },
-    { FRAC_CONST(0.649448037147522), FRAC_CONST(0.760405957698822) },
-    { FRAC_CONST(0.629320383071899), FRAC_CONST(0.777145981788635) },
-    { FRAC_CONST(0.608761370182037), FRAC_CONST(0.793353378772736) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.566406250000000), FRAC_CONST(0.824126183986664) },
-    { FRAC_CONST(0.544638991355896), FRAC_CONST(0.838670611381531) },
-    { FRAC_CONST(0.522498488426209), FRAC_CONST(0.852640211582184) },
-    { FRAC_CONST(0.499999970197678), FRAC_CONST(0.866025447845459) },
-    { FRAC_CONST(0.477158755064011), FRAC_CONST(0.878817141056061) },
-    { FRAC_CONST(0.453990519046783), FRAC_CONST(0.891006529331207) },
-    { FRAC_CONST(0.430511027574539), FRAC_CONST(0.902585327625275) },
-    { FRAC_CONST(0.406736612319946), FRAC_CONST(0.913545489311218) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.358367860317230), FRAC_CONST(0.933580458164215) },
-    { FRAC_CONST(0.333806812763214), FRAC_CONST(0.942641496658325) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(0.284015327692032), FRAC_CONST(0.958819746971130) },
-    { FRAC_CONST(0.258819073438644), FRAC_CONST(0.965925812721252) },
-    { FRAC_CONST(0.233445301651955), FRAC_CONST(0.972369909286499) },
-    { FRAC_CONST(0.207911655306816), FRAC_CONST(0.978147625923157) },
-    { FRAC_CONST(0.182235524058342), FRAC_CONST(0.983254909515381) },
-    { FRAC_CONST(0.156434372067451), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(0.130526125431061), FRAC_CONST(0.991444885730743) },
-    { FRAC_CONST(0.104528419673443), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(0.078459084033966), FRAC_CONST(0.996917307376862) },
-    { FRAC_CONST(0.052335973829031), FRAC_CONST(0.998629510402679) },
-    { FRAC_CONST(0.026176875457168), FRAC_CONST(0.999657332897186) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.026176963001490), FRAC_CONST(0.999657332897186) },
-    { FRAC_CONST(-0.052336059510708), FRAC_CONST(0.998629510402679) },
-    { FRAC_CONST(-0.078459173440933), FRAC_CONST(0.996917307376862) },
-    { FRAC_CONST(-0.104528509080410), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(-0.130526214838028), FRAC_CONST(0.991444885730743) },
-    { FRAC_CONST(-0.156434446573257), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(-0.182235598564148), FRAC_CONST(0.983254909515381) },
-    { FRAC_CONST(-0.207911744713783), FRAC_CONST(0.978147566318512) },
-    { FRAC_CONST(-0.233445391058922), FRAC_CONST(0.972369909286499) },
-    { FRAC_CONST(-0.258819162845612), FRAC_CONST(0.965925812721252) },
-    { FRAC_CONST(-0.284015417098999), FRAC_CONST(0.958819687366486) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.333806872367859), FRAC_CONST(0.942641496658325) },
-    { FRAC_CONST(-0.358367949724197), FRAC_CONST(0.933580458164215) },
-    { FRAC_CONST(-0.382683515548706), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.406736701726913), FRAC_CONST(0.913545429706573) },
-    { FRAC_CONST(-0.430511116981506), FRAC_CONST(0.902585268020630) },
-    { FRAC_CONST(-0.453990608453751), FRAC_CONST(0.891006469726563) },
-    { FRAC_CONST(-0.477158725261688), FRAC_CONST(0.878817141056061) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.998629510402679), FRAC_CONST(0.052335958927870) },
-    { FRAC_CONST(0.994521915912628), FRAC_CONST(0.104528464376926) },
-    { FRAC_CONST(0.987688362598419), FRAC_CONST(0.156434476375580) },
-    { FRAC_CONST(0.978147625923157), FRAC_CONST(0.207911700010300) },
-    { FRAC_CONST(0.965925812721252), FRAC_CONST(0.258819043636322) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.933580398559570), FRAC_CONST(0.358367949724197) },
-    { FRAC_CONST(0.913545429706573), FRAC_CONST(0.406736642122269) },
-    { FRAC_CONST(0.891006529331207), FRAC_CONST(0.453990519046783) },
-    { FRAC_CONST(0.866025388240814), FRAC_CONST(0.500000000000000) },
-    { FRAC_CONST(0.838670551776886), FRAC_CONST(0.544639050960541) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.777145922183990), FRAC_CONST(0.629320383071899) },
-    { FRAC_CONST(0.743144810199738), FRAC_CONST(0.669130623340607) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.669130563735962), FRAC_CONST(0.743144869804382) },
-    { FRAC_CONST(0.629320383071899), FRAC_CONST(0.777145981788635) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.544638991355896), FRAC_CONST(0.838670611381531) },
-    { FRAC_CONST(0.499999970197678), FRAC_CONST(0.866025447845459) },
-    { FRAC_CONST(0.453990519046783), FRAC_CONST(0.891006529331207) },
-    { FRAC_CONST(0.406736612319946), FRAC_CONST(0.913545489311218) },
-    { FRAC_CONST(0.358367860317230), FRAC_CONST(0.933580458164215) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(0.258819073438644), FRAC_CONST(0.965925812721252) },
-    { FRAC_CONST(0.207911655306816), FRAC_CONST(0.978147625923157) },
-    { FRAC_CONST(0.156434372067451), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(0.104528419673443), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(0.052335973829031), FRAC_CONST(0.998629510402679) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.052336059510708), FRAC_CONST(0.998629510402679) },
-    { FRAC_CONST(-0.104528509080410), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(-0.156434446573257), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(-0.207911744713783), FRAC_CONST(0.978147566318512) },
-    { FRAC_CONST(-0.258819162845612), FRAC_CONST(0.965925812721252) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.358367949724197), FRAC_CONST(0.933580458164215) },
-    { FRAC_CONST(-0.406736701726913), FRAC_CONST(0.913545429706573) },
-    { FRAC_CONST(-0.453990608453751), FRAC_CONST(0.891006469726563) },
-    { FRAC_CONST(-0.500000059604645), FRAC_CONST(0.866025388240814) },
-    { FRAC_CONST(-0.544639050960541), FRAC_CONST(0.838670551776886) },
-    { FRAC_CONST(-0.587785184383392), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(-0.629320502281189), FRAC_CONST(0.777145862579346) },
-    { FRAC_CONST(-0.669130682945251), FRAC_CONST(0.743144810199738) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.743144929409027), FRAC_CONST(0.669130444526672) },
-    { FRAC_CONST(-0.777146041393280), FRAC_CONST(0.629320263862610) },
-    { FRAC_CONST(-0.809017062187195), FRAC_CONST(0.587785184383392) },
-    { FRAC_CONST(-0.838670551776886), FRAC_CONST(0.544639050960541) },
-    { FRAC_CONST(-0.866025388240814), FRAC_CONST(0.500000059604645) },
-    { FRAC_CONST(-0.891006588935852), FRAC_CONST(0.453990370035172) },
-    { FRAC_CONST(-0.913545489311218), FRAC_CONST(0.406736582517624) },
-    { FRAC_CONST(-0.933580458164215), FRAC_CONST(0.358367919921875) },
-    { FRAC_CONST(-0.951056599617004), FRAC_CONST(0.309016793966293) },
-    { FRAC_CONST(-0.965925872325897), FRAC_CONST(0.258818924427032) },
-    { FRAC_CONST(-0.978147625923157), FRAC_CONST(0.207911610603333) },
-    { FRAC_CONST(-0.987688362598419), FRAC_CONST(0.156434446573257) },
-    { FRAC_CONST(-0.994521915912628), FRAC_CONST(0.104528494179249) },
-    { FRAC_CONST(-0.998629570007324), FRAC_CONST(0.052335809916258) },
-    { FRAC_CONST(-1.000000000000000), FRAC_CONST(-0.000000087422777) },
-    { FRAC_CONST(-0.998629510402679), FRAC_CONST(-0.052335985004902) },
-    { FRAC_CONST(-0.994521856307983), FRAC_CONST(-0.104528672993183) },
-    { FRAC_CONST(-0.987688302993774), FRAC_CONST(-0.156434610486031) },
-    { FRAC_CONST(-0.978147566318512), FRAC_CONST(-0.207911789417267) },
-    { FRAC_CONST(-0.965925812721252), FRAC_CONST(-0.258819073438644) },
-    { FRAC_CONST(-0.951056540012360), FRAC_CONST(-0.309016972780228) },
-    { FRAC_CONST(-0.933580398559570), FRAC_CONST(-0.358368098735809) },
-    { FRAC_CONST(-0.913545429706573), FRAC_CONST(-0.406736731529236) },
-    { FRAC_CONST(-0.891006529331207), FRAC_CONST(-0.453990548849106) },
-    { FRAC_CONST(-0.866025269031525), FRAC_CONST(-0.500000178813934) },
-    { FRAC_CONST(-0.838670492172241), FRAC_CONST(-0.544639170169830) },
-    { FRAC_CONST(-0.809016942977905), FRAC_CONST(-0.587785363197327) },
-    { FRAC_CONST(-0.777145922183990), FRAC_CONST(-0.629320442676544) },
-    { FRAC_CONST(-0.743144810199738), FRAC_CONST(-0.669130623340607) },
-    { FRAC_CONST(-0.707106649875641), FRAC_CONST(-0.707106888294220) },
-    { FRAC_CONST(-0.669130504131317), FRAC_CONST(-0.743144869804382) },
-    { FRAC_CONST(-0.629320323467255), FRAC_CONST(-0.777145981788635) },
-    { FRAC_CONST(-0.587785065174103), FRAC_CONST(-0.809017121791840) },
-    { FRAC_CONST(-0.544639110565186), FRAC_CONST(-0.838670551776886) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.996917307376862), FRAC_CONST(0.078459098935127) },
-    { FRAC_CONST(0.987688362598419), FRAC_CONST(0.156434476375580) },
-    { FRAC_CONST(0.972369909286499), FRAC_CONST(0.233445376157761) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.891006529331207), FRAC_CONST(0.453990519046783) },
-    { FRAC_CONST(0.852640151977539), FRAC_CONST(0.522498548030853) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.760405957698822), FRAC_CONST(0.649448096752167) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.649448037147522), FRAC_CONST(0.760405957698822) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.522498488426209), FRAC_CONST(0.852640211582184) },
-    { FRAC_CONST(0.453990519046783), FRAC_CONST(0.891006529331207) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(0.233445301651955), FRAC_CONST(0.972369909286499) },
-    { FRAC_CONST(0.156434372067451), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(0.078459084033966), FRAC_CONST(0.996917307376862) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.987688362598419), FRAC_CONST(0.156434476375580) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.891006529331207), FRAC_CONST(0.453990519046783) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.453990519046783), FRAC_CONST(0.891006529331207) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(0.156434372067451), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.156434446573257), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.453990608453751), FRAC_CONST(0.891006469726563) },
-    { FRAC_CONST(-0.587785184383392), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.809017062187195), FRAC_CONST(0.587785184383392) },
-    { FRAC_CONST(-0.891006588935852), FRAC_CONST(0.453990370035172) },
-    { FRAC_CONST(-0.951056599617004), FRAC_CONST(0.309016793966293) },
-    { FRAC_CONST(-0.987688362598419), FRAC_CONST(0.156434446573257) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.972369909286499), FRAC_CONST(0.233445376157761) },
-    { FRAC_CONST(0.891006529331207), FRAC_CONST(0.453990519046783) },
-    { FRAC_CONST(0.760405957698822), FRAC_CONST(0.649448096752167) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.156434372067451), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(-0.078459173440933), FRAC_CONST(0.996917307376862) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.522498667240143), FRAC_CONST(0.852640092372894) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.852640211582184), FRAC_CONST(0.522498488426209) },
-    { FRAC_CONST(-0.951056599617004), FRAC_CONST(0.309016793966293) },
-    { FRAC_CONST(-0.996917366981506), FRAC_CONST(0.078459039330482) },
-    { FRAC_CONST(-0.987688302993774), FRAC_CONST(-0.156434610486031) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(-0.809016942977905), FRAC_CONST(-0.587785363197327) },
-    { FRAC_CONST(-0.649447917938232), FRAC_CONST(-0.760406076908112) },
-    { FRAC_CONST(-0.453990221023560), FRAC_CONST(-0.891006648540497) },
-    { FRAC_CONST(-0.233445450663567), FRAC_CONST(-0.972369909286499) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.809017062187195), FRAC_CONST(0.587785184383392) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.951056599617004), FRAC_CONST(0.309016793966293) },
-    { FRAC_CONST(-0.809016942977905), FRAC_CONST(-0.587785363197327) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.309017121791840), FRAC_CONST(-0.951056480407715) }
-};
-#endif
-
-ALIGN static const complex_t cfft_tab_64[] =
-{
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.995184719562531), FRAC_CONST(0.098017141222954) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.881921231746674), FRAC_CONST(0.471396744251251) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.773010432720184), FRAC_CONST(0.634393334388733) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.471396654844284), FRAC_CONST(0.881921291351318) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.290284633636475), FRAC_CONST(0.956940352916718) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.382683515548706), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.555570363998413), FRAC_CONST(0.831469535827637) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.831469655036926), FRAC_CONST(0.555570185184479) },
-    { FRAC_CONST(-0.923879623413086), FRAC_CONST(0.382683277130127) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.471396833658218), FRAC_CONST(0.881921231746674) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.881921231746674), FRAC_CONST(0.471396833658218) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(-0.995184719562531), FRAC_CONST(-0.098017267882824) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(-0.773010551929474), FRAC_CONST(-0.634393215179443) },
-    { FRAC_CONST(-0.555570006370544), FRAC_CONST(-0.831469774246216) },
-    { FRAC_CONST(-0.290284544229507), FRAC_CONST(-0.956940352916718) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.000000011924881), FRAC_CONST(-1.000000000000000) }
-};
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-ALIGN static const complex_t cfft_tab_60[] =
-{
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.994521915912628), FRAC_CONST(0.104528464376926) },
-    { FRAC_CONST(0.978147625923157), FRAC_CONST(0.207911700010300) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.913545429706573), FRAC_CONST(0.406736642122269) },
-    { FRAC_CONST(0.866025388240814), FRAC_CONST(0.500000000000000) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.743144810199738), FRAC_CONST(0.669130623340607) },
-    { FRAC_CONST(0.669130563735962), FRAC_CONST(0.743144869804382) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.499999970197678), FRAC_CONST(0.866025447845459) },
-    { FRAC_CONST(0.406736612319946), FRAC_CONST(0.913545489311218) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(0.207911655306816), FRAC_CONST(0.978147625923157) },
-    { FRAC_CONST(0.104528419673443), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.104528509080410), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(-0.207911744713783), FRAC_CONST(0.978147566318512) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.406736701726913), FRAC_CONST(0.913545429706573) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.978147625923157), FRAC_CONST(0.207911700010300) },
-    { FRAC_CONST(0.913545429706573), FRAC_CONST(0.406736642122269) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.669130563735962), FRAC_CONST(0.743144869804382) },
-    { FRAC_CONST(0.499999970197678), FRAC_CONST(0.866025447845459) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(0.104528419673443), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(-0.104528509080410), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.500000059604645), FRAC_CONST(0.866025388240814) },
-    { FRAC_CONST(-0.669130682945251), FRAC_CONST(0.743144810199738) },
-    { FRAC_CONST(-0.809017062187195), FRAC_CONST(0.587785184383392) },
-    { FRAC_CONST(-0.913545489311218), FRAC_CONST(0.406736582517624) },
-    { FRAC_CONST(-0.978147625923157), FRAC_CONST(0.207911610603333) },
-    { FRAC_CONST(-1.000000000000000), FRAC_CONST(-0.000000087422777) },
-    { FRAC_CONST(-0.978147566318512), FRAC_CONST(-0.207911789417267) },
-    { FRAC_CONST(-0.913545429706573), FRAC_CONST(-0.406736731529236) },
-    { FRAC_CONST(-0.809016942977905), FRAC_CONST(-0.587785363197327) },
-    { FRAC_CONST(-0.669130504131317), FRAC_CONST(-0.743144869804382) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.809017062187195), FRAC_CONST(0.587785184383392) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.951056599617004), FRAC_CONST(0.309016793966293) },
-    { FRAC_CONST(-0.809016942977905), FRAC_CONST(-0.587785363197327) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.309017121791840), FRAC_CONST(-0.951056480407715) }
-};
-#endif
-
-#ifdef LD_DEC
-
-ALIGN static const complex_t cfft_tab_256[] =
-{
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.999698817729950), FRAC_CONST(0.024541229009628) },
-    { FRAC_CONST(0.998795449733734), FRAC_CONST(0.049067676067352) },
-    { FRAC_CONST(0.997290432453156), FRAC_CONST(0.073564566671848) },
-    { FRAC_CONST(0.995184719562531), FRAC_CONST(0.098017141222954) },
-    { FRAC_CONST(0.992479562759399), FRAC_CONST(0.122410677373409) },
-    { FRAC_CONST(0.989176511764526), FRAC_CONST(0.146730467677116) },
-    { FRAC_CONST(0.985277652740479), FRAC_CONST(0.170961901545525) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.975702106952667), FRAC_CONST(0.219101235270500) },
-    { FRAC_CONST(0.970031261444092), FRAC_CONST(0.242980197072029) },
-    { FRAC_CONST(0.963776051998138), FRAC_CONST(0.266712784767151) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.949528157711029), FRAC_CONST(0.313681751489639) },
-    { FRAC_CONST(0.941544055938721), FRAC_CONST(0.336889863014221) },
-    { FRAC_CONST(0.932992815971375), FRAC_CONST(0.359895050525665) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.914209723472595), FRAC_CONST(0.405241340398788) },
-    { FRAC_CONST(0.903989315032959), FRAC_CONST(0.427555084228516) },
-    { FRAC_CONST(0.893224298954010), FRAC_CONST(0.449611335992813) },
-    { FRAC_CONST(0.881921231746674), FRAC_CONST(0.471396744251251) },
-    { FRAC_CONST(0.870086967945099), FRAC_CONST(0.492898225784302) },
-    { FRAC_CONST(0.857728600502014), FRAC_CONST(0.514102756977081) },
-    { FRAC_CONST(0.844853579998016), FRAC_CONST(0.534997642040253) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.817584812641144), FRAC_CONST(0.575808227062225) },
-    { FRAC_CONST(0.803207516670227), FRAC_CONST(0.595699310302734) },
-    { FRAC_CONST(0.788346409797668), FRAC_CONST(0.615231633186340) },
-    { FRAC_CONST(0.773010432720184), FRAC_CONST(0.634393334388733) },
-    { FRAC_CONST(0.757208824157715), FRAC_CONST(0.653172850608826) },
-    { FRAC_CONST(0.740951120853424), FRAC_CONST(0.671558976173401) },
-    { FRAC_CONST(0.724247097969055), FRAC_CONST(0.689540565013886) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.689540505409241), FRAC_CONST(0.724247097969055) },
-    { FRAC_CONST(0.671558916568756), FRAC_CONST(0.740951180458069) },
-    { FRAC_CONST(0.653172791004181), FRAC_CONST(0.757208883762360) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.615231573581696), FRAC_CONST(0.788346409797668) },
-    { FRAC_CONST(0.595699310302734), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(0.575808167457581), FRAC_CONST(0.817584812641144) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.534997642040253), FRAC_CONST(0.844853579998016) },
-    { FRAC_CONST(0.514102697372437), FRAC_CONST(0.857728660106659) },
-    { FRAC_CONST(0.492898195981979), FRAC_CONST(0.870086967945099) },
-    { FRAC_CONST(0.471396654844284), FRAC_CONST(0.881921291351318) },
-    { FRAC_CONST(0.449611306190491), FRAC_CONST(0.893224298954010) },
-    { FRAC_CONST(0.427555114030838), FRAC_CONST(0.903989315032959) },
-    { FRAC_CONST(0.405241280794144), FRAC_CONST(0.914209783077240) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.359894961118698), FRAC_CONST(0.932992815971375) },
-    { FRAC_CONST(0.336889833211899), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(0.313681662082672), FRAC_CONST(0.949528217315674) },
-    { FRAC_CONST(0.290284633636475), FRAC_CONST(0.956940352916718) },
-    { FRAC_CONST(0.266712754964828), FRAC_CONST(0.963776051998138) },
-    { FRAC_CONST(0.242980122566223), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(0.219101220369339), FRAC_CONST(0.975702106952667) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(0.170961856842041), FRAC_CONST(0.985277652740479) },
-    { FRAC_CONST(0.146730497479439), FRAC_CONST(0.989176511764526) },
-    { FRAC_CONST(0.122410625219345), FRAC_CONST(0.992479562759399) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(0.073564492166042), FRAC_CONST(0.997290432453156) },
-    { FRAC_CONST(0.049067649990320), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(0.024541135877371), FRAC_CONST(0.999698817729950) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.998795449733734), FRAC_CONST(0.049067676067352) },
-    { FRAC_CONST(0.995184719562531), FRAC_CONST(0.098017141222954) },
-    { FRAC_CONST(0.989176511764526), FRAC_CONST(0.146730467677116) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.970031261444092), FRAC_CONST(0.242980197072029) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.941544055938721), FRAC_CONST(0.336889863014221) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.903989315032959), FRAC_CONST(0.427555084228516) },
-    { FRAC_CONST(0.881921231746674), FRAC_CONST(0.471396744251251) },
-    { FRAC_CONST(0.857728600502014), FRAC_CONST(0.514102756977081) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.803207516670227), FRAC_CONST(0.595699310302734) },
-    { FRAC_CONST(0.773010432720184), FRAC_CONST(0.634393334388733) },
-    { FRAC_CONST(0.740951120853424), FRAC_CONST(0.671558976173401) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.671558916568756), FRAC_CONST(0.740951180458069) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.595699310302734), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.514102697372437), FRAC_CONST(0.857728660106659) },
-    { FRAC_CONST(0.471396654844284), FRAC_CONST(0.881921291351318) },
-    { FRAC_CONST(0.427555114030838), FRAC_CONST(0.903989315032959) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.336889833211899), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(0.290284633636475), FRAC_CONST(0.956940352916718) },
-    { FRAC_CONST(0.242980122566223), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(0.146730497479439), FRAC_CONST(0.989176511764526) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(0.049067649990320), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.049067739397287), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(-0.098017223179340), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(-0.146730571985245), FRAC_CONST(0.989176511764526) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.242980197072029), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(-0.290284723043442), FRAC_CONST(0.956940293312073) },
-    { FRAC_CONST(-0.336889922618866), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(-0.382683515548706), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.427555084228516), FRAC_CONST(0.903989315032959) },
-    { FRAC_CONST(-0.471396833658218), FRAC_CONST(0.881921231746674) },
-    { FRAC_CONST(-0.514102756977081), FRAC_CONST(0.857728600502014) },
-    { FRAC_CONST(-0.555570363998413), FRAC_CONST(0.831469535827637) },
-    { FRAC_CONST(-0.595699369907379), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(-0.634393274784088), FRAC_CONST(0.773010492324829) },
-    { FRAC_CONST(-0.671559035778046), FRAC_CONST(0.740951061248779) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.740951240062714), FRAC_CONST(0.671558856964111) },
-    { FRAC_CONST(-0.773010492324829), FRAC_CONST(0.634393274784088) },
-    { FRAC_CONST(-0.803207635879517), FRAC_CONST(0.595699131488800) },
-    { FRAC_CONST(-0.831469655036926), FRAC_CONST(0.555570185184479) },
-    { FRAC_CONST(-0.857728600502014), FRAC_CONST(0.514102756977081) },
-    { FRAC_CONST(-0.881921350955963), FRAC_CONST(0.471396625041962) },
-    { FRAC_CONST(-0.903989315032959), FRAC_CONST(0.427555054426193) },
-    { FRAC_CONST(-0.923879623413086), FRAC_CONST(0.382683277130127) },
-    { FRAC_CONST(-0.941544115543365), FRAC_CONST(0.336889803409576) },
-    { FRAC_CONST(-0.956940352916718), FRAC_CONST(0.290284723043442) },
-    { FRAC_CONST(-0.970031261444092), FRAC_CONST(0.242980077862740) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(-0.989176511764526), FRAC_CONST(0.146730333566666) },
-    { FRAC_CONST(-0.995184719562531), FRAC_CONST(0.098017096519470) },
-    { FRAC_CONST(-0.998795449733734), FRAC_CONST(0.049067486077547) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.997290432453156), FRAC_CONST(0.073564566671848) },
-    { FRAC_CONST(0.989176511764526), FRAC_CONST(0.146730467677116) },
-    { FRAC_CONST(0.975702106952667), FRAC_CONST(0.219101235270500) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.932992815971375), FRAC_CONST(0.359895050525665) },
-    { FRAC_CONST(0.903989315032959), FRAC_CONST(0.427555084228516) },
-    { FRAC_CONST(0.870086967945099), FRAC_CONST(0.492898225784302) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.788346469402313), FRAC_CONST(0.615231573581696) },
-    { FRAC_CONST(0.740951120853424), FRAC_CONST(0.671558976173401) },
-    { FRAC_CONST(0.689540505409241), FRAC_CONST(0.724247097969055) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.575808227062225), FRAC_CONST(0.817584812641144) },
-    { FRAC_CONST(0.514102697372437), FRAC_CONST(0.857728660106659) },
-    { FRAC_CONST(0.449611306190491), FRAC_CONST(0.893224298954010) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.313681751489639), FRAC_CONST(0.949528157711029) },
-    { FRAC_CONST(0.242980241775513), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(0.170961856842041), FRAC_CONST(0.985277652740479) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(0.024541255086660), FRAC_CONST(0.999698817729950) },
-    { FRAC_CONST(-0.049067739397287), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(-0.122410707175732), FRAC_CONST(0.992479503154755) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.266712725162506), FRAC_CONST(0.963776051998138) },
-    { FRAC_CONST(-0.336889803409576), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(-0.405241340398788), FRAC_CONST(0.914209723472595) },
-    { FRAC_CONST(-0.471396833658218), FRAC_CONST(0.881921231746674) },
-    { FRAC_CONST(-0.534997701644897), FRAC_CONST(0.844853520393372) },
-    { FRAC_CONST(-0.595699369907379), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(-0.653172850608826), FRAC_CONST(0.757208824157715) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.757208824157715), FRAC_CONST(0.653172850608826) },
-    { FRAC_CONST(-0.803207516670227), FRAC_CONST(0.595699369907379) },
-    { FRAC_CONST(-0.844853520393372), FRAC_CONST(0.534997701644897) },
-    { FRAC_CONST(-0.881921231746674), FRAC_CONST(0.471396833658218) },
-    { FRAC_CONST(-0.914209783077240), FRAC_CONST(0.405241221189499) },
-    { FRAC_CONST(-0.941544115543365), FRAC_CONST(0.336889803409576) },
-    { FRAC_CONST(-0.963776051998138), FRAC_CONST(0.266712725162506) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(-0.992479503154755), FRAC_CONST(0.122410699725151) },
-    { FRAC_CONST(-0.998795449733734), FRAC_CONST(0.049067724496126) },
-    { FRAC_CONST(-0.999698817729950), FRAC_CONST(-0.024541147053242) },
-    { FRAC_CONST(-0.995184719562531), FRAC_CONST(-0.098017267882824) },
-    { FRAC_CONST(-0.985277652740479), FRAC_CONST(-0.170961990952492) },
-    { FRAC_CONST(-0.970031261444092), FRAC_CONST(-0.242980241775513) },
-    { FRAC_CONST(-0.949528157711029), FRAC_CONST(-0.313681781291962) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(-0.893224298954010), FRAC_CONST(-0.449611306190491) },
-    { FRAC_CONST(-0.857728660106659), FRAC_CONST(-0.514102697372437) },
-    { FRAC_CONST(-0.817584872245789), FRAC_CONST(-0.575808107852936) },
-    { FRAC_CONST(-0.773010551929474), FRAC_CONST(-0.634393215179443) },
-    { FRAC_CONST(-0.724247038364410), FRAC_CONST(-0.689540624618530) },
-    { FRAC_CONST(-0.671558916568756), FRAC_CONST(-0.740951180458069) },
-    { FRAC_CONST(-0.615231573581696), FRAC_CONST(-0.788346469402313) },
-    { FRAC_CONST(-0.555570006370544), FRAC_CONST(-0.831469774246216) },
-    { FRAC_CONST(-0.492898195981979), FRAC_CONST(-0.870086967945099) },
-    { FRAC_CONST(-0.427554935216904), FRAC_CONST(-0.903989374637604) },
-    { FRAC_CONST(-0.359895110130310), FRAC_CONST(-0.932992756366730) },
-    { FRAC_CONST(-0.290284544229507), FRAC_CONST(-0.956940352916718) },
-    { FRAC_CONST(-0.219101369380951), FRAC_CONST(-0.975702106952667) },
-    { FRAC_CONST(-0.146730408072472), FRAC_CONST(-0.989176511764526) },
-    { FRAC_CONST(-0.073564760386944), FRAC_CONST(-0.997290432453156) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.995184719562531), FRAC_CONST(0.098017141222954) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.881921231746674), FRAC_CONST(0.471396744251251) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.773010432720184), FRAC_CONST(0.634393334388733) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.471396654844284), FRAC_CONST(0.881921291351318) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.290284633636475), FRAC_CONST(0.956940352916718) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.382683515548706), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.555570363998413), FRAC_CONST(0.831469535827637) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.831469655036926), FRAC_CONST(0.555570185184479) },
-    { FRAC_CONST(-0.923879623413086), FRAC_CONST(0.382683277130127) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.471396833658218), FRAC_CONST(0.881921231746674) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.881921231746674), FRAC_CONST(0.471396833658218) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(-0.995184719562531), FRAC_CONST(-0.098017267882824) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(-0.773010551929474), FRAC_CONST(-0.634393215179443) },
-    { FRAC_CONST(-0.555570006370544), FRAC_CONST(-0.831469774246216) },
-    { FRAC_CONST(-0.290284544229507), FRAC_CONST(-0.956940352916718) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.000000011924881), FRAC_CONST(-1.000000000000000) }
-};
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-ALIGN static const complex_t cfft_tab_240[] =
-{
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.999657332897186), FRAC_CONST(0.026176949962974) },
-    { FRAC_CONST(0.998629510402679), FRAC_CONST(0.052335958927870) },
-    { FRAC_CONST(0.996917307376862), FRAC_CONST(0.078459098935127) },
-    { FRAC_CONST(0.994521915912628), FRAC_CONST(0.104528464376926) },
-    { FRAC_CONST(0.991444885730743), FRAC_CONST(0.130526199936867) },
-    { FRAC_CONST(0.987688362598419), FRAC_CONST(0.156434476375580) },
-    { FRAC_CONST(0.983254909515381), FRAC_CONST(0.182235524058342) },
-    { FRAC_CONST(0.978147625923157), FRAC_CONST(0.207911700010300) },
-    { FRAC_CONST(0.972369909286499), FRAC_CONST(0.233445376157761) },
-    { FRAC_CONST(0.965925812721252), FRAC_CONST(0.258819043636322) },
-    { FRAC_CONST(0.958819746971130), FRAC_CONST(0.284015357494354) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.942641496658325), FRAC_CONST(0.333806872367859) },
-    { FRAC_CONST(0.933580398559570), FRAC_CONST(0.358367949724197) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.913545429706573), FRAC_CONST(0.406736642122269) },
-    { FRAC_CONST(0.902585268020630), FRAC_CONST(0.430511116981506) },
-    { FRAC_CONST(0.891006529331207), FRAC_CONST(0.453990519046783) },
-    { FRAC_CONST(0.878817081451416), FRAC_CONST(0.477158784866333) },
-    { FRAC_CONST(0.866025388240814), FRAC_CONST(0.500000000000000) },
-    { FRAC_CONST(0.852640151977539), FRAC_CONST(0.522498548030853) },
-    { FRAC_CONST(0.838670551776886), FRAC_CONST(0.544639050960541) },
-    { FRAC_CONST(0.824126183986664), FRAC_CONST(0.566406250000000) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.793353319168091), FRAC_CONST(0.608761429786682) },
-    { FRAC_CONST(0.777145922183990), FRAC_CONST(0.629320383071899) },
-    { FRAC_CONST(0.760405957698822), FRAC_CONST(0.649448096752167) },
-    { FRAC_CONST(0.743144810199738), FRAC_CONST(0.669130623340607) },
-    { FRAC_CONST(0.725374400615692), FRAC_CONST(0.688354551792145) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.688354551792145), FRAC_CONST(0.725374400615692) },
-    { FRAC_CONST(0.669130563735962), FRAC_CONST(0.743144869804382) },
-    { FRAC_CONST(0.649448037147522), FRAC_CONST(0.760405957698822) },
-    { FRAC_CONST(0.629320383071899), FRAC_CONST(0.777145981788635) },
-    { FRAC_CONST(0.608761370182037), FRAC_CONST(0.793353378772736) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.566406250000000), FRAC_CONST(0.824126183986664) },
-    { FRAC_CONST(0.544638991355896), FRAC_CONST(0.838670611381531) },
-    { FRAC_CONST(0.522498488426209), FRAC_CONST(0.852640211582184) },
-    { FRAC_CONST(0.499999970197678), FRAC_CONST(0.866025447845459) },
-    { FRAC_CONST(0.477158755064011), FRAC_CONST(0.878817141056061) },
-    { FRAC_CONST(0.453990519046783), FRAC_CONST(0.891006529331207) },
-    { FRAC_CONST(0.430511027574539), FRAC_CONST(0.902585327625275) },
-    { FRAC_CONST(0.406736612319946), FRAC_CONST(0.913545489311218) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.358367860317230), FRAC_CONST(0.933580458164215) },
-    { FRAC_CONST(0.333806812763214), FRAC_CONST(0.942641496658325) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(0.284015327692032), FRAC_CONST(0.958819746971130) },
-    { FRAC_CONST(0.258819073438644), FRAC_CONST(0.965925812721252) },
-    { FRAC_CONST(0.233445301651955), FRAC_CONST(0.972369909286499) },
-    { FRAC_CONST(0.207911655306816), FRAC_CONST(0.978147625923157) },
-    { FRAC_CONST(0.182235524058342), FRAC_CONST(0.983254909515381) },
-    { FRAC_CONST(0.156434372067451), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(0.130526125431061), FRAC_CONST(0.991444885730743) },
-    { FRAC_CONST(0.104528419673443), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(0.078459084033966), FRAC_CONST(0.996917307376862) },
-    { FRAC_CONST(0.052335973829031), FRAC_CONST(0.998629510402679) },
-    { FRAC_CONST(0.026176875457168), FRAC_CONST(0.999657332897186) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.026176963001490), FRAC_CONST(0.999657332897186) },
-    { FRAC_CONST(-0.052336059510708), FRAC_CONST(0.998629510402679) },
-    { FRAC_CONST(-0.078459173440933), FRAC_CONST(0.996917307376862) },
-    { FRAC_CONST(-0.104528509080410), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(-0.130526214838028), FRAC_CONST(0.991444885730743) },
-    { FRAC_CONST(-0.156434446573257), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(-0.182235598564148), FRAC_CONST(0.983254909515381) },
-    { FRAC_CONST(-0.207911744713783), FRAC_CONST(0.978147566318512) },
-    { FRAC_CONST(-0.233445391058922), FRAC_CONST(0.972369909286499) },
-    { FRAC_CONST(-0.258819162845612), FRAC_CONST(0.965925812721252) },
-    { FRAC_CONST(-0.284015417098999), FRAC_CONST(0.958819687366486) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.333806872367859), FRAC_CONST(0.942641496658325) },
-    { FRAC_CONST(-0.358367949724197), FRAC_CONST(0.933580458164215) },
-    { FRAC_CONST(-0.382683515548706), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.406736701726913), FRAC_CONST(0.913545429706573) },
-    { FRAC_CONST(-0.430511116981506), FRAC_CONST(0.902585268020630) },
-    { FRAC_CONST(-0.453990608453751), FRAC_CONST(0.891006469726563) },
-    { FRAC_CONST(-0.477158725261688), FRAC_CONST(0.878817141056061) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.998629510402679), FRAC_CONST(0.052335958927870) },
-    { FRAC_CONST(0.994521915912628), FRAC_CONST(0.104528464376926) },
-    { FRAC_CONST(0.987688362598419), FRAC_CONST(0.156434476375580) },
-    { FRAC_CONST(0.978147625923157), FRAC_CONST(0.207911700010300) },
-    { FRAC_CONST(0.965925812721252), FRAC_CONST(0.258819043636322) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.933580398559570), FRAC_CONST(0.358367949724197) },
-    { FRAC_CONST(0.913545429706573), FRAC_CONST(0.406736642122269) },
-    { FRAC_CONST(0.891006529331207), FRAC_CONST(0.453990519046783) },
-    { FRAC_CONST(0.866025388240814), FRAC_CONST(0.500000000000000) },
-    { FRAC_CONST(0.838670551776886), FRAC_CONST(0.544639050960541) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.777145922183990), FRAC_CONST(0.629320383071899) },
-    { FRAC_CONST(0.743144810199738), FRAC_CONST(0.669130623340607) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.669130563735962), FRAC_CONST(0.743144869804382) },
-    { FRAC_CONST(0.629320383071899), FRAC_CONST(0.777145981788635) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.544638991355896), FRAC_CONST(0.838670611381531) },
-    { FRAC_CONST(0.499999970197678), FRAC_CONST(0.866025447845459) },
-    { FRAC_CONST(0.453990519046783), FRAC_CONST(0.891006529331207) },
-    { FRAC_CONST(0.406736612319946), FRAC_CONST(0.913545489311218) },
-    { FRAC_CONST(0.358367860317230), FRAC_CONST(0.933580458164215) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(0.258819073438644), FRAC_CONST(0.965925812721252) },
-    { FRAC_CONST(0.207911655306816), FRAC_CONST(0.978147625923157) },
-    { FRAC_CONST(0.156434372067451), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(0.104528419673443), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(0.052335973829031), FRAC_CONST(0.998629510402679) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.052336059510708), FRAC_CONST(0.998629510402679) },
-    { FRAC_CONST(-0.104528509080410), FRAC_CONST(0.994521915912628) },
-    { FRAC_CONST(-0.156434446573257), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(-0.207911744713783), FRAC_CONST(0.978147566318512) },
-    { FRAC_CONST(-0.258819162845612), FRAC_CONST(0.965925812721252) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.358367949724197), FRAC_CONST(0.933580458164215) },
-    { FRAC_CONST(-0.406736701726913), FRAC_CONST(0.913545429706573) },
-    { FRAC_CONST(-0.453990608453751), FRAC_CONST(0.891006469726563) },
-    { FRAC_CONST(-0.500000059604645), FRAC_CONST(0.866025388240814) },
-    { FRAC_CONST(-0.544639050960541), FRAC_CONST(0.838670551776886) },
-    { FRAC_CONST(-0.587785184383392), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(-0.629320502281189), FRAC_CONST(0.777145862579346) },
-    { FRAC_CONST(-0.669130682945251), FRAC_CONST(0.743144810199738) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.743144929409027), FRAC_CONST(0.669130444526672) },
-    { FRAC_CONST(-0.777146041393280), FRAC_CONST(0.629320263862610) },
-    { FRAC_CONST(-0.809017062187195), FRAC_CONST(0.587785184383392) },
-    { FRAC_CONST(-0.838670551776886), FRAC_CONST(0.544639050960541) },
-    { FRAC_CONST(-0.866025388240814), FRAC_CONST(0.500000059604645) },
-    { FRAC_CONST(-0.891006588935852), FRAC_CONST(0.453990370035172) },
-    { FRAC_CONST(-0.913545489311218), FRAC_CONST(0.406736582517624) },
-    { FRAC_CONST(-0.933580458164215), FRAC_CONST(0.358367919921875) },
-    { FRAC_CONST(-0.951056599617004), FRAC_CONST(0.309016793966293) },
-    { FRAC_CONST(-0.965925872325897), FRAC_CONST(0.258818924427032) },
-    { FRAC_CONST(-0.978147625923157), FRAC_CONST(0.207911610603333) },
-    { FRAC_CONST(-0.987688362598419), FRAC_CONST(0.156434446573257) },
-    { FRAC_CONST(-0.994521915912628), FRAC_CONST(0.104528494179249) },
-    { FRAC_CONST(-0.998629570007324), FRAC_CONST(0.052335809916258) },
-    { FRAC_CONST(-1.000000000000000), FRAC_CONST(-0.000000087422777) },
-    { FRAC_CONST(-0.998629510402679), FRAC_CONST(-0.052335985004902) },
-    { FRAC_CONST(-0.994521856307983), FRAC_CONST(-0.104528672993183) },
-    { FRAC_CONST(-0.987688302993774), FRAC_CONST(-0.156434610486031) },
-    { FRAC_CONST(-0.978147566318512), FRAC_CONST(-0.207911789417267) },
-    { FRAC_CONST(-0.965925812721252), FRAC_CONST(-0.258819073438644) },
-    { FRAC_CONST(-0.951056540012360), FRAC_CONST(-0.309016972780228) },
-    { FRAC_CONST(-0.933580398559570), FRAC_CONST(-0.358368098735809) },
-    { FRAC_CONST(-0.913545429706573), FRAC_CONST(-0.406736731529236) },
-    { FRAC_CONST(-0.891006529331207), FRAC_CONST(-0.453990548849106) },
-    { FRAC_CONST(-0.866025269031525), FRAC_CONST(-0.500000178813934) },
-    { FRAC_CONST(-0.838670492172241), FRAC_CONST(-0.544639170169830) },
-    { FRAC_CONST(-0.809016942977905), FRAC_CONST(-0.587785363197327) },
-    { FRAC_CONST(-0.777145922183990), FRAC_CONST(-0.629320442676544) },
-    { FRAC_CONST(-0.743144810199738), FRAC_CONST(-0.669130623340607) },
-    { FRAC_CONST(-0.707106649875641), FRAC_CONST(-0.707106888294220) },
-    { FRAC_CONST(-0.669130504131317), FRAC_CONST(-0.743144869804382) },
-    { FRAC_CONST(-0.629320323467255), FRAC_CONST(-0.777145981788635) },
-    { FRAC_CONST(-0.587785065174103), FRAC_CONST(-0.809017121791840) },
-    { FRAC_CONST(-0.544639110565186), FRAC_CONST(-0.838670551776886) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.996917307376862), FRAC_CONST(0.078459098935127) },
-    { FRAC_CONST(0.987688362598419), FRAC_CONST(0.156434476375580) },
-    { FRAC_CONST(0.972369909286499), FRAC_CONST(0.233445376157761) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.891006529331207), FRAC_CONST(0.453990519046783) },
-    { FRAC_CONST(0.852640151977539), FRAC_CONST(0.522498548030853) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.760405957698822), FRAC_CONST(0.649448096752167) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.649448037147522), FRAC_CONST(0.760405957698822) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.522498488426209), FRAC_CONST(0.852640211582184) },
-    { FRAC_CONST(0.453990519046783), FRAC_CONST(0.891006529331207) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(0.233445301651955), FRAC_CONST(0.972369909286499) },
-    { FRAC_CONST(0.156434372067451), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(0.078459084033966), FRAC_CONST(0.996917307376862) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.987688362598419), FRAC_CONST(0.156434476375580) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.891006529331207), FRAC_CONST(0.453990519046783) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.453990519046783), FRAC_CONST(0.891006529331207) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(0.156434372067451), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.156434446573257), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.453990608453751), FRAC_CONST(0.891006469726563) },
-    { FRAC_CONST(-0.587785184383392), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.809017062187195), FRAC_CONST(0.587785184383392) },
-    { FRAC_CONST(-0.891006588935852), FRAC_CONST(0.453990370035172) },
-    { FRAC_CONST(-0.951056599617004), FRAC_CONST(0.309016793966293) },
-    { FRAC_CONST(-0.987688362598419), FRAC_CONST(0.156434446573257) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.972369909286499), FRAC_CONST(0.233445376157761) },
-    { FRAC_CONST(0.891006529331207), FRAC_CONST(0.453990519046783) },
-    { FRAC_CONST(0.760405957698822), FRAC_CONST(0.649448096752167) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.156434372067451), FRAC_CONST(0.987688362598419) },
-    { FRAC_CONST(-0.078459173440933), FRAC_CONST(0.996917307376862) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.522498667240143), FRAC_CONST(0.852640092372894) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.852640211582184), FRAC_CONST(0.522498488426209) },
-    { FRAC_CONST(-0.951056599617004), FRAC_CONST(0.309016793966293) },
-    { FRAC_CONST(-0.996917366981506), FRAC_CONST(0.078459039330482) },
-    { FRAC_CONST(-0.987688302993774), FRAC_CONST(-0.156434610486031) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(-0.809016942977905), FRAC_CONST(-0.587785363197327) },
-    { FRAC_CONST(-0.649447917938232), FRAC_CONST(-0.760406076908112) },
-    { FRAC_CONST(-0.453990221023560), FRAC_CONST(-0.891006648540497) },
-    { FRAC_CONST(-0.233445450663567), FRAC_CONST(-0.972369909286499) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.951056540012360), FRAC_CONST(0.309017002582550) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.809017002582550), FRAC_CONST(0.587785243988037) },
-    { FRAC_CONST(0.309016972780228), FRAC_CONST(0.951056540012360) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.809017062187195), FRAC_CONST(0.587785184383392) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.587785243988037), FRAC_CONST(0.809017002582550) },
-    { FRAC_CONST(-0.309017032384872), FRAC_CONST(0.951056480407715) },
-    { FRAC_CONST(-0.951056599617004), FRAC_CONST(0.309016793966293) },
-    { FRAC_CONST(-0.809016942977905), FRAC_CONST(-0.587785363197327) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.309017121791840), FRAC_CONST(-0.951056480407715) }
-};
-#endif
-
-#endif
-
-ALIGN static const complex_t cfft_tab_128[] =
-{
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.998795449733734), FRAC_CONST(0.049067676067352) },
-    { FRAC_CONST(0.995184719562531), FRAC_CONST(0.098017141222954) },
-    { FRAC_CONST(0.989176511764526), FRAC_CONST(0.146730467677116) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.970031261444092), FRAC_CONST(0.242980197072029) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.941544055938721), FRAC_CONST(0.336889863014221) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.903989315032959), FRAC_CONST(0.427555084228516) },
-    { FRAC_CONST(0.881921231746674), FRAC_CONST(0.471396744251251) },
-    { FRAC_CONST(0.857728600502014), FRAC_CONST(0.514102756977081) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.803207516670227), FRAC_CONST(0.595699310302734) },
-    { FRAC_CONST(0.773010432720184), FRAC_CONST(0.634393334388733) },
-    { FRAC_CONST(0.740951120853424), FRAC_CONST(0.671558976173401) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.671558916568756), FRAC_CONST(0.740951180458069) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.595699310302734), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.514102697372437), FRAC_CONST(0.857728660106659) },
-    { FRAC_CONST(0.471396654844284), FRAC_CONST(0.881921291351318) },
-    { FRAC_CONST(0.427555114030838), FRAC_CONST(0.903989315032959) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.336889833211899), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(0.290284633636475), FRAC_CONST(0.956940352916718) },
-    { FRAC_CONST(0.242980122566223), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(0.146730497479439), FRAC_CONST(0.989176511764526) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(0.049067649990320), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.049067739397287), FRAC_CONST(0.998795449733734) },
-    { FRAC_CONST(-0.098017223179340), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(-0.146730571985245), FRAC_CONST(0.989176511764526) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.242980197072029), FRAC_CONST(0.970031261444092) },
-    { FRAC_CONST(-0.290284723043442), FRAC_CONST(0.956940293312073) },
-    { FRAC_CONST(-0.336889922618866), FRAC_CONST(0.941544055938721) },
-    { FRAC_CONST(-0.382683515548706), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.427555084228516), FRAC_CONST(0.903989315032959) },
-    { FRAC_CONST(-0.471396833658218), FRAC_CONST(0.881921231746674) },
-    { FRAC_CONST(-0.514102756977081), FRAC_CONST(0.857728600502014) },
-    { FRAC_CONST(-0.555570363998413), FRAC_CONST(0.831469535827637) },
-    { FRAC_CONST(-0.595699369907379), FRAC_CONST(0.803207516670227) },
-    { FRAC_CONST(-0.634393274784088), FRAC_CONST(0.773010492324829) },
-    { FRAC_CONST(-0.671559035778046), FRAC_CONST(0.740951061248779) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.740951240062714), FRAC_CONST(0.671558856964111) },
-    { FRAC_CONST(-0.773010492324829), FRAC_CONST(0.634393274784088) },
-    { FRAC_CONST(-0.803207635879517), FRAC_CONST(0.595699131488800) },
-    { FRAC_CONST(-0.831469655036926), FRAC_CONST(0.555570185184479) },
-    { FRAC_CONST(-0.857728600502014), FRAC_CONST(0.514102756977081) },
-    { FRAC_CONST(-0.881921350955963), FRAC_CONST(0.471396625041962) },
-    { FRAC_CONST(-0.903989315032959), FRAC_CONST(0.427555054426193) },
-    { FRAC_CONST(-0.923879623413086), FRAC_CONST(0.382683277130127) },
-    { FRAC_CONST(-0.941544115543365), FRAC_CONST(0.336889803409576) },
-    { FRAC_CONST(-0.956940352916718), FRAC_CONST(0.290284723043442) },
-    { FRAC_CONST(-0.970031261444092), FRAC_CONST(0.242980077862740) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(-0.989176511764526), FRAC_CONST(0.146730333566666) },
-    { FRAC_CONST(-0.995184719562531), FRAC_CONST(0.098017096519470) },
-    { FRAC_CONST(-0.998795449733734), FRAC_CONST(0.049067486077547) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.995184719562531), FRAC_CONST(0.098017141222954) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.881921231746674), FRAC_CONST(0.471396744251251) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.773010432720184), FRAC_CONST(0.634393334388733) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.471396654844284), FRAC_CONST(0.881921291351318) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.290284633636475), FRAC_CONST(0.956940352916718) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.980785250663757), FRAC_CONST(0.195090323686600) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.555570185184479), FRAC_CONST(0.831469655036926) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.195090234279633), FRAC_CONST(0.980785310268402) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.382683515548706), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.555570363998413), FRAC_CONST(0.831469535827637) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.831469655036926), FRAC_CONST(0.555570185184479) },
-    { FRAC_CONST(-0.923879623413086), FRAC_CONST(0.382683277130127) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.956940352916718), FRAC_CONST(0.290284663438797) },
-    { FRAC_CONST(0.831469595432281), FRAC_CONST(0.555570244789124) },
-    { FRAC_CONST(0.634393274784088), FRAC_CONST(0.773010432720184) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(0.098017133772373), FRAC_CONST(0.995184719562531) },
-    { FRAC_CONST(-0.195090323686600), FRAC_CONST(0.980785250663757) },
-    { FRAC_CONST(-0.471396833658218), FRAC_CONST(0.881921231746674) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.881921231746674), FRAC_CONST(0.471396833658218) },
-    { FRAC_CONST(-0.980785310268402), FRAC_CONST(0.195090308785439) },
-    { FRAC_CONST(-0.995184719562531), FRAC_CONST(-0.098017267882824) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(-0.773010551929474), FRAC_CONST(-0.634393215179443) },
-    { FRAC_CONST(-0.555570006370544), FRAC_CONST(-0.831469774246216) },
-    { FRAC_CONST(-0.290284544229507), FRAC_CONST(-0.956940352916718) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.923879504203796), FRAC_CONST(0.382683455944061) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.000000043711388), FRAC_CONST(1.000000000000000) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.382683426141739), FRAC_CONST(0.923879504203796) },
-    { FRAC_CONST(-0.707106769084930), FRAC_CONST(0.707106769084930) },
-    { FRAC_CONST(-0.923879504203796), FRAC_CONST(-0.382683426141739) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(1.000000000000000), FRAC_CONST(0.000000000000000) },
-    { FRAC_CONST(0.000000011924881), FRAC_CONST(-1.000000000000000) }
-};
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/codebook/hcb.h b/lib/libfaad2/libfaad/codebook/hcb.h
deleted file mode 100644 (file)
index 29bbca4..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb.h,v 1.8 2007/11/01 12:34:10 menno Exp $
-**/
-
-#ifndef __HCB_H__
-#define __HCB_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- *  Optimal huffman decoding for AAC taken from:
- *  "SELECTING AN OPTIMAL HUFFMAN DECODER FOR AAC" by
- *  VLADIMIR Z. MESAROVIC , RAGHUNATH RAO, MIROSLAV V. DOKIC, and SACHIN DEO
- *  AES paper 5436
- *
- *   2 methods are used for huffman decoding:
- *   - binary search
- *   - 2-step table lookup
- *
- *   The choice of the "optimal" method is based on the fact that if the
- *   memory size for the Two-step is exorbitantly high then the decision
- *   is Binary search for that codebook. However, for marginally more memory
- *   size, if Twostep outperforms even the best case of Binary then the
- *   decision is Two-step for that codebook.
- *
- *   The following methods are used for the different tables.
- *   codebook   "optimal" method
- *    HCB_1      2-Step
- *    HCB_2      2-Step
- *    HCB_3      Binary
- *    HCB_4      2-Step
- *    HCB_5      Binary
- *    HCB_6      2-Step
- *    HCB_7      Binary
- *    HCB_8      2-Step
- *    HCB_9      Binary
- *    HCB_10     2-Step
- *    HCB_11     2-Step
- *    HCB_SF     Binary
- *
- */
-
-
-#define ZERO_HCB       0
-#define FIRST_PAIR_HCB 5
-#define ESC_HCB        11
-#define QUAD_LEN       4
-#define PAIR_LEN       2
-#define NOISE_HCB      13
-#define INTENSITY_HCB2 14
-#define INTENSITY_HCB  15
-
-/* 1st step table */
-typedef struct
-{
-    uint8_t offset;
-    uint8_t extra_bits;
-} hcb;
-
-/* 2nd step table with quadruple data */
-typedef struct
-{
-    uint8_t bits;
-    int8_t x;
-    int8_t y;
-} hcb_2_pair;
-
-typedef struct
-{
-    uint8_t bits;
-    int8_t x;
-    int8_t y;
-    int8_t v;
-    int8_t w;
-} hcb_2_quad;
-
-/* binary search table */
-typedef struct
-{
-    uint8_t is_leaf;
-    int8_t data[4];
-} hcb_bin_quad;
-
-typedef struct
-{
-    uint8_t is_leaf;
-    int8_t data[2];
-} hcb_bin_pair;
-
-hcb *hcb_table[];
-hcb_2_quad *hcb_2_quad_table[];
-hcb_2_pair *hcb_2_pair_table[];
-hcb_bin_pair *hcb_bin_table[];
-uint8_t hcbN[];
-uint8_t unsigned_cb[];
-int hcb_2_quad_table_size[];
-int hcb_2_pair_table_size[];
-int hcb_bin_table_size[];
-
-#include "codebook/hcb_1.h"
-#include "codebook/hcb_2.h"
-#include "codebook/hcb_3.h"
-#include "codebook/hcb_4.h"
-#include "codebook/hcb_5.h"
-#include "codebook/hcb_6.h"
-#include "codebook/hcb_7.h"
-#include "codebook/hcb_8.h"
-#include "codebook/hcb_9.h"
-#include "codebook/hcb_10.h"
-#include "codebook/hcb_11.h"
-#include "codebook/hcb_sf.h"
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/codebook/hcb_1.h b/lib/libfaad2/libfaad/codebook/hcb_1.h
deleted file mode 100644 (file)
index f6632c2..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_1.h,v 1.5 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* 2-step huffman table HCB_1 */
-
-
-/* 1st step: 5 bits
- *           2^5 = 32 entries
- *
- * Used to find offset into 2nd step table and number of extra bits to get
- */
-static hcb hcb1_1[] = {
-    { /* 00000 */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /* 10000 */ 1, 0 },
-    { /* 10001 */ 2, 0 },
-    { /* 10010 */ 3, 0 },
-    { /* 10011 */ 4, 0 },
-    { /* 10100 */ 5, 0 },
-    { /* 10101 */ 6, 0 },
-    { /* 10110 */ 7, 0 },
-    { /* 10111 */ 8, 0 },
-
-    /* 7 bit codewords */
-    { /* 11000 */ 9,  2 },
-    { /* 11001 */ 13, 2 },
-    { /* 11010 */ 17, 2 },
-    { /* 11011 */ 21, 2 },
-    { /* 11100 */ 25, 2 },
-    { /* 11101 */ 29, 2 },
-
-    /* 9 bit codewords */
-    { /* 11110 */ 33, 4 },
-
-    /* 9/10/11 bit codewords */
-    { /* 11111 */ 49, 6 }
-};
-
-/* 2nd step table
- *
- * Gives size of codeword and actual data (x,y,v,w)
- */
-static hcb_2_quad hcb1_2[] = {
-    /* 1 bit codeword */
-    { 1,  0,  0,  0,  0 },
-
-    /* 5 bit codewords */
-    { 5,  1,  0,  0,  0 },
-    { 5, -1,  0,  0,  0 },
-    { 5,  0,  0,  0, -1 },
-    { 5,  0,  1,  0,  0 },
-    { 5,  0,  0,  0,  1 },
-    { 5,  0,  0, -1,  0 },
-    { 5,  0,  0,  1,  0 },
-    { 5,  0, -1,  0,  0 },
-
-    /* 7 bit codewords */
-    /* first 5 bits: 11000 */
-    { 7,  1, -1,  0,  0 },
-    { 7, -1,  1,  0,  0 },
-    { 7,  0,  0, -1,  1 },
-    { 7,  0,  1, -1,  0 },
-    /* first 5 bits: 11001 */
-    { 7,  0, -1,  1,  0 },
-    { 7,  0,  0,  1, -1 },
-    { 7,  1,  1,  0,  0 },
-    { 7,  0,  0, -1, -1 },
-    /* first 5 bits: 11010 */
-    { 7, -1, -1,  0,  0 },
-    { 7,  0, -1, -1,  0 },
-    { 7,  1,  0, -1,  0 },
-    { 7,  0,  1,  0, -1 },
-    /* first 5 bits: 11011 */
-    { 7, -1,  0,  1,  0 },
-    { 7,  0,  0,  1,  1 },
-    { 7,  1,  0,  1,  0 },
-    { 7,  0, -1,  0,  1 },
-    /* first 5 bits: 11100 */
-    { 7,  0,  1,  1,  0 },
-    { 7,  0,  1,  0,  1 },
-    { 7, -1,  0, -1,  0 },
-    { 7,  1,  0,  0,  1 },
-    /* first 5 bits: 11101 */
-    { 7, -1,  0,  0, -1 },
-    { 7,  1,  0,  0, -1 },
-    { 7, -1,  0,  0,  1 },
-    { 7,  0, -1,  0, -1 },
-
-    /* 9 bit codeword */
-    /* first 5 bits: 11110 */
-    { 9,  1,  1, -1,  0 },
-    { 9, -1,  1, -1,  0 },
-    { 9,  1, -1,  1,  0 },
-    { 9,  0,  1,  1, -1 },
-    { 9,  0,  1, -1,  1 },
-    { 9,  0, -1,  1,  1 },
-    { 9,  0, -1,  1, -1 },
-    { 9,  1, -1, -1,  0 },
-    { 9,  1,  0, -1,  1 },
-    { 9,  0,  1, -1, -1 },
-    { 9, -1,  1,  1,  0 },
-    { 9, -1,  0,  1, -1 },
-    { 9, -1, -1,  1,  0 },
-    { 9,  0, -1, -1,  1 },
-    { 9,  1, -1,  0,  1 },
-    { 9,  1, -1,  0, -1 },
-
-    /* 9/10/11 bit codewords */
-    /* first 5 bits: 11111 */
-    /* 9 bit: reading 11 bits -> 2 too much so 4 entries for each codeword */
-    { 9, -1,  1,  0, -1 }, { 9, -1,  1,  0, -1 }, { 9, -1,  1,  0, -1 }, { 9, -1,  1,  0, -1 },
-    { 9, -1, -1, -1,  0 }, { 9, -1, -1, -1,  0 }, { 9, -1, -1, -1,  0 }, { 9, -1, -1, -1,  0 },
-    { 9,  0, -1, -1, -1 }, { 9,  0, -1, -1, -1 }, { 9,  0, -1, -1, -1 }, { 9,  0, -1, -1, -1 },
-    { 9,  0,  1,  1,  1 }, { 9,  0,  1,  1,  1 }, { 9,  0,  1,  1,  1 }, { 9,  0,  1,  1,  1 },
-    { 9,  1,  0,  1, -1 }, { 9,  1,  0,  1, -1 }, { 9,  1,  0,  1, -1 }, { 9,  1,  0,  1, -1 },
-    { 9,  1,  1,  0,  1 }, { 9,  1,  1,  0,  1 }, { 9,  1,  1,  0,  1 }, { 9,  1,  1,  0,  1 },
-    { 9, -1,  1,  0,  1 }, { 9, -1,  1,  0,  1 }, { 9, -1,  1,  0,  1 }, { 9, -1,  1,  0,  1 },
-    { 9,  1,  1,  1,  0 }, { 9,  1,  1,  1,  0 }, { 9,  1,  1,  1,  0 }, { 9,  1,  1,  1,  0 },
-    /* 10 bit: reading 11 bits -> 1 too much so 2 entries for each codeword */
-    { 10, -1, -1,  0,  1 }, { 10, -1, -1,  0,  1 },
-    { 10, -1,  0, -1, -1 }, { 10, -1,  0, -1, -1 },
-    { 10,  1,  1,  0, -1 }, { 10,  1,  1,  0, -1 },
-    { 10,  1,  0, -1, -1 }, { 10,  1,  0, -1, -1 },
-    { 10, -1,  0, -1,  1 }, { 10, -1,  0, -1,  1 },
-    { 10, -1, -1,  0, -1 }, { 10, -1, -1,  0, -1 },
-    { 10, -1,  0,  1,  1 }, { 10, -1,  0,  1,  1 },
-    { 10,  1,  0,  1,  1 }, { 10,  1,  0,  1,  1 },
-    /* 11 bit */
-    { 11,  1, -1,  1, -1 },
-    { 11, -1,  1, -1,  1 },
-    { 11, -1,  1,  1, -1 },
-    { 11,  1, -1, -1,  1 },
-    { 11,  1,  1,  1,  1 },
-    { 11, -1, -1,  1,  1 },
-    { 11,  1,  1, -1, -1 },
-    { 11, -1, -1,  1, -1 },
-    { 11, -1, -1, -1, -1 },
-    { 11,  1,  1, -1,  1 },
-    { 11,  1, -1,  1,  1 },
-    { 11, -1,  1,  1,  1 },
-    { 11, -1,  1, -1, -1 },
-    { 11, -1, -1, -1,  1 },
-    { 11,  1, -1, -1, -1 },
-    { 11,  1,  1,  1, -1 }
-};
diff --git a/lib/libfaad2/libfaad/codebook/hcb_10.h b/lib/libfaad2/libfaad/codebook/hcb_10.h
deleted file mode 100644 (file)
index 87e621d..0000000
+++ /dev/null
@@ -1,312 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_10.h,v 1.5 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* 2-step huffman table HCB_10 */
-
-
-/* 1st step: 6 bits
- *           2^6 = 64 entries
- *
- * Used to find offset into 2nd step table and number of extra bits to get
- */
-static hcb hcb10_1[] = {
-    /* 4 bit codewords */
-    { /* 000000 */ 0, 0 },
-    { /*        */ 0, 0 },
-    { /*        */ 0, 0 },
-    { /*        */ 0, 0 },
-    { /* 000100 */ 1, 0 },
-    { /*        */ 1, 0 },
-    { /*        */ 1, 0 },
-    { /*        */ 1, 0 },
-    { /* 001000 */ 2, 0 },
-    { /*        */ 2, 0 },
-    { /*        */ 2, 0 },
-    { /*        */ 2, 0 },
-    /* 5 bit codewords */
-    { /* 001100 */ 3, 0 },
-    { /*        */ 3, 0 },
-    { /* 001110 */ 4, 0 },
-    { /*        */ 4, 0 },
-    { /* 010000 */ 5, 0 },
-    { /*        */ 5, 0 },
-    { /* 010010 */ 6, 0 },
-    { /*        */ 6, 0 },
-    { /* 010100 */ 7, 0 },
-    { /*        */ 7, 0 },
-    { /* 010110 */ 8, 0 },
-    { /*        */ 8, 0 },
-    { /* 011000 */ 9, 0 },
-    { /*        */ 9, 0 },
-    { /* 011010 */ 10, 0 },
-    { /*        */ 10, 0 },
-    /* 6 bit codewords */
-    { /* 011100 */ 11, 0 },
-    { /* 011101 */ 12, 0 },
-    { /* 011110 */ 13, 0 },
-    { /* 011111 */ 14, 0 },
-    { /* 100000 */ 15, 0 },
-    { /* 100001 */ 16, 0 },
-    { /* 100010 */ 17, 0 },
-    { /* 100011 */ 18, 0 },
-    { /* 100100 */ 19, 0 },
-    { /* 100101 */ 20, 0 },
-    { /* 100110 */ 21, 0 },
-    { /* 100111 */ 22, 0 },
-    { /* 101000 */ 23, 0 },
-    { /* 101001 */ 24, 0 },
-    /* 7 bit codewords */
-    { /* 101010 */ 25, 1 },
-    { /* 101011 */ 27, 1 },
-    { /* 101100 */ 29, 1 },
-    { /* 101101 */ 31, 1 },
-    { /* 101110 */ 33, 1 },
-    { /* 101111 */ 35, 1 },
-    { /* 110000 */ 37, 1 },
-    { /* 110001 */ 39, 1 },
-    /* 7/8 bit codewords */
-    { /* 110010 */ 41, 2 },
-    /* 8 bit codewords */
-    { /* 110011 */ 45, 2 },
-    { /* 110100 */ 49, 2 },
-    { /* 110101 */ 53, 2 },
-    { /* 110110 */ 57, 2 },
-    { /* 110111 */ 61, 2 },
-    /* 8/9 bit codewords */
-    { /* 111000 */ 65, 3 },
-    /* 9 bit codewords */
-    { /* 111001 */ 73, 3 },
-    { /* 111010 */ 81, 3 },
-    { /* 111011 */ 89, 3 },
-    /* 9/10 bit codewords */
-    { /* 111100 */ 97, 4 },
-    /* 10 bit codewords */
-    { /* 111101 */ 113, 4 },
-    { /* 111110 */ 129, 4 },
-    /* 10/11/12 bit codewords */
-    { /* 111111 */ 145, 6 }
-};
-
-/* 2nd step table
- *
- * Gives size of codeword and actual data (x,y,v,w)
- */
-static hcb_2_pair hcb10_2[] = {
-    /* 4 bit codewords */
-    { 4,  1,  1 },
-    { 4,  1,  2 },
-    { 4,  2,  1 },
-
-    /* 5 bit codewords */
-    { 5,  2,  2 },
-    { 5,  1,  0 },
-    { 5,  0,  1 },
-    { 5,  1,  3 },
-    { 5,  3,  2 },
-    { 5,  3,  1 },
-    { 5,  2,  3 },
-    { 5,  3,  3 },
-
-    /* 6 bit codewords */
-    { 6,  2,  0 },
-    { 6,  0,  2 },
-    { 6,  2,  4 },
-    { 6,  4,  2 },
-    { 6,  1,  4 },
-    { 6,  4,  1 },
-    { 6,  0,  0 },
-    { 6,  4,  3 },
-    { 6,  3,  4 },
-    { 6,  3,  0 },
-    { 6,  0,  3 },
-    { 6,  4,  4 },
-    { 6,  2,  5 },
-    { 6,  5,  2 },
-
-    /* 7 bit codewords */
-    { 7,  1,  5 },
-    { 7,  5,  1 },
-    { 7,  5,  3 },
-    { 7,  3,  5 },
-    { 7,  5,  4 },
-    { 7,  4,  5 },
-    { 7,  6,  2 },
-    { 7,  2,  6 },
-    { 7,  6,  3 },
-    { 7,  4,  0 },
-    { 7,  6,  1 },
-    { 7,  0,  4 },
-    { 7,  1,  6 },
-    { 7,  3,  6 },
-    { 7,  5,  5 },
-    { 7,  6,  4 },
-
-    /* 7/8 bit codewords */
-    { 7,  4,  6 }, { 7,  4,  6 },
-    { 8,  6,  5 },
-    { 8,  7,  2 },
-
-    /* 8 bit codewords */
-    { 8,  3,  7 },
-    { 8,  2,  7 },
-    { 8,  5,  6 },
-    { 8,  8,  2 },
-    { 8,  7,  3 },
-    { 8,  5,  0 },
-    { 8,  7,  1 },
-    { 8,  0,  5 },
-    { 8,  8,  1 },
-    { 8,  1,  7 },
-    { 8,  8,  3 },
-    { 8,  7,  4 },
-    { 8,  4,  7 },
-    { 8,  2,  8 },
-    { 8,  6,  6 },
-    { 8,  7,  5 },
-    { 8,  1,  8 },
-    { 8,  3,  8 },
-    { 8,  8,  4 },
-    { 8,  4,  8 },
-
-    /* 8/9 bit codewords */
-    { 8,  5,  7 }, { 8,  5,  7 },
-    { 8,  8,  5 }, { 8,  8,  5 },
-    { 8,  5,  8 }, { 8,  5,  8 },
-    { 9,  7,  6 },
-    { 9,  6,  7 },
-
-    /* 9 bit codewords */
-    { 9,  9,  2 },
-    { 9,  6,  0 },
-    { 9,  6,  8 },
-    { 9,  9,  3 },
-    { 9,  3,  9 },
-    { 9,  9,  1 },
-    { 9,  2,  9 },
-    { 9,  0,  6 },
-    { 9,  8,  6 },
-    { 9,  9,  4 },
-    { 9,  4,  9 },
-    { 9, 10,  2 },
-    { 9,  1,  9 },
-    { 9,  7,  7 },
-    { 9,  8,  7 },
-    { 9,  9,  5 },
-    { 9,  7,  8 },
-    { 9, 10,  3 },
-    { 9,  5,  9 },
-    { 9, 10,  4 },
-    { 9,  2, 10 },
-    { 9, 10,  1 },
-    { 9,  3, 10 },
-    { 9,  9,  6 },
-
-    /* 9/10 bit codewords */
-    { 9,  6,  9 }, { 9,  6,  9 },
-    { 9,  8,  0 }, { 9,  8,  0 },
-    { 9,  4, 10 }, { 9,  4, 10 },
-    { 9,  7,  0 }, { 9,  7,  0 },
-    { 9, 11,  2 }, { 9, 11,  2 },
-    { 10,  7,  9 },
-    { 10, 11,  3 },
-    { 10, 10,  6 },
-    { 10,  1, 10 },
-    { 10, 11,  1 },
-    { 10,  9,  7 },
-
-    /* 10 bit codewords */
-    { 10,  0,  7 },
-    { 10,  8,  8 },
-    { 10, 10,  5 },
-    { 10,  3, 11 },
-    { 10,  5, 10 },
-    { 10,  8,  9 },
-    { 10, 11,  5 },
-    { 10,  0,  8 },
-    { 10, 11,  4 },
-    { 10,  2, 11 },
-    { 10,  7, 10 },
-    { 10,  6, 10 },
-    { 10, 10,  7 },
-    { 10,  4, 11 },
-    { 10,  1, 11 },
-    { 10, 12,  2 },
-    { 10,  9,  8 },
-    { 10, 12,  3 },
-    { 10, 11,  6 },
-    { 10,  5, 11 },
-    { 10, 12,  4 },
-    { 10, 11,  7 },
-    { 10, 12,  5 },
-    { 10,  3, 12 },
-    { 10,  6, 11 },
-    { 10,  9,  0 },
-    { 10, 10,  8 },
-    { 10, 10,  0 },
-    { 10, 12,  1 },
-    { 10,  0,  9 },
-    { 10,  4, 12 },
-    { 10,  9,  9 },
-
-    /* 10/11/12 bit codewords */
-    { 10, 12,  6 }, { 10, 12,  6 }, { 10, 12,  6 }, { 10, 12,  6 },
-    { 10,  2, 12 }, { 10,  2, 12 }, { 10,  2, 12 }, { 10,  2, 12 },
-    { 10,  8, 10 }, { 10,  8, 10 }, { 10,  8, 10 }, { 10,  8, 10 },
-    { 11,  9, 10 }, { 11,  9, 10 },
-    { 11,  1, 12 }, { 11,  1, 12 },
-    { 11, 11,  8 }, { 11, 11,  8 },
-    { 11, 12,  7 }, { 11, 12,  7 },
-    { 11,  7, 11 }, { 11,  7, 11 },
-    { 11,  5, 12 }, { 11,  5, 12 },
-    { 11,  6, 12 }, { 11,  6, 12 },
-    { 11, 10,  9 }, { 11, 10,  9 },
-    { 11,  8, 11 }, { 11,  8, 11 },
-    { 11, 12,  8 }, { 11, 12,  8 },
-    { 11,  0, 10 }, { 11,  0, 10 },
-    { 11,  7, 12 }, { 11,  7, 12 },
-    { 11, 11,  0 }, { 11, 11,  0 },
-    { 11, 10, 10 }, { 11, 10, 10 },
-    { 11, 11,  9 }, { 11, 11,  9 },
-    { 11, 11, 10 }, { 11, 11, 10 },
-    { 11,  0, 11 }, { 11,  0, 11 },
-    { 11, 11, 11 }, { 11, 11, 11 },
-    { 11,  9, 11 }, { 11,  9, 11 },
-    { 11, 10, 11 }, { 11, 10, 11 },
-    { 11, 12,  0 }, { 11, 12,  0 },
-    { 11,  8, 12 }, { 11,  8, 12 },
-    { 12, 12,  9 },
-    { 12, 10, 12 },
-    { 12,  9, 12 },
-    { 12, 11, 12 },
-    { 12, 12, 11 },
-    { 12,  0, 12 },
-    { 12, 12, 10 },
-    { 12, 12, 12 }
-};
diff --git a/lib/libfaad2/libfaad/codebook/hcb_11.h b/lib/libfaad2/libfaad/codebook/hcb_11.h
deleted file mode 100644 (file)
index 509a1d6..0000000
+++ /dev/null
@@ -1,415 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_11.h,v 1.5 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* 2-step huffman table HCB_11 */
-
-
-/* 1st step: 5 bits
- *           2^5 = 32 entries
- *
- * Used to find offset into 2nd step table and number of extra bits to get
- */
-static hcb hcb11_1[] = {
-    /* 4 bits */
-    { /* 00000 */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /* 00010 */ 1, 0 },
-    { /*       */ 1, 0 },
-
-    /* 5 bits */
-    { /* 00100 */ 2, 0 },
-    { /* 00101 */ 3, 0 },
-    { /* 00110 */ 4, 0 },
-    { /* 00111 */ 5, 0 },
-    { /* 01000 */ 6, 0 },
-    { /* 01001 */ 7, 0 },
-
-    /* 6 bits */
-    { /* 01010 */ 8,  1 },
-    { /* 01011 */ 10, 1 },
-    { /* 01100 */ 12, 1 },
-
-    /* 6/7 bits */
-    { /* 01101 */ 14, 2 },
-
-    /* 7 bits */
-    { /* 01110 */ 18, 2 },
-    { /* 01111 */ 22, 2 },
-    { /* 10000 */ 26, 2 },
-
-    /* 7/8 bits */
-    { /* 10001 */ 30, 3 },
-
-    /* 8 bits */
-    { /* 10010 */ 38, 3 },
-    { /* 10011 */ 46, 3 },
-    { /* 10100 */ 54, 3 },
-    { /* 10101 */ 62, 3 },
-    { /* 10110 */ 70, 3 },
-    { /* 10111 */ 78, 3 },
-
-    /* 8/9 bits */
-    { /* 11000 */ 86, 4 },
-
-    /* 9 bits */
-    { /* 11001 */ 102, 4 },
-    { /* 11010 */ 118, 4 },
-    { /* 11011 */ 134, 4 },
-
-    /* 9/10 bits */
-    { /* 11100 */ 150, 5 },
-
-    /* 10 bits */
-    { /* 11101 */ 182, 5 },
-    { /* 11110 */ 214, 5 },
-
-    /* 10/11/12 bits */
-    { /* 11111 */ 246, 7 }
-};
-
-/* 2nd step table
- *
- * Gives size of codeword and actual data (x,y,v,w)
- */
-static hcb_2_pair hcb11_2[] = {
-    /* 4 */
-    { 4,  0,  0 },
-    { 4,  1,  1 },
-
-    /* 5 */
-    { 5, 16, 16 },
-    { 5,  1,  0 },
-    { 5,  0,  1 },
-    { 5,  2,  1 },
-    { 5,  1,  2 },
-    { 5,  2,  2 },
-
-    /* 6 */
-    { 6,  1,  3 },
-    { 6,  3,  1 },
-    { 6,  3,  2 },
-    { 6,  2,  0 },
-    { 6,  2,  3 },
-    { 6,  0,  2 },
-
-    /* 6/7 */
-    { 6,  3,  3 }, { 6,  3,  3 },
-    { 7,  4,  1 },
-    { 7,  1,  4 },
-
-    /* 7 */
-    { 7,  4,  2 },
-    { 7,  2,  4 },
-    { 7,  4,  3 },
-    { 7,  3,  4 },
-    { 7,  3,  0 },
-    { 7,  0,  3 },
-    { 7,  5,  1 },
-    { 7,  5,  2 },
-    { 7,  2,  5 },
-    { 7,  4,  4 },
-    { 7,  1,  5 },
-    { 7,  5,  3 },
-
-    /* 7/8 */
-    { 7,  3,  5 }, { 7,  3,  5 },
-    { 7,  5,  4 }, { 7,  5,  4 },
-    { 8,  4,  5 },
-    { 8,  6,  2 },
-    { 8,  2,  6 },
-    { 8,  6,  1 },
-
-    /* 8 */
-    { 8,  6,  3 },
-    { 8,  3,  6 },
-    { 8,  1,  6 },
-    { 8,  4, 16 },
-    { 8,  3, 16 },
-    { 8, 16,  5 },
-    { 8, 16,  3 },
-    { 8, 16,  4 },
-    { 8,  6,  4 },
-    { 8, 16,  6 },
-    { 8,  4,  0 },
-    { 8,  4,  6 },
-    { 8,  0,  4 },
-    { 8,  2, 16 },
-    { 8,  5,  5 },
-    { 8,  5, 16 },
-    { 8, 16,  7 },
-    { 8, 16,  2 },
-    { 8, 16,  8 },
-    { 8,  2,  7 },
-    { 8,  7,  2 },
-    { 8,  3,  7 },
-    { 8,  6,  5 },
-    { 8,  5,  6 },
-    { 8,  6, 16 },
-    { 8, 16, 10 },
-    { 8,  7,  3 },
-    { 8,  7,  1 },
-    { 8, 16,  9 },
-    { 8,  7, 16 },
-    { 8,  1, 16 },
-    { 8,  1,  7 },
-    { 8,  4,  7 },
-    { 8, 16, 11 },
-    { 8,  7,  4 },
-    { 8, 16, 12 },
-    { 8,  8, 16 },
-    { 8, 16,  1 },
-    { 8,  6,  6 },
-    { 8,  9, 16 },
-    { 8,  2,  8 },
-    { 8,  5,  7 },
-    { 8, 10, 16 },
-    { 8, 16, 13 },
-    { 8,  8,  3 },
-    { 8,  8,  2 },
-    { 8,  3,  8 },
-    { 8,  5,  0 },
-
-    /* 8/9 */
-    { 8, 16, 14 }, { 8, 16, 14 },
-    { 8, 11, 16 }, { 8, 11, 16 },
-    { 8,  7,  5 }, { 8,  7,  5 },
-    { 8,  4,  8 }, { 8,  4,  8 },
-    { 8,  6,  7 }, { 8,  6,  7 },
-    { 8,  7,  6 }, { 8,  7,  6 },
-    { 8,  0,  5 }, { 8,  0,  5 },
-    { 9,  8,  4 },
-    { 9, 16, 15 },
-
-    /* 9 */
-    { 9, 12, 16 },
-    { 9,  1,  8 },
-    { 9,  8,  1 },
-    { 9, 14, 16 },
-    { 9,  5,  8 },
-    { 9, 13, 16 },
-    { 9,  3,  9 },
-    { 9,  8,  5 },
-    { 9,  7,  7 },
-    { 9,  2,  9 },
-    { 9,  8,  6 },
-    { 9,  9,  2 },
-    { 9,  9,  3 },
-    { 9, 15, 16 },
-    { 9,  4,  9 },
-    { 9,  6,  8 },
-    { 9,  6,  0 },
-    { 9,  9,  4 },
-    { 9,  5,  9 },
-    { 9,  8,  7 },
-    { 9,  7,  8 },
-    { 9,  1,  9 },
-    { 9, 10,  3 },
-    { 9,  0,  6 },
-    { 9, 10,  2 },
-    { 9,  9,  1 },
-    { 9,  9,  5 },
-    { 9,  4, 10 },
-    { 9,  2, 10 },
-    { 9,  9,  6 },
-    { 9,  3, 10 },
-    { 9,  6,  9 },
-    { 9, 10,  4 },
-    { 9,  8,  8 },
-    { 9, 10,  5 },
-    { 9,  9,  7 },
-    { 9, 11,  3 },
-    { 9,  1, 10 },
-    { 9,  7,  0 },
-    { 9, 10,  6 },
-    { 9,  7,  9 },
-    { 9,  3, 11 },
-    { 9,  5, 10 },
-    { 9, 10,  1 },
-    { 9,  4, 11 },
-    { 9, 11,  2 },
-    { 9, 13,  2 },
-    { 9,  6, 10 },
-
-    /* 9/10 */
-    { 9, 13,  3 }, { 9, 13,  3 },
-    { 9,  2, 11 }, { 9,  2, 11 },
-    { 9, 16,  0 }, { 9, 16,  0 },
-    { 9,  5, 11 }, { 9,  5, 11 },
-    { 9, 11,  5 }, { 9, 11,  5 },
-    { 10, 11,  4 },
-    { 10,  9,  8 },
-    { 10,  7, 10 },
-    { 10,  8,  9 },
-    { 10,  0, 16 },
-    { 10,  4, 13 },
-    { 10,  0,  7 },
-    { 10,  3, 13 },
-    { 10, 11,  6 },
-    { 10, 13,  1 },
-    { 10, 13,  4 },
-    { 10, 12,  3 },
-    { 10,  2, 13 },
-    { 10, 13,  5 },
-    { 10,  8, 10 },
-    { 10,  6, 11 },
-    { 10, 10,  8 },
-    { 10, 10,  7 },
-    { 10, 14,  2 },
-    { 10, 12,  4 },
-    { 10,  1, 11 },
-    { 10,  4, 12 },
-
-    /* 10 */
-    { 10, 11,  1 },
-    { 10,  3, 12 },
-    { 10,  1, 13 },
-    { 10, 12,  2 },
-    { 10,  7, 11 },
-    { 10,  3, 14 },
-    { 10,  5, 12 },
-    { 10,  5, 13 },
-    { 10, 14,  4 },
-    { 10,  4, 14 },
-    { 10, 11,  7 },
-    { 10, 14,  3 },
-    { 10, 12,  5 },
-    { 10, 13,  6 },
-    { 10, 12,  6 },
-    { 10,  8,  0 },
-    { 10, 11,  8 },
-    { 10,  2, 12 },
-    { 10,  9,  9 },
-    { 10, 14,  5 },
-    { 10,  6, 13 },
-    { 10, 10, 10 },
-    { 10, 15,  2 },
-    { 10,  8, 11 },
-    { 10,  9, 10 },
-    { 10, 14,  6 },
-    { 10, 10,  9 },
-    { 10,  5, 14 },
-    { 10, 11,  9 },
-    { 10, 14,  1 },
-    { 10,  2, 14 },
-    { 10,  6, 12 },
-    { 10,  1, 12 },
-    { 10, 13,  8 },
-    { 10,  0,  8 },
-    { 10, 13,  7 },
-    { 10,  7, 12 },
-    { 10, 12,  7 },
-    { 10,  7, 13 },
-    { 10, 15,  3 },
-    { 10, 12,  1 },
-    { 10,  6, 14 },
-    { 10,  2, 15 },
-    { 10, 15,  5 },
-    { 10, 15,  4 },
-    { 10,  1, 14 },
-    { 10,  9, 11 },
-    { 10,  4, 15 },
-    { 10, 14,  7 },
-    { 10,  8, 13 },
-    { 10, 13,  9 },
-    { 10,  8, 12 },
-    { 10,  5, 15 },
-    { 10,  3, 15 },
-    { 10, 10, 11 },
-    { 10, 11, 10 },
-    { 10, 12,  8 },
-    { 10, 15,  6 },
-    { 10, 15,  7 },
-    { 10,  8, 14 },
-    { 10, 15,  1 },
-    { 10,  7, 14 },
-    { 10,  9,  0 },
-    { 10,  0,  9 },
-
-    /* 10/11/12 */
-    { 10,  9, 13 }, { 10,  9, 13 }, { 10,  9, 13 }, { 10,  9, 13 },
-    { 10,  9, 12 }, { 10,  9, 12 }, { 10,  9, 12 }, { 10,  9, 12 },
-    { 10, 12,  9 }, { 10, 12,  9 }, { 10, 12,  9 }, { 10, 12,  9 },
-    { 10, 14,  8 }, { 10, 14,  8 }, { 10, 14,  8 }, { 10, 14,  8 },
-    { 10, 10, 13 }, { 10, 10, 13 }, { 10, 10, 13 }, { 10, 10, 13 },
-    { 10, 14,  9 }, { 10, 14,  9 }, { 10, 14,  9 }, { 10, 14,  9 },
-    { 10, 12, 10 }, { 10, 12, 10 }, { 10, 12, 10 }, { 10, 12, 10 },
-    { 10,  6, 15 }, { 10,  6, 15 }, { 10,  6, 15 }, { 10,  6, 15 },
-    { 10,  7, 15 }, { 10,  7, 15 }, { 10,  7, 15 }, { 10,  7, 15 },
-
-    { 11,  9, 14 }, { 11,  9, 14 },
-    { 11, 15,  8 }, { 11, 15,  8 },
-    { 11, 11, 11 }, { 11, 11, 11 },
-    { 11, 11, 14 }, { 11, 11, 14 },
-    { 11,  1, 15 }, { 11,  1, 15 },
-    { 11, 10, 12 }, { 11, 10, 12 },
-    { 11, 10, 14 }, { 11, 10, 14 },
-    { 11, 13, 11 }, { 11, 13, 11 },
-    { 11, 13, 10 }, { 11, 13, 10 },
-    { 11, 11, 13 }, { 11, 11, 13 },
-    { 11, 11, 12 }, { 11, 11, 12 },
-    { 11,  8, 15 }, { 11,  8, 15 },
-    { 11, 14, 11 }, { 11, 14, 11 },
-    { 11, 13, 12 }, { 11, 13, 12 },
-    { 11, 12, 13 }, { 11, 12, 13 },
-    { 11, 15,  9 }, { 11, 15,  9 },
-    { 11, 14, 10 }, { 11, 14, 10 },
-    { 11, 10,  0 }, { 11, 10,  0 },
-    { 11, 12, 11 }, { 11, 12, 11 },
-    { 11,  9, 15 }, { 11,  9, 15 },
-    { 11,  0, 10 }, { 11,  0, 10 },
-    { 11, 12, 12 }, { 11, 12, 12 },
-    { 11, 11,  0 }, { 11, 11,  0 },
-    { 11, 12, 14 }, { 11, 12, 14 },
-    { 11, 10, 15 }, { 11, 10, 15 },
-    { 11, 13, 13 }, { 11, 13, 13 },
-    { 11,  0, 13 }, { 11,  0, 13 },
-    { 11, 14, 12 }, { 11, 14, 12 },
-    { 11, 15, 10 }, { 11, 15, 10 },
-    { 11, 15, 11 }, { 11, 15, 11 },
-    { 11, 11, 15 }, { 11, 11, 15 },
-    { 11, 14, 13 }, { 11, 14, 13 },
-    { 11, 13,  0 }, { 11, 13,  0 },
-    { 11,  0, 11 }, { 11,  0, 11 },
-    { 11, 13, 14 }, { 11, 13, 14 },
-    { 11, 15, 12 }, { 11, 15, 12 },
-    { 11, 15, 13 }, { 11, 15, 13 },
-    { 11, 12, 15 }, { 11, 12, 15 },
-    { 11, 14,  0 }, { 11, 14,  0 },
-    { 11, 14, 14 }, { 11, 14, 14 },
-    { 11, 13, 15 }, { 11, 13, 15 },
-    { 11, 12,  0 }, { 11, 12,  0 },
-    { 11, 14, 15 }, { 11, 14, 15 },
-    { 12,  0, 14 },
-    { 12,  0, 12 },
-    { 12, 15, 14 },
-    { 12, 15,  0 },
-    { 12,  0, 15 },
-    { 12, 15, 15 }
-};
diff --git a/lib/libfaad2/libfaad/codebook/hcb_2.h b/lib/libfaad2/libfaad/codebook/hcb_2.h
deleted file mode 100644 (file)
index 8edfe52..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_2.h,v 1.5 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* 2-step huffman table HCB_2 */
-
-
-/* 1st step: 5 bits
- *           2^5 = 32 entries
- *
- * Used to find offset into 2nd step table and number of extra bits to get
- */
-static hcb hcb2_1[] = {
-    { /* 00000 */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /* 00100 */ 1, 0 },
-    { /*       */ 1, 0 },
-    { /* 00110 */ 2, 0 },
-    { /* 00111 */ 3, 0 },
-    { /* 01000 */ 4, 0 },
-    { /* 01001 */ 5, 0 },
-    { /* 01010 */ 6, 0 },
-    { /* 01011 */ 7, 0 },
-    { /* 01100 */ 8, 0 },
-
-    /* 6 bit codewords */
-    { /* 01101 */ 9,  1 },
-    { /* 01110 */ 11, 1 },
-    { /* 01111 */ 13, 1 },
-    { /* 10000 */ 15, 1 },
-    { /* 10001 */ 17, 1 },
-    { /* 10010 */ 19, 1 },
-    { /* 10011 */ 21, 1 },
-    { /* 10100 */ 23, 1 },
-    { /* 10101 */ 25, 1 },
-    { /* 10110 */ 27, 1 },
-    { /* 10111 */ 29, 1 },
-    { /* 11000 */ 31, 1 },
-
-    /* 7 bit codewords */
-    { /* 11001 */ 33, 2 },
-    { /* 11010 */ 37, 2 },
-    { /* 11011 */ 41, 2 },
-
-    /* 7/8 bit codewords */
-    { /* 11100 */ 45, 3 },
-
-    /* 8 bit codewords */
-    { /* 11101 */ 53, 3 },
-    { /* 11110 */ 61, 3 },
-
-    /* 8/9 bit codewords */
-    { /* 11111 */ 69, 4 }
-};
-
-/* 2nd step table
- *
- * Gives size of codeword and actual data (x,y,v,w)
- */
-static hcb_2_quad hcb2_2[] = {
-    /* 3 bit codeword */
-    { 3,  0,  0,  0,  0 },
-
-    /* 4 bit codeword */
-    { 4,  1,  0,  0,  0 },
-
-    /* 5 bit codewords */
-    { 5, -1,  0,  0,  0 },
-    { 5,  0,  0,  0,  1 },
-    { 5,  0,  0, -1,  0 },
-    { 5,  0,  0,  0, -1 },
-    { 5,  0, -1,  0,  0 },
-    { 5,  0,  0,  1,  0 },
-    { 5,  0,  1,  0,  0 },
-
-    /* 6 bit codewords */
-    { 6,  0, -1,  1,  0 },
-    { 6, -1,  1,  0,  0 },
-    { 6,  0,  1, -1,  0 },
-    { 6,  0,  0,  1, -1 },
-    { 6,  0,  1,  0, -1 },
-    { 6,  0,  0, -1,  1 },
-    { 6, -1,  0,  0, -1 },
-    { 6,  1, -1,  0,  0 },
-    { 6,  1,  0, -1,  0 },
-    { 6, -1, -1,  0,  0 },
-    { 6,  0,  0, -1, -1 },
-    { 6,  1,  0,  1,  0 },
-    { 6,  1,  0,  0,  1 },
-    { 6,  0, -1,  0,  1 },
-    { 6, -1,  0,  1,  0 },
-    { 6,  0,  1,  0,  1 },
-    { 6,  0, -1, -1,  0 },
-    { 6, -1,  0,  0,  1 },
-    { 6,  0, -1,  0, -1 },
-    { 6, -1,  0, -1,  0 },
-    { 6,  1,  1,  0,  0 },
-    { 6,  0,  1,  1,  0 },
-    { 6,  0,  0,  1,  1 },
-    { 6,  1,  0,  0, -1 },
-
-    /* 7 bit codewords */
-    { 7,  0,  1, -1,  1 },
-    { 7,  1,  0, -1,  1 },
-    { 7, -1,  1, -1,  0 },
-    { 7,  0, -1,  1, -1 },
-    { 7,  1, -1,  1,  0 },
-    { 7,  1,  1,  0, -1 },
-    { 7,  1,  0,  1,  1 },
-    { 7, -1,  1,  1,  0 },
-    { 7,  0, -1, -1,  1 },
-    { 7,  1,  1,  1,  0 },
-    { 7, -1,  0,  1, -1 },
-    { 7, -1, -1, -1,  0 },
-
-    /* 7/8 bit codewords */
-    { 7, -1,  0, -1,  1 }, { 7, -1,  0, -1,  1 },
-    { 7,  1, -1, -1,  0 }, { 7,  1, -1, -1,  0 },
-    { 7,  1,  1, -1,  0 }, { 7,  1,  1, -1,  0 },
-    { 8,  1, -1,  0,  1 },
-    { 8, -1,  1,  0, -1 },
-
-    /* 8 bit codewords */
-    { 8, -1, -1,  1,  0 },
-    { 8, -1,  0,  1,  1 },
-    { 8, -1, -1,  0,  1 },
-    { 8, -1, -1,  0, -1 },
-    { 8,  0, -1, -1, -1 },
-    { 8,  1,  0,  1, -1 },
-    { 8,  1,  0, -1, -1 },
-    { 8,  0,  1, -1, -1 },
-    { 8,  0,  1,  1,  1 },
-    { 8, -1,  1,  0,  1 },
-    { 8, -1,  0, -1, -1 },
-    { 8,  0,  1,  1, -1 },
-    { 8,  1, -1,  0, -1 },
-    { 8,  0, -1,  1,  1 },
-    { 8,  1,  1,  0,  1 },
-    { 8,  1, -1,  1, -1 },
-
-    /* 8/9 bit codewords */
-    { 8, -1,  1, -1,  1 }, { 8, -1,  1, -1,  1 },
-    { 9,  1, -1, -1,  1 },
-    { 9, -1, -1, -1, -1 },
-    { 9, -1,  1,  1, -1 },
-    { 9, -1,  1,  1,  1 },
-    { 9,  1,  1,  1,  1 },
-    { 9, -1, -1,  1, -1 },
-    { 9,  1, -1,  1,  1 },
-    { 9, -1,  1, -1, -1 },
-    { 9, -1, -1,  1,  1 },
-    { 9,  1,  1, -1, -1 },
-    { 9,  1, -1, -1, -1 },
-    { 9, -1, -1, -1,  1 },
-    { 9,  1,  1, -1,  1 },
-    { 9,  1,  1,  1, -1 }
-};
diff --git a/lib/libfaad2/libfaad/codebook/hcb_3.h b/lib/libfaad2/libfaad/codebook/hcb_3.h
deleted file mode 100644 (file)
index e9481e1..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_3.h,v 1.5 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* Binary search huffman table HCB_3 */
-
-
-static hcb_bin_quad hcb3[] = {
-    { /*  0 */ 0, {  1,  2, 0, 0 } },
-    { /*  1 */ 1, {  0,  0, 0, 0 } }, /* 0 */
-    { /*  2 */ 0, {  1,  2, 0, 0 } },
-    { /*  3 */ 0, {  2,  3, 0, 0 } },
-    { /*  4 */ 0, {  3,  4, 0, 0 } },
-    { /*  5 */ 0, {  4,  5, 0, 0 } },
-    { /*  6 */ 0, {  5,  6, 0, 0 } },
-    { /*  7 */ 0, {  6,  7, 0, 0 } },
-    { /*  8 */ 0, {  7,  8, 0, 0 } },
-    { /*  9 */ 1, {  1,  0, 0, 0 } }, /* 1000 */
-    { /* 10 */ 1, {  0,  0, 0, 1 } }, /* 1001 */
-    { /* 11 */ 1, {  0,  1, 0, 0 } }, /* 1010 */
-    { /* 12 */ 1, {  0,  0, 1, 0 } }, /* 1011 */
-    { /* 13 */ 0, {  4,  5, 0, 0 } },
-    { /* 14 */ 0, {  5,  6, 0, 0 } },
-    { /* 15 */ 0, {  6,  7, 0, 0 } },
-    { /* 16 */ 0, {  7,  8, 0, 0 } },
-    { /* 17 */ 1, {  1,  1, 0, 0 } },
-    { /* 18 */ 1, {  0,  0, 1, 1 } },
-    { /* 19 */ 0, {  6,  7, 0, 0 } },
-    { /* 20 */ 0, {  7,  8, 0, 0 } },
-    { /* 21 */ 0, {  8,  9, 0, 0 } },
-    { /* 22 */ 0, {  9, 10, 0, 0 } },
-    { /* 23 */ 0, { 10, 11, 0, 0 } },
-    { /* 24 */ 0, { 11, 12, 0, 0 } },
-    { /* 25 */ 1, {  0,  1, 1, 0 } }, /* 110100 */
-    { /* 26 */ 1, {  0,  1, 0, 1 } }, /* 110101 */
-    { /* 27 */ 1, {  1,  0, 1, 0 } }, /* 110110 */
-    { /* 28 */ 1, {  0,  1, 1, 1 } }, /* 110111 */
-    { /* 29 */ 1, {  1,  0, 0, 1 } }, /* 111000 */
-    { /* 30 */ 1, {  1,  1, 1, 0 } }, /* 111001 */
-    { /* 31 */ 0, {  6,  7, 0, 0 } },
-    { /* 32 */ 0, {  7,  8, 0, 0 } },
-    { /* 33 */ 0, {  8,  9, 0, 0 } },
-    { /* 34 */ 0, {  9, 10, 0, 0 } },
-    { /* 35 */ 0, { 10, 11, 0, 0 } },
-    { /* 36 */ 0, { 11, 12, 0, 0 } },
-    { /* 37 */ 1, {  1,  1, 1, 1 } }, /* 1110100 */
-    { /* 38 */ 1, {  1,  0, 1, 1 } }, /* 1110101 */
-    { /* 39 */ 1, {  1,  1, 0, 1 } }, /* 1110110 */
-    { /* 40 */ 0, {  9, 10, 0, 0 } },
-    { /* 41 */ 0, { 10, 11, 0, 0 } },
-    { /* 42 */ 0, { 11, 12, 0, 0 } },
-    { /* 43 */ 0, { 12, 13, 0, 0 } },
-    { /* 44 */ 0, { 13, 14, 0, 0 } },
-    { /* 45 */ 0, { 14, 15, 0, 0 } },
-    { /* 46 */ 0, { 15, 16, 0, 0 } },
-    { /* 47 */ 0, { 16, 17, 0, 0 } },
-    { /* 48 */ 0, { 17, 18, 0, 0 } },
-    { /* 49 */ 1, {  2,  0, 0, 0 } }, /* 11101110 */
-    { /* 50 */ 1, {  0,  0, 0, 2 } }, /* 11101111 */
-    { /* 51 */ 1, {  0,  0, 1, 2 } }, /* 11110000 */
-    { /* 52 */ 1, {  2,  1, 0, 0 } }, /* 11110001 */
-    { /* 53 */ 1, {  1,  2, 1, 0 } }, /* 11110010 */
-    { /* 54 */ 0, { 13, 14, 0, 0 } },
-    { /* 55 */ 0, { 14, 15, 0, 0 } },
-    { /* 56 */ 0, { 15, 16, 0, 0 } },
-    { /* 57 */ 0, { 16, 17, 0, 0 } },
-    { /* 58 */ 0, { 17, 18, 0, 0 } },
-    { /* 59 */ 0, { 18, 19, 0, 0 } },
-    { /* 60 */ 0, { 19, 20, 0, 0 } },
-    { /* 61 */ 0, { 20, 21, 0, 0 } },
-    { /* 62 */ 0, { 21, 22, 0, 0 } },
-    { /* 63 */ 0, { 22, 23, 0, 0 } },
-    { /* 64 */ 0, { 23, 24, 0, 0 } },
-    { /* 65 */ 0, { 24, 25, 0, 0 } },
-    { /* 66 */ 0, { 25, 26, 0, 0 } },
-    { /* 67 */ 1, {  0,  0, 2, 1 } },
-    { /* 68 */ 1, {  0,  1, 2, 1 } },
-    { /* 69 */ 1, {  1,  2, 0, 0 } },
-    { /* 70 */ 1, {  0,  1, 1, 2 } },
-    { /* 71 */ 1, {  2,  1, 1, 0 } },
-    { /* 72 */ 1, {  0,  0, 2, 0 } },
-    { /* 73 */ 1, {  0,  2, 1, 0 } },
-    { /* 74 */ 1, {  0,  1, 2, 0 } },
-    { /* 75 */ 1, {  0,  2, 0, 0 } },
-    { /* 76 */ 1, {  0,  1, 0, 2 } },
-    { /* 77 */ 1, {  2,  0, 1, 0 } },
-    { /* 78 */ 1, {  1,  2, 1, 1 } },
-    { /* 79 */ 1, {  0,  2, 1, 1 } },
-    { /* 80 */ 1, {  1,  1, 2, 0 } },
-    { /* 81 */ 1, {  1,  1, 2, 1 } },
-    { /* 82 */ 0, { 11, 12, 0, 0 } },
-    { /* 83 */ 0, { 12, 13, 0, 0 } },
-    { /* 84 */ 0, { 13, 14, 0, 0 } },
-    { /* 85 */ 0, { 14, 15, 0, 0 } },
-    { /* 86 */ 0, { 15, 16, 0, 0 } },
-    { /* 87 */ 0, { 16, 17, 0, 0 } },
-    { /* 88 */ 0, { 17, 18, 0, 0 } },
-    { /* 89 */ 0, { 18, 19, 0, 0 } },
-    { /* 90 */ 0, { 19, 20, 0, 0 } },
-    { /* 91 */ 0, { 20, 21, 0, 0 } },
-    { /* 92 */ 0, { 21, 22, 0, 0 } },
-    { /* 93 */ 1, {  1,  2,  0,  1 } }, /* 1111101010 */
-    { /* 94 */ 1, {  1,  0,  2,  0 } }, /* 1111101011 */
-    { /* 95 */ 1, {  1,  0,  2,  1 } }, /* 1111101100 */
-    { /* 96 */ 1, {  0,  2,  0,  1 } }, /* 1111101101 */
-    { /* 97 */ 1, {  2,  1,  1,  1 } }, /* 1111101110 */
-    { /* 98 */ 1, {  1,  1,  1,  2 } }, /* 1111101111 */
-    { /* 99 */ 1, {  2,  1,  0,  1 } }, /* 1111110000 */
-    { /* 00 */ 1, {  1,  0,  1,  2 } }, /* 1111110001 */
-    { /* 01 */ 1, {  0,  0,  2,  2 } }, /* 1111110010 */
-    { /* 02 */ 1, {  0,  1,  2,  2 } }, /* 1111110011 */
-    { /* 03 */ 1, {  2,  2,  1,  0 } }, /* 1111110100 */
-    { /* 04 */ 1, {  1,  2,  2,  0 } }, /* 1111110101 */
-    { /* 05 */ 1, {  1,  0,  0,  2 } }, /* 1111110110 */
-    { /* 06 */ 1, {  2,  0,  0,  1 } }, /* 1111110111 */
-    { /* 07 */ 1, {  0,  2,  2,  1 } }, /* 1111111000 */
-    { /* 08 */ 0, {  7,  8, 0, 0 } },
-    { /* 09 */ 0, {  8,  9, 0, 0 } },
-    { /* 10 */ 0, {  9, 10, 0, 0 } },
-    { /* 11 */ 0, { 10, 11, 0, 0 } },
-    { /* 12 */ 0, { 11, 12, 0, 0 } },
-    { /* 13 */ 0, { 12, 13, 0, 0 } },
-    { /* 14 */ 0, { 13, 14, 0, 0 } },
-    { /* 15 */ 1, {  2,  2,  0,  0 } }, /* 11111110010 */
-    { /* 16 */ 1, {  1,  2,  2,  1 } }, /* 11111110011 */
-    { /* 17 */ 1, {  1,  1,  0,  2 } }, /* 11111110100 */
-    { /* 18 */ 1, {  2,  0,  1,  1 } }, /* 11111110101 */
-    { /* 19 */ 1, {  1,  1,  2,  2 } }, /* 11111110110 */
-    { /* 20 */ 1, {  2,  2,  1,  1 } }, /* 11111110111 */
-    { /* 21 */ 1, {  0,  2,  2,  0 } }, /* 11111111000 */
-    { /* 22 */ 1, {  0,  2,  1,  2 } }, /* 11111111001 */
-    { /* 23 */ 0, {  6,  7, 0, 0 } },
-    { /* 24 */ 0, {  7,  8, 0, 0 } },
-    { /* 25 */ 0, {  8,  9, 0, 0 } },
-    { /* 26 */ 0, {  9, 10, 0, 0 } },
-    { /* 27 */ 0, { 10, 11, 0, 0 } },
-    { /* 28 */ 0, { 11, 12, 0, 0 } },
-    { /* 29 */ 1, {  1,  0,  2,  2 } }, /* 111111110100 */
-    { /* 30 */ 1, {  2,  2,  0,  1 } }, /* 111111110101 */
-    { /* 31 */ 1, {  2,  1,  2,  0 } }, /* 111111110110 */
-    { /* 32 */ 1, {  2,  2,  2,  0 } }, /* 111111110111 */
-    { /* 33 */ 1, {  0,  2,  2,  2 } }, /* 111111111000 */
-    { /* 34 */ 1, {  2,  2,  2,  1 } }, /* 111111111001 */
-    { /* 35 */ 1, {  2,  1,  2,  1 } }, /* 111111111010 */
-    { /* 36 */ 1, {  1,  2,  1,  2 } }, /* 111111111011 */
-    { /* 37 */ 1, {  1,  2,  2,  2 } }, /* 111111111100 */
-    { /* 38 */ 0, {  3,  4, 0, 0 } },
-    { /* 39 */ 0, {  4,  5, 0, 0 } },
-    { /* 40 */ 0, {  5,  6, 0, 0 } },
-    { /* 41 */ 1, {  0,  2,  0,  2 } }, /* 1111111111010 */
-    { /* 42 */ 1, {  2,  0,  2,  0 } }, /* 1111111111011 */
-    { /* 43 */ 1, {  1,  2,  0,  2 } }, /* 1111111111100 */
-    { /* 44 */ 0, {  3, 4, 0, 0 } },
-    { /* 45 */ 0, {  4, 5, 0, 0 } },
-    { /* 46 */ 0, {  5, 6, 0, 0 } },
-    { /* 47 */ 1, {  2,  0,  2,  1 } }, /* 11111111111010 */
-    { /* 48 */ 1, {  2,  1,  1,  2 } }, /* 11111111111011 */
-    { /* 49 */ 1, {  2,  1,  0,  2 } }, /* 11111111111100 */
-    { /* 50 */ 0, { 3, 4, 0, 0 } },
-    { /* 51 */ 0, { 4, 5, 0, 0 } },
-    { /* 52 */ 0, { 5, 6, 0, 0 } },
-    { /* 53 */ 1, {  2,  2,  2,  2 } }, /* 111111111111010 */
-    { /* 54 */ 1, {  2,  2,  1,  2 } }, /* 111111111111011 */
-    { /* 55 */ 1, {  2,  1,  2,  2 } }, /* 111111111111100 */
-    { /* 56 */ 1, {  2,  0,  1,  2 } }, /* 111111111111101 */
-    { /* 57 */ 1, {  2,  0,  0,  2 } }, /* 111111111111110 */
-    { /* 58 */ 0, { 1, 2, 0, 0 } },
-    { /* 59 */ 1, {  2,  2,  0,  2 } }, /* 1111111111111110 */
-    { /* 60 */ 1, {  2,  0,  2,  2 } }  /* 1111111111111111 */
-};
diff --git a/lib/libfaad2/libfaad/codebook/hcb_4.h b/lib/libfaad2/libfaad/codebook/hcb_4.h
deleted file mode 100644 (file)
index c2b43e0..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_4.h,v 1.5 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* 2-step huffman table HCB_4 */
-
-
-/* 1st step: 5 bits
- *           2^5 = 32 entries
- *
- * Used to find offset into 2nd step table and number of extra bits to get
- */
-static hcb hcb4_1[] = {
-    /* 4 bit codewords */
-    { /* 00000 */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /* 00010 */ 1, 0 },
-    { /*       */ 1, 0 },
-    { /* 00100 */ 2, 0 },
-    { /*       */ 2, 0 },
-    { /* 00110 */ 3, 0 },
-    { /*       */ 3, 0 },
-    { /* 01000 */ 4, 0 },
-    { /*       */ 4, 0 },
-    { /* 01010 */ 5, 0 },
-    { /*       */ 5, 0 },
-    { /* 01100 */ 6, 0 },
-    { /*       */ 6, 0 },
-    { /* 01110 */ 7, 0 },
-    { /*       */ 7, 0 },
-    { /* 10000 */ 8, 0 },
-    { /*       */ 8, 0 },
-    { /* 10010 */ 9, 0 },
-    { /*       */ 9, 0 },
-
-    /* 5 bit codewords */
-    { /* 10100 */ 10, 0 },
-    { /* 10101 */ 11, 0 },
-    { /* 10110 */ 12, 0 },
-    { /* 10111 */ 13, 0 },
-    { /* 11000 */ 14, 0 },
-    { /* 11001 */ 15, 0 },
-
-    /* 7 bit codewords */
-    { /* 11010 */ 16, 2 },
-    { /* 11011 */ 20, 2 },
-
-    /* 7/8 bit codewords */
-    { /* 11100 */ 24, 3 },
-
-    /* 8 bit codewords */
-    { /* 11101 */ 32, 3 },
-
-    /* 8/9 bit codewords */
-    { /* 11110 */ 40, 4 },
-
-    /* 9/10/11/12 bit codewords */
-    { /* 11111 */ 56, 7 }
-};
-
-/* 2nd step table
- *
- * Gives size of codeword and actual data (x,y,v,w)
- */
-static hcb_2_quad hcb4_2[] = {
-    /* 4 bit codewords */
-    { 4,  1,  1,  1,  1 },
-    { 4,  0,  1,  1,  1 },
-    { 4,  1,  1,  0,  1 },
-    { 4,  1,  1,  1,  0 },
-    { 4,  1,  0,  1,  1 },
-    { 4,  1,  0,  0,  0 },
-    { 4,  1,  1,  0,  0 },
-    { 4,  0,  0,  0,  0 },
-    { 4,  0,  0,  1,  1 },
-    { 4,  1,  0,  1,  0 },
-
-    /* 5 bit codewords */
-    { 5,  1,  0,  0,  1 },
-    { 5,  0,  1,  1,  0 },
-    { 5,  0,  0,  0,  1 },
-    { 5,  0,  1,  0,  1 },
-    { 5,  0,  0,  1,  0 },
-    { 5,  0,  1,  0,  0 },
-
-    /* 7 bit codewords */
-    /* first 5 bits: 11010 */
-    { 7,  2,  1,  1,  1 },
-    { 7,  1,  1,  2,  1 },
-    { 7,  1,  2,  1,  1 },
-    { 7,  1,  1,  1,  2 },
-    /* first 5 bits: 11011 */
-    { 7,  2,  1,  1,  0 },
-    { 7,  2,  1,  0,  1 },
-    { 7,  1,  2,  1,  0 },
-    { 7,  2,  0,  1,  1 },
-
-    /* 7/8 bit codewords */
-    /* first 5 bits: 11100 */
-    { 7,  0,  1,  2,  1 }, { 7,  0,  1,  2,  1 },
-    { 8,  0,  1,  1,  2 },
-    { 8,  1,  1,  2,  0 },
-    { 8,  0,  2,  1,  1 },
-    { 8,  1,  0,  1,  2 },
-    { 8,  1,  2,  0,  1 },
-    { 8,  1,  1,  0,  2 },
-
-    /* 8 bit codewords */
-    { 8,  1,  0,  2,  1 },
-    { 8,  2,  1,  0,  0 },
-    { 8,  2,  0,  1,  0 },
-    { 8,  1,  2,  0,  0 },
-    { 8,  2,  0,  0,  1 },
-    { 8,  0,  1,  0,  2 },
-    { 8,  0,  2,  1,  0 },
-    { 8,  0,  0,  1,  2 },
-
-    /* 8/9 bit codewords */
-    { 8,  0,  1,  2,  0 }, { 8,  0,  1,  2,  0 },
-    { 8,  0,  2,  0,  1 }, { 8,  0,  2,  0,  1 },
-    { 8,  1,  0,  0,  2 }, { 8,  1,  0,  0,  2 },
-    { 8,  0,  0,  2,  1 }, { 8,  0,  0,  2,  1 },
-    { 8,  1,  0,  2,  0 }, { 8,  1,  0,  2,  0 },
-    { 8,  2,  0,  0,  0 }, { 8,  2,  0,  0,  0 },
-    { 8,  0,  0,  0,  2 }, { 8,  0,  0,  0,  2 },
-    { 9,  0,  2,  0,  0 },
-    { 9,  0,  0,  2,  0 },
-
-    /* 9/10/11 bit codewords */
-    /* 9 bit codewords repeated 2^3 = 8 times */
-    { 9,  1,  2,  2,  1 }, { 9,  1,  2,  2,  1 }, { 9,  1,  2,  2,  1 }, { 9,  1,  2,  2,  1 },
-    { 9,  1,  2,  2,  1 }, { 9,  1,  2,  2,  1 }, { 9,  1,  2,  2,  1 }, { 9,  1,  2,  2,  1 },
-    { 9,  2,  2,  1,  1 }, { 9,  2,  2,  1,  1 }, { 9,  2,  2,  1,  1 }, { 9,  2,  2,  1,  1 },
-    { 9,  2,  2,  1,  1 }, { 9,  2,  2,  1,  1 }, { 9,  2,  2,  1,  1 }, { 9,  2,  2,  1,  1 },
-    { 9,  2,  1,  2,  1 }, { 9,  2,  1,  2,  1 }, { 9,  2,  1,  2,  1 }, { 9,  2,  1,  2,  1 },
-    { 9,  2,  1,  2,  1 }, { 9,  2,  1,  2,  1 }, { 9,  2,  1,  2,  1 }, { 9,  2,  1,  2,  1 },
-    { 9,  1,  1,  2,  2 }, { 9,  1,  1,  2,  2 }, { 9,  1,  1,  2,  2 }, { 9,  1,  1,  2,  2 },
-    { 9,  1,  1,  2,  2 }, { 9,  1,  1,  2,  2 }, { 9,  1,  1,  2,  2 }, { 9,  1,  1,  2,  2 },
-    { 9,  1,  2,  1,  2 }, { 9,  1,  2,  1,  2 }, { 9,  1,  2,  1,  2 }, { 9,  1,  2,  1,  2 },
-    { 9,  1,  2,  1,  2 }, { 9,  1,  2,  1,  2 }, { 9,  1,  2,  1,  2 }, { 9,  1,  2,  1,  2 },
-    { 9,  2,  1,  1,  2 }, { 9,  2,  1,  1,  2 }, { 9,  2,  1,  1,  2 }, { 9,  2,  1,  1,  2 },
-    { 9,  2,  1,  1,  2 }, { 9,  2,  1,  1,  2 }, { 9,  2,  1,  1,  2 }, { 9,  2,  1,  1,  2 },
-    /* 10 bit codewords repeated 2^2 = 4 times */
-    { 10,  1,  2,  2,  0 }, { 10,  1,  2,  2,  0 }, { 10,  1,  2,  2,  0 }, { 10,  1,  2,  2,  0 },
-    { 10,  2,  2,  1,  0 }, { 10,  2,  2,  1,  0 }, { 10,  2,  2,  1,  0 }, { 10,  2,  2,  1,  0 },
-    { 10,  2,  1,  2,  0 }, { 10,  2,  1,  2,  0 }, { 10,  2,  1,  2,  0 }, { 10,  2,  1,  2,  0 },
-    { 10,  0,  2,  2,  1 }, { 10,  0,  2,  2,  1 }, { 10,  0,  2,  2,  1 }, { 10,  0,  2,  2,  1 },
-    { 10,  0,  1,  2,  2 }, { 10,  0,  1,  2,  2 }, { 10,  0,  1,  2,  2 }, { 10,  0,  1,  2,  2 },
-    { 10,  2,  2,  0,  1 }, { 10,  2,  2,  0,  1 }, { 10,  2,  2,  0,  1 }, { 10,  2,  2,  0,  1 },
-    { 10,  0,  2,  1,  2 }, { 10,  0,  2,  1,  2 }, { 10,  0,  2,  1,  2 }, { 10,  0,  2,  1,  2 },
-    { 10,  2,  0,  2,  1 }, { 10,  2,  0,  2,  1 }, { 10,  2,  0,  2,  1 }, { 10,  2,  0,  2,  1 },
-    { 10,  1,  0,  2,  2 }, { 10,  1,  0,  2,  2 }, { 10,  1,  0,  2,  2 }, { 10,  1,  0,  2,  2 },
-    { 10,  2,  2,  2,  1 }, { 10,  2,  2,  2,  1 }, { 10,  2,  2,  2,  1 }, { 10,  2,  2,  2,  1 },
-    { 10,  1,  2,  0,  2 }, { 10,  1,  2,  0,  2 }, { 10,  1,  2,  0,  2 }, { 10,  1,  2,  0,  2 },
-    { 10,  2,  0,  1,  2 }, { 10,  2,  0,  1,  2 }, { 10,  2,  0,  1,  2 }, { 10,  2,  0,  1,  2 },
-    { 10,  2,  1,  0,  2 }, { 10,  2,  1,  0,  2 }, { 10,  2,  1,  0,  2 }, { 10,  2,  1,  0,  2 },
-    { 10,  1,  2,  2,  2 }, { 10,  1,  2,  2,  2 }, { 10,  1,  2,  2,  2 }, { 10,  1,  2,  2,  2 },
-    /* 11 bit codewords repeated 2^1 = 2 times */
-    { 11,  2,  1,  2,  2 }, { 11,  2,  1,  2,  2 },
-    { 11,  2,  2,  1,  2 }, { 11,  2,  2,  1,  2 },
-    { 11,  0,  2,  2,  0 }, { 11,  0,  2,  2,  0 },
-    { 11,  2,  2,  0,  0 }, { 11,  2,  2,  0,  0 },
-    { 11,  0,  0,  2,  2 }, { 11,  0,  0,  2,  2 },
-    { 11,  2,  0,  2,  0 }, { 11,  2,  0,  2,  0 },
-    { 11,  0,  2,  0,  2 }, { 11,  0,  2,  0,  2 },
-    { 11,  2,  0,  0,  2 }, { 11,  2,  0,  0,  2 },
-    { 11,  2,  2,  2,  2 }, { 11,  2,  2,  2,  2 },
-    { 11,  0,  2,  2,  2 }, { 11,  0,  2,  2,  2 },
-    { 11,  2,  2,  2,  0 }, { 11,  2,  2,  2,  0 },
-    /* 12 bit codewords */
-    { 12,  2,  2,  0,  2 },
-    { 12,  2,  0,  2,  2 },
-};
diff --git a/lib/libfaad2/libfaad/codebook/hcb_5.h b/lib/libfaad2/libfaad/codebook/hcb_5.h
deleted file mode 100644 (file)
index ca7c473..0000000
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_5.h,v 1.5 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* Binary search huffman table HCB_5 */
-
-
-static hcb_bin_pair hcb5[] = {
-    { /*  0 */ 0, {  1,  2 } },
-    { /*  1 */ 1, {  0,  0 } }, /* 0 */
-    { /*  2 */ 0, {  1,  2 } },
-    { /*  3 */ 0, {  2,  3 } },
-    { /*  4 */ 0, {  3,  4 } },
-    { /*  5 */ 0, {  4,  5 } },
-    { /*  6 */ 0, {  5,  6 } },
-    { /*  7 */ 0, {  6,  7 } },
-    { /*  8 */ 0, {  7,  8 } },
-    { /*  9 */ 1, { -1,  0 } }, /* 1000 */
-    { /* 10 */ 1, {  1,  0 } }, /* 1001 */
-    { /* 11 */ 1, {  0,  1 } }, /* 1010 */
-    { /* 12 */ 1, {  0, -1 } }, /* 1011 */
-    { /* 13 */ 0, {  4,  5 } },
-    { /* 14 */ 0, {  5,  6 } },
-    { /* 15 */ 0, {  6,  7 } },
-    { /* 16 */ 0, {  7,  8 } },
-    { /* 17 */ 1, {  1, -1 } },
-    { /* 18 */ 1, { -1,  1 } },
-    { /* 19 */ 1, { -1, -1 } },
-    { /* 20 */ 1, {  1,  1 } },
-    { /* 21 */ 0, {  4,  5 } },
-    { /* 22 */ 0, {  5,  6 } },
-    { /* 23 */ 0, {  6,  7 } },
-    { /* 24 */ 0, {  7,  8 } },
-    { /* 25 */ 0, {  8,  9 } },
-    { /* 26 */ 0, {  9, 10 } },
-    { /* 27 */ 0, { 10, 11 } },
-    { /* 28 */ 0, { 11, 12 } },
-    { /* 29 */ 0, { 12, 13 } },
-    { /* 30 */ 0, { 13, 14 } },
-    { /* 31 */ 0, { 14, 15 } },
-    { /* 32 */ 0, { 15, 16 } },
-    { /* 33 */ 1, { -2,  0 } },
-    { /* 34 */ 1, {  0,  2 } },
-    { /* 35 */ 1, {  2,  0 } },
-    { /* 36 */ 1, {  0, -2 } },
-    { /* 37 */ 0, { 12, 13 } },
-    { /* 38 */ 0, { 13, 14 } },
-    { /* 39 */ 0, { 14, 15 } },
-    { /* 40 */ 0, { 15, 16 } },
-    { /* 41 */ 0, { 16, 17 } },
-    { /* 42 */ 0, { 17, 18 } },
-    { /* 43 */ 0, { 18, 19 } },
-    { /* 44 */ 0, { 19, 20 } },
-    { /* 45 */ 0, { 20, 21 } },
-    { /* 46 */ 0, { 21, 22 } },
-    { /* 47 */ 0, { 22, 23 } },
-    { /* 48 */ 0, { 23, 24 } },
-    { /* 49 */ 1, { -2, -1 } },
-    { /* 50 */ 1, {  2,  1 } },
-    { /* 51 */ 1, { -1, -2 } },
-    { /* 52 */ 1, {  1,  2 } },
-    { /* 53 */ 1, { -2,  1 } },
-    { /* 54 */ 1, {  2, -1 } },
-    { /* 55 */ 1, { -1,  2 } },
-    { /* 56 */ 1, {  1, -2 } },
-    { /* 57 */ 1, { -3,  0 } },
-    { /* 58 */ 1, {  3,  0 } },
-    { /* 59 */ 1, {  0, -3 } },
-    { /* 60 */ 1, {  0,  3 } },
-    { /* 61 */ 0, { 12, 13 } },
-    { /* 62 */ 0, { 13, 14 } },
-    { /* 63 */ 0, { 14, 15 } },
-    { /* 64 */ 0, { 15, 16 } },
-    { /* 65 */ 0, { 16, 17 } },
-    { /* 66 */ 0, { 17, 18 } },
-    { /* 67 */ 0, { 18, 19 } },
-    { /* 68 */ 0, { 19, 20 } },
-    { /* 69 */ 0, { 20, 21 } },
-    { /* 70 */ 0, { 21, 22 } },
-    { /* 71 */ 0, { 22, 23 } },
-    { /* 72 */ 0, { 23, 24 } },
-    { /* 73 */ 1, { -3, -1 } },
-    { /* 74 */ 1, {  1,  3 } },
-    { /* 75 */ 1, {  3,  1 } },
-    { /* 76 */ 1, { -1, -3 } },
-    { /* 77 */ 1, { -3,  1 } },
-    { /* 78 */ 1, {  3, -1 } },
-    { /* 79 */ 1, {  1, -3 } },
-    { /* 80 */ 1, { -1,  3 } },
-    { /* 81 */ 1, { -2,  2 } },
-    { /* 82 */ 1, {  2,  2 } },
-    { /* 83 */ 1, { -2, -2 } },
-    { /* 84 */ 1, {  2, -2 } },
-    { /* 85 */ 0, { 12, 13 } },
-    { /* 86 */ 0, { 13, 14 } },
-    { /* 87 */ 0, { 14, 15 } },
-    { /* 88 */ 0, { 15, 16 } },
-    { /* 89 */ 0, { 16, 17 } },
-    { /* 90 */ 0, { 17, 18 } },
-    { /* 91 */ 0, { 18, 19 } },
-    { /* 92 */ 0, { 19, 20 } },
-    { /* 93 */ 0, { 20, 21 } },
-    { /* 94 */ 0, { 21, 22 } },
-    { /* 95 */ 0, { 22, 23 } },
-    { /* 96 */ 0, { 23, 24 } },
-    { /* 97 */ 1, { -3, -2 } },
-    { /* 98 */ 1, {  3, -2 } },
-    { /* 99 */ 1, { -2,  3 } },
-    { /* 00 */ 1, {  2, -3 } },
-    { /* 01 */ 1, {  3,  2 } },
-    { /* 02 */ 1, {  2,  3 } },
-    { /* 03 */ 1, { -3,  2 } },
-    { /* 04 */ 1, { -2, -3 } },
-    { /* 05 */ 1, {  0, -4 } },
-    { /* 06 */ 1, { -4,  0 } },
-    { /* 07 */ 1, {  4,  1 } },
-    { /* 08 */ 1, {  4,  0 } },
-    { /* 09 */ 0, { 12, 13 } },
-    { /* 10 */ 0, { 13, 14 } },
-    { /* 11 */ 0, { 14, 15 } },
-    { /* 12 */ 0, { 15, 16 } },
-    { /* 13 */ 0, { 16, 17 } },
-    { /* 14 */ 0, { 17, 18 } },
-    { /* 15 */ 0, { 18, 19 } },
-    { /* 16 */ 0, { 19, 20 } },
-    { /* 17 */ 0, { 20, 21 } },
-    { /* 18 */ 0, { 21, 22 } },
-    { /* 19 */ 0, { 22, 23 } },
-    { /* 20 */ 0, { 23, 24 } },
-    { /* 21 */ 1, { -4, -1 } },
-    { /* 22 */ 1, {  0,  4 } },
-    { /* 23 */ 1, {  4, -1 } },
-    { /* 24 */ 1, { -1, -4 } },
-    { /* 25 */ 1, {  1,  4 } },
-    { /* 26 */ 1, { -1,  4 } },
-    { /* 27 */ 1, { -4,  1 } },
-    { /* 28 */ 1, {  1, -4 } },
-    { /* 29 */ 1, {  3, -3 } },
-    { /* 30 */ 1, { -3, -3 } },
-    { /* 31 */ 1, { -3,  3 } },
-    { /* 32 */ 1, { -2,  4 } },
-    { /* 33 */ 1, { -4, -2 } },
-    { /* 34 */ 1, {  4,  2 } },
-    { /* 35 */ 1, {  2, -4 } },
-    { /* 36 */ 1, {  2,  4 } },
-    { /* 37 */ 1, {  3,  3 } },
-    { /* 38 */ 1, { -4,  2 } },
-    { /* 39 */ 0, { 6, 7 } },
-    { /* 40 */ 0, { 7, 8 } },
-    { /* 41 */ 0, { 8, 9 } },
-    { /* 42 */ 0, { 9, 10 } },
-    { /* 43 */ 0, { 10, 11 } },
-    { /* 44 */ 0, { 11, 12 } },
-    { /* 45 */ 1, { -2, -4 } },
-    { /* 46 */ 1, {  4, -2 } },
-    { /* 47 */ 1, {  3, -4 } },
-    { /* 48 */ 1, { -4, -3 } },
-    { /* 49 */ 1, { -4,  3 } },
-    { /* 50 */ 1, {  3,  4 } },
-    { /* 51 */ 1, { -3,  4 } },
-    { /* 52 */ 1, {  4,  3 } },
-    { /* 53 */ 1, {  4, -3 } },
-    { /* 54 */ 1, { -3, -4 } },
-    { /* 55 */ 0, { 2, 3 } },
-    { /* 56 */ 0, { 3, 4 } },
-    { /* 57 */ 1, {  4, -4 } },
-    { /* 58 */ 1, { -4,  4 } },
-    { /* 59 */ 1, {  4,  4 } },
-    { /* 60 */ 1, { -4, -4 } }
-};
diff --git a/lib/libfaad2/libfaad/codebook/hcb_6.h b/lib/libfaad2/libfaad/codebook/hcb_6.h
deleted file mode 100644 (file)
index 2181d63..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_6.h,v 1.5 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* 2-step huffman table HCB_6 */
-
-
-/* 1st step: 5 bits
- *           2^5 = 32 entries
- *
- * Used to find offset into 2nd step table and number of extra bits to get
- */
-static hcb hcb6_1[] = {
-    /* 4 bit codewords */
-    { /* 00000 */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /* 00010 */ 1, 0 },
-    { /*       */ 1, 0 },
-    { /* 00100 */ 2, 0 },
-    { /*       */ 2, 0 },
-    { /* 00110 */ 3, 0 },
-    { /*       */ 3, 0 },
-    { /* 01000 */ 4, 0 },
-    { /*       */ 4, 0 },
-    { /* 01010 */ 5, 0 },
-    { /*       */ 5, 0 },
-    { /* 01100 */ 6, 0 },
-    { /*       */ 6, 0 },
-    { /* 01110 */ 7, 0 },
-    { /*       */ 7, 0 },
-    { /* 10000 */ 8, 0 },
-    { /*       */ 8, 0 },
-
-    /* 6 bit codewords */
-    { /* 10010 */ 9, 1 },
-    { /* 10011 */ 11, 1 },
-    { /* 10100 */ 13, 1 },
-    { /* 10101 */ 15, 1 },
-    { /* 10110 */ 17, 1 },
-    { /* 10111 */ 19, 1 },
-    { /* 11000 */ 21, 1 },
-    { /* 11001 */ 23, 1 },
-
-    /* 7 bit codewords */
-    { /* 11010 */ 25, 2 },
-    { /* 11011 */ 29, 2 },
-    { /* 11100 */ 33, 2 },
-
-    /* 7/8 bit codewords */
-    { /* 11101 */ 37, 3 },
-
-    /* 8/9 bit codewords */
-    { /* 11110 */ 45, 4 },
-
-    /* 9/10/11 bit codewords */
-    { /* 11111 */ 61, 6 }
-};
-
-/* 2nd step table
- *
- * Gives size of codeword and actual data (x,y,v,w)
- */
-static hcb_2_pair hcb6_2[] = {
-    /* 4 bit codewords */
-    { 4,  0,  0 },
-    { 4,  1,  0 },
-    { 4,  0, -1 },
-    { 4,  0,  1 },
-    { 4, -1,  0 },
-    { 4,  1,  1 },
-    { 4, -1,  1 },
-    { 4,  1, -1 },
-    { 4, -1, -1 },
-
-    /* 6 bit codewords */
-    { 6,  2, -1 },
-    { 6,  2,  1 },
-    { 6, -2,  1 },
-    { 6, -2, -1 },
-    { 6, -2,  0 },
-    { 6, -1,  2 },
-    { 6,  2,  0 },
-    { 6,  1, -2 },
-    { 6,  1,  2 },
-    { 6,  0, -2 },
-    { 6, -1, -2 },
-    { 6,  0,  2 },
-    { 6,  2, -2 },
-    { 6, -2,  2 },
-    { 6, -2, -2 },
-    { 6,  2,  2 },
-
-    /* 7 bit codewords */
-    { 7, -3,  1 },
-    { 7,  3,  1 },
-    { 7,  3, -1 },
-    { 7, -1,  3 },
-    { 7, -3, -1 },
-    { 7,  1,  3 },
-    { 7,  1, -3 },
-    { 7, -1, -3 },
-    { 7,  3,  0 },
-    { 7, -3,  0 },
-    { 7,  0, -3 },
-    { 7,  0,  3 },
-
-    /* 7/8 bit codewords */
-    { 7,  3,  2 }, { 7,  3,  2 },
-    { 8, -3, -2 },
-    { 8, -2,  3 },
-    { 8,  2,  3 },
-    { 8,  3, -2 },
-    { 8,  2, -3 },
-    { 8, -2, -3 },
-
-    /* 8 bit codewords */
-    { 8, -3,  2 }, { 8, -3,  2 },
-    { 8,  3,  3 }, { 8,  3,  3 },
-    { 9,  3, -3 },
-    { 9, -3, -3 },
-    { 9, -3,  3 },
-    { 9,  1, -4 },
-    { 9, -1, -4 },
-    { 9,  4,  1 },
-    { 9, -4,  1 },
-    { 9, -4, -1 },
-    { 9,  1,  4 },
-    { 9,  4, -1 },
-    { 9, -1,  4 },
-    { 9,  0, -4 },
-
-    /* 9/10/11 bit codewords */
-    { 9, -4,  2 }, { 9, -4,  2 }, { 9, -4,  2 }, { 9, -4,  2 },
-    { 9, -4, -2 }, { 9, -4, -2 }, { 9, -4, -2 }, { 9, -4, -2 },
-    { 9,  2,  4 }, { 9,  2,  4 }, { 9,  2,  4 }, { 9,  2,  4 },
-    { 9, -2, -4 }, { 9, -2, -4 }, { 9, -2, -4 }, { 9, -2, -4 },
-    { 9, -4,  0 }, { 9, -4,  0 }, { 9, -4,  0 }, { 9, -4,  0 },
-    { 9,  4,  2 }, { 9,  4,  2 }, { 9,  4,  2 }, { 9,  4,  2 },
-    { 9,  4, -2 }, { 9,  4, -2 }, { 9,  4, -2 }, { 9,  4, -2 },
-    { 9, -2,  4 }, { 9, -2,  4 }, { 9, -2,  4 }, { 9, -2,  4 },
-    { 9,  4,  0 }, { 9,  4,  0 }, { 9,  4,  0 }, { 9,  4,  0 },
-    { 9,  2, -4 }, { 9,  2, -4 }, { 9,  2, -4 }, { 9,  2, -4 },
-    { 9,  0,  4 }, { 9,  0,  4 }, { 9,  0,  4 }, { 9,  0,  4 },
-    { 10, -3, -4 }, { 10, -3, -4 },
-    { 10, -3,  4 }, { 10, -3,  4 },
-    { 10,  3, -4 }, { 10,  3, -4 },
-    { 10,  4, -3 }, { 10,  4, -3 },
-    { 10,  3,  4 }, { 10,  3,  4 },
-    { 10,  4,  3 }, { 10,  4,  3 },
-    { 10, -4,  3 }, { 10, -4,  3 },
-    { 10, -4, -3 }, { 10, -4, -3 },
-    { 11,  4,  4 },
-    { 11, -4,  4 },
-    { 11, -4, -4 },
-    { 11,  4, -4 }
-};
diff --git a/lib/libfaad2/libfaad/codebook/hcb_7.h b/lib/libfaad2/libfaad/codebook/hcb_7.h
deleted file mode 100644 (file)
index 54c85c1..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_7.h,v 1.5 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* Binary search huffman table HCB_7 */
-
-
-static hcb_bin_pair hcb7[] = {
-    { /*  0 */ 0, { 1, 2 } },
-    { /*  1 */ 1, { 0, 0 } },
-    { /*  2 */ 0, { 1, 2 } },
-    { /*  3 */ 0, { 2, 3 } },
-    { /*  4 */ 0, { 3, 4 } },
-    { /*  5 */ 1, { 1, 0 } },
-    { /*  6 */ 1, { 0, 1 } },
-    { /*  7 */ 0, { 2, 3 } },
-    { /*  8 */ 0, { 3, 4 } },
-    { /*  9 */ 1, { 1,  1 } },
-    { /* 10 */ 0, { 3, 4 } },
-    { /* 11 */ 0, { 4, 5 } },
-    { /* 12 */ 0, { 5, 6 } },
-    { /* 13 */ 0, { 6, 7 } },
-    { /* 14 */ 0, { 7, 8 } },
-    { /* 15 */ 0, { 8, 9 } },
-    { /* 16 */ 0, { 9, 10 } },
-    { /* 17 */ 0, { 10, 11 } },
-    { /* 18 */ 0, { 11, 12 } },
-    { /* 19 */ 1, { 2,  1 } },
-    { /* 20 */ 1, { 1,  2 } },
-    { /* 21 */ 1, { 2,  0 } },
-    { /* 22 */ 1, { 0,  2 } },
-    { /* 23 */ 0, { 8, 9 } },
-    { /* 24 */ 0, { 9, 10 } },
-    { /* 25 */ 0, { 10, 11 } },
-    { /* 26 */ 0, { 11, 12 } },
-    { /* 27 */ 0, { 12, 13 } },
-    { /* 28 */ 0, { 13, 14 } },
-    { /* 29 */ 0, { 14, 15 } },
-    { /* 30 */ 0, { 15, 16 } },
-    { /* 31 */ 1, { 3,  1 } },
-    { /* 32 */ 1, { 1,  3 } },
-    { /* 33 */ 1, { 2,  2 } },
-    { /* 34 */ 1, { 3,  0 } },
-    { /* 35 */ 1, { 0,  3 } },
-    { /* 36 */ 0, { 11, 12 } },
-    { /* 37 */ 0, { 12, 13 } },
-    { /* 38 */ 0, { 13, 14 } },
-    { /* 39 */ 0, { 14, 15 } },
-    { /* 40 */ 0, { 15, 16 } },
-    { /* 41 */ 0, { 16, 17 } },
-    { /* 42 */ 0, { 17, 18 } },
-    { /* 43 */ 0, { 18, 19 } },
-    { /* 44 */ 0, { 19, 20 } },
-    { /* 45 */ 0, { 20, 21 } },
-    { /* 46 */ 0, { 21, 22 } },
-    { /* 47 */ 1, { 2,  3 } },
-    { /* 48 */ 1, { 3,  2 } },
-    { /* 49 */ 1, { 1,  4 } },
-    { /* 50 */ 1, { 4,  1 } },
-    { /* 51 */ 1, { 1,  5 } },
-    { /* 52 */ 1, { 5,  1 } },
-    { /* 53 */ 1, { 3,  3 } },
-    { /* 54 */ 1, { 2,  4 } },
-    { /* 55 */ 1, { 0,  4 } },
-    { /* 56 */ 1, { 4,  0 } },
-    { /* 57 */ 0, { 12, 13 } },
-    { /* 58 */ 0, { 13, 14 } },
-    { /* 59 */ 0, { 14, 15 } },
-    { /* 60 */ 0, { 15, 16 } },
-    { /* 61 */ 0, { 16, 17 } },
-    { /* 62 */ 0, { 17, 18 } },
-    { /* 63 */ 0, { 18, 19 } },
-    { /* 64 */ 0, { 19, 20 } },
-    { /* 65 */ 0, { 20, 21 } },
-    { /* 66 */ 0, { 21, 22 } },
-    { /* 67 */ 0, { 22, 23 } },
-    { /* 68 */ 0, { 23, 24 } },
-    { /* 69 */ 1, { 4,  2 } },
-    { /* 70 */ 1, { 2,  5 } },
-    { /* 71 */ 1, { 5,  2 } },
-    { /* 72 */ 1, { 0,  5 } },
-    { /* 73 */ 1, { 6,  1 } },
-    { /* 74 */ 1, { 5,  0 } },
-    { /* 75 */ 1, { 1,  6 } },
-    { /* 76 */ 1, { 4,  3 } },
-    { /* 77 */ 1, { 3,  5 } },
-    { /* 78 */ 1, { 3,  4 } },
-    { /* 79 */ 1, { 5,  3 } },
-    { /* 80 */ 1, { 2,  6 } },
-    { /* 81 */ 1, { 6,  2 } },
-    { /* 82 */ 1, { 1,  7 } },
-    { /* 83 */ 0, { 10, 11 } },
-    { /* 84 */ 0, { 11, 12 } },
-    { /* 85 */ 0, { 12, 13 } },
-    { /* 86 */ 0, { 13, 14 } },
-    { /* 87 */ 0, { 14, 15 } },
-    { /* 88 */ 0, { 15, 16 } },
-    { /* 89 */ 0, { 16, 17 } },
-    { /* 90 */ 0, { 17, 18 } },
-    { /* 91 */ 0, { 18, 19 } },
-    { /* 92 */ 0, { 19, 20 } },
-    { /* 93 */ 1, { 3,  6 } },
-    { /* 94 */ 1, { 0,  6 } },
-    { /* 95 */ 1, { 6,  0 } },
-    { /* 96 */ 1, { 4,  4 } },
-    { /* 97 */ 1, { 7,  1 } },
-    { /* 98 */ 1, { 4,  5 } },
-    { /* 99 */ 1, { 7,  2 } },
-    { /* 00 */ 1, { 5,  4 } },
-    { /* 01 */ 1, { 6,  3 } },
-    { /* 02 */ 1, { 2,  7 } },
-    { /* 03 */ 1, { 7,  3 } },
-    { /* 04 */ 1, { 6,  4 } },
-    { /* 05 */ 1, { 5,  5 } },
-    { /* 06 */ 1, { 4,  6 } },
-    { /* 07 */ 1, { 3,  7 } },
-    { /* 08 */ 0, { 5, 6 } },
-    { /* 09 */ 0, { 6, 7 } },
-    { /* 10 */ 0, { 7, 8 } },
-    { /* 11 */ 0, { 8, 9 } },
-    { /* 12 */ 0, { 9, 10 } },
-    { /* 13 */ 1, { 7,  0 } },
-    { /* 14 */ 1, { 0,  7 } },
-    { /* 15 */ 1, { 6,  5 } },
-    { /* 16 */ 1, { 5,  6 } },
-    { /* 17 */ 1, { 7,  4 } },
-    { /* 18 */ 1, { 4,  7 } },
-    { /* 19 */ 1, { 5,  7 } },
-    { /* 20 */ 1, { 7,  5 } },
-    { /* 21 */ 0, { 2, 3 } },
-    { /* 22 */ 0, { 3, 4 } },
-    { /* 23 */ 1, { 7,  6 } },
-    { /* 24 */ 1, { 6,  6 } },
-    { /* 25 */ 1, { 6,  7 } },
-    { /* 26 */ 1, { 7,  7 } }
-};
diff --git a/lib/libfaad2/libfaad/codebook/hcb_8.h b/lib/libfaad2/libfaad/codebook/hcb_8.h
deleted file mode 100644 (file)
index 6e3f100..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_8.h,v 1.5 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* 2-step huffman table HCB_8 */
-
-
-/* 1st step: 5 bits
- *           2^5 = 32 entries
- *
- * Used to find offset into 2nd step table and number of extra bits to get
- */
-static hcb hcb8_1[] = {
-    /* 3 bit codeword */
-    { /* 00000 */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-    { /*       */ 0, 0 },
-
-    /* 4 bit codewords */
-    { /* 00100 */ 1, 0 },
-    { /*       */ 1, 0 },
-    { /* 00110 */ 2, 0 },
-    { /*       */ 2, 0 },
-    { /* 01000 */ 3, 0 },
-    { /*       */ 3, 0 },
-    { /* 01010 */ 4, 0 },
-    { /*       */ 4, 0 },
-    { /* 01100 */ 5, 0 },
-    { /*       */ 5, 0 },
-
-    /* 5 bit codewords */
-    { /* 01110 */ 6, 0 },
-    { /* 01111 */ 7, 0 },
-    { /* 10000 */ 8, 0 },
-    { /* 10001 */ 9, 0 },
-    { /* 10010 */ 10, 0 },
-    { /* 10011 */ 11, 0 },
-    { /* 10100 */ 12, 0 },
-
-    /* 6 bit codewords */
-    { /* 10101 */ 13, 1 },
-    { /* 10110 */ 15, 1 },
-    { /* 10111 */ 17, 1 },
-    { /* 11000 */ 19, 1 },
-    { /* 11001 */ 21, 1 },
-
-    /* 7 bit codewords */
-    { /* 11010 */ 23, 2 },
-    { /* 11011 */ 27, 2 },
-    { /* 11100 */ 31, 2 },
-
-    /* 7/8 bit codewords */
-    { /* 11101 */ 35, 3 },
-
-    /* 8 bit codewords */
-    { /* 11110 */ 43, 3 },
-
-    /* 8/9/10 bit codewords */
-    { /* 11111 */ 51, 5 }
-};
-
-/* 2nd step table
- *
- * Gives size of codeword and actual data (x,y,v,w)
- */
-static hcb_2_pair hcb8_2[] = {
-    /* 3 bit codeword */
-    { 3,  1,  1 },
-
-    /* 4 bit codewords */
-    { 4,  2,  1 },
-    { 4,  1,  0 },
-    { 4,  1,  2 },
-    { 4,  0,  1 },
-    { 4,  2,  2 },
-
-    /* 5 bit codewords */
-    { 5,  0,  0 },
-    { 5,  2,  0 },
-    { 5,  0,  2 },
-    { 5,  3,  1 },
-    { 5,  1,  3 },
-    { 5,  3,  2 },
-    { 5,  2,  3 },
-
-    /* 6 bit codewords */
-    { 6,  3,  3 },
-    { 6,  4,  1 },
-    { 6,  1,  4 },
-    { 6,  4,  2 },
-    { 6,  2,  4 },
-    { 6,  3,  0 },
-    { 6,  0,  3 },
-    { 6,  4,  3 },
-    { 6,  3,  4 },
-    { 6,  5,  2 },
-
-    /* 7 bit codewords */
-    { 7,  5,  1 },
-    { 7,  2,  5 },
-    { 7,  1,  5 },
-    { 7,  5,  3 },
-    { 7,  3,  5 },
-    { 7,  4,  4 },
-    { 7,  5,  4 },
-    { 7,  0,  4 },
-    { 7,  4,  5 },
-    { 7,  4,  0 },
-    { 7,  2,  6 },
-    { 7,  6,  2 },
-
-    /* 7/8 bit codewords */
-    { 7,  6,  1 }, { 7,  6,  1 },
-    { 7,  1,  6 }, { 7,  1,  6 },
-    { 8,  3,  6 },
-    { 8,  6,  3 },
-    { 8,  5,  5 },
-    { 8,  5,  0 },
-
-    /* 8 bit codewords */
-    { 8,  6,  4 },
-    { 8,  0,  5 },
-    { 8,  4,  6 },
-    { 8,  7,  1 },
-    { 8,  7,  2 },
-    { 8,  2,  7 },
-    { 8,  6,  5 },
-    { 8,  7,  3 },
-
-    /* 8/9/10 bit codewords */
-    { 8,  1,  7 }, { 8,  1,  7 }, { 8,  1,  7 }, { 8,  1,  7 },
-    { 8,  5,  6 }, { 8,  5,  6 }, { 8,  5,  6 }, { 8,  5,  6 },
-    { 8,  3,  7 }, { 8,  3,  7 }, { 8,  3,  7 }, { 8,  3,  7 },
-    { 9,  6,  6 }, { 9,  6,  6 },
-    { 9,  7,  4 }, { 9,  7,  4 },
-    { 9,  6,  0 }, { 9,  6,  0 },
-    { 9,  4,  7 }, { 9,  4,  7 },
-    { 9,  0,  6 }, { 9,  0,  6 },
-    { 9,  7,  5 }, { 9,  7,  5 },
-    { 9,  7,  6 }, { 9,  7,  6 },
-    { 9,  6,  7 }, { 9,  6,  7 },
-    { 10,  5,  7 },
-    { 10,  7,  0 },
-    { 10,  0,  7 },
-    { 10,  7,  7 }
-};
diff --git a/lib/libfaad2/libfaad/codebook/hcb_9.h b/lib/libfaad2/libfaad/codebook/hcb_9.h
deleted file mode 100644 (file)
index bdba2c2..0000000
+++ /dev/null
@@ -1,372 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_9.h,v 1.5 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* Binary search huffman table HCB_9 */
-
-
-static hcb_bin_pair hcb9[] = {
-    { /*  0 */ 0, { 1, 2 } },
-    { /*  1 */ 1, { 0, 0 } },
-    { /*  2 */ 0, { 1, 2 } },
-    { /*  3 */ 0, { 2, 3 } },
-    { /*  4 */ 0, { 3, 4 } },
-    { /*  5 */ 1, { 1,  0 } },
-    { /*  6 */ 1, { 0,  1 } },
-    { /*  7 */ 0, { 2, 3 } },
-    { /*  8 */ 0, { 3, 4 } },
-    { /*  9 */ 1, { 1,  1 } },
-    { /* 10 */ 0, { 3, 4 } },
-    { /* 11 */ 0, { 4, 5 } },
-    { /* 12 */ 0, { 5, 6 } },
-    { /* 13 */ 0, { 6, 7 } },
-    { /* 14 */ 0, { 7, 8 } },
-    { /* 15 */ 0, { 8, 9 } },
-    { /* 16 */ 0, { 9, 10 } },
-    { /* 17 */ 0, { 10, 11 } },
-    { /* 18 */ 0, { 11, 12 } },
-    { /* 19 */ 1, { 2,  1 } },
-    { /* 20 */ 1, { 1,  2 } },
-    { /* 21 */ 1, { 2,  0 } },
-    { /* 22 */ 1, { 0,  2 } },
-    { /* 23 */ 0, { 8, 9 } },
-    { /* 24 */ 0, { 9, 10 } },
-    { /* 25 */ 0, { 10, 11 } },
-    { /* 26 */ 0, { 11, 12 } },
-    { /* 27 */ 0, { 12, 13 } },
-    { /* 28 */ 0, { 13, 14 } },
-    { /* 29 */ 0, { 14, 15 } },
-    { /* 30 */ 0, { 15, 16 } },
-    { /* 31 */ 1, { 3,  1 } },
-    { /* 32 */ 1, { 2,  2 } },
-    { /* 33 */ 1, { 1,  3 } },
-    { /* 34 */ 0, { 13, 14 } },
-    { /* 35 */ 0, { 14, 15 } },
-    { /* 36 */ 0, { 15, 16 } },
-    { /* 37 */ 0, { 16, 17 } },
-    { /* 38 */ 0, { 17, 18 } },
-    { /* 39 */ 0, { 18, 19 } },
-    { /* 40 */ 0, { 19, 20 } },
-    { /* 41 */ 0, { 20, 21 } },
-    { /* 42 */ 0, { 21, 22 } },
-    { /* 43 */ 0, { 22, 23 } },
-    { /* 44 */ 0, { 23, 24 } },
-    { /* 45 */ 0, { 24, 25 } },
-    { /* 46 */ 0, { 25, 26 } },
-    { /* 47 */ 1, { 3,  0 } },
-    { /* 48 */ 1, { 0,  3 } },
-    { /* 49 */ 1, { 2,  3 } },
-    { /* 50 */ 1, { 3,  2 } },
-    { /* 51 */ 1, { 1,  4 } },
-    { /* 52 */ 1, { 4,  1 } },
-    { /* 53 */ 1, { 2,  4 } },
-    { /* 54 */ 1, { 1,  5 } },
-    { /* 55 */ 0, { 18, 19 } },
-    { /* 56 */ 0, { 19, 20 } },
-    { /* 57 */ 0, { 20, 21 } },
-    { /* 58 */ 0, { 21, 22 } },
-    { /* 59 */ 0, { 22, 23 } },
-    { /* 60 */ 0, { 23, 24 } },
-    { /* 61 */ 0, { 24, 25 } },
-    { /* 62 */ 0, { 25, 26 } },
-    { /* 63 */ 0, { 26, 27 } },
-    { /* 64 */ 0, { 27, 28 } },
-    { /* 65 */ 0, { 28, 29 } },
-    { /* 66 */ 0, { 29, 30 } },
-    { /* 67 */ 0, { 30, 31 } },
-    { /* 68 */ 0, { 31, 32 } },
-    { /* 69 */ 0, { 32, 33 } },
-    { /* 70 */ 0, { 33, 34 } },
-    { /* 71 */ 0, { 34, 35 } },
-    { /* 72 */ 0, { 35, 36 } },
-    { /* 73 */ 1, { 4,  2 } },
-    { /* 74 */ 1, { 3,  3 } },
-    { /* 75 */ 1, { 0,  4 } },
-    { /* 76 */ 1, { 4,  0 } },
-    { /* 77 */ 1, { 5,  1 } },
-    { /* 78 */ 1, { 2,  5 } },
-    { /* 79 */ 1, { 1,  6 } },
-    { /* 80 */ 1, { 3,  4 } },
-    { /* 81 */ 1, { 5,  2 } },
-    { /* 82 */ 1, { 6,  1 } },
-    { /* 83 */ 1, { 4,  3 } },
-    { /* 84 */ 0, { 25, 26 } },
-    { /* 85 */ 0, { 26, 27 } },
-    { /* 86 */ 0, { 27, 28 } },
-    { /* 87 */ 0, { 28, 29 } },
-    { /* 88 */ 0, { 29, 30 } },
-    { /* 89 */ 0, { 30, 31 } },
-    { /* 90 */ 0, { 31, 32 } },
-    { /* 91 */ 0, { 32, 33 } },
-    { /* 92 */ 0, { 33, 34 } },
-    { /* 93 */ 0, { 34, 35 } },
-    { /* 94 */ 0, { 35, 36 } },
-    { /* 95 */ 0, { 36, 37 } },
-    { /* 96 */ 0, { 37, 38 } },
-    { /* 97 */ 0, { 38, 39 } },
-    { /* 98 */ 0, { 39, 40 } },
-    { /* 99 */ 0, { 40, 41 } },
-    { /* 00 */ 0, { 41, 42 } },
-    { /* 01 */ 0, { 42, 43 } },
-    { /* 02 */ 0, { 43, 44 } },
-    { /* 03 */ 0, { 44, 45 } },
-    { /* 04 */ 0, { 45, 46 } },
-    { /* 05 */ 0, { 46, 47 } },
-    { /* 06 */ 0, { 47, 48 } },
-    { /* 07 */ 0, { 48, 49 } },
-    { /* 08 */ 0, { 49, 50 } },
-    { /* 09 */ 1, { 0,  5 } },
-    { /* 10 */ 1, { 2,  6 } },
-    { /* 11 */ 1, { 5,  0 } },
-    { /* 12 */ 1, { 1,  7 } },
-    { /* 13 */ 1, { 3,  5 } },
-    { /* 14 */ 1, { 1,  8 } },
-    { /* 15 */ 1, { 8,  1 } },
-    { /* 16 */ 1, { 4,  4 } },
-    { /* 17 */ 1, { 5,  3 } },
-    { /* 18 */ 1, { 6,  2 } },
-    { /* 19 */ 1, { 7,  1 } },
-    { /* 20 */ 1, { 0,  6 } },
-    { /* 21 */ 1, { 8,  2 } },
-    { /* 22 */ 1, { 2,  8 } },
-    { /* 23 */ 1, { 3,  6 } },
-    { /* 24 */ 1, { 2,  7 } },
-    { /* 25 */ 1, { 4,  5 } },
-    { /* 26 */ 1, { 9,  1 } },
-    { /* 27 */ 1, { 1,  9 } },
-    { /* 28 */ 1, { 7,  2 } },
-    { /* 29 */ 0, { 30, 31 } },
-    { /* 30 */ 0, { 31, 32 } },
-    { /* 31 */ 0, { 32, 33 } },
-    { /* 32 */ 0, { 33, 34 } },
-    { /* 33 */ 0, { 34, 35 } },
-    { /* 34 */ 0, { 35, 36 } },
-    { /* 35 */ 0, { 36, 37 } },
-    { /* 36 */ 0, { 37, 38 } },
-    { /* 37 */ 0, { 38, 39 } },
-    { /* 38 */ 0, { 39, 40 } },
-    { /* 39 */ 0, { 40, 41 } },
-    { /* 40 */ 0, { 41, 42 } },
-    { /* 41 */ 0, { 42, 43 } },
-    { /* 42 */ 0, { 43, 44 } },
-    { /* 43 */ 0, { 44, 45 } },
-    { /* 44 */ 0, { 45, 46 } },
-    { /* 45 */ 0, { 46, 47 } },
-    { /* 46 */ 0, { 47, 48 } },
-    { /* 47 */ 0, { 48, 49 } },
-    { /* 48 */ 0, { 49, 50 } },
-    { /* 49 */ 0, { 50, 51 } },
-    { /* 50 */ 0, { 51, 52 } },
-    { /* 51 */ 0, { 52, 53 } },
-    { /* 52 */ 0, { 53, 54 } },
-    { /* 53 */ 0, { 54, 55 } },
-    { /* 54 */ 0, { 55, 56 } },
-    { /* 55 */ 0, { 56, 57 } },
-    { /* 56 */ 0, { 57, 58 } },
-    { /* 57 */ 0, { 58, 59 } },
-    { /* 58 */ 0, { 59, 60 } },
-    { /* 59 */ 1, {  6,  0 } },
-    { /* 60 */ 1, {  5,  4 } },
-    { /* 61 */ 1, {  6,  3 } },
-    { /* 62 */ 1, {  8,  3 } },
-    { /* 63 */ 1, {  0,  7 } },
-    { /* 64 */ 1, {  9,  2 } },
-    { /* 65 */ 1, {  3,  8 } },
-    { /* 66 */ 1, {  4,  6 } },
-    { /* 67 */ 1, {  3,  7 } },
-    { /* 68 */ 1, {  0,  8 } },
-    { /* 69 */ 1, { 10,  1 } },
-    { /* 70 */ 1, {  6,  4 } },
-    { /* 71 */ 1, {  2,  9 } },
-    { /* 72 */ 1, {  5,  5 } },
-    { /* 73 */ 1, {  8,  0 } },
-    { /* 74 */ 1, {  7,  0 } },
-    { /* 75 */ 1, {  7,  3 } },
-    { /* 76 */ 1, { 10,  2 } },
-    { /* 77 */ 1, {  9,  3 } },
-    { /* 78 */ 1, {  8,  4 } },
-    { /* 79 */ 1, {  1, 10 } },
-    { /* 80 */ 1, {  7,  4 } },
-    { /* 81 */ 1, {  6,  5 } },
-    { /* 82 */ 1, {  5,  6 } },
-    { /* 83 */ 1, {  4,  8 } },
-    { /* 84 */ 1, {  4,  7 } },
-    { /* 85 */ 1, {  3,  9 } },
-    { /* 86 */ 1, { 11,  1 } },
-    { /* 87 */ 1, {  5,  8 } },
-    { /* 88 */ 1, {  9,  0 } },
-    { /* 89 */ 1, {  8,  5 } },
-    { /* 90 */ 0, { 29, 30 } },
-    { /* 91 */ 0, { 30, 31 } },
-    { /* 92 */ 0, { 31, 32 } },
-    { /* 93 */ 0, { 32, 33 } },
-    { /* 94 */ 0, { 33, 34 } },
-    { /* 95 */ 0, { 34, 35 } },
-    { /* 96 */ 0, { 35, 36 } },
-    { /* 97 */ 0, { 36, 37 } },
-    { /* 98 */ 0, { 37, 38 } },
-    { /* 99 */ 0, { 38, 39 } },
-    { /* 00 */ 0, { 39, 40 } },
-    { /* 01 */ 0, { 40, 41 } },
-    { /* 02 */ 0, { 41, 42 } },
-    { /* 03 */ 0, { 42, 43 } },
-    { /* 04 */ 0, { 43, 44 } },
-    { /* 05 */ 0, { 44, 45 } },
-    { /* 06 */ 0, { 45, 46 } },
-    { /* 07 */ 0, { 46, 47 } },
-    { /* 08 */ 0, { 47, 48 } },
-    { /* 09 */ 0, { 48, 49 } },
-    { /* 10 */ 0, { 49, 50 } },
-    { /* 11 */ 0, { 50, 51 } },
-    { /* 12 */ 0, { 51, 52 } },
-    { /* 13 */ 0, { 52, 53 } },
-    { /* 14 */ 0, { 53, 54 } },
-    { /* 15 */ 0, { 54, 55 } },
-    { /* 16 */ 0, { 55, 56 } },
-    { /* 17 */ 0, { 56, 57 } },
-    { /* 18 */ 0, { 57, 58 } },
-    { /* 19 */ 1, { 10,  3 } },
-    { /* 20 */ 1, {  2, 10 } },
-    { /* 21 */ 1, {  0,  9 } },
-    { /* 22 */ 1, { 11,  2 } },
-    { /* 23 */ 1, {  9,  4 } },
-    { /* 24 */ 1, {  6,  6 } },
-    { /* 25 */ 1, { 12,  1 } },
-    { /* 26 */ 1, {  4,  9 } },
-    { /* 27 */ 1, {  8,  6 } },
-    { /* 28 */ 1, {  1, 11 } },
-    { /* 29 */ 1, {  9,  5 } },
-    { /* 30 */ 1, { 10,  4 } },
-    { /* 31 */ 1, {  5,  7 } },
-    { /* 32 */ 1, {  7,  5 } },
-    { /* 33 */ 1, {  2, 11 } },
-    { /* 34 */ 1, {  1, 12 } },
-    { /* 35 */ 1, { 12,  2 } },
-    { /* 36 */ 1, { 11,  3 } },
-    { /* 37 */ 1, {  3, 10 } },
-    { /* 38 */ 1, {  5,  9 } },
-    { /* 39 */ 1, {  6,  7 } },
-    { /* 40 */ 1, {  8,  7 } },
-    { /* 41 */ 1, { 11,  4 } },
-    { /* 42 */ 1, {  0, 10 } },
-    { /* 43 */ 1, {  7,  6 } },
-    { /* 44 */ 1, { 12,  3 } },
-    { /* 45 */ 1, { 10,  0 } },
-    { /* 46 */ 1, { 10,  5 } },
-    { /* 47 */ 1, {  4, 10 } },
-    { /* 48 */ 1, {  6,  8 } },
-    { /* 49 */ 1, {  2, 12 } },
-    { /* 50 */ 1, {  9,  6 } },
-    { /* 51 */ 1, {  9,  7 } },
-    { /* 52 */ 1, {  4, 11 } },
-    { /* 53 */ 1, { 11,  0 } },
-    { /* 54 */ 1, {  6,  9 } },
-    { /* 55 */ 1, {  3, 11 } },
-    { /* 56 */ 1, {  5, 10 } },
-    { /* 57 */ 0, { 20, 21 } },
-    { /* 58 */ 0, { 21, 22 } },
-    { /* 59 */ 0, { 22, 23 } },
-    { /* 60 */ 0, { 23, 24 } },
-    { /* 61 */ 0, { 24, 25 } },
-    { /* 62 */ 0, { 25, 26 } },
-    { /* 63 */ 0, { 26, 27 } },
-    { /* 64 */ 0, { 27, 28 } },
-    { /* 65 */ 0, { 28, 29 } },
-    { /* 66 */ 0, { 29, 30 } },
-    { /* 67 */ 0, { 30, 31 } },
-    { /* 68 */ 0, { 31, 32 } },
-    { /* 69 */ 0, { 32, 33 } },
-    { /* 70 */ 0, { 33, 34 } },
-    { /* 71 */ 0, { 34, 35 } },
-    { /* 72 */ 0, { 35, 36 } },
-    { /* 73 */ 0, { 36, 37 } },
-    { /* 74 */ 0, { 37, 38 } },
-    { /* 75 */ 0, { 38, 39 } },
-    { /* 76 */ 0, { 39, 40 } },
-    { /* 77 */ 1, {  8,  8 } },
-    { /* 78 */ 1, {  7,  8 } },
-    { /* 79 */ 1, { 12,  5 } },
-    { /* 80 */ 1, {  3, 12 } },
-    { /* 81 */ 1, { 11,  5 } },
-    { /* 82 */ 1, {  7,  7 } },
-    { /* 83 */ 1, { 12,  4 } },
-    { /* 84 */ 1, { 11,  6 } },
-    { /* 85 */ 1, { 10,  6 } },
-    { /* 86 */ 1, {  4, 12 } },
-    { /* 87 */ 1, {  7,  9 } },
-    { /* 88 */ 1, {  5, 11 } },
-    { /* 89 */ 1, {  0, 11 } },
-    { /* 90 */ 1, { 12,  6 } },
-    { /* 91 */ 1, {  6, 10 } },
-    { /* 92 */ 1, { 12,  0 } },
-    { /* 93 */ 1, { 10,  7 } },
-    { /* 94 */ 1, {  5, 12 } },
-    { /* 95 */ 1, {  7, 10 } },
-    { /* 96 */ 1, {  9,  8 } },
-    { /* 97 */ 1, {  0, 12 } },
-    { /* 98 */ 1, { 11,  7 } },
-    { /* 99 */ 1, {  8,  9 } },
-    { /* 00 */ 1, {  9,  9 } },
-    { /* 01 */ 1, { 10,  8 } },
-    { /* 02 */ 1, {  7, 11 } },
-    { /* 03 */ 1, { 12,  7 } },
-    { /* 04 */ 1, {  6, 11 } },
-    { /* 05 */ 1, {  8, 11 } },
-    { /* 06 */ 1, { 11,  8 } },
-    { /* 07 */ 1, {  7, 12 } },
-    { /* 08 */ 1, {  6, 12 } },
-    { /* 09 */ 0, { 8, 9 } },
-    { /* 10 */ 0, { 9, 10 } },
-    { /* 11 */ 0, { 10, 11 } },
-    { /* 12 */ 0, { 11, 12 } },
-    { /* 13 */ 0, { 12, 13 } },
-    { /* 14 */ 0, { 13, 14 } },
-    { /* 15 */ 0, { 14, 15 } },
-    { /* 16 */ 0, { 15, 16 } },
-    { /* 17 */ 1, {  8, 10 } },
-    { /* 18 */ 1, { 10,  9 } },
-    { /* 19 */ 1, {  8, 12 } },
-    { /* 20 */ 1, {  9, 10 } },
-    { /* 21 */ 1, {  9, 11 } },
-    { /* 22 */ 1, {  9, 12 } },
-    { /* 23 */ 1, { 10, 11 } },
-    { /* 24 */ 1, { 12,  9 } },
-    { /* 25 */ 1, { 10, 10 } },
-    { /* 26 */ 1, { 11,  9 } },
-    { /* 27 */ 1, { 12,  8 } },
-    { /* 28 */ 1, { 11, 10 } },
-    { /* 29 */ 1, { 12, 10 } },
-    { /* 30 */ 1, { 12, 11 } },
-    { /* 31 */ 0, { 2, 3 } },
-    { /* 32 */ 0, { 3, 4 } },
-    { /* 33 */ 1, { 10, 12 } },
-    { /* 34 */ 1, { 11, 11 } },
-    { /* 35 */ 1, { 11, 12 } },
-    { /* 36 */ 1, { 12, 12 } }
-};
diff --git a/lib/libfaad2/libfaad/codebook/hcb_sf.h b/lib/libfaad2/libfaad/codebook/hcb_sf.h
deleted file mode 100644 (file)
index 3c02b3d..0000000
+++ /dev/null
@@ -1,276 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcb_sf.h,v 1.7 2007/11/01 12:34:11 menno Exp $
-**/
-
-/* Binary search huffman table HCB_SF */
-
-
-static uint8_t hcb_sf[][2] = {
-    { /*  0 */  1, 2 },
-    { /*  1 */  60, 0 },
-    { /*  2 */  1, 2 },
-    { /*  3 */  2, 3 },
-    { /*  4 */  3, 4 },
-    { /*  5 */  59, 0 },
-    { /*  6 */  3, 4 },
-    { /*  7 */  4, 5 },
-    { /*  8 */  5, 6 },
-    { /*  9 */  61, 0 },
-    { /* 10 */  58, 0 },
-    { /* 11 */  62, 0 },
-    { /* 12 */  3, 4 },
-    { /* 13 */  4, 5 },
-    { /* 14 */  5, 6 },
-    { /* 15 */  57, 0 },
-    { /* 16 */  63, 0 },
-    { /* 17 */  4, 5 },
-    { /* 18 */  5, 6 },
-    { /* 19 */  6, 7 },
-    { /* 20 */  7, 8 },
-    { /* 21 */  56, 0 },
-    { /* 22 */  64, 0 },
-    { /* 23 */  55, 0 },
-    { /* 24 */  65, 0 },
-    { /* 25 */  4, 5 },
-    { /* 26 */  5, 6 },
-    { /* 27 */  6, 7 },
-    { /* 28 */  7, 8 },
-    { /* 29 */  66, 0 },
-    { /* 30 */  54, 0 },
-    { /* 31 */  67, 0 },
-    { /* 32 */  5, 6 },
-    { /* 33 */  6, 7 },
-    { /* 34 */  7, 8 },
-    { /* 35 */  8, 9 },
-    { /* 36 */  9, 10 },
-    { /* 37 */  53, 0 },
-    { /* 38 */  68, 0 },
-    { /* 39 */  52, 0 },
-    { /* 40 */  69, 0 },
-    { /* 41 */  51, 0 },
-    { /* 42 */  5, 6 },
-    { /* 43 */  6, 7 },
-    { /* 44 */  7, 8 },
-    { /* 45 */  8, 9 },
-    { /* 46 */  9, 10 },
-    { /* 47 */  70, 0 },
-    { /* 48 */  50, 0 },
-    { /* 49 */  49, 0 },
-    { /* 50 */  71, 0 },
-    { /* 51 */  6, 7 },
-    { /* 52 */  7, 8 },
-    { /* 53 */  8, 9 },
-    { /* 54 */  9, 10 },
-    { /* 55 */  10, 11 },
-    { /* 56 */  11, 12 },
-    { /* 57 */  72, 0 },
-    { /* 58 */  48, 0 },
-    { /* 59 */  73, 0 },
-    { /* 60 */  47, 0 },
-    { /* 61 */  74, 0 },
-    { /* 62 */  46, 0 },
-    { /* 63 */  6, 7 },
-    { /* 64 */  7, 8 },
-    { /* 65 */  8, 9 },
-    { /* 66 */  9, 10 },
-    { /* 67 */  10, 11 },
-    { /* 68 */  11, 12 },
-    { /* 69 */  76, 0 },
-    { /* 70 */  75, 0 },
-    { /* 71 */  77, 0 },
-    { /* 72 */  78, 0 },
-    { /* 73 */  45, 0 },
-    { /* 74 */  43, 0 },
-    { /* 75 */  6, 7 },
-    { /* 76 */  7, 8 },
-    { /* 77 */  8, 9 },
-    { /* 78 */  9, 10 },
-    { /* 79 */  10, 11 },
-    { /* 80 */  11, 12 },
-    { /* 81 */  44, 0 },
-    { /* 82 */  79, 0 },
-    { /* 83 */  42, 0 },
-    { /* 84 */  41, 0 },
-    { /* 85 */  80, 0 },
-    { /* 86 */  40, 0 },
-    { /* 87 */  6, 7 },
-    { /* 88 */  7, 8 },
-    { /* 89 */  8, 9 },
-    { /* 90 */  9, 10 },
-    { /* 91 */  10, 11 },
-    { /* 92 */  11, 12 },
-    { /* 93 */  81, 0 },
-    { /* 94 */  39, 0 },
-    { /* 95 */  82, 0 },
-    { /* 96 */  38, 0 },
-    { /* 97 */  83, 0 },
-    { /* 98 */  7, 8 },
-    { /* 99 */  8, 9 },
-    { /* 00 */  9, 10 },
-    { /* 01 */  10, 11 },
-    { /* 02 */  11, 12 },
-    { /* 03 */  12, 13 },
-    { /* 04 */  13, 14 },
-    { /* 05 */  37, 0 },
-    { /* 06 */  35, 0 },
-    { /* 07 */  85, 0 },
-    { /* 08 */  33, 0 },
-    { /* 09 */  36, 0 },
-    { /* 10 */  34, 0 },
-    { /* 11 */  84, 0 },
-    { /* 12 */  32, 0 },
-    { /* 13 */  6, 7 },
-    { /* 14 */  7, 8 },
-    { /* 15 */  8, 9 },
-    { /* 16 */  9, 10 },
-    { /* 17 */  10, 11 },
-    { /* 18 */  11, 12 },
-    { /* 19 */  87, 0 },
-    { /* 20 */  89, 0 },
-    { /* 21 */  30, 0 },
-    { /* 22 */  31, 0 },
-    { /* 23 */  8, 9 },
-    { /* 24 */  9, 10 },
-    { /* 25 */  10, 11 },
-    { /* 26 */  11, 12 },
-    { /* 27 */  12, 13 },
-    { /* 28 */  13, 14 },
-    { /* 29 */  14, 15 },
-    { /* 30 */  15, 16 },
-    { /* 31 */  86, 0 },
-    { /* 32 */  29, 0 },
-    { /* 33 */  26, 0 },
-    { /* 34 */  27, 0 },
-    { /* 35 */  28, 0 },
-    { /* 36 */  24, 0 },
-    { /* 37 */  88, 0 },
-    { /* 38 */  9, 10 },
-    { /* 39 */  10, 11 },
-    { /* 40 */  11, 12 },
-    { /* 41 */  12, 13 },
-    { /* 42 */  13, 14 },
-    { /* 43 */  14, 15 },
-    { /* 44 */  15, 16 },
-    { /* 45 */  16, 17 },
-    { /* 46 */  17, 18 },
-    { /* 47 */  25, 0 },
-    { /* 48 */  22, 0 },
-    { /* 49 */  23, 0 },
-    { /* 50 */  15, 16 },
-    { /* 51 */  16, 17 },
-    { /* 52 */  17, 18 },
-    { /* 53 */  18, 19 },
-    { /* 54 */  19, 20 },
-    { /* 55 */  20, 21 },
-    { /* 56 */  21, 22 },
-    { /* 57 */  22, 23 },
-    { /* 58 */  23, 24 },
-    { /* 59 */  24, 25 },
-    { /* 60 */  25, 26 },
-    { /* 61 */  26, 27 },
-    { /* 62 */  27, 28 },
-    { /* 63 */  28, 29 },
-    { /* 64 */  29, 30 },
-    { /* 65 */  90, 0 },
-    { /* 66 */  21, 0 },
-    { /* 67 */  19, 0 },
-    { /* 68 */   3, 0 },
-    { /* 69 */   1, 0 },
-    { /* 70 */   2, 0 },
-    { /* 71 */   0, 0 },
-    { /* 72 */  23, 24 },
-    { /* 73 */  24, 25 },
-    { /* 74 */  25, 26 },
-    { /* 75 */  26, 27 },
-    { /* 76 */  27, 28 },
-    { /* 77 */  28, 29 },
-    { /* 78 */  29, 30 },
-    { /* 79 */  30, 31 },
-    { /* 80 */  31, 32 },
-    { /* 81 */  32, 33 },
-    { /* 82 */  33, 34 },
-    { /* 83 */  34, 35 },
-    { /* 84 */  35, 36 },
-    { /* 85 */  36, 37 },
-    { /* 86 */  37, 38 },
-    { /* 87 */  38, 39 },
-    { /* 88 */  39, 40 },
-    { /* 89 */  40, 41 },
-    { /* 90 */  41, 42 },
-    { /* 91 */  42, 43 },
-    { /* 92 */  43, 44 },
-    { /* 93 */  44, 45 },
-    { /* 94 */  45, 46 },
-    { /* 95 */   98, 0 },
-    { /* 96 */   99, 0 },
-    { /* 97 */  100, 0 },
-    { /* 98 */  101, 0 },
-    { /* 99 */  102, 0 },
-    { /* 00 */  117, 0 },
-    { /* 01 */   97, 0 },
-    { /* 02 */   91, 0 },
-    { /* 03 */   92, 0 },
-    { /* 04 */   93, 0 },
-    { /* 05 */   94, 0 },
-    { /* 06 */   95, 0 },
-    { /* 07 */   96, 0 },
-    { /* 08 */  104, 0 },
-    { /* 09 */  111, 0 },
-    { /* 10 */  112, 0 },
-    { /* 11 */  113, 0 },
-    { /* 12 */  114, 0 },
-    { /* 13 */  115, 0 },
-    { /* 14 */  116, 0 },
-    { /* 15 */  110, 0 },
-    { /* 16 */  105, 0 },
-    { /* 17 */  106, 0 },
-    { /* 18 */  107, 0 },
-    { /* 19 */  108, 0 },
-    { /* 20 */  109, 0 },
-    { /* 21 */  118, 0 },
-    { /* 22 */    6, 0 },
-    { /* 23 */    8, 0 },
-    { /* 24 */    9, 0 },
-    { /* 25 */   10, 0 },
-    { /* 26 */    5, 0 },
-    { /* 27 */  103, 0 },
-    { /* 28 */  120, 0 },
-    { /* 29 */  119, 0 },
-    { /* 30 */    4, 0 },
-    { /* 31 */    7, 0 },
-    { /* 32 */   15, 0 },
-    { /* 33 */   16, 0 },
-    { /* 34 */   18, 0 },
-    { /* 35 */   20, 0 },
-    { /* 36 */   17, 0 },
-    { /* 37 */   11, 0 },
-    { /* 38 */   12, 0 },
-    { /* 39 */   14, 0 },
-    { /* 40 */   13, 0 }
-};
diff --git a/lib/libfaad2/libfaad/common.c b/lib/libfaad2/libfaad/common.c
deleted file mode 100644 (file)
index 5956055..0000000
+++ /dev/null
@@ -1,522 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: common.c,v 1.26 2007/11/01 12:33:30 menno Exp $
-**/
-
-/* just some common functions that could be used anywhere */
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-#include "syntax.h"
-
-
-/* Returns the sample rate index based on the samplerate */
-uint8_t get_sr_index(const uint32_t samplerate)
-{
-    if (92017 <= samplerate) return 0;
-    if (75132 <= samplerate) return 1;
-    if (55426 <= samplerate) return 2;
-    if (46009 <= samplerate) return 3;
-    if (37566 <= samplerate) return 4;
-    if (27713 <= samplerate) return 5;
-    if (23004 <= samplerate) return 6;
-    if (18783 <= samplerate) return 7;
-    if (13856 <= samplerate) return 8;
-    if (11502 <= samplerate) return 9;
-    if (9391 <= samplerate) return 10;
-    if (16428320 <= samplerate) return 11;
-
-    return 11;
-}
-
-/* Returns the sample rate based on the sample rate index */
-uint32_t get_sample_rate(const uint8_t sr_index)
-{
-    static const uint32_t sample_rates[] =
-    {
-        96000, 88200, 64000, 48000, 44100, 32000,
-        24000, 22050, 16000, 12000, 11025, 8000
-    };
-
-    if (sr_index < 12)
-        return sample_rates[sr_index];
-
-    return 0;
-}
-
-uint8_t max_pred_sfb(const uint8_t sr_index)
-{
-    static const uint8_t pred_sfb_max[] =
-    {
-        33, 33, 38, 40, 40, 40, 41, 41, 37, 37, 37, 34
-    };
-
-
-    if (sr_index < 12)
-        return pred_sfb_max[sr_index];
-
-    return 0;
-}
-
-uint8_t max_tns_sfb(const uint8_t sr_index, const uint8_t object_type,
-                    const uint8_t is_short)
-{
-    /* entry for each sampling rate
-     * 1    Main/LC long window
-     * 2    Main/LC short window
-     * 3    SSR long window
-     * 4    SSR short window
-     */
-    static const uint8_t tns_sbf_max[][4] =
-    {
-        {31,  9, 28, 7}, /* 96000 */
-        {31,  9, 28, 7}, /* 88200 */
-        {34, 10, 27, 7}, /* 64000 */
-        {40, 14, 26, 6}, /* 48000 */
-        {42, 14, 26, 6}, /* 44100 */
-        {51, 14, 26, 6}, /* 32000 */
-        {46, 14, 29, 7}, /* 24000 */
-        {46, 14, 29, 7}, /* 22050 */
-        {42, 14, 23, 8}, /* 16000 */
-        {42, 14, 23, 8}, /* 12000 */
-        {42, 14, 23, 8}, /* 11025 */
-        {39, 14, 19, 7}, /*  8000 */
-        {39, 14, 19, 7}, /*  7350 */
-        {0,0,0,0},
-        {0,0,0,0},
-        {0,0,0,0}
-    };
-    uint8_t i = 0;
-
-    if (is_short) i++;
-    if (object_type == SSR) i += 2;
-
-    return tns_sbf_max[sr_index][i];
-}
-
-/* Returns 0 if an object type is decodable, otherwise returns -1 */
-int8_t can_decode_ot(const uint8_t object_type)
-{
-    switch (object_type)
-    {
-    case LC:
-        return 0;
-    case MAIN:
-#ifdef MAIN_DEC
-        return 0;
-#else
-        return -1;
-#endif
-    case SSR:
-#ifdef SSR_DEC
-        return 0;
-#else
-        return -1;
-#endif
-    case LTP:
-#ifdef LTP_DEC
-        return 0;
-#else
-        return -1;
-#endif
-
-    /* ER object types */
-#ifdef ERROR_RESILIENCE
-    case ER_LC:
-#ifdef DRM
-    case DRM_ER_LC:
-#endif
-        return 0;
-    case ER_LTP:
-#ifdef LTP_DEC
-        return 0;
-#else
-        return -1;
-#endif
-    case LD:
-#ifdef LD_DEC
-        return 0;
-#else
-        return -1;
-#endif
-#endif
-    }
-
-    return -1;
-}
-
-void *faad_malloc(size_t size)
-{
-#if 0 // defined(_WIN32) && !defined(_WIN32_WCE)
-    return _aligned_malloc(size, 16);
-#else   // #ifdef 0
-    return malloc(size);
-#endif  // #ifdef 0
-}
-
-/* common free function */
-void faad_free(void *b)
-{
-#if 0 // defined(_WIN32) && !defined(_WIN32_WCE)
-    _aligned_free(b);
-#else
-    free(b);
-}
-#endif
-
-static const  uint8_t    Parity [256] = {  // parity
-    0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,
-    1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,
-    1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,
-    0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,
-    1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,
-    0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,
-    0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,
-    1,0,0,1,0,1,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,1,0
-};
-
-static uint32_t  __r1 = 1;
-static uint32_t  __r2 = 1;
-
-
-/*
- *  This is a simple random number generator with good quality for audio purposes.
- *  It consists of two polycounters with opposite rotation direction and different
- *  periods. The periods are coprime, so the total period is the product of both.
- *
- *     -------------------------------------------------------------------------------------------------
- * +-> |31:30:29:28:27:26:25:24:23:22:21:20:19:18:17:16:15:14:13:12:11:10: 9: 8: 7: 6: 5: 4: 3: 2: 1: 0|
- * |   -------------------------------------------------------------------------------------------------
- * |                                                                          |  |  |  |     |        |
- * |                                                                          +--+--+--+-XOR-+--------+
- * |                                                                                      |
- * +--------------------------------------------------------------------------------------+
- *
- *     -------------------------------------------------------------------------------------------------
- *     |31:30:29:28:27:26:25:24:23:22:21:20:19:18:17:16:15:14:13:12:11:10: 9: 8: 7: 6: 5: 4: 3: 2: 1: 0| <-+
- *     -------------------------------------------------------------------------------------------------   |
- *       |  |           |  |                                                                               |
- *       +--+----XOR----+--+                                                                               |
- *                |                                                                                        |
- *                +----------------------------------------------------------------------------------------+
- *
- *
- *  The first has an period of 3*5*17*257*65537, the second of 7*47*73*178481,
- *  which gives a period of 18.410.713.077.675.721.215. The result is the
- *  XORed values of both generators.
- */
-uint32_t ne_rng(uint32_t *__r1, uint32_t *__r2)
-{
-    uint32_t  t1, t2, t3, t4;
-
-    t3   = t1 = *__r1;  t4   = t2 = *__r2;      // Parity calculation is done via table lookup, this is also available
-    t1  &= 0xF5;        t2 >>= 25;              // on CPUs without parity, can be implemented in C and avoid unpredictable
-    t1   = Parity [t1]; t2  &= 0x63;            // jumps and slow rotate through the carry flag operations.
-    t1 <<= 31;          t2   = Parity [t2];
-
-    return (*__r1 = (t3 >> 1) | t1 ) ^ (*__r2 = (t4 + t4) | t2 );
-}
-
-uint32_t ones32(uint32_t x)
-{
-    x -= ((x >> 1) & 0x55555555);
-    x = (((x >> 2) & 0x33333333) + (x & 0x33333333));
-    x = (((x >> 4) + x) & 0x0f0f0f0f);
-    x += (x >> 8);
-    x += (x >> 16);
-
-    return (x & 0x0000003f);
-}
-
-uint32_t floor_log2(uint32_t x)
-{
-#if 1
-    x |= (x >> 1);
-    x |= (x >> 2);
-    x |= (x >> 4);
-    x |= (x >> 8);
-    x |= (x >> 16);
-
-    return (ones32(x) - 1);
-#else
-    uint32_t count = 0;
-
-    while (x >>= 1)
-        count++;
-
-    return count;
-#endif
-}
-
-/* returns position of first bit that is not 0 from msb,
- * starting count at lsb */
-uint32_t wl_min_lzc(uint32_t x)
-{
-#if 1
-    x |= (x >> 1);
-    x |= (x >> 2);
-    x |= (x >> 4);
-    x |= (x >> 8);
-    x |= (x >> 16);
-
-    return (ones32(x));
-#else
-    uint32_t count = 0;
-
-    while (x >>= 1)
-        count++;
-
-    return (count + 1);
-#endif
-}
-
-#ifdef FIXED_POINT
-
-#define TABLE_BITS 6
-/* just take the maximum number of bits for interpolation */
-#define INTERP_BITS (REAL_BITS-TABLE_BITS)
-
-static const real_t pow2_tab[] = {
-    REAL_CONST(1.000000000000000), REAL_CONST(1.010889286051701), REAL_CONST(1.021897148654117),
-    REAL_CONST(1.033024879021228), REAL_CONST(1.044273782427414), REAL_CONST(1.055645178360557),
-    REAL_CONST(1.067140400676824), REAL_CONST(1.078760797757120), REAL_CONST(1.090507732665258),
-    REAL_CONST(1.102382583307841), REAL_CONST(1.114386742595892), REAL_CONST(1.126521618608242),
-    REAL_CONST(1.138788634756692), REAL_CONST(1.151189229952983), REAL_CONST(1.163724858777578),
-    REAL_CONST(1.176396991650281), REAL_CONST(1.189207115002721), REAL_CONST(1.202156731452703),
-    REAL_CONST(1.215247359980469), REAL_CONST(1.228480536106870), REAL_CONST(1.241857812073484),
-    REAL_CONST(1.255380757024691), REAL_CONST(1.269050957191733), REAL_CONST(1.282870016078778),
-    REAL_CONST(1.296839554651010), REAL_CONST(1.310961211524764), REAL_CONST(1.325236643159741),
-    REAL_CONST(1.339667524053303), REAL_CONST(1.354255546936893), REAL_CONST(1.369002422974591),
-    REAL_CONST(1.383909881963832), REAL_CONST(1.398979672538311), REAL_CONST(1.414213562373095),
-    REAL_CONST(1.429613338391970), REAL_CONST(1.445180806977047), REAL_CONST(1.460917794180647),
-    REAL_CONST(1.476826145939499), REAL_CONST(1.492907728291265), REAL_CONST(1.509164427593423),
-    REAL_CONST(1.525598150744538), REAL_CONST(1.542210825407941), REAL_CONST(1.559004400237837),
-    REAL_CONST(1.575980845107887), REAL_CONST(1.593142151342267), REAL_CONST(1.610490331949254),
-    REAL_CONST(1.628027421857348), REAL_CONST(1.645755478153965), REAL_CONST(1.663676580326736),
-    REAL_CONST(1.681792830507429), REAL_CONST(1.700106353718524), REAL_CONST(1.718619298122478),
-    REAL_CONST(1.737333835273706), REAL_CONST(1.756252160373300), REAL_CONST(1.775376492526521),
-    REAL_CONST(1.794709075003107), REAL_CONST(1.814252175500399), REAL_CONST(1.834008086409342),
-    REAL_CONST(1.853979125083386), REAL_CONST(1.874167634110300), REAL_CONST(1.894575981586966),
-    REAL_CONST(1.915206561397147), REAL_CONST(1.936061793492294), REAL_CONST(1.957144124175400),
-    REAL_CONST(1.978456026387951), REAL_CONST(2.000000000000000)
-};
-
-static const real_t log2_tab[] = {
-    REAL_CONST(0.000000000000000), REAL_CONST(0.022367813028455), REAL_CONST(0.044394119358453),
-    REAL_CONST(0.066089190457772), REAL_CONST(0.087462841250339), REAL_CONST(0.108524456778169),
-    REAL_CONST(0.129283016944966), REAL_CONST(0.149747119504682), REAL_CONST(0.169925001442312),
-    REAL_CONST(0.189824558880017), REAL_CONST(0.209453365628950), REAL_CONST(0.228818690495881),
-    REAL_CONST(0.247927513443585), REAL_CONST(0.266786540694901), REAL_CONST(0.285402218862248),
-    REAL_CONST(0.303780748177103), REAL_CONST(0.321928094887362), REAL_CONST(0.339850002884625),
-    REAL_CONST(0.357552004618084), REAL_CONST(0.375039431346925), REAL_CONST(0.392317422778760),
-    REAL_CONST(0.409390936137702), REAL_CONST(0.426264754702098), REAL_CONST(0.442943495848728),
-    REAL_CONST(0.459431618637297), REAL_CONST(0.475733430966398), REAL_CONST(0.491853096329675),
-    REAL_CONST(0.507794640198696), REAL_CONST(0.523561956057013), REAL_CONST(0.539158811108031),
-    REAL_CONST(0.554588851677637), REAL_CONST(0.569855608330948), REAL_CONST(0.584962500721156),
-    REAL_CONST(0.599912842187128), REAL_CONST(0.614709844115208), REAL_CONST(0.629356620079610),
-    REAL_CONST(0.643856189774725), REAL_CONST(0.658211482751795), REAL_CONST(0.672425341971496),
-    REAL_CONST(0.686500527183218), REAL_CONST(0.700439718141092), REAL_CONST(0.714245517666123),
-    REAL_CONST(0.727920454563199), REAL_CONST(0.741466986401147), REAL_CONST(0.754887502163469),
-    REAL_CONST(0.768184324776926), REAL_CONST(0.781359713524660), REAL_CONST(0.794415866350106),
-    REAL_CONST(0.807354922057604), REAL_CONST(0.820178962415188), REAL_CONST(0.832890014164742),
-    REAL_CONST(0.845490050944375), REAL_CONST(0.857980995127572), REAL_CONST(0.870364719583405),
-    REAL_CONST(0.882643049361841), REAL_CONST(0.894817763307943), REAL_CONST(0.906890595608519),
-    REAL_CONST(0.918863237274595), REAL_CONST(0.930737337562886), REAL_CONST(0.942514505339240),
-    REAL_CONST(0.954196310386875), REAL_CONST(0.965784284662087), REAL_CONST(0.977279923499917),
-    REAL_CONST(0.988684686772166), REAL_CONST(1.000000000000000)
-};
-
-real_t pow2_fix(real_t val)
-{
-    uint32_t x1, x2;
-    uint32_t errcorr;
-    uint32_t index_frac;
-    real_t retval;
-    int32_t whole = (val >> REAL_BITS);
-
-    /* rest = [0..1] */
-    int32_t rest = val - (whole << REAL_BITS);
-
-    /* index into pow2_tab */
-    int32_t index = rest >> (REAL_BITS-TABLE_BITS);
-
-
-    if (val == 0)
-        return (1<<REAL_BITS);
-
-    /* leave INTERP_BITS bits */
-    index_frac = rest >> (REAL_BITS-TABLE_BITS-INTERP_BITS);
-    index_frac = index_frac & ((1<<INTERP_BITS)-1);
-
-    if (whole > 0)
-    {
-        retval = 1 << whole;
-    } else {
-        retval = REAL_CONST(1) >> -whole;
-    }
-
-    x1 = pow2_tab[index & ((1<<TABLE_BITS)-1)];
-    x2 = pow2_tab[(index & ((1<<TABLE_BITS)-1)) + 1];
-    errcorr = ( (index_frac*(x2-x1))) >> INTERP_BITS;
-
-    if (whole > 0)
-    {
-        retval = retval * (errcorr + x1);
-    } else {
-        retval = MUL_R(retval, (errcorr + x1));
-    }
-
-    return retval;
-}
-
-int32_t pow2_int(real_t val)
-{
-    uint32_t x1, x2;
-    uint32_t errcorr;
-    uint32_t index_frac;
-    real_t retval;
-    int32_t whole = (val >> REAL_BITS);
-
-    /* rest = [0..1] */
-    int32_t rest = val - (whole << REAL_BITS);
-
-    /* index into pow2_tab */
-    int32_t index = rest >> (REAL_BITS-TABLE_BITS);
-
-
-    if (val == 0)
-        return 1;
-
-    /* leave INTERP_BITS bits */
-    index_frac = rest >> (REAL_BITS-TABLE_BITS-INTERP_BITS);
-    index_frac = index_frac & ((1<<INTERP_BITS)-1);
-
-    if (whole > 0)
-        retval = 1 << whole;
-    else
-        retval = 0;
-
-    x1 = pow2_tab[index & ((1<<TABLE_BITS)-1)];
-    x2 = pow2_tab[(index & ((1<<TABLE_BITS)-1)) + 1];
-    errcorr = ( (index_frac*(x2-x1))) >> INTERP_BITS;
-
-    retval = MUL_R(retval, (errcorr + x1));
-
-    return retval;
-}
-
-/* ld(x) = ld(x*y/y) = ld(x/y) + ld(y), with y=2^N and [1 <= (x/y) < 2] */
-int32_t log2_int(uint32_t val)
-{
-    uint32_t frac;
-    uint32_t whole = (val);
-    int32_t exp = 0;
-    uint32_t index;
-    uint32_t index_frac;
-    uint32_t x1, x2;
-    uint32_t errcorr;
-
-    /* error */
-    if (val == 0)
-        return -10000;
-
-    exp = floor_log2(val);
-    exp -= REAL_BITS;
-
-    /* frac = [1..2] */
-    if (exp >= 0)
-        frac = val >> exp;
-    else
-        frac = val << -exp;
-
-    /* index in the log2 table */
-    index = frac >> (REAL_BITS-TABLE_BITS);
-
-    /* leftover part for linear interpolation */
-    index_frac = frac & ((1<<(REAL_BITS-TABLE_BITS))-1);
-
-    /* leave INTERP_BITS bits */
-    index_frac = index_frac >> (REAL_BITS-TABLE_BITS-INTERP_BITS);
-
-    x1 = log2_tab[index & ((1<<TABLE_BITS)-1)];
-    x2 = log2_tab[(index & ((1<<TABLE_BITS)-1)) + 1];
-
-    /* linear interpolation */
-    /* retval = exp + ((index_frac)*x2 + (1-index_frac)*x1) */
-
-    errcorr = (index_frac * (x2-x1)) >> INTERP_BITS;
-
-    return ((exp+REAL_BITS) << REAL_BITS) + errcorr + x1;
-}
-
-/* ld(x) = ld(x*y/y) = ld(x/y) + ld(y), with y=2^N and [1 <= (x/y) < 2] */
-real_t log2_fix(uint32_t val)
-{
-    uint32_t frac;
-    uint32_t whole = (val >> REAL_BITS);
-    int8_t exp = 0;
-    uint32_t index;
-    uint32_t index_frac;
-    uint32_t x1, x2;
-    uint32_t errcorr;
-
-    /* error */
-    if (val == 0)
-        return -100000;
-
-    exp = floor_log2(val);
-    exp -= REAL_BITS;
-
-    /* frac = [1..2] */
-    if (exp >= 0)
-        frac = val >> exp;
-    else
-        frac = val << -exp;
-
-    /* index in the log2 table */
-    index = frac >> (REAL_BITS-TABLE_BITS);
-
-    /* leftover part for linear interpolation */
-    index_frac = frac & ((1<<(REAL_BITS-TABLE_BITS))-1);
-
-    /* leave INTERP_BITS bits */
-    index_frac = index_frac >> (REAL_BITS-TABLE_BITS-INTERP_BITS);
-
-    x1 = log2_tab[index & ((1<<TABLE_BITS)-1)];
-    x2 = log2_tab[(index & ((1<<TABLE_BITS)-1)) + 1];
-
-    /* linear interpolation */
-    /* retval = exp + ((index_frac)*x2 + (1-index_frac)*x1) */
-
-    errcorr = (index_frac * (x2-x1)) >> INTERP_BITS;
-
-    return (exp << REAL_BITS) + errcorr + x1;
-}
-#endif
diff --git a/lib/libfaad2/libfaad/common.h b/lib/libfaad2/libfaad/common.h
deleted file mode 100644 (file)
index 28a9328..0000000
+++ /dev/null
@@ -1,450 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: common.h,v 1.72 2007/11/01 12:33:30 menno Exp $
-**/
-
-#ifndef __COMMON_H__
-#define __COMMON_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef HAVE_CONFIG_H
-#  include "../config.h"
-#endif
-
-#if 1
-#define INLINE __inline
-#else
-#define INLINE inline
-#endif
-
-#if 0 //defined(_WIN32) && !defined(_WIN32_WCE)
-#define ALIGN __declspec(align(16))
-#else
-#define ALIGN
-#endif
-
-#ifndef max
-#define max(a, b) (((a) > (b)) ? (a) : (b))
-#endif
-#ifndef min
-#define min(a, b) (((a) < (b)) ? (a) : (b))
-#endif
-
-/* COMPILE TIME DEFINITIONS */
-
-/* use double precision */
-/* #define USE_DOUBLE_PRECISION */
-/* use fixed point reals */
-//#define FIXED_POINT
-//#define BIG_IQ_TABLE
-
-/* Use if target platform has address generators with autoincrement */
-//#define PREFER_POINTERS
-
-#ifdef _WIN32_WCE
-#define FIXED_POINT
-#endif
-
-#ifdef __BFIN__
-#define FIXED_POINT
-#endif
-
-#define ERROR_RESILIENCE
-
-
-/* Allow decoding of MAIN profile AAC */
-#define MAIN_DEC
-/* Allow decoding of SSR profile AAC */
-//#define SSR_DEC
-/* Allow decoding of LTP profile AAC */
-#define LTP_DEC
-/* Allow decoding of LD profile AAC */
-#define LD_DEC
-/* Allow decoding of Digital Radio Mondiale (DRM) */
-//#define DRM
-//#define DRM_PS
-
-/* LD can't do without LTP */
-#ifdef LD_DEC
-#ifndef ERROR_RESILIENCE
-#define ERROR_RESILIENCE
-#endif
-#ifndef LTP_DEC
-#define LTP_DEC
-#endif
-#endif
-
-#define ALLOW_SMALL_FRAMELENGTH
-
-
-// Define LC_ONLY_DECODER if you want a pure AAC LC decoder (independant of SBR_DEC and PS_DEC)
-//#define LC_ONLY_DECODER
-#ifdef LC_ONLY_DECODER
-  #undef LD_DEC
-  #undef LTP_DEC
-  #undef MAIN_DEC
-  #undef SSR_DEC
-  #undef DRM
-  #undef ALLOW_SMALL_FRAMELENGTH
-  #undef ERROR_RESILIENCE
-#endif
-
-#define SBR_DEC
-//#define SBR_LOW_POWER
-#define PS_DEC
-
-#ifdef SBR_LOW_POWER
-#undef PS_DEC
-#endif
-
-/* FIXED POINT: No MAIN decoding */
-#ifdef FIXED_POINT
-# ifdef MAIN_DEC
-#  undef MAIN_DEC
-# endif
-#endif // FIXED_POINT
-
-#ifdef DRM
-# ifndef ALLOW_SMALL_FRAMELENGTH
-#  define ALLOW_SMALL_FRAMELENGTH
-# endif
-# undef LD_DEC
-# undef LTP_DEC
-# undef MAIN_DEC
-# undef SSR_DEC
-#endif
-
-
-#ifdef FIXED_POINT
-#define DIV_R(A, B) (((int64_t)A << REAL_BITS)/B)
-#define DIV_C(A, B) (((int64_t)A << COEF_BITS)/B)
-#else
-#define DIV_R(A, B) ((A)/(B))
-#define DIV_C(A, B) ((A)/(B))
-#endif
-
-#ifndef SBR_LOW_POWER
-#define qmf_t complex_t
-#define QMF_RE(A) RE(A)
-#define QMF_IM(A) IM(A)
-#else
-#define qmf_t real_t
-#define QMF_RE(A) (A)
-#define QMF_IM(A)
-#endif
-
-
-/* END COMPILE TIME DEFINITIONS */
-
-#if defined(_WIN32) && !defined(__MINGW32__)
-
-#include <stdlib.h>
-
-typedef unsigned __int64 uint64_t;
-typedef unsigned __int32 uint32_t;
-typedef unsigned __int16 uint16_t;
-typedef unsigned __int8 uint8_t;
-typedef __int64 int64_t;
-typedef __int32 int32_t;
-typedef __int16 int16_t;
-typedef __int8  int8_t;
-typedef float float32_t;
-
-
-#else
-
-#include <stdio.h>
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#if STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# if HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#if HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-#  include <stdint.h>
-# else
-/* we need these... */
-#ifndef __TCS__
-typedef unsigned long long uint64_t;
-typedef long long int64_t;
-#else
-typedef unsigned long uint64_t;
-typedef long int64_t;
-#endif
-typedef unsigned long uint32_t;
-typedef unsigned short uint16_t;
-typedef unsigned char uint8_t;
-typedef long int32_t;
-typedef short int16_t;
-typedef char int8_t;
-# endif
-#endif
-#if HAVE_UNISTD_H
-//# include <unistd.h>
-#endif
-
-#ifndef HAVE_FLOAT32_T
-typedef float float32_t;
-#endif
-
-#if STDC_HEADERS
-# include <string.h>
-#else
-# if !HAVE_STRCHR
-#  define strchr index
-#  define strrchr rindex
-# endif
-char *strchr(), *strrchr();
-# if !HAVE_MEMCPY
-#  define memcpy(d, s, n) bcopy((s), (d), (n))
-#  define memmove(d, s, n) bcopy((s), (d), (n))
-# endif
-#endif
-
-#endif
-
-#ifdef WORDS_BIGENDIAN
-#define ARCH_IS_BIG_ENDIAN
-#endif
-
-/* FIXED_POINT doesn't work with MAIN and SSR yet */
-#ifdef FIXED_POINT
-  #undef MAIN_DEC
-  #undef SSR_DEC
-#endif
-
-
-#if defined(FIXED_POINT)
-
-  #include "fixed.h"
-
-#elif defined(USE_DOUBLE_PRECISION)
-
-  typedef double real_t;
-
-  #include <math.h>
-
-  #define MUL_R(A,B) ((A)*(B))
-  #define MUL_C(A,B) ((A)*(B))
-  #define MUL_F(A,B) ((A)*(B))
-
-  /* Complex multiplication */
-  static INLINE void ComplexMult(real_t *y1, real_t *y2,
-      real_t x1, real_t x2, real_t c1, real_t c2)
-  {
-      *y1 = MUL_F(x1, c1) + MUL_F(x2, c2);
-      *y2 = MUL_F(x2, c1) - MUL_F(x1, c2);
-  }
-
-  #define REAL_CONST(A) ((real_t)(A))
-  #define COEF_CONST(A) ((real_t)(A))
-  #define Q2_CONST(A) ((real_t)(A))
-  #define FRAC_CONST(A) ((real_t)(A)) /* pure fractional part */
-
-#else /* Normal floating point operation */
-
-  typedef float real_t;
-
-  #define MUL_R(A,B) ((A)*(B))
-  #define MUL_C(A,B) ((A)*(B))
-  #define MUL_F(A,B) ((A)*(B))
-
-  #define REAL_CONST(A) ((real_t)(A))
-  #define COEF_CONST(A) ((real_t)(A))
-  #define Q2_CONST(A) ((real_t)(A))
-  #define FRAC_CONST(A) ((real_t)(A)) /* pure fractional part */
-
-  /* Complex multiplication */
-  static INLINE void ComplexMult(real_t *y1, real_t *y2,
-      real_t x1, real_t x2, real_t c1, real_t c2)
-  {
-      *y1 = MUL_F(x1, c1) + MUL_F(x2, c2);
-      *y2 = MUL_F(x2, c1) - MUL_F(x1, c2);
-  }
-
-
-  #if defined(_WIN32) && !defined(__MINGW32__)
-    #define HAS_LRINTF
-    static INLINE int lrintf(float f)
-    {
-        int i;
-        __asm
-        {
-            fld   f
-            fistp i
-        }
-        return i;
-    }
-  #elif (defined(__i386__) && defined(__GNUC__) && \
-       !defined(__CYGWIN__) && !defined(__MINGW32__))
-    #ifndef HAVE_LRINTF
-    #define HAS_LRINTF
-    // from http://www.stereopsis.com/FPU.html
-    static INLINE int lrintf(float f)
-    {
-        int i;
-        __asm__ __volatile__ (
-            "flds %1        \n\t"
-            "fistpl %0      \n\t"
-            : "=m" (i)
-            : "m" (f));
-        return i;
-    }
-    #endif /* HAVE_LRINTF */
-  #endif
-
-
-  #ifdef __ICL /* only Intel C compiler has fmath ??? */
-
-    #include <mathf.h>
-
-    #define sin sinf
-    #define cos cosf
-    #define log logf
-    #define floor floorf
-    #define ceil ceilf
-    #define sqrt sqrtf
-
-  #else
-
-#ifdef HAVE_LRINTF
-#  define HAS_LRINTF
-#  define _ISOC9X_SOURCE 1
-#  define _ISOC99_SOURCE 1
-#  define __USE_ISOC9X   1
-#  define __USE_ISOC99   1
-#endif
-
-    #include <math.h>
-
-#ifdef HAVE_SINF
-#  define sin sinf
-#error
-#endif
-#ifdef HAVE_COSF
-#  define cos cosf
-#endif
-#ifdef HAVE_LOGF
-#  define log logf
-#endif
-#ifdef HAVE_EXPF
-#  define exp expf
-#endif
-#ifdef HAVE_FLOORF
-#  define floor floorf
-#endif
-#ifdef HAVE_CEILF
-#  define ceil ceilf
-#endif
-#ifdef HAVE_SQRTF
-#  define sqrt sqrtf
-#endif
-
-  #endif
-
-#endif
-
-#ifndef HAS_LRINTF
-/* standard cast */
-#define lrintf(f) ((int32_t)(f))
-#endif
-
-typedef real_t complex_t[2];
-#define RE(A) A[0]
-#define IM(A) A[1]
-
-
-/* common functions */
-uint8_t cpu_has_sse(void);
-uint32_t ne_rng(uint32_t *__r1, uint32_t *__r2);
-uint32_t ones32(uint32_t x);
-uint32_t floor_log2(uint32_t x);
-uint32_t wl_min_lzc(uint32_t x);
-#ifdef FIXED_POINT
-#define LOG2_MIN_INF REAL_CONST(-10000)
-int32_t log2_int(uint32_t val);
-int32_t log2_fix(uint32_t val);
-int32_t pow2_int(real_t val);
-real_t pow2_fix(real_t val);
-#endif
-uint8_t get_sr_index(const uint32_t samplerate);
-uint8_t max_pred_sfb(const uint8_t sr_index);
-uint8_t max_tns_sfb(const uint8_t sr_index, const uint8_t object_type,
-                    const uint8_t is_short);
-uint32_t get_sample_rate(const uint8_t sr_index);
-int8_t can_decode_ot(const uint8_t object_type);
-
-void *faad_malloc(size_t size);
-void faad_free(void *b);
-
-//#define PROFILE
-#ifdef PROFILE
-static int64_t faad_get_ts()
-{
-    __asm
-    {
-        rdtsc
-    }
-}
-#endif
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-#ifndef M_PI_2 /* PI/2 */
-#define M_PI_2 1.57079632679489661923
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/decoder.c b/lib/libfaad2/libfaad/decoder.c
deleted file mode 100644 (file)
index 7fb4b19..0000000
+++ /dev/null
@@ -1,1117 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: decoder.c,v 1.111 2007/11/01 12:33:30 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "decoder.h"
-#include "mp4.h"
-#include "syntax.h"
-#include "error.h"
-#include "output.h"
-#include "filtbank.h"
-#include "drc.h"
-#ifdef SBR_DEC
-#include "sbr_dec.h"
-#include "sbr_syntax.h"
-#endif
-#ifdef SSR_DEC
-#include "ssr.h"
-#endif
-
-#ifdef ANALYSIS
-uint16_t dbg_count;
-#endif
-
-/* static function declarations */
-static void* aac_frame_decode(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
-                              uint8_t *buffer, uint32_t buffer_size,
-                              void **sample_buffer, uint32_t sample_buffer_size);
-static void create_channel_config(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo);
-
-
-char* NEAACDECAPI NeAACDecGetErrorMessage(uint8_t errcode)
-{
-    if (errcode >= NUM_ERROR_MESSAGES)
-        return NULL;
-    return err_msg[errcode];
-}
-
-uint32_t NEAACDECAPI NeAACDecGetCapabilities(void)
-{
-    uint32_t cap = 0;
-
-    /* can't do without it */
-    cap += LC_DEC_CAP;
-
-#ifdef MAIN_DEC
-    cap += MAIN_DEC_CAP;
-#endif
-#ifdef LTP_DEC
-    cap += LTP_DEC_CAP;
-#endif
-#ifdef LD_DEC
-    cap += LD_DEC_CAP;
-#endif
-#ifdef ERROR_RESILIENCE
-    cap += ERROR_RESILIENCE_CAP;
-#endif
-#ifdef FIXED_POINT
-    cap += FIXED_POINT_CAP;
-#endif
-
-    return cap;
-}
-
-const unsigned char mes[] = { 0x67,0x20,0x61,0x20,0x20,0x20,0x6f,0x20,0x72,0x20,0x65,0x20,0x6e,0x20,0x20,0x20,0x74,0x20,0x68,0x20,0x67,0x20,0x69,0x20,0x72,0x20,0x79,0x20,0x70,0x20,0x6f,0x20,0x63 };
-NeAACDecHandle NEAACDECAPI NeAACDecOpen(void)
-{
-    uint8_t i;
-    NeAACDecHandle hDecoder = NULL;
-
-    if ((hDecoder = (NeAACDecHandle)faad_malloc(sizeof(NeAACDecStruct))) == NULL)
-        return NULL;
-
-    memset(hDecoder, 0, sizeof(NeAACDecStruct));
-
-    hDecoder->cmes = mes;
-    hDecoder->config.outputFormat  = FAAD_FMT_16BIT;
-    hDecoder->config.defObjectType = MAIN;
-    hDecoder->config.defSampleRate = 44100; /* Default: 44.1kHz */
-    hDecoder->config.downMatrix = 0;
-    hDecoder->adts_header_present = 0;
-    hDecoder->adif_header_present = 0;
-#ifdef ERROR_RESILIENCE
-    hDecoder->aacSectionDataResilienceFlag = 0;
-    hDecoder->aacScalefactorDataResilienceFlag = 0;
-    hDecoder->aacSpectralDataResilienceFlag = 0;
-#endif
-    hDecoder->frameLength = 1024;
-
-    hDecoder->frame = 0;
-    hDecoder->sample_buffer = NULL;
-
-    hDecoder->__r1 = 1;
-    hDecoder->__r2 = 1;
-
-    for (i = 0; i < MAX_CHANNELS; i++)
-    {
-        hDecoder->window_shape_prev[i] = 0;
-        hDecoder->time_out[i] = NULL;
-        hDecoder->fb_intermed[i] = NULL;
-#ifdef SSR_DEC
-        hDecoder->ssr_overlap[i] = NULL;
-        hDecoder->prev_fmd[i] = NULL;
-#endif
-#ifdef MAIN_DEC
-        hDecoder->pred_stat[i] = NULL;
-#endif
-#ifdef LTP_DEC
-        hDecoder->ltp_lag[i] = 0;
-        hDecoder->lt_pred_stat[i] = NULL;
-#endif
-    }
-
-#ifdef SBR_DEC
-    for (i = 0; i < MAX_SYNTAX_ELEMENTS; i++)
-    {
-        hDecoder->sbr[i] = NULL;
-    }
-#endif
-
-    hDecoder->drc = drc_init(REAL_CONST(1.0), REAL_CONST(1.0));
-
-    return hDecoder;
-}
-
-NeAACDecConfigurationPtr NEAACDECAPI NeAACDecGetCurrentConfiguration(NeAACDecHandle hDecoder)
-{
-    if (hDecoder)
-    {
-        NeAACDecConfigurationPtr config = &(hDecoder->config);
-
-        return config;
-    }
-
-    return NULL;
-}
-
-uint8_t NEAACDECAPI NeAACDecSetConfiguration(NeAACDecHandle hDecoder,
-                                             NeAACDecConfigurationPtr config)
-{
-    if (hDecoder && config)
-    {
-        /* check if we can decode this object type */
-        if (can_decode_ot(config->defObjectType) < 0)
-            return 0;
-        hDecoder->config.defObjectType = config->defObjectType;
-
-        /* samplerate: anything but 0 should be possible */
-        if (config->defSampleRate == 0)
-            return 0;
-        hDecoder->config.defSampleRate = config->defSampleRate;
-
-        /* check output format */
-#ifdef FIXED_POINT
-        if ((config->outputFormat < 1) || (config->outputFormat > 4))
-            return 0;
-#else
-        if ((config->outputFormat < 1) || (config->outputFormat > 5))
-            return 0;
-#endif
-        hDecoder->config.outputFormat = config->outputFormat;
-
-        if (config->downMatrix > 1)
-            return 0;
-        hDecoder->config.downMatrix = config->downMatrix;
-
-        /* OK */
-        return 1;
-    }
-
-    return 0;
-}
-
-
-int32_t NEAACDECAPI NeAACDecInit(NeAACDecHandle hDecoder, uint8_t *buffer,
-                                 uint32_t buffer_size,
-                                 uint32_t *samplerate, uint8_t *channels)
-{
-    uint32_t bits = 0;
-    bitfile ld;
-    adif_header adif;
-    adts_header adts;
-
-
-    if ((hDecoder == NULL) || (samplerate == NULL) || (channels == NULL))
-        return -1;
-
-    hDecoder->sf_index = get_sr_index(hDecoder->config.defSampleRate);
-    hDecoder->object_type = hDecoder->config.defObjectType;
-    *samplerate = get_sample_rate(hDecoder->sf_index);
-    *channels = 1;
-
-    if (buffer != NULL)
-    {
-        faad_initbits(&ld, buffer, buffer_size);
-
-        /* Check if an ADIF header is present */
-        if ((buffer[0] == 'A') && (buffer[1] == 'D') &&
-            (buffer[2] == 'I') && (buffer[3] == 'F'))
-        {
-            hDecoder->adif_header_present = 1;
-
-            get_adif_header(&adif, &ld);
-            faad_byte_align(&ld);
-
-            hDecoder->sf_index = adif.pce[0].sf_index;
-            hDecoder->object_type = adif.pce[0].object_type + 1;
-
-            *samplerate = get_sample_rate(hDecoder->sf_index);
-            *channels = adif.pce[0].channels;
-
-            memcpy(&(hDecoder->pce), &(adif.pce[0]), sizeof(program_config));
-            hDecoder->pce_set = 1;
-
-            bits = bit2byte(faad_get_processed_bits(&ld));
-
-        /* Check if an ADTS header is present */
-        } else if (faad_showbits(&ld, 12) == 0xfff) {
-            hDecoder->adts_header_present = 1;
-
-            adts.old_format = hDecoder->config.useOldADTSFormat;
-            adts_frame(&adts, &ld);
-
-            hDecoder->sf_index = adts.sf_index;
-            hDecoder->object_type = adts.profile + 1;
-
-            *samplerate = get_sample_rate(hDecoder->sf_index);
-            *channels = (adts.channel_configuration > 6) ?
-                2 : adts.channel_configuration;
-        }
-
-        if (ld.error)
-        {
-            faad_endbits(&ld);
-            return -1;
-        }
-        faad_endbits(&ld);
-    }
-
-#if (defined(PS_DEC) || defined(DRM_PS))
-    /* check if we have a mono file */
-    if (*channels == 1)
-    {
-        /* upMatrix to 2 channels for implicit signalling of PS */
-        *channels = 2;
-    }
-#endif
-
-    hDecoder->channelConfiguration = *channels;
-
-#ifdef SBR_DEC
-    /* implicit signalling */
-    if (*samplerate <= 24000 && !(hDecoder->config.dontUpSampleImplicitSBR))
-    {
-        *samplerate *= 2;
-        hDecoder->forceUpSampling = 1;
-    } else if (*samplerate > 24000 && !(hDecoder->config.dontUpSampleImplicitSBR)) {
-        hDecoder->downSampledSBR = 1;
-    }
-#endif
-
-    /* must be done before frameLength is divided by 2 for LD */
-#ifdef SSR_DEC
-    if (hDecoder->object_type == SSR)
-        hDecoder->fb = ssr_filter_bank_init(hDecoder->frameLength/SSR_BANDS);
-    else
-#endif
-        hDecoder->fb = filter_bank_init(hDecoder->frameLength);
-
-#ifdef LD_DEC
-    if (hDecoder->object_type == LD)
-        hDecoder->frameLength >>= 1;
-#endif
-
-    if (can_decode_ot(hDecoder->object_type) < 0)
-        return -1;
-
-    return bits;
-}
-
-/* Init the library using a DecoderSpecificInfo */
-int8_t NEAACDECAPI NeAACDecInit2(NeAACDecHandle hDecoder, uint8_t *pBuffer,
-                                 uint32_t SizeOfDecoderSpecificInfo,
-                                 uint32_t *samplerate, uint8_t *channels)
-{
-    int8_t rc;
-    mp4AudioSpecificConfig mp4ASC;
-
-    if((hDecoder == NULL)
-        || (pBuffer == NULL)
-        || (SizeOfDecoderSpecificInfo < 2)
-        || (samplerate == NULL)
-        || (channels == NULL))
-    {
-        return -1;
-    }
-
-    hDecoder->adif_header_present = 0;
-    hDecoder->adts_header_present = 0;
-
-    /* decode the audio specific config */
-    rc = AudioSpecificConfig2(pBuffer, SizeOfDecoderSpecificInfo, &mp4ASC,
-        &(hDecoder->pce));
-
-    /* copy the relevant info to the decoder handle */
-    *samplerate = mp4ASC.samplingFrequency;
-    if (mp4ASC.channelsConfiguration)
-    {
-        *channels = mp4ASC.channelsConfiguration;
-    } else {
-        *channels = hDecoder->pce.channels;
-        hDecoder->pce_set = 1;
-    }
-#if (defined(PS_DEC) || defined(DRM_PS))
-    /* check if we have a mono file */
-    if (*channels == 1)
-    {
-        /* upMatrix to 2 channels for implicit signalling of PS */
-        *channels = 2;
-    }
-#endif
-    hDecoder->sf_index = mp4ASC.samplingFrequencyIndex;
-    hDecoder->object_type = mp4ASC.objectTypeIndex;
-#ifdef ERROR_RESILIENCE
-    hDecoder->aacSectionDataResilienceFlag = mp4ASC.aacSectionDataResilienceFlag;
-    hDecoder->aacScalefactorDataResilienceFlag = mp4ASC.aacScalefactorDataResilienceFlag;
-    hDecoder->aacSpectralDataResilienceFlag = mp4ASC.aacSpectralDataResilienceFlag;
-#endif
-#ifdef SBR_DEC
-    hDecoder->sbr_present_flag = mp4ASC.sbr_present_flag;
-    hDecoder->downSampledSBR = mp4ASC.downSampledSBR;
-    if (hDecoder->config.dontUpSampleImplicitSBR == 0)
-        hDecoder->forceUpSampling = mp4ASC.forceUpSampling;
-    else
-        hDecoder->forceUpSampling = 0;
-
-    /* AAC core decoder samplerate is 2 times as low */
-    if (((hDecoder->sbr_present_flag == 1)&&(!hDecoder->downSampledSBR)) || hDecoder->forceUpSampling == 1)
-    {
-        hDecoder->sf_index = get_sr_index(mp4ASC.samplingFrequency / 2);
-    }
-#endif
-
-    if (rc != 0)
-    {
-        return rc;
-    }
-    hDecoder->channelConfiguration = mp4ASC.channelsConfiguration;
-    if (mp4ASC.frameLengthFlag)
-#ifdef ALLOW_SMALL_FRAMELENGTH
-        hDecoder->frameLength = 960;
-#else
-        return -1;
-#endif
-
-    /* must be done before frameLength is divided by 2 for LD */
-#ifdef SSR_DEC
-    if (hDecoder->object_type == SSR)
-        hDecoder->fb = ssr_filter_bank_init(hDecoder->frameLength/SSR_BANDS);
-    else
-#endif
-        hDecoder->fb = filter_bank_init(hDecoder->frameLength);
-
-#ifdef LD_DEC
-    if (hDecoder->object_type == LD)
-        hDecoder->frameLength >>= 1;
-#endif
-
-    return 0;
-}
-
-#ifdef DRM
-int8_t NEAACDECAPI NeAACDecInitDRM(NeAACDecHandle *hDecoder, uint32_t samplerate,
-                                   uint8_t channels)
-{
-    if (hDecoder == NULL)
-        return 1; /* error */
-
-    NeAACDecClose(*hDecoder);
-
-    *hDecoder = NeAACDecOpen();
-
-    /* Special object type defined for DRM */
-    (*hDecoder)->config.defObjectType = DRM_ER_LC;
-
-    (*hDecoder)->config.defSampleRate = samplerate;
-#ifdef ERROR_RESILIENCE // This shoudl always be defined for DRM
-    (*hDecoder)->aacSectionDataResilienceFlag = 1; /* VCB11 */
-    (*hDecoder)->aacScalefactorDataResilienceFlag = 0; /* no RVLC */
-    (*hDecoder)->aacSpectralDataResilienceFlag = 1; /* HCR */
-#endif
-    (*hDecoder)->frameLength = 960;
-    (*hDecoder)->sf_index = get_sr_index((*hDecoder)->config.defSampleRate);
-    (*hDecoder)->object_type = (*hDecoder)->config.defObjectType;
-
-    if ((channels == DRMCH_STEREO) || (channels == DRMCH_SBR_STEREO))
-        (*hDecoder)->channelConfiguration = 2;
-    else
-        (*hDecoder)->channelConfiguration = 1;
-
-#ifdef SBR_DEC
-    if ((channels == DRMCH_MONO) || (channels == DRMCH_STEREO))
-        (*hDecoder)->sbr_present_flag = 0;
-    else
-        (*hDecoder)->sbr_present_flag = 1;
-#endif
-
-    (*hDecoder)->fb = filter_bank_init((*hDecoder)->frameLength);
-
-    return 0;
-}
-#endif
-
-void NEAACDECAPI NeAACDecClose(NeAACDecHandle hDecoder)
-{
-    uint8_t i;
-
-    if (hDecoder == NULL)
-        return;
-
-#ifdef PROFILE
-    printf("AAC decoder total:  %I64d cycles\n", hDecoder->cycles);
-    printf("requant:            %I64d cycles\n", hDecoder->requant_cycles);
-    printf("spectral_data:      %I64d cycles\n", hDecoder->spectral_cycles);
-    printf("scalefactors:       %I64d cycles\n", hDecoder->scalefac_cycles);
-    printf("output:             %I64d cycles\n", hDecoder->output_cycles);
-#endif
-
-    for (i = 0; i < MAX_CHANNELS; i++)
-    {
-        if (hDecoder->time_out[i]) faad_free(hDecoder->time_out[i]);
-        if (hDecoder->fb_intermed[i]) faad_free(hDecoder->fb_intermed[i]);
-#ifdef SSR_DEC
-        if (hDecoder->ssr_overlap[i]) faad_free(hDecoder->ssr_overlap[i]);
-        if (hDecoder->prev_fmd[i]) faad_free(hDecoder->prev_fmd[i]);
-#endif
-#ifdef MAIN_DEC
-        if (hDecoder->pred_stat[i]) faad_free(hDecoder->pred_stat[i]);
-#endif
-#ifdef LTP_DEC
-        if (hDecoder->lt_pred_stat[i]) faad_free(hDecoder->lt_pred_stat[i]);
-#endif
-    }
-
-#ifdef SSR_DEC
-    if (hDecoder->object_type == SSR)
-        ssr_filter_bank_end(hDecoder->fb);
-    else
-#endif
-        filter_bank_end(hDecoder->fb);
-
-    drc_end(hDecoder->drc);
-
-    if (hDecoder->sample_buffer) faad_free(hDecoder->sample_buffer);
-
-#ifdef SBR_DEC
-    for (i = 0; i < MAX_SYNTAX_ELEMENTS; i++)
-    {
-        if (hDecoder->sbr[i])
-            sbrDecodeEnd(hDecoder->sbr[i]);
-    }
-#endif
-
-    if (hDecoder) faad_free(hDecoder);
-}
-
-void NEAACDECAPI NeAACDecPostSeekReset(NeAACDecHandle hDecoder, int32_t frame)
-{
-    if (hDecoder)
-    {
-        hDecoder->postSeekResetFlag = 1;
-
-        if (frame != -1)
-            hDecoder->frame = frame;
-    }
-}
-
-static void create_channel_config(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo)
-{
-    hInfo->num_front_channels = 0;
-    hInfo->num_side_channels = 0;
-    hInfo->num_back_channels = 0;
-    hInfo->num_lfe_channels = 0;
-    memset(hInfo->channel_position, 0, MAX_CHANNELS*sizeof(uint8_t));
-
-    if (hDecoder->downMatrix)
-    {
-        hInfo->num_front_channels = 2;
-        hInfo->channel_position[0] = FRONT_CHANNEL_LEFT;
-        hInfo->channel_position[1] = FRONT_CHANNEL_RIGHT;
-        return;
-    }
-
-    /* check if there is a PCE */
-    if (hDecoder->pce_set)
-    {
-        uint8_t i, chpos = 0;
-        uint8_t chdir, back_center = 0;
-
-        hInfo->num_front_channels = hDecoder->pce.num_front_channels;
-        hInfo->num_side_channels = hDecoder->pce.num_side_channels;
-        hInfo->num_back_channels = hDecoder->pce.num_back_channels;
-        hInfo->num_lfe_channels = hDecoder->pce.num_lfe_channels;
-
-        chdir = hInfo->num_front_channels;
-        if (chdir & 1)
-        {
-#if (defined(PS_DEC) || defined(DRM_PS))
-            /* When PS is enabled output is always stereo */
-            hInfo->channel_position[chpos++] = FRONT_CHANNEL_LEFT;
-            hInfo->channel_position[chpos++] = FRONT_CHANNEL_RIGHT;
-#else
-            hInfo->channel_position[chpos++] = FRONT_CHANNEL_CENTER;
-            chdir--;
-#endif
-        }
-        for (i = 0; i < chdir; i += 2)
-        {
-            hInfo->channel_position[chpos++] = FRONT_CHANNEL_LEFT;
-            hInfo->channel_position[chpos++] = FRONT_CHANNEL_RIGHT;
-        }
-
-        for (i = 0; i < hInfo->num_side_channels; i += 2)
-        {
-            hInfo->channel_position[chpos++] = SIDE_CHANNEL_LEFT;
-            hInfo->channel_position[chpos++] = SIDE_CHANNEL_RIGHT;
-        }
-
-        chdir = hInfo->num_back_channels;
-        if (chdir & 1)
-        {
-            back_center = 1;
-            chdir--;
-        }
-        for (i = 0; i < chdir; i += 2)
-        {
-            hInfo->channel_position[chpos++] = BACK_CHANNEL_LEFT;
-            hInfo->channel_position[chpos++] = BACK_CHANNEL_RIGHT;
-        }
-        if (back_center)
-        {
-            hInfo->channel_position[chpos++] = BACK_CHANNEL_CENTER;
-        }
-
-        for (i = 0; i < hInfo->num_lfe_channels; i++)
-        {
-            hInfo->channel_position[chpos++] = LFE_CHANNEL;
-        }
-
-    } else {
-        switch (hDecoder->channelConfiguration)
-        {
-        case 1:
-#if (defined(PS_DEC) || defined(DRM_PS))
-            /* When PS is enabled output is always stereo */
-            hInfo->num_front_channels = 2;
-            hInfo->channel_position[0] = FRONT_CHANNEL_LEFT;
-            hInfo->channel_position[1] = FRONT_CHANNEL_RIGHT;
-#else
-            hInfo->num_front_channels = 1;
-            hInfo->channel_position[0] = FRONT_CHANNEL_CENTER;
-#endif
-            break;
-        case 2:
-            hInfo->num_front_channels = 2;
-            hInfo->channel_position[0] = FRONT_CHANNEL_LEFT;
-            hInfo->channel_position[1] = FRONT_CHANNEL_RIGHT;
-            break;
-        case 3:
-            hInfo->num_front_channels = 3;
-            hInfo->channel_position[0] = FRONT_CHANNEL_CENTER;
-            hInfo->channel_position[1] = FRONT_CHANNEL_LEFT;
-            hInfo->channel_position[2] = FRONT_CHANNEL_RIGHT;
-            break;
-        case 4:
-            hInfo->num_front_channels = 3;
-            hInfo->num_back_channels = 1;
-            hInfo->channel_position[0] = FRONT_CHANNEL_CENTER;
-            hInfo->channel_position[1] = FRONT_CHANNEL_LEFT;
-            hInfo->channel_position[2] = FRONT_CHANNEL_RIGHT;
-            hInfo->channel_position[3] = BACK_CHANNEL_CENTER;
-            break;
-        case 5:
-            hInfo->num_front_channels = 3;
-            hInfo->num_back_channels = 2;
-            hInfo->channel_position[0] = FRONT_CHANNEL_CENTER;
-            hInfo->channel_position[1] = FRONT_CHANNEL_LEFT;
-            hInfo->channel_position[2] = FRONT_CHANNEL_RIGHT;
-            hInfo->channel_position[3] = BACK_CHANNEL_LEFT;
-            hInfo->channel_position[4] = BACK_CHANNEL_RIGHT;
-            break;
-        case 6:
-            hInfo->num_front_channels = 3;
-            hInfo->num_back_channels = 2;
-            hInfo->num_lfe_channels = 1;
-            hInfo->channel_position[0] = FRONT_CHANNEL_CENTER;
-            hInfo->channel_position[1] = FRONT_CHANNEL_LEFT;
-            hInfo->channel_position[2] = FRONT_CHANNEL_RIGHT;
-            hInfo->channel_position[3] = BACK_CHANNEL_LEFT;
-            hInfo->channel_position[4] = BACK_CHANNEL_RIGHT;
-            hInfo->channel_position[5] = LFE_CHANNEL;
-            break;
-        case 7:
-            hInfo->num_front_channels = 3;
-            hInfo->num_side_channels = 2;
-            hInfo->num_back_channels = 2;
-            hInfo->num_lfe_channels = 1;
-            hInfo->channel_position[0] = FRONT_CHANNEL_CENTER;
-            hInfo->channel_position[1] = FRONT_CHANNEL_LEFT;
-            hInfo->channel_position[2] = FRONT_CHANNEL_RIGHT;
-            hInfo->channel_position[3] = SIDE_CHANNEL_LEFT;
-            hInfo->channel_position[4] = SIDE_CHANNEL_RIGHT;
-            hInfo->channel_position[5] = BACK_CHANNEL_LEFT;
-            hInfo->channel_position[6] = BACK_CHANNEL_RIGHT;
-            hInfo->channel_position[7] = LFE_CHANNEL;
-            break;
-        default: /* channelConfiguration == 0 || channelConfiguration > 7 */
-            {
-                uint8_t i;
-                uint8_t ch = hDecoder->fr_channels - hDecoder->has_lfe;
-                if (ch & 1) /* there's either a center front or a center back channel */
-                {
-                    uint8_t ch1 = (ch-1)/2;
-                    if (hDecoder->first_syn_ele == ID_SCE)
-                    {
-                        hInfo->num_front_channels = ch1 + 1;
-                        hInfo->num_back_channels = ch1;
-                        hInfo->channel_position[0] = FRONT_CHANNEL_CENTER;
-                        for (i = 1; i <= ch1; i+=2)
-                        {
-                            hInfo->channel_position[i] = FRONT_CHANNEL_LEFT;
-                            hInfo->channel_position[i+1] = FRONT_CHANNEL_RIGHT;
-                        }
-                        for (i = ch1+1; i < ch; i+=2)
-                        {
-                            hInfo->channel_position[i] = BACK_CHANNEL_LEFT;
-                            hInfo->channel_position[i+1] = BACK_CHANNEL_RIGHT;
-                        }
-                    } else {
-                        hInfo->num_front_channels = ch1;
-                        hInfo->num_back_channels = ch1 + 1;
-                        for (i = 0; i < ch1; i+=2)
-                        {
-                            hInfo->channel_position[i] = FRONT_CHANNEL_LEFT;
-                            hInfo->channel_position[i+1] = FRONT_CHANNEL_RIGHT;
-                        }
-                        for (i = ch1; i < ch-1; i+=2)
-                        {
-                            hInfo->channel_position[i] = BACK_CHANNEL_LEFT;
-                            hInfo->channel_position[i+1] = BACK_CHANNEL_RIGHT;
-                        }
-                        hInfo->channel_position[ch-1] = BACK_CHANNEL_CENTER;
-                    }
-                } else {
-                    uint8_t ch1 = (ch)/2;
-                    hInfo->num_front_channels = ch1;
-                    hInfo->num_back_channels = ch1;
-                    if (ch1 & 1)
-                    {
-                        hInfo->channel_position[0] = FRONT_CHANNEL_CENTER;
-                        for (i = 1; i <= ch1; i+=2)
-                        {
-                            hInfo->channel_position[i] = FRONT_CHANNEL_LEFT;
-                            hInfo->channel_position[i+1] = FRONT_CHANNEL_RIGHT;
-                        }
-                        for (i = ch1+1; i < ch-1; i+=2)
-                        {
-                            hInfo->channel_position[i] = BACK_CHANNEL_LEFT;
-                            hInfo->channel_position[i+1] = BACK_CHANNEL_RIGHT;
-                        }
-                        hInfo->channel_position[ch-1] = BACK_CHANNEL_CENTER;
-                    } else {
-                        for (i = 0; i < ch1; i+=2)
-                        {
-                            hInfo->channel_position[i] = FRONT_CHANNEL_LEFT;
-                            hInfo->channel_position[i+1] = FRONT_CHANNEL_RIGHT;
-                        }
-                        for (i = ch1; i < ch; i+=2)
-                        {
-                            hInfo->channel_position[i] = BACK_CHANNEL_LEFT;
-                            hInfo->channel_position[i+1] = BACK_CHANNEL_RIGHT;
-                        }
-                    }
-                }
-                hInfo->num_lfe_channels = hDecoder->has_lfe;
-                for (i = ch; i < hDecoder->fr_channels; i++)
-                {
-                    hInfo->channel_position[i] = LFE_CHANNEL;
-                }
-            }
-            break;
-        }
-    }
-}
-
-void* NEAACDECAPI NeAACDecDecode(NeAACDecHandle hDecoder,
-                                 NeAACDecFrameInfo *hInfo,
-                                 uint8_t *buffer, uint32_t buffer_size)
-{
-    return aac_frame_decode(hDecoder, hInfo, buffer, buffer_size, NULL, 0);
-}
-
-void* NEAACDECAPI NeAACDecDecode2(NeAACDecHandle hDecoder,
-                                  NeAACDecFrameInfo *hInfo,
-                                  uint8_t *buffer, uint32_t buffer_size,
-                                  void **sample_buffer, uint32_t sample_buffer_size)
-{
-    if ((sample_buffer == NULL) || (sample_buffer_size == 0))
-    {
-        hInfo->error = 27;
-        return NULL;
-    }
-
-    return aac_frame_decode(hDecoder, hInfo, buffer, buffer_size,
-        sample_buffer, sample_buffer_size);
-}
-
-#ifdef DRM
-
-#define ERROR_STATE_INIT 6
-
-static void conceal_output(NeAACDecHandle hDecoder, uint16_t frame_len,
-                           uint8_t out_ch, void *sample_buffer)
-{
-    return;
-}
-#endif
-
-static void* aac_frame_decode(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
-                              uint8_t *buffer, uint32_t buffer_size,
-                              void **sample_buffer2, uint32_t sample_buffer_size)
-{
-    uint16_t i;
-    uint8_t channels = 0;
-    uint8_t output_channels = 0;
-    bitfile ld = {0};
-    uint32_t bitsconsumed;
-    uint16_t frame_len;
-    void *sample_buffer;
-
-#ifdef PROFILE
-    int64_t count = faad_get_ts();
-#endif
-
-    /* safety checks */
-    if ((hDecoder == NULL) || (hInfo == NULL) || (buffer == NULL))
-    {
-        return NULL;
-    }
-
-#if 0
-    printf("%d\n", buffer_size*8);
-#endif
-
-    frame_len = hDecoder->frameLength;
-
-
-    memset(hInfo, 0, sizeof(NeAACDecFrameInfo));
-    memset(hDecoder->internal_channel, 0, MAX_CHANNELS*sizeof(hDecoder->internal_channel[0]));
-
-#ifdef USE_TIME_LIMIT
-    if ((TIME_LIMIT * get_sample_rate(hDecoder->sf_index)) > hDecoder->TL_count)
-    {
-        hDecoder->TL_count += 1024;
-    } else {
-        hInfo->error = (NUM_ERROR_MESSAGES-1);
-        goto error;
-    }
-#endif
-
-
-    /* check for some common metadata tag types in the bitstream
-     * No need to return an error
-     */
-    /* ID3 */
-    if (buffer_size >= 128)
-    {
-        if (memcmp(buffer, "TAG", 3) == 0)
-        {
-            /* found it */
-            hInfo->bytesconsumed = 128; /* 128 bytes fixed size */
-            /* no error, but no output either */
-            return NULL;
-        }
-    }
-
-
-    /* initialize the bitstream */
-    faad_initbits(&ld, buffer, buffer_size);
-
-#if 0
-    {
-        int i;
-        for (i = 0; i < ((buffer_size+3)>>2); i++)
-        {
-            uint8_t *buf;
-            uint32_t temp = 0;
-            buf = faad_getbitbuffer(&ld, 32);
-            //temp = getdword((void*)buf);
-            temp = *((uint32_t*)buf);
-            printf("0x%.8X\n", temp);
-            free(buf);
-        }
-        faad_endbits(&ld);
-        faad_initbits(&ld, buffer, buffer_size);
-    }
-#endif
-
-#ifdef DRM
-    if (hDecoder->object_type == DRM_ER_LC)
-    {
-        /* We do not support stereo right now */
-        if (0) //(hDecoder->channelConfiguration == 2)
-        {
-            hInfo->error = 28; // Throw CRC error
-            goto error;
-        }
-
-        faad_getbits(&ld, 8
-            DEBUGVAR(1,1,"NeAACDecDecode(): skip CRC"));
-    }
-#endif
-
-    if (hDecoder->adts_header_present)
-    {
-        adts_header adts;
-
-        adts.old_format = hDecoder->config.useOldADTSFormat;
-        if ((hInfo->error = adts_frame(&adts, &ld)) > 0)
-            goto error;
-
-        /* MPEG2 does byte_alignment() here,
-         * but ADTS header is always multiple of 8 bits in MPEG2
-         * so not needed to actually do it.
-         */
-    }
-
-#ifdef ANALYSIS
-    dbg_count = 0;
-#endif
-
-    /* decode the complete bitstream */
-#ifdef DRM
-    if (/*(hDecoder->object_type == 6) ||*/ (hDecoder->object_type == DRM_ER_LC))
-    {
-        DRM_aac_scalable_main_element(hDecoder, hInfo, &ld, &hDecoder->pce, hDecoder->drc);
-    } else {
-#endif
-        raw_data_block(hDecoder, hInfo, &ld, &hDecoder->pce, hDecoder->drc);
-#ifdef DRM
-    }
-#endif
-
-    channels = hDecoder->fr_channels;
-
-    if (hInfo->error > 0)
-        goto error;
-
-    /* safety check */
-    if (channels == 0 || channels > MAX_CHANNELS)
-    {
-        /* invalid number of channels */
-        hInfo->error = 12;
-        goto error;
-    }
-
-    /* no more bit reading after this */
-    bitsconsumed = faad_get_processed_bits(&ld);
-    hInfo->bytesconsumed = bit2byte(bitsconsumed);
-    if (ld.error)
-    {
-        hInfo->error = 14;
-        goto error;
-    }
-    faad_endbits(&ld);
-
-
-    if (!hDecoder->adts_header_present && !hDecoder->adif_header_present)
-    {
-        if (hDecoder->channelConfiguration == 0)
-            hDecoder->channelConfiguration = channels;
-
-        if (channels == 8) /* 7.1 */
-            hDecoder->channelConfiguration = 7;
-        if (channels == 7) /* not a standard channelConfiguration */
-            hDecoder->channelConfiguration = 0;
-    }
-
-    if ((channels == 5 || channels == 6) && hDecoder->config.downMatrix)
-    {
-        hDecoder->downMatrix = 1;
-        output_channels = 2;
-    } else {
-        output_channels = channels;
-    }
-
-#if (defined(PS_DEC) || defined(DRM_PS))
-    hDecoder->upMatrix = 0;
-    /* check if we have a mono file */
-    if (output_channels == 1)
-    {
-        /* upMatrix to 2 channels for implicit signalling of PS */
-        hDecoder->upMatrix = 1;
-        output_channels = 2;
-    }
-#endif
-
-    /* Make a channel configuration based on either a PCE or a channelConfiguration */
-    create_channel_config(hDecoder, hInfo);
-
-    /* number of samples in this frame */
-    hInfo->samples = frame_len*output_channels;
-    /* number of channels in this frame */
-    hInfo->channels = output_channels;
-    /* samplerate */
-    hInfo->samplerate = get_sample_rate(hDecoder->sf_index);
-    /* object type */
-    hInfo->object_type = hDecoder->object_type;
-    /* sbr */
-    hInfo->sbr = NO_SBR;
-    /* header type */
-    hInfo->header_type = RAW;
-    if (hDecoder->adif_header_present)
-        hInfo->header_type = ADIF;
-    if (hDecoder->adts_header_present)
-        hInfo->header_type = ADTS;
-#if (defined(PS_DEC) || defined(DRM_PS))
-    hInfo->ps = hDecoder->ps_used_global;
-#endif
-
-    /* check if frame has channel elements */
-    if (channels == 0)
-    {
-        hDecoder->frame++;
-        return NULL;
-    }
-
-    /* allocate the buffer for the final samples */
-    if ((hDecoder->sample_buffer == NULL) ||
-        (hDecoder->alloced_channels != output_channels))
-    {
-        static const uint8_t str[] = { sizeof(int16_t), sizeof(int32_t), sizeof(int32_t),
-            sizeof(float32_t), sizeof(double), sizeof(int16_t), sizeof(int16_t),
-            sizeof(int16_t), sizeof(int16_t), 0, 0, 0
-        };
-        uint8_t stride = str[hDecoder->config.outputFormat-1];
-#ifdef SBR_DEC
-        if (((hDecoder->sbr_present_flag == 1)&&(!hDecoder->downSampledSBR)) || (hDecoder->forceUpSampling == 1))
-        {
-            stride = 2 * stride;
-        }
-#endif
-        /* check if we want to use internal sample_buffer */
-        if (sample_buffer_size == 0)
-        {
-            if (hDecoder->sample_buffer)
-                faad_free(hDecoder->sample_buffer);
-            hDecoder->sample_buffer = NULL;
-            hDecoder->sample_buffer = faad_malloc(frame_len*output_channels*stride);
-        } else if (sample_buffer_size < frame_len*output_channels*stride) {
-            /* provided sample buffer is not big enough */
-            hInfo->error = 27;
-            return NULL;
-        }
-        hDecoder->alloced_channels = output_channels;
-    }
-
-    if (sample_buffer_size == 0)
-    {
-        sample_buffer = hDecoder->sample_buffer;
-    } else {
-        sample_buffer = *sample_buffer2;
-    }
-
-#ifdef SBR_DEC
-    if ((hDecoder->sbr_present_flag == 1) || (hDecoder->forceUpSampling == 1))
-    {
-        uint8_t ele;
-
-        /* this data is different when SBR is used or when the data is upsampled */
-        if (!hDecoder->downSampledSBR)
-        {
-            frame_len *= 2;
-            hInfo->samples *= 2;
-            hInfo->samplerate *= 2;
-        }
-
-        /* check if every element was provided with SBR data */
-        for (ele = 0; ele < hDecoder->fr_ch_ele; ele++)
-        {
-            if (hDecoder->sbr[ele] == NULL)
-            {
-                hInfo->error = 25;
-                goto error;
-            }
-        }
-
-        /* sbr */
-        if (hDecoder->sbr_present_flag == 1)
-        {
-            hInfo->object_type = HE_AAC;
-            hInfo->sbr = SBR_UPSAMPLED;
-        } else {
-            hInfo->sbr = NO_SBR_UPSAMPLED;
-        }
-        if (hDecoder->downSampledSBR)
-        {
-            hInfo->sbr = SBR_DOWNSAMPLED;
-        }
-    }
-#endif
-
-
-    sample_buffer = output_to_PCM(hDecoder, hDecoder->time_out, sample_buffer,
-        output_channels, frame_len, hDecoder->config.outputFormat);
-
-
-#ifdef DRM
-    //conceal_output(hDecoder, frame_len, output_channels, sample_buffer);
-#endif
-
-
-    hDecoder->postSeekResetFlag = 0;
-
-    hDecoder->frame++;
-#ifdef LD_DEC
-    if (hDecoder->object_type != LD)
-    {
-#endif
-        if (hDecoder->frame <= 1)
-            hInfo->samples = 0;
-#ifdef LD_DEC
-    } else {
-        /* LD encoders will give lower delay */
-        if (hDecoder->frame <= 0)
-            hInfo->samples = 0;
-    }
-#endif
-
-    /* cleanup */
-#ifdef ANALYSIS
-    fflush(stdout);
-#endif
-
-#ifdef PROFILE
-    count = faad_get_ts() - count;
-    hDecoder->cycles += count;
-#endif
-
-    return sample_buffer;
-
-error:
-
-
-#ifdef DRM
-    hDecoder->error_state = ERROR_STATE_INIT;
-#endif
-
-    /* reset filterbank state */
-    for (i = 0; i < MAX_CHANNELS; i++)
-    {
-        if (hDecoder->fb_intermed[i] != NULL)
-        {
-            memset(hDecoder->fb_intermed[i], 0, hDecoder->frameLength*sizeof(real_t));
-        }
-    }
-#ifdef SBR_DEC
-    for (i = 0; i < MAX_SYNTAX_ELEMENTS; i++)
-    {
-        if (hDecoder->sbr[i] != NULL)
-        {
-            sbrReset(hDecoder->sbr[i]);
-        }
-    }
-#endif
-
-
-    faad_endbits(&ld);
-
-    /* cleanup */
-#ifdef ANALYSIS
-    fflush(stdout);
-#endif
-
-    return NULL;
-}
diff --git a/lib/libfaad2/libfaad/decoder.h b/lib/libfaad2/libfaad/decoder.h
deleted file mode 100644 (file)
index a4cb567..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: decoder.h,v 1.48 2007/11/01 12:33:30 menno Exp $
-**/
-
-#ifndef __DECODER_H__
-#define __DECODER_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef _WIN32
-  #pragma pack(push, 8)
-  #ifndef NEAACDECAPI
-    #define NEAACDECAPI __cdecl
-  #endif
-#else
-  #ifndef NEAACDECAPI
-    #define NEAACDECAPI
-  #endif
-#endif
-
-
-/* library output formats */
-#define FAAD_FMT_16BIT  1
-#define FAAD_FMT_24BIT  2
-#define FAAD_FMT_32BIT  3
-#define FAAD_FMT_FLOAT  4
-#define FAAD_FMT_FIXED  FAAD_FMT_FLOAT
-#define FAAD_FMT_DOUBLE 5
-
-#define LC_DEC_CAP            (1<<0)
-#define MAIN_DEC_CAP          (1<<1)
-#define LTP_DEC_CAP           (1<<2)
-#define LD_DEC_CAP            (1<<3)
-#define ERROR_RESILIENCE_CAP  (1<<4)
-#define FIXED_POINT_CAP       (1<<5)
-
-#define FRONT_CHANNEL_CENTER (1)
-#define FRONT_CHANNEL_LEFT   (2)
-#define FRONT_CHANNEL_RIGHT  (3)
-#define SIDE_CHANNEL_LEFT    (4)
-#define SIDE_CHANNEL_RIGHT   (5)
-#define BACK_CHANNEL_LEFT    (6)
-#define BACK_CHANNEL_RIGHT   (7)
-#define BACK_CHANNEL_CENTER  (8)
-#define LFE_CHANNEL          (9)
-#define UNKNOWN_CHANNEL      (0)
-
-char* NEAACDECAPI NeAACDecGetErrorMessage(uint8_t errcode);
-
-uint32_t NEAACDECAPI NeAACDecGetCapabilities(void);
-
-NeAACDecHandle NEAACDECAPI NeAACDecOpen(void);
-
-NeAACDecConfigurationPtr NEAACDECAPI NeAACDecGetCurrentConfiguration(NeAACDecHandle hDecoder);
-
-uint8_t NEAACDECAPI NeAACDecSetConfiguration(NeAACDecHandle hDecoder,
-                                             NeAACDecConfigurationPtr config);
-
-/* Init the library based on info from the AAC file (ADTS/ADIF) */
-int32_t NEAACDECAPI NeAACDecInit(NeAACDecHandle hDecoder,
-                                 uint8_t *buffer,
-                                 uint32_t buffer_size,
-                                 uint32_t *samplerate,
-                                 uint8_t *channels);
-
-/* Init the library using a DecoderSpecificInfo */
-int8_t NEAACDECAPI NeAACDecInit2(NeAACDecHandle hDecoder, uint8_t *pBuffer,
-                                 uint32_t SizeOfDecoderSpecificInfo,
-                                 uint32_t *samplerate, uint8_t *channels);
-
-/* Init the library for DRM */
-int8_t NEAACDECAPI NeAACDecInitDRM(NeAACDecHandle *hDecoder, uint32_t samplerate,
-                                   uint8_t channels);
-
-void NEAACDECAPI NeAACDecClose(NeAACDecHandle hDecoder);
-
-void NEAACDECAPI NeAACDecPostSeekReset(NeAACDecHandle hDecoder, int32_t frame);
-
-void* NEAACDECAPI NeAACDecDecode(NeAACDecHandle hDecoder,
-                                 NeAACDecFrameInfo *hInfo,
-                                 uint8_t *buffer,
-                                 uint32_t buffer_size);
-
-void* NEAACDECAPI NeAACDecDecode2(NeAACDecHandle hDecoder,
-                                  NeAACDecFrameInfo *hInfo,
-                                  uint8_t *buffer, uint32_t buffer_size,
-                                  void **sample_buffer, uint32_t sample_buffer_size);
-
-#ifdef _WIN32
-  #pragma pack(pop)
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/drc.c b/lib/libfaad2/libfaad/drc.c
deleted file mode 100644 (file)
index 3c9ff3a..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: drc.c,v 1.28 2007/11/01 12:33:30 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-#include <string.h>
-#include "syntax.h"
-#include "drc.h"
-
-drc_info *drc_init(real_t cut, real_t boost)
-{
-    drc_info *drc = (drc_info*)faad_malloc(sizeof(drc_info));
-    memset(drc, 0, sizeof(drc_info));
-
-    drc->ctrl1 = cut;
-    drc->ctrl2 = boost;
-
-    drc->num_bands = 1;
-    drc->band_top[0] = 1024/4 - 1;
-    drc->dyn_rng_sgn[0] = 1;
-    drc->dyn_rng_ctl[0] = 0;
-
-    return drc;
-}
-
-void drc_end(drc_info *drc)
-{
-    if (drc) faad_free(drc);
-}
-
-#ifdef FIXED_POINT
-static real_t drc_pow2_table[] =
-{
-    COEF_CONST(0.5146511183),
-    COEF_CONST(0.5297315472),
-    COEF_CONST(0.5452538663),
-    COEF_CONST(0.5612310242),
-    COEF_CONST(0.5776763484),
-    COEF_CONST(0.5946035575),
-    COEF_CONST(0.6120267717),
-    COEF_CONST(0.6299605249),
-    COEF_CONST(0.6484197773),
-    COEF_CONST(0.6674199271),
-    COEF_CONST(0.6869768237),
-    COEF_CONST(0.7071067812),
-    COEF_CONST(0.7278265914),
-    COEF_CONST(0.7491535384),
-    COEF_CONST(0.7711054127),
-    COEF_CONST(0.7937005260),
-    COEF_CONST(0.8169577266),
-    COEF_CONST(0.8408964153),
-    COEF_CONST(0.8655365610),
-    COEF_CONST(0.8908987181),
-    COEF_CONST(0.9170040432),
-    COEF_CONST(0.9438743127),
-    COEF_CONST(0.9715319412),
-    COEF_CONST(1.0000000000),
-    COEF_CONST(1.0293022366),
-    COEF_CONST(1.0594630944),
-    COEF_CONST(1.0905077327),
-    COEF_CONST(1.1224620483),
-    COEF_CONST(1.1553526969),
-    COEF_CONST(1.1892071150),
-    COEF_CONST(1.2240535433),
-    COEF_CONST(1.2599210499),
-    COEF_CONST(1.2968395547),
-    COEF_CONST(1.3348398542),
-    COEF_CONST(1.3739536475),
-    COEF_CONST(1.4142135624),
-    COEF_CONST(1.4556531828),
-    COEF_CONST(1.4983070769),
-    COEF_CONST(1.5422108254),
-    COEF_CONST(1.5874010520),
-    COEF_CONST(1.6339154532),
-    COEF_CONST(1.6817928305),
-    COEF_CONST(1.7310731220),
-    COEF_CONST(1.7817974363),
-    COEF_CONST(1.8340080864),
-    COEF_CONST(1.8877486254),
-    COEF_CONST(1.9430638823)
-};
-#endif
-
-void drc_decode(drc_info *drc, real_t *spec)
-{
-    uint16_t i, bd, top;
-#ifdef FIXED_POINT
-    int32_t exp, frac;
-#else
-    real_t factor, exp;
-#endif
-    uint16_t bottom = 0;
-
-    if (drc->num_bands == 1)
-        drc->band_top[0] = 1024/4 - 1;
-
-    for (bd = 0; bd < drc->num_bands; bd++)
-    {
-        top = 4 * (drc->band_top[bd] + 1);
-
-#ifndef FIXED_POINT
-        /* Decode DRC gain factor */
-        if (drc->dyn_rng_sgn[bd])  /* compress */
-            exp = -drc->ctrl1 * (drc->dyn_rng_ctl[bd] - (DRC_REF_LEVEL - drc->prog_ref_level))/REAL_CONST(24.0);
-        else /* boost */
-            exp = drc->ctrl2 * (drc->dyn_rng_ctl[bd] - (DRC_REF_LEVEL - drc->prog_ref_level))/REAL_CONST(24.0);
-        factor = (real_t)pow(2.0, exp);
-
-        /* Apply gain factor */
-        for (i = bottom; i < top; i++)
-            spec[i] *= factor;
-#else
-        /* Decode DRC gain factor */
-        if (drc->dyn_rng_sgn[bd])  /* compress */
-        {
-            exp = -1 * (drc->dyn_rng_ctl[bd] - (DRC_REF_LEVEL - drc->prog_ref_level))/ 24;
-            frac = -1 * (drc->dyn_rng_ctl[bd] - (DRC_REF_LEVEL - drc->prog_ref_level)) % 24;
-        } else { /* boost */
-            exp = (drc->dyn_rng_ctl[bd] - (DRC_REF_LEVEL - drc->prog_ref_level))/ 24;
-            frac = (drc->dyn_rng_ctl[bd] - (DRC_REF_LEVEL - drc->prog_ref_level)) % 24;
-        }
-
-        /* Apply gain factor */
-        if (exp < 0)
-        {
-            for (i = bottom; i < top; i++)
-            {
-                spec[i] >>= -exp;
-                if (frac)
-                    spec[i] = MUL_R(spec[i],drc_pow2_table[frac+23]);
-            }
-        } else {
-            for (i = bottom; i < top; i++)
-            {
-                spec[i] <<= exp;
-                if (frac)
-                    spec[i] = MUL_R(spec[i],drc_pow2_table[frac+23]);
-            }
-        }
-#endif
-
-        bottom = top;
-    }
-}
diff --git a/lib/libfaad2/libfaad/drc.h b/lib/libfaad2/libfaad/drc.h
deleted file mode 100644 (file)
index 49118bc..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: drc.h,v 1.22 2007/11/01 12:33:30 menno Exp $
-**/
-
-#ifndef __DRC_H__
-#define __DRC_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define DRC_REF_LEVEL 20*4 /* -20 dB */
-
-
-drc_info *drc_init(real_t cut, real_t boost);
-void drc_end(drc_info *drc);
-void drc_decode(drc_info *drc, real_t *spec);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/drm_dec.c b/lib/libfaad2/libfaad/drm_dec.c
deleted file mode 100644 (file)
index 61cb818..0000000
+++ /dev/null
@@ -1,965 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: drm_dec.c,v 1.9 2007/11/01 12:33:30 menno Exp $
-**/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include <math.h>
-#include "common.h"
-
-#ifdef DRM
-
-#include "sbr_dec.h"
-#include "drm_dec.h"
-#include "bits.h"
-
-/* constants */
-#define DECAY_CUTOFF         3
-#define DECAY_SLOPE          0.05f
-
-/* type definitaions */
-typedef const int8_t (*drm_ps_huff_tab)[2];
-
-
-/* binary search huffman tables */
-static const int8_t f_huffman_sa[][2] = 
-{
-    { /*0*/ -15, 1 },             /* index 0: 1 bits:  x */
-    { 2, 3 },                     /* index 1: 2 bits:  1x */
-    { /*7*/ -8, 4 },              /* index 2: 3 bits:  10x */
-    { 5, 6 },                     /* index 3: 3 bits:  11x */
-    { /*1*/ -14, /*-1*/ -16 },    /* index 4: 4 bits:  101x */
-    { /*-2*/ -17, 7 },            /* index 5: 4 bits:  110x */
-    { 8, 9 },                     /* index 6: 4 bits:  111x */
-    { /*2*/ -13, /*-3*/ -18 },    /* index 7: 5 bits:  1101x */
-    { /*3*/ -12, 10 },            /* index 8: 5 bits:  1110x */
-    { 11, 12 },                   /* index 9: 5 bits:  1111x */
-    { /*4*/ -11, /*5*/ -10 },     /* index 10: 6 bits: 11101x */
-    { /*-4*/ -19, /*-5*/ -20 },   /* index 11: 6 bits: 11110x */
-    { /*6*/ -9, 13 },             /* index 12: 6 bits: 11111x */
-    { /*-7*/ -22, /*-6*/ -21 }    /* index 13: 7 bits: 111111x */
-};
-
-static const int8_t t_huffman_sa[][2] = 
-{
-    { /*0*/ -15, 1 },             /* index 0: 1 bits: x */
-    { 2, 3 },                     /* index 1: 2 bits: 1x */
-    { /*-1*/ -16, /*1*/ -14 },    /* index 2: 3 bits: 10x */
-    { 4, 5 },                     /* index 3: 3 bits: 11x */
-    { /*-2*/ -17, /*2*/ -13 },    /* index 4: 4 bits: 110x */
-    { 6, 7 },                     /* index 5: 4 bits: 111x */
-    { /*-3*/ -18, /*3*/ -12 },    /* index 6: 5 bits: 1110x */
-    { 8, 9 },                     /* index 7: 5 bits: 1111x */
-    { /*-4*/ -19, /*4*/ -11 },    /* index 8: 6 bits: 11110x */
-    { 10, 11 },                   /* index 9: 6 bits: 11111x */
-    { /*-5*/ -20, /*5*/ -10 },    /* index 10: 7 bits: 111110x */
-    { /*-6*/ -21, 12 },           /* index 11: 7 bits: 111111x */
-    { /*-7*/ -22, 13 },           /* index 12: 8 bits: 1111111x */
-    { /*6*/ -9, /*7*/ -8 }        /* index 13: 9 bits: 11111111x */
-};
-
-static const int8_t f_huffman_pan[][2] = 
-{
-    { /*0*/ -15, 1 },             /* index 0: 1 bits: x */
-    { /*-1*/ -16, 2 },            /* index 1: 2 bits: 1x */
-    { /*1*/ -14, 3 },             /* index 2: 3 bits: 11x */
-    { 4, 5 },                     /* index 3: 4 bits: 111x */
-    { /*-2*/ -17, /*2*/ -13 },    /* index 4: 5 bits: 1110x */
-    { 6, 7 },                     /* index 5: 5 bits: 1111x */
-    { /*-3*/ -18, /*3*/ -12 },    /* index 6: 6 bits: 11110x */
-    { 8, 9 },                     /* index 7: 6 bits: 11111x */
-    { /*-4*/ -19, /*4*/ -11 },    /* index 8: 7 bits: 111110x */
-    { 10, 11 },                   /* index 9: 7 bits: 111111x */
-    { /*-5*/ -20, /*5*/ -10 },    /* index 10: 8 bits: 1111110x */
-    { 12, 13 },                   /* index 11: 8 bits: 1111111x */
-    { /*-6*/ -21, /*6*/ -9 },     /* index 12: 9 bits: 11111110x */
-    { /*-7*/ -22, 14 },           /* index 13: 9 bits: 11111111x */
-    { /*7*/ -8, 15 },             /* index 14: 10 bits: 111111111x */
-    { 16, 17 },                   /* index 15: 11 bits: 1111111111x */
-    { /*-8*/ -23, /*8*/ -7 },     /* index 16: 12 bits: 11111111110x */
-    { 18, 19 },                   /* index 17: 12 bits: 11111111111x */
-    { /*-10*/ -25, 20 },          /* index 18: 13 bits: 111111111110x */
-    { 21, 22 },                   /* index 19: 13 bits: 111111111111x */
-    { /*-9*/ -24, /*9*/ -6 },     /* index 20: 14 bits: 1111111111101x */
-    { /*10*/ -5, 23 },            /* index 21: 14 bits: 1111111111110x */
-    { 24, 25 },                   /* index 22: 14 bits: 1111111111111x */
-    { /*-13*/ -28, /*-11*/ -26 }, /* index 23: 15 bits: 11111111111101x */
-    { /*11*/ -4, /*13*/ -2 },     /* index 24: 15 bits: 11111111111110x */
-    { 26, 27 },                   /* index 25: 15 bits: 11111111111111x */
-    { /*-14*/ -29, /*-12*/ -27 }, /* index 26: 16 bits: 111111111111110x */
-    { /*12*/ -3, /*14*/ -1 }      /* index 27: 16 bits: 111111111111111x */
-};
-
-static const int8_t t_huffman_pan[][2] = 
-{
-    { /*0*/ -15, 1 },             /* index 0: 1 bits: x */
-    { /*-1*/ -16, 2 },            /* index 1: 2 bits: 1x */
-    { /*1*/ -14, 3 },             /* index 2: 3 bits: 11x */
-    { /*-2*/ -17, 4 },            /* index 3: 4 bits: 111x */
-    { /*2*/ -13, 5 },             /* index 4: 5 bits: 1111x */
-    { /*-3*/ -18, 6 },            /* index 5: 6 bits: 11111x */
-    { /*3*/ -12, 7 },             /* index 6: 7 bits: 111111x */
-    { /*-4*/ -19, 8 },            /* index 7: 8 bits: 1111111x */
-    { /*4*/ -11, 9 },             /* index 8: 9 bits: 11111111x */
-    { 10, 11 },                   /* index 9: 10 bits: 111111111x */
-    { /*-5*/ -20, /*5*/ -10 },    /* index 10: 11 bits: 1111111110x */
-    { 12, 13 },                   /* index 11: 11 bits: 1111111111x */
-    { /*-6*/ -21, /*6*/ -9 },     /* index 12: 12 bits: 11111111110x */
-    { 14, 15 },                   /* index 13: 12 bits: 11111111111x */
-    { /*-7*/ -22, /*7*/ -8 },     /* index 14: 13 bits: 111111111110x */
-    { 16, 17 },                   /* index 15: 13 bits: 111111111111x */
-    { /*-8*/ -23, /*8*/ -7 },     /* index 16: 14 bits: 1111111111110x */
-    { 18, 19 },                   /* index 17: 14 bits: 1111111111111x */
-    { /*-10*/ -25, /*10*/ -5 },   /* index 18: 15 bits: 11111111111110x */
-    { 20, 21 },                   /* index 19: 15 bits: 11111111111111x */
-    { /*-9*/ -24, /*9*/ -6 },     /* index 20: 16 bits: 111111111111110x */
-    { 22, 23 },                   /* index 21: 16 bits: 111111111111111x */
-    { 24, 25 },                   /* index 22: 17 bits: 1111111111111110x */
-    { 26, 27 },                   /* index 23: 17 bits: 1111111111111111x */
-    { /*-14*/ -29, /*-13*/ -28 }, /* index 24: 18 bits: 11111111111111100x */
-    { /*-12*/ -27, /*-11*/ -26 }, /* index 25: 18 bits: 11111111111111101x */
-    { /*11*/ -4, /*12*/ -3 },     /* index 26: 18 bits: 11111111111111110x */
-    { /*13*/ -2, /*14*/ -1 }      /* index 27: 18 bits: 11111111111111111x */
-};
-
-/* There are 3 classes in the standard but the last 2 are identical */
-static const real_t sa_quant[8][2] = 
-{
-    { FRAC_CONST(0.0000), FRAC_CONST(0.0000) },
-    { FRAC_CONST(0.0501), FRAC_CONST(0.1778) },
-    { FRAC_CONST(0.0706), FRAC_CONST(0.2818) },
-    { FRAC_CONST(0.0995), FRAC_CONST(0.4467) },
-    { FRAC_CONST(0.1399), FRAC_CONST(0.5623) },
-    { FRAC_CONST(0.1957), FRAC_CONST(0.7079) },
-    { FRAC_CONST(0.2713), FRAC_CONST(0.8913) },
-    { FRAC_CONST(0.3699), FRAC_CONST(1.0000) },
-};
-
-/* We don't need the actual quantizer values */
-#if 0
-static const real_t pan_quant[8][5] = 
-{
-    { COEF_CONST(0.0000), COEF_CONST(0.0000), COEF_CONST(0.0000), COEF_CONST(0.0000), COEF_CONST(0.0000) },
-    { COEF_CONST(0.1661), COEF_CONST(0.1661), COEF_CONST(0.3322), COEF_CONST(0.3322), COEF_CONST(0.3322) },
-    { COEF_CONST(0.3322), COEF_CONST(0.3322), COEF_CONST(0.6644), COEF_CONST(0.8305), COEF_CONST(0.8305) },
-    { COEF_CONST(0.4983), COEF_CONST(0.6644), COEF_CONST(0.9966), COEF_CONST(1.4949), COEF_CONST(1.6610) },
-    { COEF_CONST(0.6644), COEF_CONST(0.9966), COEF_CONST(1.4949), COEF_CONST(2.1593), COEF_CONST(2.4914) },
-    { COEF_CONST(0.8305), COEF_CONST(1.3288), COEF_CONST(2.1593), COEF_CONST(2.9897), COEF_CONST(3.4880) },
-    { COEF_CONST(0.9966), COEF_CONST(1.8271), COEF_CONST(2.8236), COEF_CONST(3.8202), COEF_CONST(4.6507) },
-    { COEF_CONST(1.3288), COEF_CONST(2.3253), COEF_CONST(3.4880), COEF_CONST(4.6507), COEF_CONST(5.8134) },
-};
-#endif
-
-/* 2^(pan_quant[x][y] */
-static const real_t pan_pow_2_pos[8][5] = {
-    { REAL_CONST(1.0000000), REAL_CONST(1.0000000), REAL_CONST(1.0000000), REAL_CONST(1.0000000), REAL_CONST(1.0000000)  },
-    { REAL_CONST(1.1220021), REAL_CONST(1.1220021), REAL_CONST(1.2589312), REAL_CONST(1.2589312), REAL_CONST(1.2589312)  },
-    { REAL_CONST(1.2589312), REAL_CONST(1.2589312), REAL_CONST(1.5849090), REAL_CONST(1.7783016), REAL_CONST(1.7783016)  },
-    { REAL_CONST(1.4125481), REAL_CONST(1.5849090), REAL_CONST(1.9952921), REAL_CONST(2.8184461), REAL_CONST(3.1623565)  },
-    { REAL_CONST(1.5849090), REAL_CONST(1.9952922), REAL_CONST(2.8184461), REAL_CONST(4.4669806), REAL_CONST(5.6232337)  },
-    { REAL_CONST(1.7783016), REAL_CONST(2.5119365), REAL_CONST(4.4669806), REAL_CONST(7.9430881), REAL_CONST(11.219994)  },
-    { REAL_CONST(1.9952921), REAL_CONST(3.5482312), REAL_CONST(7.0792671), REAL_CONST(14.125206), REAL_CONST(25.118876)  },
-    { REAL_CONST(2.5119365), REAL_CONST(5.0116998), REAL_CONST(11.219994), REAL_CONST(25.118876), REAL_CONST(56.235140)  }
-};
-
-/* 2^(-pan_quant[x][y] */
-static const real_t pan_pow_2_neg[8][5] = {
-    { REAL_CONST(1),         REAL_CONST(1),         REAL_CONST(1),         REAL_CONST(1),         REAL_CONST(1)          },
-    { REAL_CONST(0.8912487), REAL_CONST(0.8912487), REAL_CONST(0.7943242), REAL_CONST(0.7943242), REAL_CONST(0.7943242)  },
-    { REAL_CONST(0.7943242), REAL_CONST(0.7943242), REAL_CONST(0.6309511), REAL_CONST(0.5623344), REAL_CONST(0.5623344)  },
-    { REAL_CONST(0.7079405), REAL_CONST(0.6309511), REAL_CONST(0.5011797), REAL_CONST(0.3548054), REAL_CONST(0.3162199)  },
-    { REAL_CONST(0.6309511), REAL_CONST(0.5011797), REAL_CONST(0.3548054), REAL_CONST(0.2238649), REAL_CONST(0.1778336)  },
-    { REAL_CONST(0.5623343), REAL_CONST(0.3980992), REAL_CONST(0.2238649), REAL_CONST(0.1258956), REAL_CONST(0.0891266)  },
-    { REAL_CONST(0.5011797), REAL_CONST(0.2818306), REAL_CONST(0.1412576), REAL_CONST(0.0707954), REAL_CONST(0.0398107)  },
-    { REAL_CONST(0.3980992), REAL_CONST(0.1995331), REAL_CONST(0.0891267), REAL_CONST(0.0398107), REAL_CONST(0.0177825)  }
-};
-
-/* 2^(pan_quant[x][y]/30) */
-static const real_t pan_pow_2_30_pos[8][5] = {
-    { COEF_CONST(1),           COEF_CONST(1),           COEF_CONST(1),           COEF_CONST(1),           COEF_CONST(1)           }, 
-    { COEF_CONST(1.003845098), COEF_CONST(1.003845098), COEF_CONST(1.007704982), COEF_CONST(1.007704982), COEF_CONST(1.007704982) }, 
-    { COEF_CONST(1.007704982), COEF_CONST(1.007704982), COEF_CONST(1.01546933),  COEF_CONST(1.019373909), COEF_CONST(1.019373909) }, 
-    { COEF_CONST(1.011579706), COEF_CONST(1.01546933),  COEF_CONST(1.023293502), COEF_CONST(1.035142941), COEF_CONST(1.039123167) }, 
-    { COEF_CONST(1.01546933),  COEF_CONST(1.023293502), COEF_CONST(1.035142941), COEF_CONST(1.051155908), COEF_CONST(1.059252598) },
-    { COEF_CONST(1.019373909), COEF_CONST(1.03117796),  COEF_CONST(1.051155908), COEF_CONST(1.071518432), COEF_CONST(1.0839263)   }, 
-    { COEF_CONST(1.023293502), COEF_CONST(1.043118698), COEF_CONST(1.067414119), COEF_CONST(1.092277933), COEF_CONST(1.113439626) }, 
-    { COEF_CONST(1.03117796),  COEF_CONST(1.055195268), COEF_CONST(1.0839263),   COEF_CONST(1.113439626), COEF_CONST(1.143756546) }
-};
-
-/* 2^(-pan_quant[x][y]/30) */
-static const real_t pan_pow_2_30_neg[8][5] = {
-    { COEF_CONST(1),           COEF_CONST(1),           COEF_CONST(1),           COEF_CONST(1),           COEF_CONST(1)           },
-    { COEF_CONST(0.99616963),  COEF_CONST(0.99616963),  COEF_CONST(0.992353931), COEF_CONST(0.992353931), COEF_CONST(0.99235393)  }, 
-    { COEF_CONST(0.992353931), COEF_CONST(0.992353931), COEF_CONST(0.984766325), COEF_CONST(0.980994305), COEF_CONST(0.980994305) }, 
-    { COEF_CONST(0.988552848), COEF_CONST(0.984766325), COEF_CONST(0.977236734), COEF_CONST(0.966050157), COEF_CONST(0.962349827) }, 
-    { COEF_CONST(0.984766325), COEF_CONST(0.977236734), COEF_CONST(0.966050157), COEF_CONST(0.951333663), COEF_CONST(0.944061881) }, 
-    { COEF_CONST(0.980994305), COEF_CONST(0.969764715), COEF_CONST(0.951333663), COEF_CONST(0.933255062), COEF_CONST(0.922571949) }, 
-    { COEF_CONST(0.977236734), COEF_CONST(0.958663671), COEF_CONST(0.936843519), COEF_CONST(0.915517901), COEF_CONST(0.898117847) }, 
-    { COEF_CONST(0.969764715), COEF_CONST(0.947691892), COEF_CONST(0.922571949), COEF_CONST(0.898117847), COEF_CONST(0.874311936) }
-};
-
-static const real_t g_decayslope[MAX_SA_BAND] = {
-    FRAC_CONST(1),   FRAC_CONST(1),   FRAC_CONST(1),   FRAC_CONST(0.95),FRAC_CONST(0.9), FRAC_CONST(0.85), FRAC_CONST(0.8), 
-    FRAC_CONST(0.75),FRAC_CONST(0.7), FRAC_CONST(0.65),FRAC_CONST(0.6), FRAC_CONST(0.55),FRAC_CONST(0.5),  FRAC_CONST(0.45), 
-    FRAC_CONST(0.4), FRAC_CONST(0.35),FRAC_CONST(0.3), FRAC_CONST(0.25),FRAC_CONST(0.2), FRAC_CONST(0.15), FRAC_CONST(0.1),
-    FRAC_CONST(0.05),FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0),    FRAC_CONST(0), 
-    FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0),    FRAC_CONST(0),  
-    FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0),    FRAC_CONST(0),   
-    FRAC_CONST(0),   FRAC_CONST(0),   FRAC_CONST(0)
-};
-
-static const real_t sa_sqrt_1_minus[8][2] = {
-    { FRAC_CONST(1),            FRAC_CONST(1)           },
-    { FRAC_CONST(0.998744206),  FRAC_CONST(0.984066644) },
-    { FRAC_CONST(0.997504707),  FRAC_CONST(0.959473168) },
-    { FRAC_CONST(0.995037562),  FRAC_CONST(0.894683804) },
-    { FRAC_CONST(0.990165638),  FRAC_CONST(0.826933317) },
-    { FRAC_CONST(0.980663811),  FRAC_CONST(0.706312672) },
-    { FRAC_CONST(0.962494836),  FRAC_CONST(0.45341406)  },
-    { FRAC_CONST(0.929071574),  FRAC_CONST(0)           }
-};
-
-static const uint8_t sa_freq_scale[9] = 
-{
-    0, 1, 2, 3, 5, 7, 10, 13, 23
-};
-
-static const uint8_t pan_freq_scale[21] = 
-{
-    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
-    11, 12, 13, 14, 15, 18, 22, 26, 32, 64
-};
-
-static const uint8_t pan_quant_class[20] = 
-{
-    0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-    2, 2, 2, 2, 3, 3, 3, 4, 4, 4
-};
-
-/* Inverse mapping lookup */
-static const uint8_t pan_inv_freq[64] = {
-     0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 
-    15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 
-    19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
-    19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19
-};
-
-static const uint8_t sa_inv_freq[MAX_SA_BAND] = {
-    0, 1, 2, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6,
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
-    7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 
-    7, 7, 7, 7, 7, 7, 7
-};
-
-static const real_t filter_coeff[] = 
-{
-    FRAC_CONST(0.65143905754106),
-    FRAC_CONST(0.56471812200776),
-    FRAC_CONST(0.48954165955695)
-};
-
-static const uint8_t delay_length[3] = 
-{
-    3, 4, 5
-};
-
-static const real_t delay_fraction[] = 
-{
-    FRAC_CONST(0.43), FRAC_CONST(0.75), FRAC_CONST(0.347)
-};
-
-static const real_t peak_decay = FRAC_CONST(0.76592833836465);
-
-static const real_t smooth_coeff = FRAC_CONST(0.25);
-
-/* Please note that these are the same tables as in plain PS */
-static const complex_t Q_Fract_allpass_Qmf[][3] = {
-    { { FRAC_CONST(0.7804303765), FRAC_CONST(0.6252426505) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.8550928831), FRAC_CONST(0.5184748173) } },
-    { { FRAC_CONST(-0.4399392009), FRAC_CONST(0.8980275393) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.0643581524), FRAC_CONST(0.9979268909) } },
-    { { FRAC_CONST(-0.9723699093), FRAC_CONST(-0.2334454209) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.9146071672), FRAC_CONST(0.4043435752) } },
-    { { FRAC_CONST(0.0157073960), FRAC_CONST(-0.9998766184) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.7814115286), FRAC_CONST(-0.6240159869) } },
-    { { FRAC_CONST(0.9792228341), FRAC_CONST(-0.2027871907) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.1920081824), FRAC_CONST(-0.9813933372) } },
-    { { FRAC_CONST(0.4115142524), FRAC_CONST(0.9114032984) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.9589683414), FRAC_CONST(-0.2835132182) } },
-    { { FRAC_CONST(-0.7996847630), FRAC_CONST(0.6004201174) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.6947838664), FRAC_CONST(0.7192186117) } },
-    { { FRAC_CONST(-0.7604058385), FRAC_CONST(-0.6494481564) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.3164770305), FRAC_CONST(0.9486001730) } },
-    { { FRAC_CONST(0.4679299891), FRAC_CONST(-0.8837655187) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.9874414206), FRAC_CONST(0.1579856575) } },
-    { { FRAC_CONST(0.9645573497), FRAC_CONST(0.2638732493) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.5966450572), FRAC_CONST(-0.8025052547) } },
-    { { FRAC_CONST(-0.0471066870), FRAC_CONST(0.9988898635) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.4357025325), FRAC_CONST(-0.9000906944) } },
-    { { FRAC_CONST(-0.9851093888), FRAC_CONST(0.1719288528) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.9995546937), FRAC_CONST(-0.0298405960) } },
-    { { FRAC_CONST(-0.3826831877), FRAC_CONST(-0.9238796234) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.4886211455), FRAC_CONST(0.8724960685) } },
-    { { FRAC_CONST(0.8181498647), FRAC_CONST(-0.5750049949) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.5477093458), FRAC_CONST(0.8366686702) } },
-    { { FRAC_CONST(0.7396308780), FRAC_CONST(0.6730127335) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.9951074123), FRAC_CONST(-0.0987988561) } },
-    { { FRAC_CONST(-0.4954589605), FRAC_CONST(0.8686313629) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.3725017905), FRAC_CONST(-0.9280315042) } },
-    { { FRAC_CONST(-0.9557929039), FRAC_CONST(-0.2940406799) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.6506417990), FRAC_CONST(-0.7593847513) } },
-    { { FRAC_CONST(0.0784594864), FRAC_CONST(-0.9969173074) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.9741733670), FRAC_CONST(0.2258014232) } },
-    { { FRAC_CONST(0.9900237322), FRAC_CONST(-0.1409008205) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.2502108514), FRAC_CONST(0.9681913853) } },
-    { { FRAC_CONST(0.3534744382), FRAC_CONST(0.9354441762) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.7427945137), FRAC_CONST(0.6695194840) } },
-    { { FRAC_CONST(-0.8358076215), FRAC_CONST(0.5490224361) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.9370992780), FRAC_CONST(-0.3490629196) } },
-    { { FRAC_CONST(-0.7181259394), FRAC_CONST(-0.6959131360) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.1237744763), FRAC_CONST(-0.9923103452) } },
-    { { FRAC_CONST(0.5224990249), FRAC_CONST(-0.8526399136) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.8226406574), FRAC_CONST(-0.5685616732) } },
-    { { FRAC_CONST(0.9460852146), FRAC_CONST(0.3239179254) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.8844994903), FRAC_CONST(0.4665412009) } },
-    { { FRAC_CONST(-0.1097348556), FRAC_CONST(0.9939609170) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.0047125919), FRAC_CONST(0.9999889135) } },
-    { { FRAC_CONST(-0.9939610362), FRAC_CONST(0.1097337380) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.8888573647), FRAC_CONST(0.4581840038) } },
-    { { FRAC_CONST(-0.3239168525), FRAC_CONST(-0.9460855722) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.8172453642), FRAC_CONST(-0.5762898922) } },
-    { { FRAC_CONST(0.8526405096), FRAC_CONST(-0.5224980116) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.1331215799), FRAC_CONST(-0.9910997152) } },
-    { { FRAC_CONST(0.6959123611), FRAC_CONST(0.7181267142) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.9403476119), FRAC_CONST(-0.3402152061) } },
-    { { FRAC_CONST(-0.5490233898), FRAC_CONST(0.8358070254) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.7364512086), FRAC_CONST(0.6764906645) } },
-    { { FRAC_CONST(-0.9354437590), FRAC_CONST(-0.3534754813) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.2593250275), FRAC_CONST(0.9657900929) } },
-    { { FRAC_CONST(0.1409019381), FRAC_CONST(-0.9900235534) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.9762582779), FRAC_CONST(0.2166097313) } },
-    { { FRAC_CONST(0.9969173670), FRAC_CONST(-0.0784583688) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.6434556246), FRAC_CONST(-0.7654833794) } },
-    { { FRAC_CONST(0.2940396070), FRAC_CONST(0.9557932615) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.3812320232), FRAC_CONST(-0.9244794250) } },
-    { { FRAC_CONST(-0.8686318994), FRAC_CONST(0.4954580069) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.9959943891), FRAC_CONST(-0.0894154981) } },
-    { { FRAC_CONST(-0.6730118990), FRAC_CONST(-0.7396316528) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.5397993922), FRAC_CONST(0.8417937160) } },
-    { { FRAC_CONST(0.5750059485), FRAC_CONST(-0.8181492686) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.4968227744), FRAC_CONST(0.8678520322) } },
-    { { FRAC_CONST(0.9238792062), FRAC_CONST(0.3826842010) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.9992290139), FRAC_CONST(-0.0392601527) } },
-    { { FRAC_CONST(-0.1719299555), FRAC_CONST(0.9851091504) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.4271997511), FRAC_CONST(-0.9041572809) } },
-    { { FRAC_CONST(-0.9988899231), FRAC_CONST(0.0471055657) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.6041822433), FRAC_CONST(-0.7968461514) } },
-    { { FRAC_CONST(-0.2638721764), FRAC_CONST(-0.9645576477) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.9859085083), FRAC_CONST(0.1672853529) } },
-    { { FRAC_CONST(0.8837660551), FRAC_CONST(-0.4679289758) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.3075223565), FRAC_CONST(0.9515408874) } },
-    { { FRAC_CONST(0.6494473219), FRAC_CONST(0.7604066133) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.7015317082), FRAC_CONST(0.7126382589) } },
-    { { FRAC_CONST(-0.6004210114), FRAC_CONST(0.7996840477) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.9562535882), FRAC_CONST(-0.2925389707) } },
-    { { FRAC_CONST(-0.9114028811), FRAC_CONST(-0.4115152657) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.1827499419), FRAC_CONST(-0.9831594229) } },
-    { { FRAC_CONST(0.2027882934), FRAC_CONST(-0.9792225957) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.7872582674), FRAC_CONST(-0.6166234016) } },
-    { { FRAC_CONST(0.9998766780), FRAC_CONST(-0.0157062728) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.9107555747), FRAC_CONST(0.4129458666) } },
-    { { FRAC_CONST(0.2334443331), FRAC_CONST(0.9723701477) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.0549497530), FRAC_CONST(0.9984891415) } },
-    { { FRAC_CONST(-0.8980280757), FRAC_CONST(0.4399381876) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.8599416018), FRAC_CONST(0.5103924870) } },
-    { { FRAC_CONST(-0.6252418160), FRAC_CONST(-0.7804310918) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.8501682281), FRAC_CONST(-0.5265110731) } },
-    { { FRAC_CONST(0.6252435446), FRAC_CONST(-0.7804297209) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.0737608299), FRAC_CONST(-0.9972759485) } },
-    { { FRAC_CONST(0.8980270624), FRAC_CONST(0.4399402142) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.9183775187), FRAC_CONST(-0.3957053721) } },
-    { { FRAC_CONST(-0.2334465086), FRAC_CONST(0.9723696709) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.7754954696), FRAC_CONST(0.6313531399) } },
-    { { FRAC_CONST(-0.9998766184), FRAC_CONST(-0.0157085191) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.2012493610), FRAC_CONST(0.9795400500) } },
-    { { FRAC_CONST(-0.2027861029), FRAC_CONST(-0.9792230725) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.9615978599), FRAC_CONST(0.2744622827) } },
-    { { FRAC_CONST(0.9114037752), FRAC_CONST(-0.4115132093) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.6879743338), FRAC_CONST(-0.7257350087) } },
-    { { FRAC_CONST(0.6004192233), FRAC_CONST(0.7996854186) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.3254036009), FRAC_CONST(-0.9455752373) } },
-    { { FRAC_CONST(-0.6494490504), FRAC_CONST(0.7604051232) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.9888865948), FRAC_CONST(-0.1486719251) } },
-    { { FRAC_CONST(-0.8837650418), FRAC_CONST(-0.4679309726) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.5890548825), FRAC_CONST(0.8080930114) } },
-    { { FRAC_CONST(0.2638743520), FRAC_CONST(-0.9645570517) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.4441666007), FRAC_CONST(0.8959442377) } },
-    { { FRAC_CONST(0.9988898039), FRAC_CONST(0.0471078083) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.9997915030), FRAC_CONST(0.0204183888) } },
-    { { FRAC_CONST(0.1719277352), FRAC_CONST(0.9851095676) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.4803760946), FRAC_CONST(-0.8770626187) } },
-    { { FRAC_CONST(-0.9238800406), FRAC_CONST(0.3826821446) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.5555707216), FRAC_CONST(-0.8314692974) } },
-    { { FRAC_CONST(-0.5750041008), FRAC_CONST(-0.8181505203) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.9941320419), FRAC_CONST(0.1081734300) } }
-};
-
-static const complex_t Phi_Fract_Qmf[] = {
-    { FRAC_CONST(0.8181497455), FRAC_CONST(0.5750052333) },
-    { FRAC_CONST(-0.2638730407), FRAC_CONST(0.9645574093) },
-    { FRAC_CONST(-0.9969173074), FRAC_CONST(0.0784590989) },
-    { FRAC_CONST(-0.4115143716), FRAC_CONST(-0.9114032984) },
-    { FRAC_CONST(0.7181262970), FRAC_CONST(-0.6959127784) },
-    { FRAC_CONST(0.8980275989), FRAC_CONST(0.4399391711) },
-    { FRAC_CONST(-0.1097343117), FRAC_CONST(0.9939609766) },
-    { FRAC_CONST(-0.9723699093), FRAC_CONST(0.2334453613) },
-    { FRAC_CONST(-0.5490227938), FRAC_CONST(-0.8358073831) },
-    { FRAC_CONST(0.6004202366), FRAC_CONST(-0.7996846437) },
-    { FRAC_CONST(0.9557930231), FRAC_CONST(0.2940403223) },
-    { FRAC_CONST(0.0471064523), FRAC_CONST(0.9988898635) },
-    { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) },
-    { FRAC_CONST(-0.6730124950), FRAC_CONST(-0.7396311164) },
-    { FRAC_CONST(0.4679298103), FRAC_CONST(-0.8837656379) },
-    { FRAC_CONST(0.9900236726), FRAC_CONST(0.1409012377) },
-    { FRAC_CONST(0.2027872950), FRAC_CONST(0.9792228341) },
-    { FRAC_CONST(-0.8526401520), FRAC_CONST(0.5224985480) },
-    { FRAC_CONST(-0.7804304361), FRAC_CONST(-0.6252426505) },
-    { FRAC_CONST(0.3239174187), FRAC_CONST(-0.9460853338) },
-    { FRAC_CONST(0.9998766184), FRAC_CONST(-0.0157073177) },
-    { FRAC_CONST(0.3534748554), FRAC_CONST(0.9354440570) },
-    { FRAC_CONST(-0.7604059577), FRAC_CONST(0.6494480371) },
-    { FRAC_CONST(-0.8686315417), FRAC_CONST(-0.4954586625) },
-    { FRAC_CONST(0.1719291061), FRAC_CONST(-0.9851093292) },
-    { FRAC_CONST(0.9851093292), FRAC_CONST(-0.1719291061) },
-    { FRAC_CONST(0.4954586625), FRAC_CONST(0.8686315417) },
-    { FRAC_CONST(-0.6494480371), FRAC_CONST(0.7604059577) },
-    { FRAC_CONST(-0.9354440570), FRAC_CONST(-0.3534748554) },
-    { FRAC_CONST(0.0157073177), FRAC_CONST(-0.9998766184) },
-    { FRAC_CONST(0.9460853338), FRAC_CONST(-0.3239174187) },
-    { FRAC_CONST(0.6252426505), FRAC_CONST(0.7804304361) },
-    { FRAC_CONST(-0.5224985480), FRAC_CONST(0.8526401520) },
-    { FRAC_CONST(-0.9792228341), FRAC_CONST(-0.2027872950) },
-    { FRAC_CONST(-0.1409012377), FRAC_CONST(-0.9900236726) },
-    { FRAC_CONST(0.8837656379), FRAC_CONST(-0.4679298103) },
-    { FRAC_CONST(0.7396311164), FRAC_CONST(0.6730124950) },
-    { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) },
-    { FRAC_CONST(-0.9988898635), FRAC_CONST(-0.0471064523) },
-    { FRAC_CONST(-0.2940403223), FRAC_CONST(-0.9557930231) },
-    { FRAC_CONST(0.7996846437), FRAC_CONST(-0.6004202366) },
-    { FRAC_CONST(0.8358073831), FRAC_CONST(0.5490227938) },
-    { FRAC_CONST(-0.2334453613), FRAC_CONST(0.9723699093) },
-    { FRAC_CONST(-0.9939609766), FRAC_CONST(0.1097343117) },
-    { FRAC_CONST(-0.4399391711), FRAC_CONST(-0.8980275989) },
-    { FRAC_CONST(0.6959127784), FRAC_CONST(-0.7181262970) },
-    { FRAC_CONST(0.9114032984), FRAC_CONST(0.4115143716) },
-    { FRAC_CONST(-0.0784590989), FRAC_CONST(0.9969173074) },
-    { FRAC_CONST(-0.9645574093), FRAC_CONST(0.2638730407) },
-    { FRAC_CONST(-0.5750052333), FRAC_CONST(-0.8181497455) },
-    { FRAC_CONST(0.5750052333), FRAC_CONST(-0.8181497455) },
-    { FRAC_CONST(0.9645574093), FRAC_CONST(0.2638730407) },
-    { FRAC_CONST(0.0784590989), FRAC_CONST(0.9969173074) },
-    { FRAC_CONST(-0.9114032984), FRAC_CONST(0.4115143716) },
-    { FRAC_CONST(-0.6959127784), FRAC_CONST(-0.7181262970) },
-    { FRAC_CONST(0.4399391711), FRAC_CONST(-0.8980275989) },
-    { FRAC_CONST(0.9939609766), FRAC_CONST(0.1097343117) },
-    { FRAC_CONST(0.2334453613), FRAC_CONST(0.9723699093) },
-    { FRAC_CONST(-0.8358073831), FRAC_CONST(0.5490227938) },
-    { FRAC_CONST(-0.7996846437), FRAC_CONST(-0.6004202366) },
-    { FRAC_CONST(0.2940403223), FRAC_CONST(-0.9557930231) },
-    { FRAC_CONST(0.9988898635), FRAC_CONST(-0.0471064523) },
-    { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) },
-    { FRAC_CONST(-0.7396311164), FRAC_CONST(0.6730124950) }
-};
-
-
-/* static function declarations */
-static void drm_ps_sa_element(drm_ps_info *ps, bitfile *ld);
-static void drm_ps_pan_element(drm_ps_info *ps, bitfile *ld);
-static int8_t huff_dec(bitfile *ld, drm_ps_huff_tab huff);
-
-
-uint16_t drm_ps_data(drm_ps_info *ps, bitfile *ld)
-{
-    uint16_t bits = (uint16_t)faad_get_processed_bits(ld);
-
-    ps->drm_ps_data_available = 1;
-
-    ps->bs_enable_sa = faad_get1bit(ld);
-    ps->bs_enable_pan = faad_get1bit(ld);
-
-    if (ps->bs_enable_sa)
-    {
-        drm_ps_sa_element(ps, ld);
-    }
-
-    if (ps->bs_enable_pan)
-    {
-        drm_ps_pan_element(ps, ld);
-    }
-
-    bits = (uint16_t)faad_get_processed_bits(ld) - bits;
-
-    return bits;
-}
-
-static void drm_ps_sa_element(drm_ps_info *ps, bitfile *ld)
-{
-    drm_ps_huff_tab huff;
-    uint8_t band;
-
-    ps->bs_sa_dt_flag = faad_get1bit(ld);
-    if (ps->bs_sa_dt_flag)
-    {
-        huff = t_huffman_sa;
-    } else {
-        huff = f_huffman_sa;
-    }
-
-    for (band = 0; band < DRM_NUM_SA_BANDS; band++)
-    {
-        ps->bs_sa_data[band] = huff_dec(ld, huff);
-    }
-}
-
-static void drm_ps_pan_element(drm_ps_info *ps, bitfile *ld)
-{
-    drm_ps_huff_tab huff;
-    uint8_t band;
-
-    ps->bs_pan_dt_flag = faad_get1bit(ld);
-    if (ps->bs_pan_dt_flag)
-    {
-        huff = t_huffman_pan;
-    } else {
-        huff = f_huffman_pan;
-    }
-
-    for (band = 0; band < DRM_NUM_PAN_BANDS; band++)
-    {
-        ps->bs_pan_data[band] = huff_dec(ld, huff);
-    }
-}
-
-/* binary search huffman decoding */
-static int8_t huff_dec(bitfile *ld, drm_ps_huff_tab huff)
-{
-    uint8_t bit;
-    int16_t index = 0;
-
-    while (index >= 0)
-    {
-        bit = (uint8_t)faad_get1bit(ld);
-        index = huff[index][bit];
-    }
-
-    return index + 15;
-}
-
-
-static int8_t sa_delta_clip(drm_ps_info *ps, int8_t i)
-{
-    if (i < 0) {
-      /*  printf(" SAminclip %d", i); */
-        ps->sa_decode_error = 1;
-        return 0;
-    } else if (i > 7) {
-     /*   printf(" SAmaxclip %d", i); */
-        ps->sa_decode_error = 1;
-        return 7;
-    } else
-        return i;
-}
-
-static int8_t pan_delta_clip(drm_ps_info *ps, int8_t i)
-{   
-    if (i < -7) {
-        /* printf(" PANminclip %d", i); */
-        ps->pan_decode_error = 1;
-        return -7;
-    } else if (i > 7) {
-       /* printf(" PANmaxclip %d", i);  */
-        ps->pan_decode_error = 1;
-        return 7;
-    } else
-        return i;
-}
-
-static void drm_ps_delta_decode(drm_ps_info *ps) 
-{
-    uint8_t band;    
-
-    if (ps->bs_enable_sa) 
-    {    
-        if (ps->bs_sa_dt_flag && !ps->g_last_had_sa) 
-        {        
-            /* wait until we get a DT frame */
-            ps->bs_enable_sa = 0;
-        } else if (ps->bs_sa_dt_flag) {
-            /* DT frame, we have a last frame, so we can decode */
-            ps->g_sa_index[0] = sa_delta_clip(ps, ps->g_prev_sa_index[0]+ps->bs_sa_data[0]);            
-        } else {
-            /* DF always decodable */
-            ps->g_sa_index[0] = sa_delta_clip(ps,ps->bs_sa_data[0]);          
-        }
-        
-        for (band = 1; band < DRM_NUM_SA_BANDS; band++)
-        {   
-            if (ps->bs_sa_dt_flag && ps->g_last_had_sa)
-            {
-                ps->g_sa_index[band] = sa_delta_clip(ps, ps->g_prev_sa_index[band] + ps->bs_sa_data[band]);
-            } else if (!ps->bs_sa_dt_flag) {
-                ps->g_sa_index[band] = sa_delta_clip(ps, ps->g_sa_index[band-1] + ps->bs_sa_data[band]);                
-            }
-        }
-    }
-
-    /* An error during SA decoding implies PAN data will be undecodable, too */
-    /* Also, we don't like on/off switching in PS, so we force to last settings */
-    if (ps->sa_decode_error) {
-        ps->pan_decode_error = 1;
-        ps->bs_enable_pan = ps->g_last_had_pan;
-        ps->bs_enable_sa = ps->g_last_had_sa;
-    }
-    
-       
-    if (ps->bs_enable_sa) 
-    {    
-        if (ps->sa_decode_error) {
-            for (band = 0; band < DRM_NUM_SA_BANDS; band++)
-            {   
-                ps->g_sa_index[band] = ps->g_last_good_sa_index[band];
-            }
-        } else {
-            for (band = 0; band < DRM_NUM_SA_BANDS; band++)
-            {   
-                ps->g_last_good_sa_index[band] = ps->g_sa_index[band];
-            }
-        }
-    }
-    
-    if (ps->bs_enable_pan) 
-    {
-        if (ps->bs_pan_dt_flag && !ps->g_last_had_pan) 
-        {
-            ps->bs_enable_pan = 0;
-        }  else if (ps->bs_pan_dt_flag) {   
-            ps->g_pan_index[0] = pan_delta_clip(ps,  ps->g_prev_pan_index[0]+ps->bs_pan_data[0]);
-        } else {
-            ps->g_pan_index[0] = pan_delta_clip(ps, ps->bs_pan_data[0]);
-        }
-    
-        for (band = 1; band < DRM_NUM_PAN_BANDS; band++)
-        {   
-            if (ps->bs_pan_dt_flag && ps->g_last_had_pan)
-            {
-                ps->g_pan_index[band] = pan_delta_clip(ps, ps->g_prev_pan_index[band] + ps->bs_pan_data[band]);
-            } else if (!ps->bs_pan_dt_flag) {
-                ps->g_pan_index[band] = pan_delta_clip(ps, ps->g_pan_index[band-1] + ps->bs_pan_data[band]);
-            }
-        }
-        if (ps->pan_decode_error) {
-            for (band = 0; band < DRM_NUM_PAN_BANDS; band++)
-            {   
-                ps->g_pan_index[band] = ps->g_last_good_pan_index[band];
-            }
-        } else {
-            for (band = 0; band < DRM_NUM_PAN_BANDS; band++)
-            {   
-                ps->g_last_good_pan_index[band] = ps->g_pan_index[band];
-            }
-        }
-    }
-}
-
-static void drm_calc_sa_side_signal(drm_ps_info *ps, qmf_t X[38][64]) 
-{      
-    uint8_t s, b, k;
-    complex_t qfrac, tmp0, tmp, in, R0;
-    real_t peakdiff;
-    real_t nrg;
-    real_t power;
-    real_t transratio;
-    real_t new_delay_slopes[NUM_OF_LINKS];
-    uint8_t temp_delay_ser[NUM_OF_LINKS];
-    complex_t Phi_Fract;
-#ifdef FIXED_POINT
-    uint32_t in_re, in_im;
-#endif
-
-    for (b = 0; b < sa_freq_scale[DRM_NUM_SA_BANDS]; b++)
-    {
-        /* set delay indices */    
-        for (k = 0; k < NUM_OF_LINKS; k++)
-            temp_delay_ser[k] = ps->delay_buf_index_ser[k];
-
-        RE(Phi_Fract) = RE(Phi_Fract_Qmf[b]);
-        IM(Phi_Fract) = IM(Phi_Fract_Qmf[b]);
-
-        for (s = 0; s < NUM_OF_SUBSAMPLES; s++)
-        {            
-            const real_t gamma = REAL_CONST(1.5);
-            const real_t sigma = REAL_CONST(1.5625);
-
-            RE(in) = QMF_RE(X[s][b]);
-            IM(in) = QMF_IM(X[s][b]);
-
-#ifdef FIXED_POINT
-            /* NOTE: all input is scaled by 2^(-5) because of fixed point QMF
-            * meaning that P will be scaled by 2^(-10) compared to floating point version
-            */
-            in_re = ((abs(RE(in))+(1<<(REAL_BITS-1)))>>REAL_BITS);
-            in_im = ((abs(IM(in))+(1<<(REAL_BITS-1)))>>REAL_BITS);
-            power = in_re*in_re + in_im*in_im;
-#else
-            power = MUL_R(RE(in),RE(in)) + MUL_R(IM(in),IM(in));
-#endif
-
-            ps->peakdecay_fast[b] = MUL_F(ps->peakdecay_fast[b], peak_decay);
-            if (ps->peakdecay_fast[b] < power)
-                ps->peakdecay_fast[b] = power;
-
-            peakdiff = ps->prev_peakdiff[b];
-            peakdiff += MUL_F((ps->peakdecay_fast[b] - power - ps->prev_peakdiff[b]), smooth_coeff);
-            ps->prev_peakdiff[b] = peakdiff;
-
-            nrg = ps->prev_nrg[b];
-            nrg += MUL_F((power - ps->prev_nrg[b]), smooth_coeff);
-            ps->prev_nrg[b] = nrg;
-
-            if (MUL_R(peakdiff, gamma) <= nrg) {
-                transratio = sigma;
-            } else {
-                transratio = MUL_R(DIV_R(nrg, MUL_R(peakdiff, gamma)), sigma);
-            }
-            
-            for (k = 0; k < NUM_OF_LINKS; k++) 
-            {
-                new_delay_slopes[k] = MUL_F(g_decayslope[b], filter_coeff[k]);
-            }
-
-            RE(tmp0) = RE(ps->d_buff[0][b]);
-            IM(tmp0) = IM(ps->d_buff[0][b]);
-
-            RE(ps->d_buff[0][b]) = RE(ps->d_buff[1][b]);
-            IM(ps->d_buff[0][b]) = IM(ps->d_buff[1][b]);
-
-            RE(ps->d_buff[1][b]) = RE(in);
-            IM(ps->d_buff[1][b]) = IM(in);               
-
-            ComplexMult(&RE(tmp), &IM(tmp), RE(tmp0), IM(tmp0), RE(Phi_Fract), IM(Phi_Fract));
-
-            RE(R0) = RE(tmp);
-            IM(R0) = IM(tmp);
-
-            for (k = 0; k < NUM_OF_LINKS; k++) 
-            {
-                RE(qfrac) = RE(Q_Fract_allpass_Qmf[b][k]);
-                IM(qfrac) = IM(Q_Fract_allpass_Qmf[b][k]);
-
-                RE(tmp0) = RE(ps->d2_buff[k][temp_delay_ser[k]][b]);
-                IM(tmp0) = IM(ps->d2_buff[k][temp_delay_ser[k]][b]);
-
-                ComplexMult(&RE(tmp), &IM(tmp), RE(tmp0), IM(tmp0), RE(qfrac), IM(qfrac));
-
-                RE(tmp) += -MUL_F(new_delay_slopes[k], RE(R0));
-                IM(tmp) += -MUL_F(new_delay_slopes[k], IM(R0));
-
-                RE(ps->d2_buff[k][temp_delay_ser[k]][b]) = RE(R0) + MUL_F(new_delay_slopes[k], RE(tmp));
-                IM(ps->d2_buff[k][temp_delay_ser[k]][b]) = IM(R0) + MUL_F(new_delay_slopes[k], IM(tmp));
-
-                RE(R0) = RE(tmp);
-                IM(R0) = IM(tmp);
-            }
-
-            QMF_RE(ps->SA[s][b]) = MUL_R(RE(R0), transratio);
-            QMF_IM(ps->SA[s][b]) = MUL_R(IM(R0), transratio);
-
-            for (k = 0; k < NUM_OF_LINKS; k++)
-            {
-                if (++temp_delay_ser[k] >= delay_length[k])
-                    temp_delay_ser[k] = 0;
-            }
-        }       
-    }
-
-    for (k = 0; k < NUM_OF_LINKS; k++)
-        ps->delay_buf_index_ser[k] = temp_delay_ser[k];
-}
-
-static void drm_add_ambiance(drm_ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64]) 
-{
-    uint8_t s, b, ifreq, qclass;    
-    real_t sa_map[MAX_SA_BAND], sa_dir_map[MAX_SA_BAND], k_sa_map[MAX_SA_BAND], k_sa_dir_map[MAX_SA_BAND];
-    real_t new_dir_map, new_sa_map;
-    
-    if (ps->bs_enable_sa)
-    {
-        /* Instead of dequantization and mapping, we use an inverse mapping
-           to look up all the values we need */
-        for (b = 0; b < sa_freq_scale[DRM_NUM_SA_BANDS]; b++)
-        {
-            const real_t inv_f_num_of_subsamples = FRAC_CONST(0.03333333333);
-
-            ifreq = sa_inv_freq[b];
-            qclass = (b != 0);
-
-            sa_map[b]  = sa_quant[ps->g_prev_sa_index[ifreq]][qclass];
-            new_sa_map = sa_quant[ps->g_sa_index[ifreq]][qclass];
-
-            k_sa_map[b] = MUL_F(inv_f_num_of_subsamples, (new_sa_map - sa_map[b]));    
-            
-            sa_dir_map[b] = sa_sqrt_1_minus[ps->g_prev_sa_index[ifreq]][qclass];                        
-            new_dir_map   = sa_sqrt_1_minus[ps->g_sa_index[ifreq]][qclass];
-                                                   
-            k_sa_dir_map[b] = MUL_F(inv_f_num_of_subsamples, (new_dir_map - sa_dir_map[b]));
-
-        }
-
-        for (s = 0; s < NUM_OF_SUBSAMPLES; s++)
-        {
-            for (b = 0; b < sa_freq_scale[DRM_NUM_SA_BANDS]; b++)
-            {                
-                QMF_RE(X_right[s][b]) = MUL_F(QMF_RE(X_left[s][b]), sa_dir_map[b]) - MUL_F(QMF_RE(ps->SA[s][b]), sa_map[b]);
-                QMF_IM(X_right[s][b]) = MUL_F(QMF_IM(X_left[s][b]), sa_dir_map[b]) - MUL_F(QMF_IM(ps->SA[s][b]), sa_map[b]);
-                QMF_RE(X_left[s][b]) = MUL_F(QMF_RE(X_left[s][b]), sa_dir_map[b]) + MUL_F(QMF_RE(ps->SA[s][b]), sa_map[b]);
-                QMF_IM(X_left[s][b]) = MUL_F(QMF_IM(X_left[s][b]), sa_dir_map[b]) + MUL_F(QMF_IM(ps->SA[s][b]), sa_map[b]);
-      
-                sa_map[b]     += k_sa_map[b];
-                sa_dir_map[b] += k_sa_dir_map[b];
-            }
-            for (b = sa_freq_scale[DRM_NUM_SA_BANDS]; b < NUM_OF_QMF_CHANNELS; b++)
-            {                
-                QMF_RE(X_right[s][b]) = QMF_RE(X_left[s][b]);
-                QMF_IM(X_right[s][b]) = QMF_IM(X_left[s][b]);
-            }
-        }
-    } 
-    else {
-        for (s = 0; s < NUM_OF_SUBSAMPLES; s++)
-        {
-            for (b = 0; b < NUM_OF_QMF_CHANNELS; b++)
-            {
-                QMF_RE(X_right[s][b]) = QMF_RE(X_left[s][b]);
-                QMF_IM(X_right[s][b]) = QMF_IM(X_left[s][b]);                
-            }
-        }
-    }
-}
-
-static void drm_add_pan(drm_ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64]) 
-{
-    uint8_t s, b, qclass, ifreq;
-    real_t tmp, coeff1, coeff2;
-    real_t pan_base[MAX_PAN_BAND];
-    real_t pan_delta[MAX_PAN_BAND];
-    qmf_t temp_l, temp_r;
-
-    if (ps->bs_enable_pan)
-    {
-        for (b = 0; b < NUM_OF_QMF_CHANNELS; b++) 
-        {
-            /* Instead of dequantization, 20->64 mapping and 2^G(x,y) we do an
-               inverse mapping 64->20 and look up the 2^G(x,y) values directly */
-            ifreq = pan_inv_freq[b];
-            qclass = pan_quant_class[ifreq];
-
-            if (ps->g_prev_pan_index[ifreq] >= 0)
-            {
-                pan_base[b] = pan_pow_2_pos[ps->g_prev_pan_index[ifreq]][qclass]; 
-            } else {
-                pan_base[b] = pan_pow_2_neg[-ps->g_prev_pan_index[ifreq]][qclass];
-            }
-
-            /* 2^((a-b)/30) = 2^(a/30) * 1/(2^(b/30)) */
-            /* a en b can be negative so we may need to inverse parts */
-            if (ps->g_pan_index[ifreq] >= 0)
-            {
-                if (ps->g_prev_pan_index[ifreq] >= 0) 
-                {
-                    pan_delta[b] = MUL_C(pan_pow_2_30_pos[ps->g_pan_index[ifreq]][qclass],
-                                         pan_pow_2_30_neg[ps->g_prev_pan_index[ifreq]][qclass]);
-                } else {
-                    pan_delta[b] = MUL_C(pan_pow_2_30_pos[ps->g_pan_index[ifreq]][qclass],
-                                         pan_pow_2_30_pos[-ps->g_prev_pan_index[ifreq]][qclass]);
-                }
-            } else {
-                if (ps->g_prev_pan_index[ifreq] >= 0) 
-                {
-                    pan_delta[b] = MUL_C(pan_pow_2_30_neg[-ps->g_pan_index[ifreq]][qclass],
-                                         pan_pow_2_30_neg[ps->g_prev_pan_index[ifreq]][qclass]);
-                } else {
-                    pan_delta[b] = MUL_C(pan_pow_2_30_neg[-ps->g_pan_index[ifreq]][qclass],
-                                         pan_pow_2_30_pos[-ps->g_prev_pan_index[ifreq]][qclass]);
-                }
-            }
-        }
-
-        for (s = 0; s < NUM_OF_SUBSAMPLES; s++)
-        {
-            /* PAN always uses all 64 channels */
-            for (b = 0; b < NUM_OF_QMF_CHANNELS; b++)
-            {
-                tmp = pan_base[b];
-
-                coeff2 = DIV_R(REAL_CONST(2.0), (REAL_CONST(1.0) + tmp));
-                coeff1 = MUL_R(coeff2, tmp);                
-
-                QMF_RE(temp_l) = QMF_RE(X_left[s][b]);
-                QMF_IM(temp_l) = QMF_IM(X_left[s][b]);
-                QMF_RE(temp_r) = QMF_RE(X_right[s][b]);
-                QMF_IM(temp_r) = QMF_IM(X_right[s][b]);
-
-                QMF_RE(X_left[s][b]) = MUL_R(QMF_RE(temp_l), coeff1);
-                QMF_IM(X_left[s][b]) = MUL_R(QMF_IM(temp_l), coeff1);
-                QMF_RE(X_right[s][b]) = MUL_R(QMF_RE(temp_r), coeff2);
-                QMF_IM(X_right[s][b]) = MUL_R(QMF_IM(temp_r), coeff2);
-                
-                /* 2^(a+k*b) = 2^a * 2^b * ... * 2^b */
-                /*                   ^^^^^^^^^^^^^^^ k times */
-                pan_base[b] = MUL_C(pan_base[b], pan_delta[b]);
-            }           
-        }       
-    }     
-}
-
-drm_ps_info *drm_ps_init(void)
-{
-    drm_ps_info *ps = (drm_ps_info*)faad_malloc(sizeof(drm_ps_info));
-
-    memset(ps, 0, sizeof(drm_ps_info));     
-
-    return ps;
-}
-
-void drm_ps_free(drm_ps_info *ps)
-{
-    faad_free(ps);
-}
-
-/* main DRM PS decoding function */
-uint8_t drm_ps_decode(drm_ps_info *ps, uint8_t guess, qmf_t X_left[38][64], qmf_t X_right[38][64])
-{       
-    if (ps == NULL) 
-    {
-        memcpy(X_right, X_left, sizeof(qmf_t)*30*64);
-        return 0;    
-    }     
-
-    if (!ps->drm_ps_data_available && !guess) 
-    {
-        memcpy(X_right, X_left, sizeof(qmf_t)*30*64);
-        memset(ps->g_prev_sa_index, 0, sizeof(ps->g_prev_sa_index));
-        memset(ps->g_prev_pan_index, 0, sizeof(ps->g_prev_pan_index));
-        return 0;
-    }
-
-    /* if SBR CRC doesn't match out, we can assume decode errors to start with,
-       and we'll guess what the parameters should be */
-    if (!guess)
-    {
-        ps->sa_decode_error = 0;
-        ps->pan_decode_error = 0;
-        drm_ps_delta_decode(ps);
-    } else 
-    {
-        ps->sa_decode_error = 1;
-        ps->pan_decode_error = 1;
-        /* don't even bother decoding */
-    }
-  
-    ps->drm_ps_data_available = 0;
-
-    drm_calc_sa_side_signal(ps, X_left);
-    drm_add_ambiance(ps, X_left, X_right);
-
-    if (ps->bs_enable_sa)
-    {
-        ps->g_last_had_sa = 1;        
-
-        memcpy(ps->g_prev_sa_index, ps->g_sa_index, sizeof(int8_t) * DRM_NUM_SA_BANDS);       
-
-    } else {
-        ps->g_last_had_sa = 0;
-    }
-    
-    if (ps->bs_enable_pan)
-    {
-        drm_add_pan(ps, X_left, X_right);
-    
-        ps->g_last_had_pan = 1;        
-
-        memcpy(ps->g_prev_pan_index, ps->g_pan_index, sizeof(int8_t) * DRM_NUM_PAN_BANDS);
-
-    } else {
-        ps->g_last_had_pan = 0;
-    }
-
-
-    return 0;
-}
-
-#endif
diff --git a/lib/libfaad2/libfaad/drm_dec.h b/lib/libfaad2/libfaad/drm_dec.h
deleted file mode 100644 (file)
index d0ac995..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: drm_dec.h,v 1.8 2007/11/01 12:33:30 menno Exp $
-**/
-
-#ifndef __DRM_DEC_H__
-#define __DRM_DEC_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "bits.h"
-
-#define DRM_PARAMETRIC_STEREO    0
-#define DRM_NUM_SA_BANDS         8
-#define DRM_NUM_PAN_BANDS       20
-#define NUM_OF_LINKS             3
-#define NUM_OF_QMF_CHANNELS     64
-#define NUM_OF_SUBSAMPLES       30
-#define MAX_SA_BAND             46
-#define MAX_PAN_BAND            64
-#define MAX_DELAY                5
-
-typedef struct
-{   
-    uint8_t drm_ps_data_available;
-    uint8_t bs_enable_sa;
-    uint8_t bs_enable_pan;
-
-    uint8_t bs_sa_dt_flag;
-    uint8_t bs_pan_dt_flag;
-
-    uint8_t g_last_had_sa;
-    uint8_t g_last_had_pan;
-
-    int8_t bs_sa_data[DRM_NUM_SA_BANDS];
-    int8_t bs_pan_data[DRM_NUM_PAN_BANDS];
-        
-    int8_t g_sa_index[DRM_NUM_SA_BANDS];
-    int8_t g_pan_index[DRM_NUM_PAN_BANDS];                        
-    int8_t g_prev_sa_index[DRM_NUM_SA_BANDS];
-    int8_t g_prev_pan_index[DRM_NUM_PAN_BANDS];    
-
-    int8_t sa_decode_error;
-    int8_t pan_decode_error;
-
-    int8_t g_last_good_sa_index[DRM_NUM_SA_BANDS];
-    int8_t g_last_good_pan_index[DRM_NUM_PAN_BANDS];
-    
-    qmf_t SA[NUM_OF_SUBSAMPLES][MAX_SA_BAND];               
-
-    complex_t d_buff[2][MAX_SA_BAND];
-    complex_t d2_buff[NUM_OF_LINKS][MAX_DELAY][MAX_SA_BAND];
-
-    uint8_t delay_buf_index_ser[NUM_OF_LINKS];    
-            
-    real_t prev_nrg[MAX_SA_BAND];
-    real_t prev_peakdiff[MAX_SA_BAND];
-    real_t peakdecay_fast[MAX_SA_BAND]; 
-} drm_ps_info;
-
-
-uint16_t drm_ps_data(drm_ps_info *ps, bitfile *ld);
-
-drm_ps_info *drm_ps_init(void);
-void drm_ps_free(drm_ps_info *ps);
-
-uint8_t drm_ps_decode(drm_ps_info *ps, uint8_t guess, qmf_t X_left[38][64], qmf_t X_right[38][64]);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/error.c b/lib/libfaad2/libfaad/error.c
deleted file mode 100644 (file)
index c552e06..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: error.c,v 1.32 2007/11/01 12:33:30 menno Exp $
-**/
-
-#include "common.h"
-#include "error.h"
-
-char *err_msg[] = {
-    "No error",
-    "Gain control not yet implemented",
-    "Pulse coding not allowed in short blocks",
-    "Invalid huffman codebook",
-    "Scalefactor out of range",
-    "Unable to find ADTS syncword",
-    "Channel coupling not yet implemented",
-    "Channel configuration not allowed in error resilient frame",
-    "Bit error in error resilient scalefactor decoding",
-    "Error decoding huffman scalefactor (bitstream error)",
-    "Error decoding huffman codeword (bitstream error)",
-    "Non existent huffman codebook number found",
-    "Invalid number of channels",
-    "Maximum number of bitstream elements exceeded",
-    "Input data buffer too small",
-    "Array index out of range",
-    "Maximum number of scalefactor bands exceeded",
-    "Quantised value out of range",
-    "LTP lag out of range",
-    "Invalid SBR parameter decoded",
-    "SBR called without being initialised",
-    "Unexpected channel configuration change",
-    "Error in program_config_element",
-    "First SBR frame is not the same as first AAC frame",
-    "Unexpected fill element with SBR data",
-    "Not all elements were provided with SBR data",
-    "LTP decoding not available",
-    "Output data buffer too small",
-    "CRC error in DRM data",
-    "PNS not allowed in DRM data stream",
-    "No standard extension payload allowed in DRM",
-    "PCE shall be the first element in a frame",
-    "Bitstream value not allowed by specification"
-};
-
diff --git a/lib/libfaad2/libfaad/error.h b/lib/libfaad2/libfaad/error.h
deleted file mode 100644 (file)
index 7f75021..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: error.h,v 1.26 2007/11/01 12:33:30 menno Exp $
-**/
-
-#ifndef __ERROR_H__
-#define __ERROR_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define NUM_ERROR_MESSAGES 33
-extern char *err_msg[];
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/filtbank.c b/lib/libfaad2/libfaad/filtbank.c
deleted file mode 100644 (file)
index eaeddcc..0000000
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: filtbank.c,v 1.45 2007/11/01 12:33:30 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-#include <string.h>
-#ifdef _WIN32_WCE
-#define assert(x)
-#else
-#include <assert.h>
-#endif
-
-#include "filtbank.h"
-#include "decoder.h"
-#include "syntax.h"
-#include "kbd_win.h"
-#include "sine_win.h"
-#include "mdct.h"
-
-
-fb_info *filter_bank_init(uint16_t frame_len)
-{
-    uint16_t nshort = frame_len/8;
-#ifdef LD_DEC
-    uint16_t frame_len_ld = frame_len/2;
-#endif
-
-    fb_info *fb = (fb_info*)faad_malloc(sizeof(fb_info));
-    memset(fb, 0, sizeof(fb_info));
-
-    /* normal */
-    fb->mdct256 = faad_mdct_init(2*nshort);
-    fb->mdct2048 = faad_mdct_init(2*frame_len);
-#ifdef LD_DEC
-    /* LD */
-    fb->mdct1024 = faad_mdct_init(2*frame_len_ld);
-#endif
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-    if (frame_len == 1024)
-    {
-#endif
-        fb->long_window[0]  = sine_long_1024;
-        fb->short_window[0] = sine_short_128;
-        fb->long_window[1]  = kbd_long_1024;
-        fb->short_window[1] = kbd_short_128;
-#ifdef LD_DEC
-        fb->ld_window[0] = sine_mid_512;
-        fb->ld_window[1] = ld_mid_512;
-#endif
-#ifdef ALLOW_SMALL_FRAMELENGTH
-    } else /* (frame_len == 960) */ {
-        fb->long_window[0]  = sine_long_960;
-        fb->short_window[0] = sine_short_120;
-        fb->long_window[1]  = kbd_long_960;
-        fb->short_window[1] = kbd_short_120;
-#ifdef LD_DEC
-        fb->ld_window[0] = sine_mid_480;
-        fb->ld_window[1] = ld_mid_480;
-#endif
-    }
-#endif
-
-    return fb;
-}
-
-void filter_bank_end(fb_info *fb)
-{
-    if (fb != NULL)
-    {
-#ifdef PROFILE
-        printf("FB:                 %I64d cycles\n", fb->cycles);
-#endif
-
-        faad_mdct_end(fb->mdct256);
-        faad_mdct_end(fb->mdct2048);
-#ifdef LD_DEC
-        faad_mdct_end(fb->mdct1024);
-#endif
-
-        faad_free(fb);
-    }
-}
-
-static INLINE void imdct_long(fb_info *fb, real_t *in_data, real_t *out_data, uint16_t len)
-{
-#ifdef LD_DEC
-    mdct_info *mdct = NULL;
-
-    switch (len)
-    {
-    case 2048:
-    case 1920:
-        mdct = fb->mdct2048;
-        break;
-    case 1024:
-    case 960:
-        mdct = fb->mdct1024;
-        break;
-    }
-
-    faad_imdct(mdct, in_data, out_data);
-#else
-    faad_imdct(fb->mdct2048, in_data, out_data);
-#endif
-}
-
-
-#ifdef LTP_DEC
-static INLINE void mdct(fb_info *fb, real_t *in_data, real_t *out_data, uint16_t len)
-{
-    mdct_info *mdct = NULL;
-
-    switch (len)
-    {
-    case 2048:
-    case 1920:
-        mdct = fb->mdct2048;
-        break;
-    case 256:
-    case 240:
-        mdct = fb->mdct256;
-        break;
-#ifdef LD_DEC
-    case 1024:
-    case 960:
-        mdct = fb->mdct1024;
-        break;
-#endif
-    }
-
-    faad_mdct(mdct, in_data, out_data);
-}
-#endif
-
-void ifilter_bank(fb_info *fb, uint8_t window_sequence, uint8_t window_shape,
-                  uint8_t window_shape_prev, real_t *freq_in,
-                  real_t *time_out, real_t *overlap,
-                  uint8_t object_type, uint16_t frame_len)
-{
-    int16_t i;
-    ALIGN real_t transf_buf[2*1024] = {0};
-
-    const real_t *window_long = NULL;
-    const real_t *window_long_prev = NULL;
-    const real_t *window_short = NULL;
-    const real_t *window_short_prev = NULL;
-
-    uint16_t nlong = frame_len;
-    uint16_t nshort = frame_len/8;
-    uint16_t trans = nshort/2;
-
-    uint16_t nflat_ls = (nlong-nshort)/2;
-
-#ifdef PROFILE
-    int64_t count = faad_get_ts();
-#endif
-
-    /* select windows of current frame and previous frame (Sine or KBD) */
-#ifdef LD_DEC
-    if (object_type == LD)
-    {
-        window_long       = fb->ld_window[window_shape];
-        window_long_prev  = fb->ld_window[window_shape_prev];
-    } else {
-#endif
-        window_long       = fb->long_window[window_shape];
-        window_long_prev  = fb->long_window[window_shape_prev];
-        window_short      = fb->short_window[window_shape];
-        window_short_prev = fb->short_window[window_shape_prev];
-#ifdef LD_DEC
-    }
-#endif
-
-#if 0
-    for (i = 0; i < 1024; i++)
-    {
-        printf("%d\n", freq_in[i]);
-    }
-#endif
-
-#if 0
-    printf("%d %d\n", window_sequence, window_shape);
-#endif
-
-    switch (window_sequence)
-    {
-    case ONLY_LONG_SEQUENCE:
-        /* perform iMDCT */
-        imdct_long(fb, freq_in, transf_buf, 2*nlong);
-
-        /* add second half output of previous frame to windowed output of current frame */
-        for (i = 0; i < nlong; i+=4)
-        {
-            time_out[i]   = overlap[i]   + MUL_F(transf_buf[i],window_long_prev[i]);
-            time_out[i+1] = overlap[i+1] + MUL_F(transf_buf[i+1],window_long_prev[i+1]);
-            time_out[i+2] = overlap[i+2] + MUL_F(transf_buf[i+2],window_long_prev[i+2]);
-            time_out[i+3] = overlap[i+3] + MUL_F(transf_buf[i+3],window_long_prev[i+3]);
-        }
-
-        /* window the second half and save as overlap for next frame */
-        for (i = 0; i < nlong; i+=4)
-        {
-            overlap[i]   = MUL_F(transf_buf[nlong+i],window_long[nlong-1-i]);
-            overlap[i+1] = MUL_F(transf_buf[nlong+i+1],window_long[nlong-2-i]);
-            overlap[i+2] = MUL_F(transf_buf[nlong+i+2],window_long[nlong-3-i]);
-            overlap[i+3] = MUL_F(transf_buf[nlong+i+3],window_long[nlong-4-i]);
-        }
-        break;
-
-    case LONG_START_SEQUENCE:
-        /* perform iMDCT */
-        imdct_long(fb, freq_in, transf_buf, 2*nlong);
-
-        /* add second half output of previous frame to windowed output of current frame */
-        for (i = 0; i < nlong; i+=4)
-        {
-            time_out[i]   = overlap[i]   + MUL_F(transf_buf[i],window_long_prev[i]);
-            time_out[i+1] = overlap[i+1] + MUL_F(transf_buf[i+1],window_long_prev[i+1]);
-            time_out[i+2] = overlap[i+2] + MUL_F(transf_buf[i+2],window_long_prev[i+2]);
-            time_out[i+3] = overlap[i+3] + MUL_F(transf_buf[i+3],window_long_prev[i+3]);
-        }
-
-        /* window the second half and save as overlap for next frame */
-        /* construct second half window using padding with 1's and 0's */
-        for (i = 0; i < nflat_ls; i++)
-            overlap[i] = transf_buf[nlong+i];
-        for (i = 0; i < nshort; i++)
-            overlap[nflat_ls+i] = MUL_F(transf_buf[nlong+nflat_ls+i],window_short[nshort-i-1]);
-        for (i = 0; i < nflat_ls; i++)
-            overlap[nflat_ls+nshort+i] = 0;
-        break;
-
-    case EIGHT_SHORT_SEQUENCE:
-        /* perform iMDCT for each short block */
-        faad_imdct(fb->mdct256, freq_in+0*nshort, transf_buf+2*nshort*0);
-        faad_imdct(fb->mdct256, freq_in+1*nshort, transf_buf+2*nshort*1);
-        faad_imdct(fb->mdct256, freq_in+2*nshort, transf_buf+2*nshort*2);
-        faad_imdct(fb->mdct256, freq_in+3*nshort, transf_buf+2*nshort*3);
-        faad_imdct(fb->mdct256, freq_in+4*nshort, transf_buf+2*nshort*4);
-        faad_imdct(fb->mdct256, freq_in+5*nshort, transf_buf+2*nshort*5);
-        faad_imdct(fb->mdct256, freq_in+6*nshort, transf_buf+2*nshort*6);
-        faad_imdct(fb->mdct256, freq_in+7*nshort, transf_buf+2*nshort*7);
-
-        /* add second half output of previous frame to windowed output of current frame */
-        for (i = 0; i < nflat_ls; i++)
-            time_out[i] = overlap[i];
-        for(i = 0; i < nshort; i++)
-        {
-            time_out[nflat_ls+         i] = overlap[nflat_ls+         i] + MUL_F(transf_buf[nshort*0+i],window_short_prev[i]);
-            time_out[nflat_ls+1*nshort+i] = overlap[nflat_ls+nshort*1+i] + MUL_F(transf_buf[nshort*1+i],window_short[nshort-1-i]) + MUL_F(transf_buf[nshort*2+i],window_short[i]);
-            time_out[nflat_ls+2*nshort+i] = overlap[nflat_ls+nshort*2+i] + MUL_F(transf_buf[nshort*3+i],window_short[nshort-1-i]) + MUL_F(transf_buf[nshort*4+i],window_short[i]);
-            time_out[nflat_ls+3*nshort+i] = overlap[nflat_ls+nshort*3+i] + MUL_F(transf_buf[nshort*5+i],window_short[nshort-1-i]) + MUL_F(transf_buf[nshort*6+i],window_short[i]);
-            if (i < trans)
-                time_out[nflat_ls+4*nshort+i] = overlap[nflat_ls+nshort*4+i] + MUL_F(transf_buf[nshort*7+i],window_short[nshort-1-i]) + MUL_F(transf_buf[nshort*8+i],window_short[i]);
-        }
-
-        /* window the second half and save as overlap for next frame */
-        for(i = 0; i < nshort; i++)
-        {
-            if (i >= trans)
-                overlap[nflat_ls+4*nshort+i-nlong] = MUL_F(transf_buf[nshort*7+i],window_short[nshort-1-i]) + MUL_F(transf_buf[nshort*8+i],window_short[i]);
-            overlap[nflat_ls+5*nshort+i-nlong] = MUL_F(transf_buf[nshort*9+i],window_short[nshort-1-i]) + MUL_F(transf_buf[nshort*10+i],window_short[i]);
-            overlap[nflat_ls+6*nshort+i-nlong] = MUL_F(transf_buf[nshort*11+i],window_short[nshort-1-i]) + MUL_F(transf_buf[nshort*12+i],window_short[i]);
-            overlap[nflat_ls+7*nshort+i-nlong] = MUL_F(transf_buf[nshort*13+i],window_short[nshort-1-i]) + MUL_F(transf_buf[nshort*14+i],window_short[i]);
-            overlap[nflat_ls+8*nshort+i-nlong] = MUL_F(transf_buf[nshort*15+i],window_short[nshort-1-i]);
-        }
-        for (i = 0; i < nflat_ls; i++)
-            overlap[nflat_ls+nshort+i] = 0;
-        break;
-
-    case LONG_STOP_SEQUENCE:
-        /* perform iMDCT */
-        imdct_long(fb, freq_in, transf_buf, 2*nlong);
-
-        /* add second half output of previous frame to windowed output of current frame */
-        /* construct first half window using padding with 1's and 0's */
-        for (i = 0; i < nflat_ls; i++)
-            time_out[i] = overlap[i];
-        for (i = 0; i < nshort; i++)
-            time_out[nflat_ls+i] = overlap[nflat_ls+i] + MUL_F(transf_buf[nflat_ls+i],window_short_prev[i]);
-        for (i = 0; i < nflat_ls; i++)
-            time_out[nflat_ls+nshort+i] = overlap[nflat_ls+nshort+i] + transf_buf[nflat_ls+nshort+i];
-
-        /* window the second half and save as overlap for next frame */
-        for (i = 0; i < nlong; i++)
-            overlap[i] = MUL_F(transf_buf[nlong+i],window_long[nlong-1-i]);
-               break;
-    }
-
-#if 0
-    for (i = 0; i < 1024; i++)
-    {
-        printf("%d\n", time_out[i]);
-        //printf("0x%.8X\n", time_out[i]);
-    }
-#endif
-
-
-#ifdef PROFILE
-    count = faad_get_ts() - count;
-    fb->cycles += count;
-#endif
-}
-
-
-#ifdef LTP_DEC
-/* only works for LTP -> no overlapping, no short blocks */
-void filter_bank_ltp(fb_info *fb, uint8_t window_sequence, uint8_t window_shape,
-                     uint8_t window_shape_prev, real_t *in_data, real_t *out_mdct,
-                     uint8_t object_type, uint16_t frame_len)
-{
-    int16_t i;
-    ALIGN real_t windowed_buf[2*1024] = {0};
-
-    const real_t *window_long = NULL;
-    const real_t *window_long_prev = NULL;
-    const real_t *window_short = NULL;
-    const real_t *window_short_prev = NULL;
-
-    uint16_t nlong = frame_len;
-    uint16_t nshort = frame_len/8;
-    uint16_t nflat_ls = (nlong-nshort)/2;
-
-    assert(window_sequence != EIGHT_SHORT_SEQUENCE);
-
-#ifdef LD_DEC
-    if (object_type == LD)
-    {
-        window_long       = fb->ld_window[window_shape];
-        window_long_prev  = fb->ld_window[window_shape_prev];
-    } else {
-#endif
-        window_long       = fb->long_window[window_shape];
-        window_long_prev  = fb->long_window[window_shape_prev];
-        window_short      = fb->short_window[window_shape];
-        window_short_prev = fb->short_window[window_shape_prev];
-#ifdef LD_DEC
-    }
-#endif
-
-    switch(window_sequence)
-    {
-    case ONLY_LONG_SEQUENCE:
-        for (i = nlong-1; i >= 0; i--)
-        {
-            windowed_buf[i] = MUL_F(in_data[i], window_long_prev[i]);
-            windowed_buf[i+nlong] = MUL_F(in_data[i+nlong], window_long[nlong-1-i]);
-        }
-        mdct(fb, windowed_buf, out_mdct, 2*nlong);
-        break;
-
-    case LONG_START_SEQUENCE:
-        for (i = 0; i < nlong; i++)
-            windowed_buf[i] = MUL_F(in_data[i], window_long_prev[i]);
-        for (i = 0; i < nflat_ls; i++)
-            windowed_buf[i+nlong] = in_data[i+nlong];
-        for (i = 0; i < nshort; i++)
-            windowed_buf[i+nlong+nflat_ls] = MUL_F(in_data[i+nlong+nflat_ls], window_short[nshort-1-i]);
-        for (i = 0; i < nflat_ls; i++)
-            windowed_buf[i+nlong+nflat_ls+nshort] = 0;
-        mdct(fb, windowed_buf, out_mdct, 2*nlong);
-        break;
-
-    case LONG_STOP_SEQUENCE:
-        for (i = 0; i < nflat_ls; i++)
-            windowed_buf[i] = 0;
-        for (i = 0; i < nshort; i++)
-            windowed_buf[i+nflat_ls] = MUL_F(in_data[i+nflat_ls], window_short_prev[i]);
-        for (i = 0; i < nflat_ls; i++)
-            windowed_buf[i+nflat_ls+nshort] = in_data[i+nflat_ls+nshort];
-        for (i = 0; i < nlong; i++)
-            windowed_buf[i+nlong] = MUL_F(in_data[i+nlong], window_long[nlong-1-i]);
-        mdct(fb, windowed_buf, out_mdct, 2*nlong);
-        break;
-    }
-}
-#endif
diff --git a/lib/libfaad2/libfaad/filtbank.h b/lib/libfaad2/libfaad/filtbank.h
deleted file mode 100644 (file)
index de0149c..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: filtbank.h,v 1.27 2007/11/01 12:33:30 menno Exp $
-**/
-
-#ifndef __FILTBANK_H__
-#define __FILTBANK_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-fb_info *filter_bank_init(uint16_t frame_len);
-void filter_bank_end(fb_info *fb);
-
-#ifdef LTP_DEC
-void filter_bank_ltp(fb_info *fb,
-                     uint8_t window_sequence,
-                     uint8_t window_shape,
-                     uint8_t window_shape_prev,
-                     real_t *in_data,
-                     real_t *out_mdct,
-                     uint8_t object_type,
-                     uint16_t frame_len);
-#endif
-
-void ifilter_bank(fb_info *fb, uint8_t window_sequence, uint8_t window_shape,
-                  uint8_t window_shape_prev, real_t *freq_in,
-                  real_t *time_out, real_t *overlap,
-                  uint8_t object_type, uint16_t frame_len);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/fixed.h b/lib/libfaad2/libfaad/fixed.h
deleted file mode 100644 (file)
index 5315837..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: fixed.h,v 1.32 2007/11/01 12:33:30 menno Exp $
-**/
-
-#ifndef __FIXED_H__
-#define __FIXED_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if defined(_WIN32_WCE) && defined(_ARM_)
-#include <cmnintrin.h>
-#endif
-
-
-#define COEF_BITS 28
-#define COEF_PRECISION (1 << COEF_BITS)
-#define REAL_BITS 14 // MAXIMUM OF 14 FOR FIXED POINT SBR
-#define REAL_PRECISION (1 << REAL_BITS)
-
-/* FRAC is the fractional only part of the fixed point number [0.0..1.0) */
-#define FRAC_SIZE 32 /* frac is a 32 bit integer */
-#define FRAC_BITS 31
-#define FRAC_PRECISION ((uint32_t)(1 << FRAC_BITS))
-#define FRAC_MAX 0x7FFFFFFF
-
-typedef int32_t real_t;
-
-
-#define REAL_CONST(A) (((A) >= 0) ? ((real_t)((A)*(REAL_PRECISION)+0.5)) : ((real_t)((A)*(REAL_PRECISION)-0.5)))
-#define COEF_CONST(A) (((A) >= 0) ? ((real_t)((A)*(COEF_PRECISION)+0.5)) : ((real_t)((A)*(COEF_PRECISION)-0.5)))
-#define FRAC_CONST(A) (((A) == 1.00) ? ((real_t)FRAC_MAX) : (((A) >= 0) ? ((real_t)((A)*(FRAC_PRECISION)+0.5)) : ((real_t)((A)*(FRAC_PRECISION)-0.5))))
-//#define FRAC_CONST(A) (((A) >= 0) ? ((real_t)((A)*(FRAC_PRECISION)+0.5)) : ((real_t)((A)*(FRAC_PRECISION)-0.5)))
-
-#define Q2_BITS 22
-#define Q2_PRECISION (1 << Q2_BITS)
-#define Q2_CONST(A) (((A) >= 0) ? ((real_t)((A)*(Q2_PRECISION)+0.5)) : ((real_t)((A)*(Q2_PRECISION)-0.5)))
-
-#if defined(_WIN32) && !defined(_WIN32_WCE)
-
-/* multiply with real shift */
-static INLINE real_t MUL_R(real_t A, real_t B)
-{
-    _asm {
-        mov eax,A
-        imul B
-        shrd eax,edx,REAL_BITS
-    }
-}
-
-/* multiply with coef shift */
-static INLINE real_t MUL_C(real_t A, real_t B)
-{
-    _asm {
-        mov eax,A
-        imul B
-        shrd eax,edx,COEF_BITS
-    }
-}
-
-static INLINE real_t MUL_Q2(real_t A, real_t B)
-{
-    _asm {
-        mov eax,A
-        imul B
-        shrd eax,edx,Q2_BITS
-    }
-}
-
-static INLINE real_t MUL_SHIFT6(real_t A, real_t B)
-{
-    _asm {
-        mov eax,A
-        imul B
-        shrd eax,edx,6
-    }
-}
-
-static INLINE real_t MUL_SHIFT23(real_t A, real_t B)
-{
-    _asm {
-        mov eax,A
-        imul B
-        shrd eax,edx,23
-    }
-}
-
-#if 1
-static INLINE real_t _MulHigh(real_t A, real_t B)
-{
-    _asm {
-        mov eax,A
-        imul B
-        mov eax,edx
-    }
-}
-
-/* multiply with fractional shift */
-static INLINE real_t MUL_F(real_t A, real_t B)
-{
-    return _MulHigh(A,B) << (FRAC_SIZE-FRAC_BITS);
-}
-
-/* Complex multiplication */
-static INLINE void ComplexMult(real_t *y1, real_t *y2,
-    real_t x1, real_t x2, real_t c1, real_t c2)
-{
-    *y1 = (_MulHigh(x1, c1) + _MulHigh(x2, c2))<<(FRAC_SIZE-FRAC_BITS);
-    *y2 = (_MulHigh(x2, c1) - _MulHigh(x1, c2))<<(FRAC_SIZE-FRAC_BITS);
-}
-#else
-static INLINE real_t MUL_F(real_t A, real_t B)
-{
-    _asm {
-        mov eax,A
-        imul B
-        shrd eax,edx,FRAC_BITS
-    }
-}
-
-/* Complex multiplication */
-static INLINE void ComplexMult(real_t *y1, real_t *y2,
-    real_t x1, real_t x2, real_t c1, real_t c2)
-{
-    *y1 = MUL_F(x1, c1) + MUL_F(x2, c2);
-    *y2 = MUL_F(x2, c1) - MUL_F(x1, c2);
-}
-#endif
-
-#elif defined(__GNUC__) && defined (__arm__)
-
-/* taken from MAD */
-#define arm_mul(x, y, SCALEBITS) \
-({ \
-    uint32_t __hi; \
-    uint32_t __lo; \
-    uint32_t __result; \
-    asm("smull  %0, %1, %3, %4\n\t" \
-        "movs   %0, %0, lsr %5\n\t" \
-        "adc    %2, %0, %1, lsl %6" \
-        : "=&r" (__lo), "=&r" (__hi), "=r" (__result) \
-        : "%r" (x), "r" (y), \
-        "M" (SCALEBITS), "M" (32 - (SCALEBITS)) \
-        : "cc"); \
-        __result; \
-})
-
-static INLINE real_t MUL_R(real_t A, real_t B)
-{
-    return arm_mul(A, B, REAL_BITS);
-}
-
-static INLINE real_t MUL_C(real_t A, real_t B)
-{
-    return arm_mul(A, B, COEF_BITS);
-}
-
-static INLINE real_t MUL_Q2(real_t A, real_t B)
-{
-    return arm_mul(A, B, Q2_BITS);
-}
-
-static INLINE real_t MUL_SHIFT6(real_t A, real_t B)
-{
-    return arm_mul(A, B, 6);
-}
-
-static INLINE real_t MUL_SHIFT23(real_t A, real_t B)
-{
-    return arm_mul(A, B, 23);
-}
-
-static INLINE real_t _MulHigh(real_t x, real_t y)
-{
-    uint32_t __lo;
-    uint32_t __hi;
-    asm("smull\t%0, %1, %2, %3"
-        : "=&r"(__lo),"=&r"(__hi)
-        : "%r"(x),"r"(y)
-        : "cc");
-    return __hi;
-}
-
-static INLINE real_t MUL_F(real_t A, real_t B)
-{
-    return _MulHigh(A, B) << (FRAC_SIZE-FRAC_BITS);
-}
-
-/* Complex multiplication */
-static INLINE void ComplexMult(real_t *y1, real_t *y2,
-    real_t x1, real_t x2, real_t c1, real_t c2)
-{
-    int32_t tmp, yt1, yt2;
-    asm("smull %0, %1, %4, %6\n\t"
-        "smlal %0, %1, %5, %7\n\t"
-        "rsb   %3, %4, #0\n\t"
-        "smull %0, %2, %5, %6\n\t"
-        "smlal %0, %2, %3, %7"
-        : "=&r" (tmp), "=&r" (yt1), "=&r" (yt2), "=r" (x1)
-        : "3" (x1), "r" (x2), "r" (c1), "r" (c2)
-        : "cc" );
-    *y1 = yt1 << (FRAC_SIZE-FRAC_BITS);
-    *y2 = yt2 << (FRAC_SIZE-FRAC_BITS);
-}
-
-#else
-
-  /* multiply with real shift */
-  #define MUL_R(A,B) (real_t)(((int64_t)(A)*(int64_t)(B)+(1 << (REAL_BITS-1))) >> REAL_BITS)
-  /* multiply with coef shift */
-  #define MUL_C(A,B) (real_t)(((int64_t)(A)*(int64_t)(B)+(1 << (COEF_BITS-1))) >> COEF_BITS)
-  /* multiply with fractional shift */
-#if defined(_WIN32_WCE) && defined(_ARM_)
-  /* eVC for PocketPC has an intrinsic function that returns only the high 32 bits of a 32x32 bit multiply */
-  static INLINE real_t MUL_F(real_t A, real_t B)
-  {
-      return _MulHigh(A,B) << (32-FRAC_BITS);
-  }
-#else
-#ifdef __BFIN__
-#define _MulHigh(X,Y) ({ int __xxo;                      \
-     asm (                                               \
-         "a1 = %2.H * %1.L (IS,M);\n\t"                  \
-         "a0 = %1.H * %2.H, a1+= %1.H * %2.L (IS,M);\n\t"\
-         "a1 = a1 >>> 16;\n\t"                           \
-         "%0 = (a0 += a1);\n\t"                          \
-         : "=d" (__xxo) : "d" (X), "d" (Y) : "A0","A1"); __xxo; })
-
-#define MUL_F(X,Y) ({ int __xxo;                         \
-     asm (                                               \
-         "a1 = %2.H * %1.L (M);\n\t"                     \
-         "a0 = %1.H * %2.H, a1+= %1.H * %2.L (M);\n\t"   \
-         "a1 = a1 >>> 16;\n\t"                           \
-         "%0 = (a0 += a1);\n\t"                          \
-         : "=d" (__xxo) : "d" (X), "d" (Y) : "A0","A1"); __xxo; })
-#else
-  #define _MulHigh(A,B) (real_t)(((int64_t)(A)*(int64_t)(B)+(1 << (FRAC_SIZE-1))) >> FRAC_SIZE)
-  #define MUL_F(A,B) (real_t)(((int64_t)(A)*(int64_t)(B)+(1 << (FRAC_BITS-1))) >> FRAC_BITS)
-#endif
-#endif
-  #define MUL_Q2(A,B) (real_t)(((int64_t)(A)*(int64_t)(B)+(1 << (Q2_BITS-1))) >> Q2_BITS)
-  #define MUL_SHIFT6(A,B) (real_t)(((int64_t)(A)*(int64_t)(B)+(1 << (6-1))) >> 6)
-  #define MUL_SHIFT23(A,B) (real_t)(((int64_t)(A)*(int64_t)(B)+(1 << (23-1))) >> 23)
-
-/* Complex multiplication */
-static INLINE void ComplexMult(real_t *y1, real_t *y2,
-    real_t x1, real_t x2, real_t c1, real_t c2)
-{
-    *y1 = (_MulHigh(x1, c1) + _MulHigh(x2, c2))<<(FRAC_SIZE-FRAC_BITS);
-    *y2 = (_MulHigh(x2, c1) - _MulHigh(x1, c2))<<(FRAC_SIZE-FRAC_BITS);
-}
-
-#endif
-
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/hcr.c b/lib/libfaad2/libfaad/hcr.c
deleted file mode 100644 (file)
index c766296..0000000
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: hcr.c,v 1.24 2007/11/01 12:33:30 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "specrec.h"
-#include "huffman.h"
-
-/* ISO/IEC 14496-3/Amd.1 
- * 8.5.3.3: Huffman Codeword Reordering for AAC spectral data (HCR) 
- *
- * HCR devides the spectral data in known fixed size segments, and 
- * sorts it by the importance of the data. The importance is firstly 
- * the (lower) position in the spectrum, and secondly the largest 
- * value in the used codebook. 
- * The most important data is written at the start of each segment
- * (at known positions), the remaining data is interleaved inbetween, 
- * with the writing direction alternating.
- * Data length is not increased.
-*/
-
-#ifdef ERROR_RESILIENCE
-
-/* 8.5.3.3.1 Pre-sorting */
-
-#define NUM_CB      6
-#define NUM_CB_ER   22
-#define MAX_CB      32
-#define VCB11_FIRST 16
-#define VCB11_LAST  31
-
-static const uint8_t PreSortCB_STD[NUM_CB] = 
-    { 11, 9, 7, 5, 3, 1};
-
-static const uint8_t PreSortCB_ER[NUM_CB_ER] = 
-    { 11, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 9, 7, 5, 3, 1};
-
-/* 8.5.3.3.2 Derivation of segment width */
-
-static const uint8_t maxCwLen[MAX_CB] = {0, 11, 9, 20, 16, 13, 11, 14, 12, 17, 14, 49,
-    0, 0, 0, 0, 14, 17, 21, 21, 25, 25, 29, 29, 29, 29, 33, 33, 33, 37, 37, 41};
-
-#define segmentWidth(cb)    min(maxCwLen[cb], ics->length_of_longest_codeword)
-
-/* bit-twiddling helpers */
-static const uint8_t  S[] = {1, 2, 4, 8, 16};    
-static const uint32_t B[] = {0x55555555, 0x33333333, 0x0F0F0F0F, 0x00FF00FF, 0x0000FFFF};
-
-typedef struct
-{
-    uint8_t     cb;
-    uint8_t     decoded;
-    uint16_t   sp_offset;
-    bits_t      bits;
-} codeword_t;
-
-/* rewind and reverse */
-/* 32 bit version */
-static uint32_t rewrev_word(uint32_t v, const uint8_t len)
-{  
-    /* 32 bit reverse */
-    v = ((v >> S[0]) & B[0]) | ((v << S[0]) & ~B[0]); 
-    v = ((v >> S[1]) & B[1]) | ((v << S[1]) & ~B[1]); 
-    v = ((v >> S[2]) & B[2]) | ((v << S[2]) & ~B[2]); 
-    v = ((v >> S[3]) & B[3]) | ((v << S[3]) & ~B[3]);
-    v = ((v >> S[4]) & B[4]) | ((v << S[4]) & ~B[4]);
-
-    /* shift off low bits */
-    v >>= (32 - len);
-
-    return v;
-}
-
-/* 64 bit version */
-static void rewrev_lword(uint32_t *hi, uint32_t *lo, const uint8_t len)
-{   
-    if (len <= 32) {
-        *hi = 0;
-        *lo = rewrev_word(*lo, len);
-    } else
-    {
-        uint32_t t = *hi, v = *lo;
-
-        /* double 32 bit reverse */
-        v = ((v >> S[0]) & B[0]) | ((v << S[0]) & ~B[0]); 
-        t = ((t >> S[0]) & B[0]) | ((t << S[0]) & ~B[0]); 
-        v = ((v >> S[1]) & B[1]) | ((v << S[1]) & ~B[1]); 
-        t = ((t >> S[1]) & B[1]) | ((t << S[1]) & ~B[1]); 
-        v = ((v >> S[2]) & B[2]) | ((v << S[2]) & ~B[2]); 
-        t = ((t >> S[2]) & B[2]) | ((t << S[2]) & ~B[2]); 
-        v = ((v >> S[3]) & B[3]) | ((v << S[3]) & ~B[3]);
-        t = ((t >> S[3]) & B[3]) | ((t << S[3]) & ~B[3]);
-        v = ((v >> S[4]) & B[4]) | ((v << S[4]) & ~B[4]);                
-        t = ((t >> S[4]) & B[4]) | ((t << S[4]) & ~B[4]);
-
-        /* last 32<>32 bit swap is implicit below */
-        
-        /* shift off low bits (this is really only one 64 bit shift) */
-        *lo = (t >> (64 - len)) | (v << (len - 32));
-        *hi = v >> (64 - len);          
-    }
-}
-
-
-/* bits_t version */
-static void rewrev_bits(bits_t *bits)
-{
-    if (bits->len == 0) return;
-    rewrev_lword(&bits->bufb, &bits->bufa,  bits->len);
-}
-
-
-/* merge bits of a to b */
-static void concat_bits(bits_t *b, bits_t *a)
-{
-    uint32_t bl, bh, al, ah;
-
-    if (a->len == 0) return;
-
-    al = a->bufa;
-    ah = a->bufb;
-    
-    if (b->len > 32)
-    {
-        /* maskoff superfluous high b bits */
-        bl = b->bufa;
-        bh = b->bufb & ((1 << (b->len-32)) - 1);
-        /* left shift a b->len bits */
-        ah = al << (b->len - 32);
-        al = 0;
-    } else {
-        bl = b->bufa & ((1 << (b->len)) - 1);
-        bh = 0;   
-        ah = (ah << (b->len)) | (al >> (32 - b->len));
-        al = al << b->len;
-    }
-
-    /* merge */
-    b->bufa = bl | al;
-    b->bufb = bh | ah;
-
-    b->len += a->len;
-}
-     
-uint8_t is_good_cb(uint8_t this_CB, uint8_t this_sec_CB)
-{
-    /* only want spectral data CB's */
-    if ((this_sec_CB > ZERO_HCB && this_sec_CB <= ESC_HCB) || (this_sec_CB >= VCB11_FIRST && this_sec_CB <= VCB11_LAST))
-    {
-        if (this_CB < ESC_HCB)
-        {
-            /* normal codebook pairs */
-            return ((this_sec_CB == this_CB) || (this_sec_CB == this_CB + 1));
-        } else
-        {
-            /* escape codebook */
-            return (this_sec_CB == this_CB);
-        }
-    }
-    return 0;
-}
-                    
-void read_segment(bits_t *segment, uint8_t segwidth, bitfile *ld)
-{
-    segment->len = segwidth;
-
-     if (segwidth > 32)
-     {
-        segment->bufb = faad_getbits(ld, segwidth - 32);        
-        segment->bufa = faad_getbits(ld, 32);        
-
-    } else {
-        segment->bufa = faad_getbits(ld, segwidth);
-        segment->bufb = 0;        
-    }    
-}
-
-void fill_in_codeword(codeword_t *codeword, uint16_t index, uint16_t sp, uint8_t cb)
-{
-    codeword[index].sp_offset = sp;
-    codeword[index].cb = cb;
-    codeword[index].decoded = 0;
-    codeword[index].bits.len = 0;
-}
-
-uint8_t reordered_spectral_data(NeAACDecHandle hDecoder, ic_stream *ics, 
-                                bitfile *ld, int16_t *spectral_data)
-{   
-    uint16_t PCWs_done;
-    uint16_t numberOfSegments, numberOfSets, numberOfCodewords;  
-
-    codeword_t codeword[512];
-    bits_t segment[512];
-
-    uint16_t sp_offset[8];
-    uint16_t g, i, sortloop, set, bitsread;
-    uint16_t bitsleft, codewordsleft;
-    uint8_t w_idx, sfb, this_CB, last_CB, this_sec_CB; 
-    
-    const uint16_t nshort = hDecoder->frameLength/8;
-    const uint16_t sp_data_len = ics->length_of_reordered_spectral_data;
-    
-    const uint8_t *PreSortCb;
-
-    /* no data (e.g. silence) */
-    if (sp_data_len == 0)
-        return 0;
-
-    /* since there is spectral data, at least one codeword has nonzero length */
-    if (ics->length_of_longest_codeword == 0)
-        return 10;
-
-    if (sp_data_len < ics->length_of_longest_codeword)
-        return 10; 
-
-    sp_offset[0] = 0;
-    for (g = 1; g < ics->num_window_groups; g++)
-    {
-        sp_offset[g] = sp_offset[g-1] + nshort*ics->window_group_length[g-1];
-    }
-
-    PCWs_done = 0;
-    numberOfSegments = 0;
-    numberOfCodewords = 0;
-    bitsread = 0;
-
-    /* VCB11 code books in use */
-    if (hDecoder->aacSectionDataResilienceFlag)
-    {
-        PreSortCb = PreSortCB_ER;
-        last_CB = NUM_CB_ER;
-    } else
-    {
-        PreSortCb = PreSortCB_STD;
-        last_CB = NUM_CB;
-    }
-    /* step 1: decode PCW's (set 0), and stuff data in easier-to-use format */
-    for (sortloop = 0; sortloop < last_CB; sortloop++)
-    {
-        /* select codebook to process this pass */
-        this_CB = PreSortCb[sortloop];
-        
-        /* loop over sfbs */
-        for (sfb = 0; sfb < ics->max_sfb; sfb++)
-        {
-            /* loop over all in this sfb, 4 lines per loop */
-            for (w_idx = 0; 4*w_idx < (min(ics->swb_offset[sfb+1], ics->swb_offset_max) - ics->swb_offset[sfb]); w_idx++)
-            {
-                for(g = 0; g < ics->num_window_groups; g++)
-                {
-                    for (i = 0; i < ics->num_sec[g]; i++)
-                    {
-                        /* check whether sfb used here is the one we want to process */
-                        if ((ics->sect_start[g][i] <= sfb) && (ics->sect_end[g][i] > sfb))
-                        {                            
-                            /* check whether codebook used here is the one we want to process */
-                            this_sec_CB = ics->sect_cb[g][i];
-                 
-                            if (is_good_cb(this_CB, this_sec_CB))                              
-                            {
-                                /* precalculate some stuff */
-                                uint16_t sect_sfb_size = ics->sect_sfb_offset[g][sfb+1] - ics->sect_sfb_offset[g][sfb];
-                                uint8_t inc = (this_sec_CB < FIRST_PAIR_HCB) ? QUAD_LEN : PAIR_LEN;
-                                uint16_t group_cws_count = (4*ics->window_group_length[g])/inc;
-                                uint8_t segwidth = segmentWidth(this_sec_CB);
-                                uint16_t cws;                                
-
-                                /* read codewords until end of sfb or end of window group (shouldn't only 1 trigger?) */                                 
-                                for (cws = 0; (cws < group_cws_count) && ((cws + w_idx*group_cws_count) < sect_sfb_size); cws++)
-                                {
-                                    uint16_t sp = sp_offset[g] + ics->sect_sfb_offset[g][sfb] + inc * (cws + w_idx*group_cws_count);                                   
-
-                                    /* read and decode PCW */
-                                    if (!PCWs_done)
-                                    {         
-                                        /* read in normal segments */
-                                        if (bitsread + segwidth <= sp_data_len)
-                                        {                                            
-                                            read_segment(&segment[numberOfSegments], segwidth, ld);                          
-                                            bitsread += segwidth;
-                                            
-                                            huffman_spectral_data_2(this_sec_CB, &segment[numberOfSegments], &spectral_data[sp]);                                            
-
-                                            /* keep leftover bits */
-                                            rewrev_bits(&segment[numberOfSegments]);
-
-                                            numberOfSegments++;
-                                        } else {
-                                            /* remaining stuff after last segment, we unfortunately couldn't read
-                                               this in earlier because it might not fit in 64 bits. since we already
-                                               decoded (and removed) the PCW it is now guaranteed to fit */
-                                            if (bitsread < sp_data_len)
-                                            {                                                
-                                                const uint8_t additional_bits = sp_data_len - bitsread;                                               
-
-                                                read_segment(&segment[numberOfSegments], additional_bits, ld);                                                
-                                                segment[numberOfSegments].len += segment[numberOfSegments-1].len;
-                                                rewrev_bits(&segment[numberOfSegments]);                                               
-
-                                                if (segment[numberOfSegments-1].len > 32)
-                                                {
-                                                    segment[numberOfSegments-1].bufb = segment[numberOfSegments].bufb + 
-                                                        showbits_hcr(&segment[numberOfSegments-1], segment[numberOfSegments-1].len - 32);
-                                                    segment[numberOfSegments-1].bufa = segment[numberOfSegments].bufa + 
-                                                        showbits_hcr(&segment[numberOfSegments-1], 32);
-                                                } else {
-                                                    segment[numberOfSegments-1].bufa = segment[numberOfSegments].bufa + 
-                                                        showbits_hcr(&segment[numberOfSegments-1], segment[numberOfSegments-1].len);
-                                                    segment[numberOfSegments-1].bufb = segment[numberOfSegments].bufb;
-                                                }                                                
-                                                segment[numberOfSegments-1].len += additional_bits;
-                                            }
-                                            bitsread = sp_data_len;
-                                            PCWs_done = 1;
-
-                                            fill_in_codeword(codeword, 0, sp, this_sec_CB);                                            
-                                        }
-                                    } else {    
-                                        fill_in_codeword(codeword, numberOfCodewords - numberOfSegments, sp, this_sec_CB);                                         
-                                    }
-                                    numberOfCodewords++;
-                                }                             
-                            }
-                        }
-                    } 
-                 } 
-             }
-         }
-    }
-
-    if (numberOfSegments == 0)
-        return 10; 
-
-    numberOfSets = numberOfCodewords / numberOfSegments;     
-
-    /* step 2: decode nonPCWs */
-    for (set = 1; set <= numberOfSets; set++)
-    {
-        uint16_t trial;
-
-        for (trial = 0; trial < numberOfSegments; trial++)
-        {
-            uint16_t codewordBase;
-
-            for (codewordBase = 0; codewordBase < numberOfSegments; codewordBase++)
-            {
-                const uint16_t segment_idx = (trial + codewordBase) % numberOfSegments;
-                const uint16_t codeword_idx = codewordBase + set*numberOfSegments - numberOfSegments;
-
-                /* data up */
-                if (codeword_idx >= numberOfCodewords - numberOfSegments) break;
-
-                if (!codeword[codeword_idx].decoded && segment[segment_idx].len > 0)
-                {
-                    uint8_t tmplen;
-
-                    if (codeword[codeword_idx].bits.len != 0)                   
-                        concat_bits(&segment[segment_idx], &codeword[codeword_idx].bits);                            
-                    
-                    tmplen = segment[segment_idx].len;
-
-                    if (huffman_spectral_data_2(codeword[codeword_idx].cb, &segment[segment_idx],
-                                               &spectral_data[codeword[codeword_idx].sp_offset]) >= 0)
-                    {
-                        codeword[codeword_idx].decoded = 1;
-                    } else 
-                    {   
-                        codeword[codeword_idx].bits = segment[segment_idx];
-                        codeword[codeword_idx].bits.len = tmplen;                        
-                    }
-                                            
-                }
-            }
-        }
-        for (i = 0; i < numberOfSegments; i++)
-            rewrev_bits(&segment[i]);
-    }
-
-#if 0 // Seems to give false errors
-    bitsleft = 0;    
-        
-    for (i = 0; i < numberOfSegments && !bitsleft; i++)
-        bitsleft += segment[i].len;
-
-    if (bitsleft) return 10;
-
-    codewordsleft = 0;
-
-    for (i = 0; (i < numberOfCodewords - numberOfSegments) && (!codewordsleft); i++)    
-        if (!codeword[i].decoded)            
-                codewordsleft++; 
-
-    if (codewordsleft) return 10;
-#endif
-
-
-    return 0;
-
-}
-#endif
diff --git a/lib/libfaad2/libfaad/huffman.c b/lib/libfaad2/libfaad/huffman.c
deleted file mode 100644 (file)
index e2656c0..0000000
+++ /dev/null
@@ -1,559 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: huffman.c,v 1.26 2007/11/01 12:33:30 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-#ifdef ANALYSIS
-#include <stdio.h>
-#endif
-
-#include "bits.h"
-#include "huffman.h"
-#include "codebook/hcb.h"
-
-
-/* static function declarations */
-static INLINE void huffman_sign_bits(bitfile *ld, int16_t *sp, uint8_t len);
-static INLINE int16_t huffman_getescape(bitfile *ld, int16_t sp);
-static uint8_t huffman_2step_quad(uint8_t cb, bitfile *ld, int16_t *sp);
-static uint8_t huffman_2step_quad_sign(uint8_t cb, bitfile *ld, int16_t *sp);
-static uint8_t huffman_2step_pair(uint8_t cb, bitfile *ld, int16_t *sp);
-static uint8_t huffman_2step_pair_sign(uint8_t cb, bitfile *ld, int16_t *sp);
-static uint8_t huffman_binary_quad(uint8_t cb, bitfile *ld, int16_t *sp);
-static uint8_t huffman_binary_quad_sign(uint8_t cb, bitfile *ld, int16_t *sp);
-static uint8_t huffman_binary_pair(uint8_t cb, bitfile *ld, int16_t *sp);
-static uint8_t huffman_binary_pair_sign(uint8_t cb, bitfile *ld, int16_t *sp);
-static int16_t huffman_codebook(uint8_t i);
-static void vcb11_check_LAV(uint8_t cb, int16_t *sp);
-
-int8_t huffman_scale_factor(bitfile *ld)
-{
-    uint16_t offset = 0;
-
-    while (hcb_sf[offset][1])
-    {
-        uint8_t b = faad_get1bit(ld
-            DEBUGVAR(1,255,"huffman_scale_factor()"));
-        offset += hcb_sf[offset][b];
-
-        if (offset > 240)
-        {
-            /* printf("ERROR: offset into hcb_sf = %d >240!\n", offset); */
-            return -1;
-        }
-    }
-
-    return hcb_sf[offset][0];
-}
-
-
-hcb *hcb_table[] = {
-    0, hcb1_1, hcb2_1, 0, hcb4_1, 0, hcb6_1, 0, hcb8_1, 0, hcb10_1, hcb11_1
-};
-
-hcb_2_quad *hcb_2_quad_table[] = {
-    0, hcb1_2, hcb2_2, 0, hcb4_2, 0, 0, 0, 0, 0, 0, 0
-};
-
-hcb_2_pair *hcb_2_pair_table[] = {
-    0, 0, 0, 0, 0, 0, hcb6_2, 0, hcb8_2, 0, hcb10_2, hcb11_2
-};
-
-hcb_bin_pair *hcb_bin_table[] = {
-    0, 0, 0, 0, 0, hcb5, 0, hcb7, 0, hcb9, 0, 0
-};
-
-uint8_t hcbN[] = { 0, 5, 5, 0, 5, 0, 5, 0, 5, 0, 6, 5 };
-
-/* defines whether a huffman codebook is unsigned or not */
-/* Table 4.6.2 */
-uint8_t unsigned_cb[] = { 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0,
-  /* codebook 16 to 31 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
-};
-
-int hcb_2_quad_table_size[] = { 0, 114, 86, 0, 185, 0, 0, 0, 0, 0, 0, 0 };
-int hcb_2_pair_table_size[] = { 0, 0, 0, 0, 0, 0, 126, 0, 83, 0, 210, 373 };
-int hcb_bin_table_size[] = { 0, 0, 0, 161, 0, 161, 0, 127, 0, 337, 0, 0 };
-
-static INLINE void huffman_sign_bits(bitfile *ld, int16_t *sp, uint8_t len)
-{
-    uint8_t i;
-
-    for (i = 0; i < len; i++)
-    {
-        if(sp[i])
-        {
-            if(faad_get1bit(ld
-                DEBUGVAR(1,5,"huffman_sign_bits(): sign bit")) & 1)
-            {
-                sp[i] = -sp[i];
-            }
-        }
-    }
-}
-
-static INLINE int16_t huffman_getescape(bitfile *ld, int16_t sp)
-{
-    uint8_t neg, i;
-    int16_t j;
-       int16_t off;
-
-    if (sp < 0)
-    {
-        if (sp != -16)
-            return sp;
-        neg = 1;
-    } else {
-        if (sp != 16)
-            return sp;
-        neg = 0;
-    }
-
-    for (i = 4; ; i++)
-    {
-        if (faad_get1bit(ld
-            DEBUGVAR(1,6,"huffman_getescape(): escape size")) == 0)
-        {
-            break;
-        }
-    }
-
-    off = (int16_t)faad_getbits(ld, i
-        DEBUGVAR(1,9,"huffman_getescape(): escape"));
-
-    j = off | (1<<i);
-    if (neg)
-        j = -j;
-
-    return j;
-}
-
-static uint8_t huffman_2step_quad(uint8_t cb, bitfile *ld, int16_t *sp)
-{
-    uint32_t cw;
-    uint16_t offset = 0;
-    uint8_t extra_bits;
-
-    cw = faad_showbits(ld, hcbN[cb]);
-    offset = hcb_table[cb][cw].offset;
-    extra_bits = hcb_table[cb][cw].extra_bits;
-
-    if (extra_bits)
-    {
-        /* we know for sure it's more than hcbN[cb] bits long */
-        faad_flushbits(ld, hcbN[cb]);
-        offset += (uint16_t)faad_showbits(ld, extra_bits);
-        faad_flushbits(ld, hcb_2_quad_table[cb][offset].bits - hcbN[cb]);
-    } else {
-        faad_flushbits(ld, hcb_2_quad_table[cb][offset].bits);
-    }
-
-    if (offset > hcb_2_quad_table_size[cb])
-    {
-        /* printf("ERROR: offset into hcb_2_quad_table = %d >%d!\n", offset,
-           hcb_2_quad_table_size[cb]); */
-        return 10;
-    }
-
-    sp[0] = hcb_2_quad_table[cb][offset].x;
-    sp[1] = hcb_2_quad_table[cb][offset].y;
-    sp[2] = hcb_2_quad_table[cb][offset].v;
-    sp[3] = hcb_2_quad_table[cb][offset].w;
-
-    return 0;
-}
-
-static uint8_t huffman_2step_quad_sign(uint8_t cb, bitfile *ld, int16_t *sp)
-{
-    uint8_t err = huffman_2step_quad(cb, ld, sp);
-    huffman_sign_bits(ld, sp, QUAD_LEN);
-
-    return err;
-}
-
-static uint8_t huffman_2step_pair(uint8_t cb, bitfile *ld, int16_t *sp)
-{
-    uint32_t cw;
-    uint16_t offset = 0;
-    uint8_t extra_bits;
-
-    cw = faad_showbits(ld, hcbN[cb]);
-    offset = hcb_table[cb][cw].offset;
-    extra_bits = hcb_table[cb][cw].extra_bits;
-
-    if (extra_bits)
-    {
-        /* we know for sure it's more than hcbN[cb] bits long */
-        faad_flushbits(ld, hcbN[cb]);
-        offset += (uint16_t)faad_showbits(ld, extra_bits);
-        faad_flushbits(ld, hcb_2_pair_table[cb][offset].bits - hcbN[cb]);
-    } else {
-        faad_flushbits(ld, hcb_2_pair_table[cb][offset].bits);
-    }
-
-    if (offset > hcb_2_pair_table_size[cb])
-    {
-        /* printf("ERROR: offset into hcb_2_pair_table = %d >%d!\n", offset,
-           hcb_2_pair_table_size[cb]); */
-        return 10;
-    }
-
-    sp[0] = hcb_2_pair_table[cb][offset].x;
-    sp[1] = hcb_2_pair_table[cb][offset].y;
-
-    return 0;
-}
-
-static uint8_t huffman_2step_pair_sign(uint8_t cb, bitfile *ld, int16_t *sp)
-{
-    uint8_t err = huffman_2step_pair(cb, ld, sp);
-    huffman_sign_bits(ld, sp, PAIR_LEN);
-
-    return err;
-}
-
-static uint8_t huffman_binary_quad(uint8_t cb, bitfile *ld, int16_t *sp)
-{
-    uint16_t offset = 0;
-
-    while (!hcb3[offset].is_leaf)
-    {
-        uint8_t b = faad_get1bit(ld
-            DEBUGVAR(1,255,"huffman_spectral_data():3"));
-        offset += hcb3[offset].data[b];
-    }
-
-    if (offset > hcb_bin_table_size[cb])
-    {
-        /* printf("ERROR: offset into hcb_bin_table = %d >%d!\n", offset,
-           hcb_bin_table_size[cb]); */
-        return 10;
-    }
-
-    sp[0] = hcb3[offset].data[0];
-    sp[1] = hcb3[offset].data[1];
-    sp[2] = hcb3[offset].data[2];
-    sp[3] = hcb3[offset].data[3];
-
-    return 0;
-}
-
-static uint8_t huffman_binary_quad_sign(uint8_t cb, bitfile *ld, int16_t *sp)
-{
-    uint8_t err = huffman_binary_quad(cb, ld, sp);
-    huffman_sign_bits(ld, sp, QUAD_LEN);
-
-    return err;
-}
-
-static uint8_t huffman_binary_pair(uint8_t cb, bitfile *ld, int16_t *sp)
-{
-    uint16_t offset = 0;
-
-    while (!hcb_bin_table[cb][offset].is_leaf)
-    {
-        uint8_t b = faad_get1bit(ld
-            DEBUGVAR(1,255,"huffman_spectral_data():9"));
-        offset += hcb_bin_table[cb][offset].data[b];
-    }
-
-    if (offset > hcb_bin_table_size[cb])
-    {
-        /* printf("ERROR: offset into hcb_bin_table = %d >%d!\n", offset,
-           hcb_bin_table_size[cb]); */
-        return 10;
-    }
-
-    sp[0] = hcb_bin_table[cb][offset].data[0];
-    sp[1] = hcb_bin_table[cb][offset].data[1];
-
-    return 0;
-}
-
-static uint8_t huffman_binary_pair_sign(uint8_t cb, bitfile *ld, int16_t *sp)
-{
-    uint8_t err = huffman_binary_pair(cb, ld, sp);
-    huffman_sign_bits(ld, sp, PAIR_LEN);
-
-    return err;
-}
-
-static int16_t huffman_codebook(uint8_t i)
-{
-    static const uint32_t data = 16428320;
-    if (i == 0) return (int16_t)(data >> 16) & 0xFFFF;
-    else        return (int16_t)data & 0xFFFF;
-}
-
-static void vcb11_check_LAV(uint8_t cb, int16_t *sp)
-{
-    static const uint16_t vcb11_LAV_tab[] = {
-        16, 31, 47, 63, 95, 127, 159, 191, 223,
-        255, 319, 383, 511, 767, 1023, 2047
-    };
-    uint16_t max = 0;
-
-    if (cb < 16 || cb > 31)
-        return;
-
-    max = vcb11_LAV_tab[cb - 16];
-
-    if ((abs(sp[0]) > max) || (abs(sp[1]) > max))
-    {
-        sp[0] = 0;
-        sp[1] = 0;
-    }
-}
-
-uint8_t huffman_spectral_data(uint8_t cb, bitfile *ld, int16_t *sp)
-{
-    switch (cb)
-    {
-    case 1: /* 2-step method for data quadruples */
-    case 2:
-        return huffman_2step_quad(cb, ld, sp);
-    case 3: /* binary search for data quadruples */
-        return huffman_binary_quad_sign(cb, ld, sp);
-    case 4: /* 2-step method for data quadruples */
-        return huffman_2step_quad_sign(cb, ld, sp);
-    case 5: /* binary search for data pairs */
-        return huffman_binary_pair(cb, ld, sp);
-    case 6: /* 2-step method for data pairs */
-        return huffman_2step_pair(cb, ld, sp);
-    case 7: /* binary search for data pairs */
-    case 9:
-        return huffman_binary_pair_sign(cb, ld, sp);
-    case 8: /* 2-step method for data pairs */
-    case 10:
-        return huffman_2step_pair_sign(cb, ld, sp);
-    case 12: {
-        uint8_t err = huffman_2step_pair(11, ld, sp);
-        sp[0] = huffman_codebook(0); sp[1] = huffman_codebook(1); 
-        return err; }
-    case 11:
-    {
-        uint8_t err = huffman_2step_pair_sign(11, ld, sp);
-        sp[0] = huffman_getescape(ld, sp[0]);
-        sp[1] = huffman_getescape(ld, sp[1]);
-        return err;
-    }
-#ifdef ERROR_RESILIENCE
-    /* VCB11 uses codebook 11 */
-    case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23:
-    case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31:
-    {
-        uint8_t err = huffman_2step_pair_sign(11, ld, sp);
-        sp[0] = huffman_getescape(ld, sp[0]);
-        sp[1] = huffman_getescape(ld, sp[1]);
-
-        /* check LAV (Largest Absolute Value) */
-        /* this finds errors in the ESCAPE signal */
-        vcb11_check_LAV(cb, sp);
-
-        return err;
-    }
-#endif
-    default:
-        /* Non existent codebook number, something went wrong */
-        return 11;
-    }
-
-    return 0;
-}
-
-
-#ifdef ERROR_RESILIENCE
-
-/* Special version of huffman_spectral_data
-Will not read from a bitfile but a bits_t structure.
-Will keep track of the bits decoded and return the number of bits remaining.
-Do not read more than ld->len, return -1 if codeword would be longer */
-
-int8_t huffman_spectral_data_2(uint8_t cb, bits_t *ld, int16_t *sp)
-{
-    uint32_t cw;
-    uint16_t offset = 0;
-    uint8_t extra_bits;
-    uint8_t i, vcb11 = 0;
-
-
-    switch (cb)
-    {
-    case 1: /* 2-step method for data quadruples */
-    case 2:
-    case 4:
-
-        cw = showbits_hcr(ld, hcbN[cb]);
-        offset = hcb_table[cb][cw].offset;
-        extra_bits = hcb_table[cb][cw].extra_bits;
-
-        if (extra_bits)
-        {
-            /* we know for sure it's more than hcbN[cb] bits long */
-            if ( flushbits_hcr(ld, hcbN[cb]) ) return -1;
-            offset += (uint16_t)showbits_hcr(ld, extra_bits);
-            if ( flushbits_hcr(ld, hcb_2_quad_table[cb][offset].bits - hcbN[cb]) ) return -1;
-        } else {
-            if ( flushbits_hcr(ld, hcb_2_quad_table[cb][offset].bits) ) return -1;
-        }
-
-        sp[0] = hcb_2_quad_table[cb][offset].x;
-        sp[1] = hcb_2_quad_table[cb][offset].y;
-        sp[2] = hcb_2_quad_table[cb][offset].v;
-        sp[3] = hcb_2_quad_table[cb][offset].w;
-        break;
-
-    case 6: /* 2-step method for data pairs */
-    case 8:
-    case 10:
-    case 11:
-    /* VCB11 uses codebook 11 */
-    case 16: case 17: case 18: case 19: case 20: case 21: case 22: case 23:
-    case 24: case 25: case 26: case 27: case 28: case 29: case 30: case 31:
-
-        if (cb >= 16)
-        {
-            /* store the virtual codebook */
-            vcb11 = cb;
-            cb = 11;
-        }
-            
-        cw = showbits_hcr(ld, hcbN[cb]);
-        offset = hcb_table[cb][cw].offset;
-        extra_bits = hcb_table[cb][cw].extra_bits;
-
-        if (extra_bits)
-        {
-            /* we know for sure it's more than hcbN[cb] bits long */
-            if ( flushbits_hcr(ld, hcbN[cb]) ) return -1;
-            offset += (uint16_t)showbits_hcr(ld, extra_bits);
-            if ( flushbits_hcr(ld, hcb_2_pair_table[cb][offset].bits - hcbN[cb]) ) return -1;
-        } else {
-            if ( flushbits_hcr(ld, hcb_2_pair_table[cb][offset].bits) ) return -1;
-        }
-        sp[0] = hcb_2_pair_table[cb][offset].x;
-        sp[1] = hcb_2_pair_table[cb][offset].y;
-        break;
-
-    case 3: /* binary search for data quadruples */
-
-        while (!hcb3[offset].is_leaf)
-        {
-            uint8_t b;
-            
-            if ( get1bit_hcr(ld, &b) ) return -1;
-            offset += hcb3[offset].data[b];
-        }
-
-        sp[0] = hcb3[offset].data[0];
-        sp[1] = hcb3[offset].data[1];
-        sp[2] = hcb3[offset].data[2];
-        sp[3] = hcb3[offset].data[3];
-
-        break;
-
-    case 5: /* binary search for data pairs */
-    case 7:
-    case 9:
-
-        while (!hcb_bin_table[cb][offset].is_leaf)
-        {
-            uint8_t b;
-            
-            if (get1bit_hcr(ld, &b) ) return -1;
-            offset += hcb_bin_table[cb][offset].data[b];
-        }
-
-        sp[0] = hcb_bin_table[cb][offset].data[0];
-        sp[1] = hcb_bin_table[cb][offset].data[1];
-
-        break;
-    }
-
-       /* decode sign bits */
-    if (unsigned_cb[cb])
-    {
-        for(i = 0; i < ((cb < FIRST_PAIR_HCB) ? QUAD_LEN : PAIR_LEN); i++)
-        {
-            if(sp[i])
-            {
-               uint8_t b;
-                if ( get1bit_hcr(ld, &b) ) return -1;
-                if (b != 0) {
-                    sp[i] = -sp[i];
-                }
-           }
-        }
-    }
-
-    /* decode huffman escape bits */
-    if ((cb == ESC_HCB) || (cb >= 16))
-    {
-        uint8_t k;
-        for (k = 0; k < 2; k++)
-        {
-            if ((sp[k] == 16) || (sp[k] == -16))
-            {
-                uint8_t neg, i;
-                int32_t j;
-                uint32_t off;
-
-                neg = (sp[k] < 0) ? 1 : 0; 
-
-                for (i = 4; ; i++)
-                {
-                    uint8_t b;
-                    if (get1bit_hcr(ld, &b))
-                        return -1;
-                    if (b == 0)
-                        break;
-                }
-
-                if (getbits_hcr(ld, i, &off))
-                    return -1;
-                j = off + (1<<i);
-                sp[k] = (int16_t)((neg) ? -j : j);
-            }
-        }
-
-        if (vcb11 != 0)
-        {
-            /* check LAV (Largest Absolute Value) */
-            /* this finds errors in the ESCAPE signal */
-            vcb11_check_LAV(vcb11, sp);
-        }
-    }    
-    return ld->len;
-}
-
-#endif
-
diff --git a/lib/libfaad2/libfaad/huffman.h b/lib/libfaad2/libfaad/huffman.h
deleted file mode 100644 (file)
index f8bcb23..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: huffman.h,v 1.28 2007/11/01 12:33:30 menno Exp $
-**/
-
-#ifndef __HUFFMAN_H__
-#define __HUFFMAN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-int8_t huffman_scale_factor(bitfile *ld);
-uint8_t huffman_spectral_data(uint8_t cb, bitfile *ld, int16_t *sp);
-#ifdef ERROR_RESILIENCE
-int8_t huffman_spectral_data_2(uint8_t cb, bits_t *ld, int16_t *sp);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/ic_predict.c b/lib/libfaad2/libfaad/ic_predict.c
deleted file mode 100644 (file)
index 70027ba..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ic_predict.c,v 1.28 2007/11/01 12:33:31 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef MAIN_DEC
-
-#include "syntax.h"
-#include "ic_predict.h"
-#include "pns.h"
-
-
-static void flt_round(float32_t *pf)
-{
-    int32_t flg;
-    uint32_t tmp, tmp1, tmp2;
-
-    tmp = *(uint32_t*)pf;
-    flg = tmp & (uint32_t)0x00008000;
-    tmp &= (uint32_t)0xffff0000;
-    tmp1 = tmp;
-    /* round 1/2 lsb toward infinity */
-    if (flg)
-    {
-        tmp &= (uint32_t)0xff800000;       /* extract exponent and sign */
-        tmp |= (uint32_t)0x00010000;       /* insert 1 lsb */
-        tmp2 = tmp;                             /* add 1 lsb and elided one */
-        tmp &= (uint32_t)0xff800000;       /* extract exponent and sign */
-        
-        *pf = *(float32_t*)&tmp1 + *(float32_t*)&tmp2 - *(float32_t*)&tmp;
-    } else {
-        *pf = *(float32_t*)&tmp;
-    }
-}
-
-static int16_t quant_pred(float32_t x)
-{
-    int16_t q;
-    uint32_t *tmp = (uint32_t*)&x;
-
-    q = (int16_t)(*tmp>>16);
-
-    return q;
-}
-
-static float32_t inv_quant_pred(int16_t q)
-{
-    float32_t x;
-    uint32_t *tmp = (uint32_t*)&x;
-    *tmp = ((uint32_t)q)<<16;
-
-    return x;
-}
-
-static void ic_predict(pred_state *state, real_t input, real_t *output, uint8_t pred)
-{
-    uint16_t tmp;
-    int16_t i, j;
-    real_t dr1;
-       float32_t predictedvalue;
-    real_t e0, e1;
-    real_t k1, k2;
-
-    real_t r[2];
-    real_t COR[2];
-    real_t VAR[2];
-
-    r[0] = inv_quant_pred(state->r[0]);
-    r[1] = inv_quant_pred(state->r[1]);
-    COR[0] = inv_quant_pred(state->COR[0]);
-    COR[1] = inv_quant_pred(state->COR[1]);
-    VAR[0] = inv_quant_pred(state->VAR[0]);
-    VAR[1] = inv_quant_pred(state->VAR[1]);
-
-
-#if 1
-    tmp = state->VAR[0];
-    j = (tmp >> 7);
-    i = tmp & 0x7f;
-    if (j >= 128)
-    {
-        j -= 128;
-        k1 = COR[0] * exp_table[j] * mnt_table[i];
-    } else {
-        k1 = REAL_CONST(0);
-    }
-#else
-
-    {
-#define B 0.953125
-        real_t c = COR[0];
-        real_t v = VAR[0];
-        float32_t tmp;
-        if (c == 0 || v <= 1)
-        {
-            k1 = 0;
-        } else {
-            tmp = B / v;
-            flt_round(&tmp);
-            k1 = c * tmp;
-        }
-    }
-#endif
-
-    if (pred)
-    {
-#if 1
-        tmp = state->VAR[1];
-        j = (tmp >> 7);
-        i = tmp & 0x7f;
-        if (j >= 128)
-        {
-            j -= 128;
-            k2 = COR[1] * exp_table[j] * mnt_table[i];
-        } else {
-            k2 = REAL_CONST(0);
-        }
-#else
-
-#define B 0.953125
-        real_t c = COR[1];
-        real_t v = VAR[1];
-        float32_t tmp;
-        if (c == 0 || v <= 1)
-        {
-            k2 = 0;
-        } else {
-            tmp = B / v;
-            flt_round(&tmp);
-            k2 = c * tmp;
-        }
-#endif
-
-        predictedvalue = k1*r[0] + k2*r[1];
-        flt_round(&predictedvalue);
-        *output = input + predictedvalue;
-    }
-
-    /* calculate new state data */
-    e0 = *output;
-    e1 = e0 - k1*r[0];
-    dr1 = k1*e0;
-
-    VAR[0] = ALPHA*VAR[0] + 0.5f * (r[0]*r[0] + e0*e0);
-    COR[0] = ALPHA*COR[0] + r[0]*e0;
-    VAR[1] = ALPHA*VAR[1] + 0.5f * (r[1]*r[1] + e1*e1);
-    COR[1] = ALPHA*COR[1] + r[1]*e1;
-
-    r[1] = A * (r[0]-dr1);
-    r[0] = A * e0;
-
-    state->r[0] = quant_pred(r[0]);
-    state->r[1] = quant_pred(r[1]);
-    state->COR[0] = quant_pred(COR[0]);
-    state->COR[1] = quant_pred(COR[1]);
-    state->VAR[0] = quant_pred(VAR[0]);
-    state->VAR[1] = quant_pred(VAR[1]);
-}
-
-static void reset_pred_state(pred_state *state)
-{
-    state->r[0]   = 0;
-    state->r[1]   = 0;
-    state->COR[0] = 0;
-    state->COR[1] = 0;
-    state->VAR[0] = 0x3F80;
-    state->VAR[1] = 0x3F80;
-}
-
-void pns_reset_pred_state(ic_stream *ics, pred_state *state)
-{
-    uint8_t sfb, g, b;
-    uint16_t i, offs, offs2;
-
-    /* prediction only for long blocks */
-    if (ics->window_sequence == EIGHT_SHORT_SEQUENCE)
-        return;
-
-    for (g = 0; g < ics->num_window_groups; g++)
-    {
-        for (b = 0; b < ics->window_group_length[g]; b++)
-        {
-            for (sfb = 0; sfb < ics->max_sfb; sfb++)
-            {
-                if (is_noise(ics, g, sfb))
-                {
-                    offs = ics->swb_offset[sfb];
-                    offs2 = min(ics->swb_offset[sfb+1], ics->swb_offset_max);
-
-                    for (i = offs; i < offs2; i++)
-                        reset_pred_state(&state[i]);
-                }
-            }
-        }
-    }
-}
-
-void reset_all_predictors(pred_state *state, uint16_t frame_len)
-{
-    uint16_t i;
-
-    for (i = 0; i < frame_len; i++)
-        reset_pred_state(&state[i]);
-}
-
-/* intra channel prediction */
-void ic_prediction(ic_stream *ics, real_t *spec, pred_state *state,
-                   uint16_t frame_len, uint8_t sf_index)
-{
-    uint8_t sfb;
-    uint16_t bin;
-
-    if (ics->window_sequence == EIGHT_SHORT_SEQUENCE)
-    {
-        reset_all_predictors(state, frame_len);
-    } else {
-        for (sfb = 0; sfb < max_pred_sfb(sf_index); sfb++)
-        {
-            uint16_t low  = ics->swb_offset[sfb];
-            uint16_t high = min(ics->swb_offset[sfb+1], ics->swb_offset_max);
-
-            for (bin = low; bin < high; bin++)
-            {
-                ic_predict(&state[bin], spec[bin], &spec[bin],
-                    (ics->predictor_data_present && ics->pred.prediction_used[sfb]));
-            }
-        }
-
-        if (ics->predictor_data_present)
-        {
-            if (ics->pred.predictor_reset)
-            {
-                for (bin = ics->pred.predictor_reset_group_number - 1;
-                     bin < frame_len; bin += 30)
-                {
-                    reset_pred_state(&state[bin]);
-                }
-            }
-        }
-    }
-}
-
-#endif
diff --git a/lib/libfaad2/libfaad/ic_predict.h b/lib/libfaad2/libfaad/ic_predict.h
deleted file mode 100644 (file)
index e69cd11..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ic_predict.h,v 1.23 2007/11/01 12:33:31 menno Exp $
-**/
-
-#ifdef MAIN_DEC
-
-#ifndef __IC_PREDICT_H__
-#define __IC_PREDICT_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define ALPHA      REAL_CONST(0.90625)
-#define A          REAL_CONST(0.953125)
-
-
-void pns_reset_pred_state(ic_stream *ics, pred_state *state);
-void reset_all_predictors(pred_state *state, uint16_t frame_len);
-void ic_prediction(ic_stream *ics, real_t *spec, pred_state *state,
-                   uint16_t frame_len, uint8_t sf_index);
-
-ALIGN static const real_t mnt_table[128] = {
-    COEF_CONST(0.9531250000), COEF_CONST(0.9453125000),
-    COEF_CONST(0.9375000000), COEF_CONST(0.9296875000),
-    COEF_CONST(0.9257812500), COEF_CONST(0.9179687500),
-    COEF_CONST(0.9101562500), COEF_CONST(0.9023437500),
-    COEF_CONST(0.8984375000), COEF_CONST(0.8906250000),
-    COEF_CONST(0.8828125000), COEF_CONST(0.8789062500),
-    COEF_CONST(0.8710937500), COEF_CONST(0.8671875000),
-    COEF_CONST(0.8593750000), COEF_CONST(0.8515625000),
-    COEF_CONST(0.8476562500), COEF_CONST(0.8398437500),
-    COEF_CONST(0.8359375000), COEF_CONST(0.8281250000),
-    COEF_CONST(0.8242187500), COEF_CONST(0.8203125000),
-    COEF_CONST(0.8125000000), COEF_CONST(0.8085937500),
-    COEF_CONST(0.8007812500), COEF_CONST(0.7968750000),
-    COEF_CONST(0.7929687500), COEF_CONST(0.7851562500),
-    COEF_CONST(0.7812500000), COEF_CONST(0.7773437500),
-    COEF_CONST(0.7734375000), COEF_CONST(0.7656250000),
-    COEF_CONST(0.7617187500), COEF_CONST(0.7578125000),
-    COEF_CONST(0.7539062500), COEF_CONST(0.7500000000),
-    COEF_CONST(0.7421875000), COEF_CONST(0.7382812500),
-    COEF_CONST(0.7343750000), COEF_CONST(0.7304687500),
-    COEF_CONST(0.7265625000), COEF_CONST(0.7226562500),
-    COEF_CONST(0.7187500000), COEF_CONST(0.7148437500),
-    COEF_CONST(0.7109375000), COEF_CONST(0.7070312500),
-    COEF_CONST(0.6992187500), COEF_CONST(0.6953125000),
-    COEF_CONST(0.6914062500), COEF_CONST(0.6875000000),
-    COEF_CONST(0.6835937500), COEF_CONST(0.6796875000),
-    COEF_CONST(0.6796875000), COEF_CONST(0.6757812500),
-    COEF_CONST(0.6718750000), COEF_CONST(0.6679687500),
-    COEF_CONST(0.6640625000), COEF_CONST(0.6601562500),
-    COEF_CONST(0.6562500000), COEF_CONST(0.6523437500),
-    COEF_CONST(0.6484375000), COEF_CONST(0.6445312500),
-    COEF_CONST(0.6406250000), COEF_CONST(0.6406250000),
-    COEF_CONST(0.6367187500), COEF_CONST(0.6328125000),
-    COEF_CONST(0.6289062500), COEF_CONST(0.6250000000),
-    COEF_CONST(0.6210937500), COEF_CONST(0.6210937500),
-    COEF_CONST(0.6171875000), COEF_CONST(0.6132812500),
-    COEF_CONST(0.6093750000), COEF_CONST(0.6054687500),
-    COEF_CONST(0.6054687500), COEF_CONST(0.6015625000),
-    COEF_CONST(0.5976562500), COEF_CONST(0.5937500000),
-    COEF_CONST(0.5937500000), COEF_CONST(0.5898437500),
-    COEF_CONST(0.5859375000), COEF_CONST(0.5820312500),
-    COEF_CONST(0.5820312500), COEF_CONST(0.5781250000),
-    COEF_CONST(0.5742187500), COEF_CONST(0.5742187500),
-    COEF_CONST(0.5703125000), COEF_CONST(0.5664062500),
-    COEF_CONST(0.5664062500), COEF_CONST(0.5625000000),
-    COEF_CONST(0.5585937500), COEF_CONST(0.5585937500),
-    COEF_CONST(0.5546875000), COEF_CONST(0.5507812500),
-    COEF_CONST(0.5507812500), COEF_CONST(0.5468750000),
-    COEF_CONST(0.5429687500), COEF_CONST(0.5429687500),
-    COEF_CONST(0.5390625000), COEF_CONST(0.5390625000),
-    COEF_CONST(0.5351562500), COEF_CONST(0.5312500000),
-    COEF_CONST(0.5312500000), COEF_CONST(0.5273437500),
-    COEF_CONST(0.5273437500), COEF_CONST(0.5234375000),
-    COEF_CONST(0.5195312500), COEF_CONST(0.5195312500),
-    COEF_CONST(0.5156250000), COEF_CONST(0.5156250000),
-    COEF_CONST(0.5117187500), COEF_CONST(0.5117187500),
-    COEF_CONST(0.5078125000), COEF_CONST(0.5078125000),
-    COEF_CONST(0.5039062500), COEF_CONST(0.5039062500),
-    COEF_CONST(0.5000000000), COEF_CONST(0.4980468750),
-    COEF_CONST(0.4960937500), COEF_CONST(0.4941406250),
-    COEF_CONST(0.4921875000), COEF_CONST(0.4902343750),
-    COEF_CONST(0.4882812500), COEF_CONST(0.4863281250),
-    COEF_CONST(0.4843750000), COEF_CONST(0.4824218750),
-    COEF_CONST(0.4804687500), COEF_CONST(0.4785156250)
-};
-
-ALIGN static const real_t exp_table[128] = {
-    COEF_CONST(0.50000000000000000000000000000000000000000000000000),
-    COEF_CONST(0.25000000000000000000000000000000000000000000000000),
-    COEF_CONST(0.12500000000000000000000000000000000000000000000000),
-    COEF_CONST(0.06250000000000000000000000000000000000000000000000),
-    COEF_CONST(0.03125000000000000000000000000000000000000000000000),
-    COEF_CONST(0.01562500000000000000000000000000000000000000000000),
-    COEF_CONST(0.00781250000000000000000000000000000000000000000000),
-    COEF_CONST(0.00390625000000000000000000000000000000000000000000),
-    COEF_CONST(0.00195312500000000000000000000000000000000000000000),
-    COEF_CONST(0.00097656250000000000000000000000000000000000000000),
-    COEF_CONST(0.00048828125000000000000000000000000000000000000000),
-    COEF_CONST(0.00024414062500000000000000000000000000000000000000),
-    COEF_CONST(0.00012207031250000000000000000000000000000000000000),
-    COEF_CONST(0.00006103515625000000000000000000000000000000000000),
-    COEF_CONST(0.00003051757812500000000000000000000000000000000000),
-    COEF_CONST(0.00001525878906250000000000000000000000000000000000),
-    COEF_CONST(0.00000762939453125000000000000000000000000000000000),
-    COEF_CONST(0.00000381469726562500000000000000000000000000000000),
-    COEF_CONST(0.00000190734863281250000000000000000000000000000000),
-    COEF_CONST(0.00000095367431640625000000000000000000000000000000),
-    COEF_CONST(0.00000047683715820312500000000000000000000000000000),
-    COEF_CONST(0.00000023841857910156250000000000000000000000000000),
-    COEF_CONST(0.00000011920928955078125000000000000000000000000000),
-    COEF_CONST(0.00000005960464477539062500000000000000000000000000),
-    COEF_CONST(0.00000002980232238769531300000000000000000000000000),
-    COEF_CONST(0.00000001490116119384765600000000000000000000000000),
-    COEF_CONST(0.00000000745058059692382810000000000000000000000000),
-    COEF_CONST(0.00000000372529029846191410000000000000000000000000),
-    COEF_CONST(0.00000000186264514923095700000000000000000000000000),
-    COEF_CONST(0.00000000093132257461547852000000000000000000000000),
-    COEF_CONST(0.00000000046566128730773926000000000000000000000000),
-    COEF_CONST(0.00000000023283064365386963000000000000000000000000),
-    COEF_CONST(0.00000000011641532182693481000000000000000000000000),
-    COEF_CONST(0.00000000005820766091346740700000000000000000000000),
-    COEF_CONST(0.00000000002910383045673370400000000000000000000000),
-    COEF_CONST(0.00000000001455191522836685200000000000000000000000),
-    COEF_CONST(0.00000000000727595761418342590000000000000000000000),
-    COEF_CONST(0.00000000000363797880709171300000000000000000000000),
-    COEF_CONST(0.00000000000181898940354585650000000000000000000000),
-    COEF_CONST(0.00000000000090949470177292824000000000000000000000),
-    COEF_CONST(0.00000000000045474735088646412000000000000000000000),
-    COEF_CONST(0.00000000000022737367544323206000000000000000000000),
-    COEF_CONST(0.00000000000011368683772161603000000000000000000000),
-    COEF_CONST(0.00000000000005684341886080801500000000000000000000),
-    COEF_CONST(0.00000000000002842170943040400700000000000000000000),
-    COEF_CONST(0.00000000000001421085471520200400000000000000000000),
-    COEF_CONST(0.00000000000000710542735760100190000000000000000000),
-    COEF_CONST(0.00000000000000355271367880050090000000000000000000),
-    COEF_CONST(0.00000000000000177635683940025050000000000000000000),
-    COEF_CONST(0.00000000000000088817841970012523000000000000000000),
-    COEF_CONST(0.00000000000000044408920985006262000000000000000000),
-    COEF_CONST(0.00000000000000022204460492503131000000000000000000),
-    COEF_CONST(0.00000000000000011102230246251565000000000000000000),
-    COEF_CONST(0.00000000000000005551115123125782700000000000000000),
-    COEF_CONST(0.00000000000000002775557561562891400000000000000000),
-    COEF_CONST(0.00000000000000001387778780781445700000000000000000),
-    COEF_CONST(0.00000000000000000693889390390722840000000000000000),
-    COEF_CONST(0.00000000000000000346944695195361420000000000000000),
-    COEF_CONST(0.00000000000000000173472347597680710000000000000000),
-    COEF_CONST(0.00000000000000000086736173798840355000000000000000),
-    COEF_CONST(0.00000000000000000043368086899420177000000000000000),
-    COEF_CONST(0.00000000000000000021684043449710089000000000000000),
-    COEF_CONST(0.00000000000000000010842021724855044000000000000000),
-    COEF_CONST(0.00000000000000000005421010862427522200000000000000),
-    COEF_CONST(0.00000000000000000002710505431213761100000000000000),
-    COEF_CONST(0.00000000000000000001355252715606880500000000000000),
-    COEF_CONST(0.00000000000000000000677626357803440270000000000000),
-    COEF_CONST(0.00000000000000000000338813178901720140000000000000),
-    COEF_CONST(0.00000000000000000000169406589450860070000000000000),
-    COEF_CONST(0.00000000000000000000084703294725430034000000000000),
-    COEF_CONST(0.00000000000000000000042351647362715017000000000000),
-    COEF_CONST(0.00000000000000000000021175823681357508000000000000),
-    COEF_CONST(0.00000000000000000000010587911840678754000000000000),
-    COEF_CONST(0.00000000000000000000005293955920339377100000000000),
-    COEF_CONST(0.00000000000000000000002646977960169688600000000000),
-    COEF_CONST(0.00000000000000000000001323488980084844300000000000),
-    COEF_CONST(0.00000000000000000000000661744490042422140000000000),
-    COEF_CONST(0.00000000000000000000000330872245021211070000000000),
-    COEF_CONST(0.00000000000000000000000165436122510605530000000000),
-    COEF_CONST(0.00000000000000000000000082718061255302767000000000),
-    COEF_CONST(0.00000000000000000000000041359030627651384000000000),
-    COEF_CONST(0.00000000000000000000000020679515313825692000000000),
-    COEF_CONST(0.00000000000000000000000010339757656912846000000000),
-    COEF_CONST(0.00000000000000000000000005169878828456423000000000),
-    COEF_CONST(0.00000000000000000000000002584939414228211500000000),
-    COEF_CONST(0.00000000000000000000000001292469707114105700000000),
-    COEF_CONST(0.00000000000000000000000000646234853557052870000000),
-    COEF_CONST(0.00000000000000000000000000323117426778526440000000),
-    COEF_CONST(0.00000000000000000000000000161558713389263220000000),
-    COEF_CONST(0.00000000000000000000000000080779356694631609000000),
-    COEF_CONST(0.00000000000000000000000000040389678347315804000000),
-    COEF_CONST(0.00000000000000000000000000020194839173657902000000),
-    COEF_CONST(0.00000000000000000000000000010097419586828951000000),
-    COEF_CONST(0.00000000000000000000000000005048709793414475600000),
-    COEF_CONST(0.00000000000000000000000000002524354896707237800000),
-    COEF_CONST(0.00000000000000000000000000001262177448353618900000),
-    COEF_CONST(0.00000000000000000000000000000631088724176809440000),
-    COEF_CONST(0.00000000000000000000000000000315544362088404720000),
-    COEF_CONST(0.00000000000000000000000000000157772181044202360000),
-    COEF_CONST(0.00000000000000000000000000000078886090522101181000),
-    COEF_CONST(0.00000000000000000000000000000039443045261050590000),
-    COEF_CONST(0.00000000000000000000000000000019721522630525295000),
-    COEF_CONST(0.00000000000000000000000000000009860761315262647600),
-    COEF_CONST(0.00000000000000000000000000000004930380657631323800),
-    COEF_CONST(0.00000000000000000000000000000002465190328815661900),
-    COEF_CONST(0.00000000000000000000000000000001232595164407830900),
-    COEF_CONST(0.00000000000000000000000000000000616297582203915470),
-    COEF_CONST(0.00000000000000000000000000000000308148791101957740),
-    COEF_CONST(0.00000000000000000000000000000000154074395550978870),
-    COEF_CONST(0.00000000000000000000000000000000077037197775489434),
-    COEF_CONST(0.00000000000000000000000000000000038518598887744717),
-    COEF_CONST(0.00000000000000000000000000000000019259299443872359),
-    COEF_CONST(0.00000000000000000000000000000000009629649721936179),
-    COEF_CONST(0.00000000000000000000000000000000004814824860968090),
-    COEF_CONST(0.00000000000000000000000000000000002407412430484045),
-    COEF_CONST(0.00000000000000000000000000000000001203706215242022),
-    COEF_CONST(0.00000000000000000000000000000000000601853107621011),
-    COEF_CONST(0.00000000000000000000000000000000000300926553810506),
-    COEF_CONST(0.00000000000000000000000000000000000150463276905253),
-    COEF_CONST(0.00000000000000000000000000000000000075231638452626),
-    COEF_CONST(0.00000000000000000000000000000000000037615819226313),
-    COEF_CONST(0.00000000000000000000000000000000000018807909613157),
-    COEF_CONST(0.00000000000000000000000000000000000009403954806578),
-    COEF_CONST(0.00000000000000000000000000000000000004701977403289),
-    COEF_CONST(0.00000000000000000000000000000000000002350988701645),
-    COEF_CONST(0.00000000000000000000000000000000000001175494350822),
-    COEF_CONST(0.0 /* 0000000000000000000000000000000000000587747175411 "floating point underflow" */),
-    COEF_CONST(0.0)
-};
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
-#endif
diff --git a/lib/libfaad2/libfaad/iq_table.h b/lib/libfaad2/libfaad/iq_table.h
deleted file mode 100644 (file)
index 3cc2b80..0000000
+++ /dev/null
@@ -1,16458 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: iq_table.h,v 1.20 2007/11/01 12:33:31 menno Exp $
-**/
-
-#ifndef IQ_TABLE_H__
-#define IQ_TABLE_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* !!!DON'T CHANGE IQ_TABLE_SIZE!!! */
-
-
-#ifndef FIXED_POINT
-
-#define IQ_TABLE_SIZE 8192
-
-#ifdef _MSC_VER
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#endif
-
-ALIGN static const real_t iq_table[IQ_TABLE_SIZE] =
-{
-    0,
-    1,
-    2.5198420997897464,
-    4.3267487109222245,
-    6.3496042078727974,
-    8.5498797333834844,
-    10.902723556992836,
-    13.390518279406722,
-    15.999999999999998,
-    18.720754407467133,
-    21.544346900318832,
-    24.463780996262464,
-    27.47314182127996,
-    30.567350940369842,
-    33.741991698453212,
-    36.993181114957046,
-    40.317473596635935,
-    43.711787041189993,
-    47.173345095760126,
-    50.699631325716943,
-    54.288352331898118,
-    57.937407704003519,
-    61.6448652744185,
-    65.408940536585988,
-    69.227979374755591,
-    73.100443455321638,
-    77.024897778591622,
-    80.999999999999986,
-    85.024491212518527,
-    89.097187944889555,
-    93.216975178615741,
-    97.382800224133163,
-    101.59366732596474,
-    105.84863288986224,
-    110.14680124343441,
-    114.4873208566006,
-    118.86938096020653,
-    123.29220851090024,
-    127.75506545836058,
-    132.25724627755247,
-    136.79807573413572,
-    141.37690685569191,
-    145.99311908523086,
-    150.6461165966291,
-    155.33532675434674,
-    160.06019870205279,
-    164.82020206673349,
-    169.61482576651861,
-    174.44357691188537,
-    179.30597979112557,
-    184.20157493201927,
-    189.12991823257562,
-    194.09058015449685,
-    199.08314497371677,
-    204.1072100829694,
-    209.16238534187647,
-    214.24829247050752,
-    219.36456448277784,
-    224.51084515641216,
-    229.6867885365223,
-    234.89205847013176,
-    240.12632816923249,
-    245.38927980018505,
-    250.68060409747261,
-    255.99999999999991,
-    261.34717430828869,
-    266.72184136106449,
-    272.12372272986045,
-    277.55254693037961,
-    283.0080491494619,
-    288.48997098659891,
-    293.99806020902247,
-    299.53207051947408,
-    305.0917613358298,
-    310.67689758182206,
-    316.28724948815585,
-    321.92259240337177,
-    327.58270661385535,
-    333.26737717243742,
-    338.97639373507025,
-    344.70955040510125,
-    350.46664558470013,
-    356.24748183302603,
-    362.05186573075139,
-    367.87960775058258,
-    373.73052213344511,
-    379.60442677002078,
-    385.50114308734607,
-    391.42049594019937,
-    397.36231350702371,
-    403.32642719014467,
-    409.31267152006262,
-    415.32088406360799,
-    421.35090533576471,
-    427.40257871497619,
-    433.4757503617617,
-    439.5702691404793,
-    445.68598654408271,
-    451.82275662172759,
-    457.98043590909128,
-    464.15888336127773,
-    470.35796028818726,
-    476.5775302922363,
-    482.81745920832043,
-    489.07761504591741,
-    495.35786793323581,
-    501.65809006331688,
-    507.97815564200368,
-    514.31794083769648,
-    520.67732373281672,
-    527.05618427690604,
-    533.45440424129174,
-    539.87186717525128,
-    546.30845836361505,
-    552.76406478574609,
-    559.23857507584194,
-    565.73187948450413,
-    572.24386984152341,
-    578.77443951983378,
-    585.32348340058843,
-    591.89089783931263,
-    598.47658063309257,
-    605.08043098876044,
-    611.70234949203643,
-    618.3422380775919,
-    624.99999999999977,
-    631.67553980553748,
-    638.36876330481164,
-    645.07957754617485,
-    651.80789078990415,
-    658.55361248311499,
-    665.31665323538357,
-    672.09692479505225,
-    678.8943400261943,
-    685.70881288621433,
-    692.540258404062,
-    699.38859265903977,
-    706.25373276018058,
-    713.13559682617972,
-    720.03410396586037,
-    726.94917425915435,
-    733.88072873858209,
-    740.82868937121543,
-    747.79297904110535,
-    754.77352153216191,
-    761.77024151147043,
-    768.78306451302956,
-    775.81191692189896,
-    782.85672595874246,
-    789.91741966475445,
-    796.99392688695798,
-    804.08617726386274,
-    811.19410121147098,
-    818.31762990962227,
-    825.45669528866563,
-    832.61123001644864,
-    839.78116748561604,
-    846.96644180120552,
-    854.16698776853514,
-    861.38274088137143,
-    868.61363731036977,
-    875.85961389178203,
-    883.12060811641959,
-    890.39655811886757,
-    897.68740266694181,
-    904.99308115138172,
-    912.31353357577188,
-    919.64870054668756,
-    926.99852326405619,
-    934.36294351172899,
-    941.74190364825859,
-    949.13534659787422,
-    956.54321584165211,
-    963.96545540887348,
-    971.40200986856541,
-    978.85282432122176,
-    986.31784439069588,
-    993.7970162162635,
-    1001.29028644485,
-    1008.797602223418,
-    1016.3189111915103,
-    1023.8541614739464,
-    1031.4033016736653,
-    1038.9662808647138,
-    1046.5430485853758,
-    1054.1335548314366,
-    1061.7377500495838,
-    1069.3555851309357,
-    1076.9870114046978,
-    1084.6319806319441,
-    1092.2904449995174,
-    1099.9623571140482,
-    1107.6476699960892,
-    1115.3463370743607,
-    1123.058312180106,
-    1130.7835495415541,
-    1138.5220037784854,
-    1146.273629896901,
-    1154.0383832837879,
-    1161.816219701986,
-    1169.607095285146,
-    1177.4109665327808,
-    1185.2277903054078,
-    1193.0575238197798,
-    1200.9001246442001,
-    1208.7555506939248,
-    1216.6237602266442,
-    1224.5047118380478,
-    1232.3983644574657,
-    1240.3046773435874,
-    1248.2236100802568,
-    1256.1551225723395,
-    1264.099175041662,
-    1272.0557280230228,
-    1280.0247423602691,
-    1288.0061792024444,
-    1295.9999999999995,
-    1304.006166501068,
-    1312.0246407478062,
-    1320.0553850727929,
-    1328.0983620954903,
-    1336.1535347187651,
-    1344.2208661254647,
-    1352.3003197750522,
-    1360.3918594002962,
-    1368.4954490040145,
-    1376.6110528558709,
-    1384.7386354892244,
-    1392.8781616980295,
-    1401.0295965337855,
-    1409.1929053025353,
-    1417.3680535619119,
-    1425.5550071182327,
-    1433.7537320236374,
-    1441.9641945732744,
-    1450.1863613025282,
-    1458.4201989842913,
-    1466.6656746262797,
-    1474.9227554683875,
-    1483.1914089800841,
-    1491.4716028578516,
-    1499.7633050226596,
-    1508.0664836174794,
-    1516.3811070048375,
-    1524.7071437644029,
-    1533.0445626906128,
-    1541.3933327903342,
-    1549.7534232805581,
-    1558.1248035861302,
-    1566.507443337515,
-    1574.9013123685909,
-    1583.3063807144795,
-    1591.7226186094069,
-    1600.1499964845941,
-    1608.58848496618,
-    1617.0380548731737,
-    1625.4986772154357,
-    1633.9703231916887,
-    1642.4529641875577,
-    1650.9465717736346,
-    1659.4511177035752,
-    1667.9665739122186,
-    1676.4929125137353,
-    1685.030105799801,
-    1693.5781262377957,
-    1702.136946469027,
-    1710.7065393069795,
-    1719.2868777355877,
-    1727.8779349075323,
-    1736.4796841425596,
-    1745.092098925825,
-    1753.7151529062583,
-    1762.3488198949503,
-    1770.9930738635628,
-    1779.6478889427597,
-    1788.3132394206564,
-    1796.9890997412947,
-    1805.6754445031333,
-    1814.3722484575621,
-    1823.0794865074322,
-    1831.7971337056094,
-    1840.5251652535437,
-    1849.2635564998579,
-    1858.0122829389563,
-    1866.7713202096493,
-    1875.5406440937966,
-    1884.3202305149687,
-    1893.110055537124,
-    1901.9100953633042,
-    1910.7203263343454,
-    1919.5407249276057,
-    1928.3712677557098,
-    1937.2119315653083,
-    1946.0626932358525,
-    1954.923529778386,
-    1963.79441833435,
-    1972.6753361744036,
-    1981.5662606972594,
-    1990.467169428533,
-    1999.3780400196069,
-    2008.2988502465078,
-    2017.2295780087982,
-    2026.1702013284819,
-    2035.1206983489212,
-    2044.0810473337688,
-    2053.0512266659125,
-    2062.0312148464309,
-    2071.0209904935646,
-    2080.0205323416958,
-    2089.0298192403443,
-    2098.0488301531714,
-    2107.0775441569995,
-    2116.115940440839,
-    2125.1639983049317,
-    2134.2216971597995,
-    2143.2890165253098,
-    2152.3659360297484,
-    2161.4524354089031,
-    2170.5484945051617,
-    2179.6540932666144,
-    2188.7692117461711,
-    2197.8938301006888,
-    2207.0279285901042,
-    2216.1714875765838,
-    2225.324487523676,
-    2234.4869089954782,
-    2243.6587326558101,
-    2252.8399392673982,
-    2262.0305096910702,
-    2271.2304248849537,
-    2280.4396659036897,
-    2289.6582138976523,
-    2298.8860501121762,
-    2308.1231558867926,
-    2317.3695126544767,
-    2326.6251019409005,
-    2335.8899053636933,
-    2345.1639046317132,
-    2354.4470815443233,
-    2363.7394179906792,
-    2373.0408959490205,
-    2382.3514974859731,
-    2391.6712047558558,
-    2400.9999999999991,
-    2410.3378655460651,
-    2419.6847838073813,
-    2429.0407372822747,
-    2438.4057085534191,
-    2447.7796802871858,
-    2457.1626352330004,
-    2466.5545562227112,
-    2475.9554261699564,
-    2485.3652280695474,
-    2494.7839449968492,
-    2504.2115601071737,
-    2513.6480566351788,
-    2523.0934178942675,
-    2532.5476272760025,
-    2542.0106682495189,
-    2551.482524360948,
-    2560.9631792328441,
-    2570.4526165636184,
-    2579.9508201269791,
-    2589.4577737713744,
-    2598.9734614194458,
-    2608.4978670674823,
-    2618.0309747848837,
-    2627.5727687136259,
-    2637.1232330677353,
-    2646.6823521327647,
-    2656.2501102652768,
-    2665.8264918923328,
-    2675.4114815109842,
-    2685.0050636877722,
-    2694.6072230582295,
-    2704.2179443263894,
-    2713.8372122642972,
-    2723.4650117115279,
-    2733.1013275747096,
-    2742.7461448270483,
-    2752.3994485078601,
-    2762.0612237221085,
-    2771.7314556399419,
-    2781.4101294962406,
-    2791.0972305901655,
-    2800.7927442847094,
-    2810.4966560062589,
-    2820.2089512441521,
-    2829.9296155502466,
-    2839.6586345384894,
-    2849.3959938844923,
-    2859.1416793251065,
-    2868.8956766580086,
-    2878.6579717412847,
-    2888.4285504930212,
-    2898.2073988908974,
-    2907.9945029717837,
-    2917.789848831344,
-    2927.5934226236377,
-    2937.4052105607311,
-    2947.2251989123079,
-    2957.0533740052865,
-    2966.8897222234368,
-    2976.734230007005,
-    2986.5868838523397,
-    2996.4476703115197,
-    3006.3165759919889,
-    3016.1935875561908,
-    3026.0786917212095,
-    3035.9718752584108,
-    3045.8731249930906,
-    3055.7824278041207,
-    3065.6997706236039,
-    3075.625140436528,
-    3085.5585242804245,
-    3095.4999092450298,
-    3105.4492824719491,
-    3115.4066311543256,
-    3125.3719425365089,
-    3135.3452039137287,
-    3145.3264026317715,
-    3155.3155260866592,
-    3165.3125617243295,
-    3175.3174970403229,
-    3185.3303195794679,
-    3195.35101693557,
-    3205.3795767511078,
-    3215.4159867169251,
-    3225.460234571929,
-    3235.5123081027928,
-    3245.5721951436558,
-    3255.63988357583,
-    3265.7153613275095,
-    3275.7986163734795,
-    3285.8896367348289,
-    3295.9884104786665,
-    3306.0949257178395,
-    3316.2091706106517,
-    3326.331133360588,
-    3336.4608022160378,
-    3346.5981654700231,
-    3356.7432114599264,
-    3366.8959285672249,
-    3377.0563052172211,
-    3387.2243298787821,
-    3397.3999910640764,
-    3407.5832773283128,
-    3417.7741772694862,
-    3427.9726795281199,
-    3438.1787727870123,
-    3448.3924457709873,
-    3458.6136872466445,
-    3468.8424860221107,
-    3479.0788309467976,
-    3489.3227109111554,
-    3499.5741148464344,
-    3509.8330317244445,
-    3520.0994505573185,
-    3530.3733603972751,
-    3540.6547503363886,
-    3550.9436095063534,
-    3561.239927078258,
-    3571.5436922623535,
-    3581.8548943078308,
-    3592.1735225025936,
-    3602.4995661730372,
-    3612.8330146838275,
-    3623.1738574376814,
-    3633.5220838751502,
-    3643.8776834744031,
-    3654.2406457510142,
-    3664.6109602577494,
-    3674.9886165843564,
-    3685.3736043573545,
-    3695.7659132398294,
-    3706.1655329312248,
-    3716.5724531671399,
-    3726.9866637191262,
-    3737.4081543944876,
-    3747.8369150360782,
-    3758.2729355221072,
-    3768.7162057659411,
-    3779.1667157159077,
-    3789.6244553551055,
-    3800.0894147012082,
-    3810.5615838062768,
-    3821.0409527565694,
-    3831.5275116723533,
-    3842.0212507077194,
-    3852.522160050396,
-    3863.0302299215673,
-    3873.5454505756893,
-    3884.0678123003108,
-    3894.5973054158922,
-    3905.1339202756285,
-    3915.6776472652732,
-    3926.2284768029604,
-    3936.7863993390338,
-    3947.3514053558706,
-    3957.9234853677135,
-    3968.5026299204969,
-    3979.0888295916798,
-    3989.6820749900776,
-    4000.2823567556948,
-    4010.8896655595613,
-    4021.5039921035655,
-    4032.1253271202945,
-    4042.7536613728694,
-    4053.3889856547858,
-    4064.0312907897551,
-    4074.6805676315448,
-    4085.3368070638221,
-    4095.9999999999982,
-    4106.6701373830711,
-    4117.347210185475,
-    4128.0312094089259,
-    4138.722126084268,
-    4149.4199512713267,
-    4160.1246760587583,
-    4170.8362915638982,
-    4181.5547889326181,
-    4192.2801593391769,
-    4203.0123939860741,
-    4213.7514841039101,
-    4224.4974209512384,
-    4235.2501958144258,
-    4246.0098000075095,
-    4256.7762248720574,
-    4267.549461777031,
-    4278.3295021186423,
-    4289.1163373202198,
-    4299.9099588320714,
-    4310.7103581313495,
-    4321.5175267219138,
-    4332.3314561342004,
-    4343.152137925088,
-    4353.9795636777671,
-    4364.8137250016052,
-    4375.6546135320223,
-    4386.5022209303588,
-    4397.3565388837469,
-    4408.2175591049827,
-    4419.0852733324018,
-    4429.9596733297531,
-    4440.8407508860728,
-    4451.7284978155603,
-    4462.6229059574571,
-    4473.5239671759227,
-    4484.4316733599126,
-    4495.3460164230582,
-    4506.2669883035496,
-    4517.1945809640119,
-    4528.1287863913894,
-    4539.069596596828,
-    4550.0170036155587,
-    4560.9709995067806,
-    4571.931576353546,
-    4582.898726262647,
-    4593.8724413645004,
-    4604.8527138130348,
-    4615.8395357855816,
-    4626.8328994827571,
-    4637.8327971283588,
-    4648.8392209692511,
-    4659.8521632752563,
-    4670.8716163390473,
-    4681.8975724760394,
-    4692.9300240242837,
-    4703.9689633443595,
-    4715.0143828192668,
-    4726.0662748543255,
-    4737.1246318770682,
-    4748.1894463371373,
-    4759.2607107061804,
-    4770.3384174777493,
-    4781.4225591671993,
-    4792.5131283115852,
-    4803.6101174695614,
-    4814.7135192212854,
-    4825.8233261683154,
-    4836.9395309335096,
-    4848.0621261609349,
-    4859.1911045157631,
-    4870.3264586841779,
-    4881.4681813732768,
-    4892.6162653109768,
-    4903.7707032459193,
-    4914.931487947375,
-    4926.0986122051509,
-    4937.2720688294967,
-    4948.4518506510112,
-    4959.637950520555,
-    4970.8303613091521,
-    4982.0290759079044,
-    4993.2340872278974,
-    5004.4453882001153,
-    5015.6629717753467,
-    5026.8868309241007,
-    5038.1169586365131,
-    5049.353347922266,
-    5060.5959918104927,
-    5071.8448833496996,
-    5083.1000156076734,
-    5094.3613816713996,
-    5105.6289746469747,
-    5116.9027876595246,
-    5128.18281385312,
-    5139.4690463906918,
-    5150.7614784539473,
-    5162.0601032432933,
-    5173.3649139777472,
-    5184.6759038948594,
-    5195.9930662506322,
-    5207.3163943194386,
-    5218.6458813939435,
-    5229.9815207850224,
-    5241.3233058216847,
-    5252.6712298509919,
-    5264.025286237983,
-    5275.3854683655954,
-    5286.7517696345885,
-    5298.1241834634639,
-    5309.5027032883945,
-    5320.887322563146,
-    5332.2780347589978,
-    5343.6748333646756,
-    5355.0777118862716,
-    5366.4866638471722,
-    5377.901682787985,
-    5389.3227622664635,
-    5400.749895857437,
-    5412.1830771527357,
-    5423.622299761123,
-    5435.067557308219,
-    5446.5188434364318,
-    5457.9761518048872,
-    5469.4394760893592,
-    5480.9088099821975,
-    5492.3841471922606,
-    5503.8654814448455,
-    5515.3528064816201,
-    5526.846116060552,
-    5538.3454039558474,
-    5549.8506639578736,
-    5561.3618898731029,
-    5572.8790755240361,
-    5584.4022147491451,
-    5595.9313014027975,
-    5607.4663293552012,
-    5619.0072924923297,
-    5630.5541847158656,
-    5642.1069999431284,
-    5653.665732107017,
-    5665.230375155943,
-    5676.8009230537655,
-    5688.3773697797333,
-    5699.9597093284156,
-    5711.5479357096474,
-    5723.1420429484588,
-    5734.7420250850209,
-    5746.347876174581,
-    5757.9595902874016,
-    5769.5771615087006,
-    5781.2005839385911,
-    5792.8298516920213,
-    5804.4649588987149,
-    5816.1058997031105,
-    5827.7526682643065,
-    5839.4052587559972,
-    5851.0636653664196,
-    5862.7278822982908,
-    5874.3979037687541,
-    5886.0737240093204,
-    5897.7553372658094,
-    5909.4427377982956,
-    5921.1359198810505,
-    5932.8348778024874,
-    5944.5396058651031,
-    5956.2500983854261,
-    5967.9663496939575,
-    5979.6883541351208,
-    5991.4161060672022,
-    6003.1495998623004,
-    6014.8888299062692,
-    6026.6337905986684,
-    6038.3844763527022,
-    6050.1408815951781,
-    6061.9030007664414,
-    6073.6708283203316,
-    6085.4443587241267,
-    6097.2235864584891,
-    6109.0085060174197,
-    6120.7991119081998,
-    6132.595398651345,
-    6144.3973607805519,
-    6156.2049928426459,
-    6168.0182893975361,
-    6179.8372450181578,
-    6191.6618542904307,
-    6203.4921118132024,
-    6215.3280121982016,
-    6227.1695500699925,
-    6239.0167200659189,
-    6250.8695168360628,
-    6262.7279350431891,
-    6274.5919693627056,
-    6286.4616144826068,
-    6298.3368651034316,
-    6310.2177159382172,
-    6322.1041617124456,
-    6333.9961971640032,
-    6345.8938170431311,
-    6357.7970161123785,
-    6369.7057891465583,
-    6381.6201309327007,
-    6393.5400362700075,
-    6405.4654999698032,
-    6417.3965168554978,
-    6429.3330817625329,
-    6441.2751895383453,
-    6453.2228350423138,
-    6465.176013145724,
-    6477.134718731716,
-    6489.0989466952469,
-    6501.0686919430445,
-    6513.0439493935628,
-    6525.0247139769417,
-    6537.010980634961,
-    6549.002744321001,
-    6560.9999999999973,
-    6573.0027426483985,
-    6585.0109672541284,
-    6597.0246688165371,
-    6609.0438423463656,
-    6621.0684828657004,
-    6633.0985854079354,
-    6645.134145017727,
-    6657.1751567509573,
-    6669.2216156746908,
-    6681.2735168671343,
-    6693.3308554176001,
-    6705.3936264264594,
-    6717.461825005108,
-    6729.535446275926,
-    6741.6144853722335,
-    6753.6989374382601,
-    6765.7887976290967,
-    6777.8840611106634,
-    6789.9847230596661,
-    6802.0907786635626,
-    6814.2022231205201,
-    6826.3190516393797,
-    6838.4412594396181,
-    6850.5688417513074,
-    6862.701793815083,
-    6874.840110882099,
-    6886.9837882139991,
-    6899.1328210828724,
-    6911.2872047712199,
-    6923.4469345719199,
-    6935.6120057881863,
-    6947.7824137335365,
-    6959.9581537317536,
-    6972.1392211168532,
-    6984.3256112330409,
-    6996.5173194346862,
-    7008.7143410862773,
-    7020.9166715623942,
-    7033.1243062476678,
-    7045.3372405367481,
-    7057.5554698342685,
-    7069.7789895548103,
-    7082.0077951228714,
-    7094.2418819728273,
-    7106.4812455489018,
-    7118.7258813051285,
-    7130.9757847053224,
-    7143.2309512230404,
-    7155.4913763415516,
-    7167.7570555538041,
-    7180.0279843623894,
-    7192.3041582795131,
-    7204.5855728269571,
-    7216.8722235360519,
-    7229.1641059476406,
-    7241.4612156120484,
-    7253.7635480890503,
-    7266.0710989478375,
-    7278.3838637669869,
-    7290.7018381344296,
-    7303.0250176474174,
-    7315.3533979124932,
-    7327.6869745454596,
-    7340.0257431713462,
-    7352.3696994243801,
-    7364.7188389479543,
-    7377.0731573945968,
-    7389.4326504259407,
-    7401.7973137126937,
-    7414.1671429346061,
-    7426.5421337804428,
-    7438.922281947951,
-    7451.3075831438346,
-    7463.6980330837177,
-    7476.0936274921214,
-    7488.4943621024304,
-    7500.9002326568652,
-    7513.3112349064522,
-    7525.7273646109943,
-    7538.1486175390446,
-    7550.5749894678729,
-    7563.0064761834419,
-    7575.4430734803736,
-    7587.8847771619248,
-    7600.3315830399597,
-    7612.7834869349153,
-    7625.24048467578,
-    7637.7025721000637,
-    7650.1697450537677,
-    7662.6419993913596,
-    7675.1193309757446,
-    7687.6017356782404,
-    7700.0892093785433,
-    7712.5817479647112,
-    7725.079347333125,
-    7737.5820033884729,
-    7750.0897120437139,
-    7762.6024692200581,
-    7775.1202708469355,
-    7787.6431128619733,
-    7800.1709912109645,
-    7812.7039018478481,
-    7825.2418407346768,
-    7837.7848038415968,
-    7850.3327871468155,
-    7862.8857866365806,
-    7875.4437983051539,
-    7888.006818154784,
-    7900.5748421956796,
-    7913.1478664459901,
-    7925.725886931772,
-    7938.3088996869719,
-    7950.8969007533951,
-    7963.4898861806851,
-    7976.0878520262959,
-    7988.6907943554688,
-    8001.2987092412086,
-    8013.911592764257,
-    8026.5294410130691,
-    8039.1522500837891,
-    8051.7800160802271,
-    8064.412735113835,
-    8077.0504033036796,
-    8089.6930167764222,
-    8102.3405716662946,
-    8114.9930641150731,
-    8127.6504902720571,
-    8140.3128462940449,
-    8152.9801283453098,
-    8165.6523325975786,
-    8178.3294552300049,
-    8191.0114924291529,
-    8203.6984403889655,
-    8216.3902953107463,
-    8229.0870534031419,
-    8241.7887108821069,
-    8254.4952639708936,
-    8267.2067089000211,
-    8279.9230419072574,
-    8292.6442592375952,
-    8305.3703571432306,
-    8318.101331883543,
-    8330.8371797250657,
-    8343.577896941475,
-    8356.3234798135582,
-    8369.0739246291978,
-    8381.8292276833508,
-    8394.5893852780209,
-    8407.3543937222421,
-    8420.1242493320569,
-    8432.8989484304948,
-    8445.6784873475499,
-    8458.4628624201578,
-    8471.2520699921806,
-    8484.0461064143838,
-    8496.8449680444082,
-    8509.6486512467636,
-    8522.4571523927953,
-    8535.270467860666,
-    8548.0885940353437,
-    8560.9115273085663,
-    8573.7392640788403,
-    8586.5718007514006,
-    8599.4091337382069,
-    8612.2512594579148,
-    8625.0981743358552,
-    8637.9498748040205,
-    8650.8063573010386,
-    8663.6676182721567,
-    8676.533654169225,
-    8689.4044614506638,
-    8702.2800365814601,
-    8715.1603760331418,
-    8728.0454762837508,
-    8740.9353338178389,
-    8753.8299451264356,
-    8766.7293067070332,
-    8779.6334150635721,
-    8792.5422667064158,
-    8805.4558581523324,
-    8818.3741859244819,
-    8831.2972465523908,
-    8844.2250365719356,
-    8857.1575525253265,
-    8870.0947909610859,
-    8883.0367484340295,
-    8895.9834215052524,
-    8908.934806742107,
-    8921.8909007181846,
-    8934.8517000132997,
-    8947.817201213471,
-    8960.7874009109,
-    8973.7622957039603,
-    8986.7418821971733,
-    8999.7261570011924,
-    9012.7151167327884,
-    9025.7087580148236,
-    9038.7070774762469,
-    9051.7100717520643,
-    9064.7177374833282,
-    9077.7300713171153,
-    9090.7470699065179,
-    9103.7687299106146,
-    9116.7950479944648,
-    9129.8260208290812,
-    9142.8616450914233,
-    9155.9019174643727,
-    9168.9468346367157,
-    9181.9963933031358,
-    9195.0505901641845,
-    9208.1094219262741,
-    9221.1728853016557,
-    9234.240977008405,
-    9247.3136937704076,
-    9260.3910323173386,
-    9273.472989384647,
-    9286.5595617135423,
-    9299.6507460509747,
-    9312.7465391496207,
-    9325.8469377678684,
-    9338.9519386698012,
-    9352.0615386251757,
-    9365.1757344094131,
-    9378.2945228035842,
-    9391.4179005943843,
-    9404.5458645741273,
-    9417.6784115407263,
-    9430.8155382976747,
-    9443.9572416540359,
-    9457.1035184244265,
-    9470.2543654290002,
-    9483.4097794934296,
-    9496.5697574488931,
-    9509.7342961320664,
-    9522.9033923850911,
-    9536.0770430555804,
-    9549.2552449965824,
-    9562.4379950665825,
-    9575.6252901294793,
-    9588.8171270545736,
-    9602.0135027165488,
-    9615.2144139954635,
-    9628.4198577767274,
-    9641.629830951093,
-    9654.844330414644,
-    9668.0633530687719,
-    9681.286895820167,
-    9694.5149555808002,
-    9707.7475292679192,
-    9720.9846138040157,
-    9734.2262061168276,
-    9747.4723031393187,
-    9760.7229018096641,
-    9773.9779990712323,
-    9787.2375918725811,
-    9800.5016771674327,
-    9813.7702519146696,
-    9827.0433130783094,
-    9840.3208576275028,
-    9853.602882536512,
-    9866.8893847846994,
-    9880.1803613565116,
-    9893.4758092414686,
-    9906.7757254341523,
-    9920.0801069341851,
-    9933.3889507462245,
-    9946.7022538799429,
-    9960.0200133500221,
-    9973.3422261761298,
-    9986.6688893829159,
-    9999.9999999999945,
-    10013.335555061929,
-    10026.675551608221,
-    10040.019986683301,
-    10053.368857336509,
-    10066.722160622081,
-    10080.079893599144,
-    10093.442053331697,
-    10106.808636888598,
-    10120.179641343551,
-    10133.555063775095,
-    10146.934901266595,
-    10160.31915090622,
-    10173.707809786936,
-    10187.100875006496,
-    10200.498343667417,
-    10213.900212876984,
-    10227.306479747222,
-    10240.717141394889,
-    10254.132194941467,
-    10267.551637513146,
-    10280.975466240814,
-    10294.40367826004,
-    10307.836270711066,
-    10321.273240738796,
-    10334.71458549278,
-    10348.160302127204,
-    10361.610387800878,
-    10375.064839677221,
-    10388.523654924258,
-    10401.986830714593,
-    10415.454364225412,
-    10428.926252638465,
-    10442.402493140049,
-    10455.883082921007,
-    10469.368019176709,
-    10482.85729910704,
-    10496.350919916393,
-    10509.848878813653,
-    10523.351173012188,
-    10536.857799729838,
-    10550.3687561889,
-    10563.884039616123,
-    10577.403647242685,
-    10590.927576304197,
-    10604.455824040679,
-    10617.988387696556,
-    10631.525264520642,
-    10645.066451766135,
-    10658.611946690598,
-    10672.161746555956,
-    10685.715848628475,
-    10699.274250178762,
-    10712.836948481747,
-    10726.403940816675,
-    10739.975224467091,
-    10753.550796720834,
-    10767.130654870027,
-    10780.714796211059,
-    10794.303218044579,
-    10807.895917675487,
-    10821.492892412922,
-    10835.094139570248,
-    10848.699656465047,
-    10862.309440419107,
-    10875.923488758415,
-    10889.541798813138,
-    10903.16436791762,
-    10916.791193410372,
-    10930.422272634056,
-    10944.05760293548,
-    10957.697181665582,
-    10971.341006179427,
-    10984.98907383619,
-    10998.641381999149,
-    11012.297928035676,
-    11025.958709317223,
-    11039.623723219316,
-    11053.292967121541,
-    11066.966438407539,
-    11080.64413446499,
-    11094.326052685608,
-    11108.012190465128,
-    11121.702545203296,
-    11135.397114303863,
-    11149.095895174571,
-    11162.798885227143,
-    11176.506081877278,
-    11190.217482544635,
-    11203.933084652828,
-    11217.652885629415,
-    11231.376882905886,
-    11245.105073917659,
-    11258.837456104062,
-    11272.574026908333,
-    11286.314783777601,
-    11300.059724162888,
-    11313.808845519083,
-    11327.562145304952,
-    11341.319620983111,
-    11355.081270020033,
-    11368.847089886023,
-    11382.617078055218,
-    11396.391232005579,
-    11410.169549218874,
-    11423.952027180676,
-    11437.738663380349,
-    11451.529455311042,
-    11465.324400469679,
-    11479.123496356951,
-    11492.926740477304,
-    11506.734130338931,
-    11520.545663453764,
-    11534.361337337466,
-    11548.181149509423,
-    11562.005097492724,
-    11575.83317881417,
-    11589.665391004253,
-    11603.501731597149,
-    11617.342198130715,
-    11631.186788146468,
-    11645.035499189589,
-    11658.888328808911,
-    11672.745274556904,
-    11686.606333989675,
-    11700.471504666955,
-    11714.340784152086,
-    11728.214170012021,
-    11742.091659817312,
-    11755.973251142101,
-    11769.858941564111,
-    11783.748728664636,
-    11797.642610028539,
-    11811.540583244237,
-    11825.442645903697,
-    11839.34879560242,
-    11853.259029939445,
-    11867.173346517333,
-    11881.091742942155,
-    11895.014216823492,
-    11908.940765774427,
-    11922.871387411526,
-    11936.806079354839,
-    11950.744839227897,
-    11964.687664657684,
-    11978.634553274653,
-    11992.585502712702,
-    12006.540510609168,
-    12020.499574604828,
-    12034.462692343877,
-    12048.429861473938,
-    12062.401079646032,
-    12076.376344514589,
-    12090.355653737433,
-    12104.339004975769,
-    12118.326395894188,
-    12132.317824160644,
-    12146.313287446457,
-    12160.312783426305,
-    12174.316309778205,
-    12188.323864183525,
-    12202.335444326955,
-    12216.351047896511,
-    12230.370672583531,
-    12244.394316082657,
-    12258.421976091831,
-    12272.453650312296,
-    12286.489336448574,
-    12300.529032208471,
-    12314.572735303058,
-    12328.620443446678,
-    12342.672154356922,
-    12356.727865754638,
-    12370.787575363909,
-    12384.851280912055,
-    12398.918980129623,
-    12412.990670750381,
-    12427.066350511306,
-    12441.146017152583,
-    12455.229668417589,
-    12469.317302052901,
-    12483.40891580827,
-    12497.50450743663,
-    12511.604074694078,
-    12525.707615339878,
-    12539.815127136444,
-    12553.926607849342,
-    12568.042055247275,
-    12582.161467102082,
-    12596.284841188726,
-    12610.41217528529,
-    12624.543467172971,
-    12638.678714636069,
-    12652.817915461985,
-    12666.961067441209,
-    12681.108168367316,
-    12695.259216036962,
-    12709.414208249869,
-    12723.573142808827,
-    12737.736017519681,
-    12751.902830191326,
-    12766.073578635704,
-    12780.248260667788,
-    12794.426874105588,
-    12808.609416770132,
-    12822.795886485468,
-    12836.986281078653,
-    12851.180598379744,
-    12865.378836221802,
-    12879.580992440871,
-    12893.787064875984,
-    12907.997051369144,
-    12922.210949765335,
-    12936.428757912496,
-    12950.650473661524,
-    12964.876094866273,
-    12979.105619383534,
-    12993.339045073039,
-    13007.576369797454,
-    13021.817591422368,
-    13036.062707816285,
-    13050.311716850629,
-    13064.564616399723,
-    13078.821404340792,
-    13093.082078553954,
-    13107.346636922217,
-    13121.615077331464,
-    13135.887397670458,
-    13150.163595830827,
-    13164.44366970706,
-    13178.727617196502,
-    13193.015436199352,
-    13207.307124618648,
-    13221.602680360265,
-    13235.902101332911,
-    13250.205385448118,
-    13264.512530620239,
-    13278.823534766434,
-    13293.138395806676,
-    13307.457111663734,
-    13321.779680263176,
-    13336.106099533356,
-    13350.436367405409,
-    13364.77048181325,
-    13379.108440693562,
-    13393.450241985796,
-    13407.795883632158,
-    13422.145363577607,
-    13436.498679769853,
-    13450.855830159346,
-    13465.216812699266,
-    13479.581625345529,
-    13493.950266056772,
-    13508.32273279435,
-    13522.699023522329,
-    13537.079136207483,
-    13551.463068819286,
-    13565.850819329906,
-    13580.2423857142,
-    13594.63776594971,
-    13609.036958016657,
-    13623.439959897927,
-    13637.846769579081,
-    13652.257385048335,
-    13666.67180429656,
-    13681.090025317284,
-    13695.512046106669,
-    13709.937864663521,
-    13724.367478989278,
-    13738.800887088004,
-    13753.238086966385,
-    13767.679076633727,
-    13782.123854101939,
-    13796.572417385545,
-    13811.024764501659,
-    13825.480893469998,
-    13839.94080231286,
-    13854.404489055134,
-    13868.871951724283,
-    13883.34318835034,
-    13897.818196965914,
-    13912.296975606168,
-    13926.779522308825,
-    13941.26583511416,
-    13955.755912064991,
-    13970.249751206682,
-    13984.747350587126,
-    13999.248708256751,
-    14013.753822268511,
-    14028.262690677873,
-    14042.775311542828,
-    14057.291682923867,
-    14071.811802883994,
-    14086.335669488704,
-    14100.863280805994,
-    14115.394634906341,
-    14129.92972986271,
-    14144.468563750548,
-    14159.01113464777,
-    14173.55744063476,
-    14188.107479794369,
-    14202.661250211901,
-    14217.218749975118,
-    14231.779977174227,
-    14246.344929901879,
-    14260.913606253163,
-    14275.486004325601,
-    14290.062122219146,
-    14304.641958036171,
-    14319.225509881464,
-    14333.812775862236,
-    14348.403754088098,
-    14362.998442671067,
-    14377.59683972556,
-    14392.198943368388,
-    14406.804751718748,
-    14421.414262898223,
-    14436.027475030774,
-    14450.64438624274,
-    14465.264994662828,
-    14479.889298422106,
-    14494.517295654005,
-    14509.148984494313,
-    14523.784363081166,
-    14538.423429555049,
-    14553.066182058781,
-    14567.712618737527,
-    14582.362737738777,
-    14597.016537212348,
-    14611.674015310382,
-    14626.33517018734,
-    14640.999999999993,
-    14655.668502907418,
-    14670.340677071003,
-    14685.016520654426,
-    14699.696031823671,
-    14714.379208746999,
-    14729.066049594967,
-    14743.756552540408,
-    14758.45071575843,
-    14773.148537426418,
-    14787.850015724018,
-    14802.555148833142,
-    14817.263934937961,
-    14831.976372224897,
-    14846.692458882624,
-    14861.41219310206,
-    14876.135573076363,
-    14890.862597000923,
-    14905.593263073371,
-    14920.327569493558,
-    14935.065514463557,
-    14949.807096187662,
-    14964.552312872382,
-    14979.301162726431,
-    14994.053643960735,
-    15008.809754788414,
-    15023.569493424788,
-    15038.332858087369,
-    15053.099846995858,
-    15067.870458372134,
-    15082.644690440264,
-    15097.422541426484,
-    15112.204009559202,
-    15126.989093068994,
-    15141.777790188597,
-    15156.570099152905,
-    15171.366018198967,
-    15186.165545565986,
-    15200.968679495301,
-    15215.775418230402,
-    15230.585760016909,
-    15245.399703102579,
-    15260.217245737298,
-    15275.038386173073,
-    15289.863122664035,
-    15304.691453466432,
-    15319.523376838621,
-    15334.358891041069,
-    15349.197994336346,
-    15364.040684989128,
-    15378.886961266177,
-    15393.736821436356,
-    15408.590263770609,
-    15423.447286541972,
-    15438.307888025554,
-    15453.172066498542,
-    15468.039820240196,
-    15482.91114753184,
-    15497.786046656869,
-    15512.664515900733,
-    15527.546553550939,
-    15542.432157897045,
-    15557.32132723066,
-    15572.214059845435,
-    15587.110354037064,
-    15602.010208103273,
-    15616.913620343823,
-    15631.820589060506,
-    15646.731112557136,
-    15661.645189139546,
-    15676.562817115593,
-    15691.483994795139,
-    15706.408720490062,
-    15721.336992514242,
-    15736.268809183561,
-    15751.204168815901,
-    15766.143069731135,
-    15781.085510251132,
-    15796.03148869974,
-    15810.981003402798,
-    15825.934052688119,
-    15840.890634885489,
-    15855.850748326673,
-    15870.814391345401,
-    15885.781562277361,
-    15900.752259460214,
-    15915.726481233565,
-    15930.704225938984,
-    15945.685491919978,
-    15960.670277522009,
-    15975.658581092481,
-    15990.65040098073,
-    16005.645735538035,
-    16020.644583117599,
-    16035.646942074556,
-    16050.652810765967,
-    16065.662187550806,
-    16080.675070789974,
-    16095.691458846273,
-    16110.711350084424,
-    16125.734742871053,
-    16140.761635574685,
-    16155.792026565747,
-    16170.825914216561,
-    16185.863296901338,
-    16200.904172996183,
-    16215.948540879079,
-    16230.996398929899,
-    16246.047745530386,
-    16261.102579064163,
-    16276.160897916721,
-    16291.22270047542,
-    16306.287985129484,
-    16321.356750269995,
-    16336.428994289896,
-    16351.504715583982,
-    16366.5839125489,
-    16381.666583583141,
-    16396.752727087041,
-    16411.842341462776,
-    16426.935425114363,
-    16442.031976447644,
-    16457.131993870298,
-    16472.235475791829,
-    16487.342420623561,
-    16502.452826778641,
-    16517.566692672033,
-    16532.684016720516,
-    16547.804797342676,
-    16562.929032958902,
-    16578.056721991394,
-    16593.18786286415,
-    16608.322454002962,
-    16623.460493835417,
-    16638.601980790896,
-    16653.746913300558,
-    16668.895289797354,
-    16684.047108716015,
-    16699.202368493046,
-    16714.361067566726,
-    16729.523204377107,
-    16744.688777366009,
-    16759.857784977012,
-    16775.030225655464,
-    16790.206097848466,
-    16805.385400004874,
-    16820.568130575302,
-    16835.754288012104,
-    16850.943870769381,
-    16866.136877302983,
-    16881.333306070494,
-    16896.53315553123,
-    16911.736424146249,
-    16926.943110378332,
-    16942.153212691992,
-    16957.366729553454,
-    16972.583659430682,
-    16987.804000793338,
-    17003.027752112816,
-    17018.254911862205,
-    17033.485478516312,
-    17048.719450551645,
-    17063.956826446421,
-    17079.197604680547,
-    17094.44178373563,
-    17109.689362094967,
-    17124.940338243552,
-    17140.194710668064,
-    17155.452477856852,
-    17170.713638299967,
-    17185.978190489128,
-    17201.246132917724,
-    17216.517464080825,
-    17231.792182475165,
-    17247.070286599141,
-    17262.351774952826,
-    17277.636646037936,
-    17292.924898357855,
-    17308.216530417623,
-    17323.511540723921,
-    17338.809927785089,
-    17354.111690111105,
-    17369.416826213594,
-    17384.725334605821,
-    17400.037213802683,
-    17415.352462320716,
-    17430.67107867809,
-    17445.993061394587,
-    17461.318408991636,
-    17476.647119992274,
-    17491.979192921168,
-    17507.314626304586,
-    17522.653418670423,
-    17537.995568548187,
-    17553.341074468986,
-    17568.689934965536,
-    17584.042148572156,
-    17599.397713824768,
-    17614.75662926089,
-    17630.118893419625,
-    17645.484504841683,
-    17660.853462069354,
-    17676.225763646511,
-    17691.601408118619,
-    17706.980394032718,
-    17722.362719937424,
-    17737.748384382936,
-    17753.137385921014,
-    17768.529723104999,
-    17783.92539448979,
-    17799.324398631856,
-    17814.726734089225,
-    17830.13239942148,
-    17845.541393189767,
-    17860.95371395678,
-    17876.369360286772,
-    17891.788330745527,
-    17907.210623900395,
-    17922.636238320254,
-    17938.065172575527,
-    17953.497425238176,
-    17968.932994881692,
-    17984.371880081104,
-    17999.814079412972,
-    18015.259591455371,
-    18030.708414787914,
-    18046.160547991731,
-    18061.615989649465,
-    18077.074738345284,
-    18092.536792664861,
-    18108.002151195393,
-    18123.470812525571,
-    18138.942775245599,
-    18154.418037947191,
-    18169.896599223546,
-    18185.37845766938,
-    18200.863611880886,
-    18216.352060455767,
-    18231.843801993204,
-    18247.338835093873,
-    18262.837158359936,
-    18278.338770395032,
-    18293.84366980429,
-    18309.351855194309,
-    18324.863325173166,
-    18340.378078350412,
-    18355.896113337069,
-    18371.417428745623,
-    18386.942023190033,
-    18402.469895285718,
-    18418.00104364955,
-    18433.53546689987,
-    18449.073163656474,
-    18464.614132540602,
-    18480.158372174956,
-    18495.705881183676,
-    18511.256658192357,
-    18526.810701828035,
-    18542.368010719183,
-    18557.928583495715,
-    18573.492418788985,
-    18589.059515231773,
-    18604.629871458303,
-    18620.203486104212,
-    18635.78035780658,
-    18651.360485203899,
-    18666.943866936086,
-    18682.53050164448,
-    18698.120387971841,
-    18713.713524562332,
-    18729.30991006154,
-    18744.909543116457,
-    18760.512422375479,
-    18776.118546488418,
-    18791.727914106479,
-    18807.340523882274,
-    18822.95637446981,
-    18838.575464524489,
-    18854.197792703111,
-    18869.823357663863,
-    18885.452158066328,
-    18901.08419257147,
-    18916.719459841639,
-    18932.357958540564,
-    18947.999687333362,
-    18963.644644886521,
-    18979.292829867907,
-    18994.944240946759,
-    19010.598876793687,
-    19026.256736080668,
-    19041.917817481048,
-    19057.582119669532,
-    19073.2496413222,
-    19088.920381116473,
-    19104.594337731145,
-    19120.271509846356,
-    19135.951896143604,
-    19151.635495305738,
-    19167.322306016948,
-    19183.012326962784,
-    19198.705556830122,
-    19214.401994307198,
-    19230.101638083579,
-    19245.804486850167,
-    19261.510539299208,
-    19277.219794124274,
-    19292.932250020265,
-    19308.647905683421,
-    19324.366759811302,
-    19340.088811102793,
-    19355.8140582581,
-    19371.542499978754,
-    19387.2741349676,
-    19403.008961928797,
-    19418.746979567823,
-    19434.488186591469,
-    19450.232581707827,
-    19465.980163626304,
-    19481.730931057613,
-    19497.484882713761,
-    19513.242017308068,
-    19529.002333555141,
-    19544.765830170898,
-    19560.532505872539,
-    19576.302359378566,
-    19592.075389408761,
-    19607.851594684209,
-    19623.630973927269,
-    19639.41352586159,
-    19655.199249212103,
-    19670.988142705017,
-    19686.780205067826,
-    19702.575435029288,
-    19718.373831319448,
-    19734.175392669615,
-    19749.980117812371,
-    19765.788005481569,
-    19781.599054412323,
-    19797.413263341008,
-    19813.230631005274,
-    19829.051156144014,
-    19844.874837497395,
-    19860.701673806827,
-    19876.531663814985,
-    19892.364806265789,
-    19908.201099904403,
-    19924.040543477258,
-    19939.883135732012,
-    19955.728875417579,
-    19971.577761284105,
-    19987.429792082985,
-    20003.284966566847,
-    20019.14328348956,
-    20035.004741606219,
-    20050.869339673161,
-    20066.737076447946,
-    20082.607950689362,
-    20098.481961157428,
-    20114.359106613385,
-    20130.239385819699,
-    20146.122797540058,
-    20162.009340539353,
-    20177.899013583716,
-    20193.791815440476,
-    20209.687744878182,
-    20225.586800666591,
-    20241.488981576669,
-    20257.394286380597,
-    20273.302713851754,
-    20289.214262764715,
-    20305.128931895277,
-    20321.046720020415,
-    20336.967625918318,
-    20352.891648368361,
-    20368.818786151114,
-    20384.749038048347,
-    20400.682402843009,
-    20416.618879319249,
-    20432.558466262391,
-    20448.501162458953,
-    20464.446966696629,
-    20480.395877764302,
-    20496.347894452025,
-    20512.303015551031,
-    20528.261239853735,
-    20544.22256615372,
-    20560.186993245738,
-    20576.15451992572,
-    20592.125144990758,
-    20608.098867239107,
-    20624.075685470198,
-    20640.055598484618,
-    20656.038605084115,
-    20672.024704071595,
-    20688.013894251126,
-    20704.006174427926,
-    20720.001543408373,
-    20735.999999999989,
-    20752.001543011454,
-    20768.006171252597,
-    20784.013883534382,
-    20800.024678668931,
-    20816.038555469506,
-    20832.055512750507,
-    20848.075549327474,
-    20864.098664017085,
-    20880.124855637161,
-    20896.154123006647,
-    20912.186464945626,
-    20928.221880275312,
-    20944.260367818049,
-    20960.301926397311,
-    20976.346554837684,
-    20992.394251964895,
-    21008.445016605787,
-    21024.498847588318,
-    21040.555743741574,
-    21056.615703895754,
-    21072.678726882168,
-    21088.744811533252,
-    21104.813956682538,
-    21120.886161164683,
-    21136.961423815443,
-    21153.039743471683,
-    21169.121118971379,
-    21185.205549153605,
-    21201.293032858535,
-    21217.383568927453,
-    21233.477156202731,
-    21249.573793527841,
-    21265.673479747358,
-    21281.776213706937,
-    21297.881994253334,
-    21313.990820234398,
-    21330.102690499054,
-    21346.21760389733,
-    21362.335559280327,
-    21378.456555500241,
-    21394.580591410333,
-    21410.707665864964,
-    21426.83777771956,
-    21442.970925830628,
-    21459.107109055756,
-    21475.246326253604,
-    21491.388576283895,
-    21507.533858007431,
-    21523.682170286087,
-    21539.833511982797,
-    21555.987881961566,
-    21572.145279087465,
-    21588.305702226615,
-    21604.469150246216,
-    21620.635622014521,
-    21636.805116400832,
-    21652.977632275521,
-    21669.153168510009,
-    21685.331723976764,
-    21701.513297549318,
-    21717.697888102244,
-    21733.885494511167,
-    21750.076115652759,
-    21766.269750404736,
-    21782.466397645861,
-    21798.666056255934,
-    21814.868725115801,
-    21831.074403107345,
-    21847.283089113484,
-    21863.494782018177,
-    21879.709480706417,
-    21895.927184064229,
-    21912.147890978667,
-    21928.371600337818,
-    21944.598311030797,
-    21960.828021947746,
-    21977.060731979829,
-    21993.296440019243,
-    22009.535144959198,
-    22025.77684569393,
-    22042.021541118691,
-    22058.269230129757,
-    22074.519911624411,
-    22090.773584500959,
-    22107.030247658717,
-    22123.289899998013,
-    22139.552540420187,
-    22155.818167827587,
-    22172.086781123569,
-    22188.358379212495,
-    22204.632960999726,
-    22220.910525391639,
-    22237.191071295601,
-    22253.474597619981,
-    22269.761103274148,
-    22286.050587168469,
-    22302.343048214312,
-    22318.638485324027,
-    22334.936897410968,
-    22351.23828338947,
-    22367.542642174871,
-    22383.849972683485,
-    22400.160273832618,
-    22416.473544540564,
-    22432.789783726603,
-    22449.108990310986,
-    22465.431163214958,
-    22481.75630136074,
-    22498.084403671528,
-    22514.415469071497,
-    22530.749496485802,
-    22547.086484840562,
-    22563.426433062879,
-    22579.769340080824,
-    22596.115204823436,
-    22612.464026220721,
-    22628.815803203655,
-    22645.170534704179,
-    22661.5282196552,
-    22677.888856990587,
-    22694.252445645168,
-    22710.618984554734,
-    22726.988472656034,
-    22743.360908886778,
-    22759.736292185622,
-    22776.114621492186,
-    22792.495895747044,
-    22808.880113891719,
-    22825.267274868678,
-    22841.657377621348,
-    22858.050421094096,
-    22874.446404232243,
-    22890.845325982053,
-    22907.247185290722,
-    22923.651981106406,
-    22940.059712378195,
-    22956.470378056114,
-    22972.883977091129,
-    22989.300508435153,
-    23005.719971041017,
-    23022.142363862498,
-    23038.567685854305,
-    23054.995935972078,
-    23071.427113172387,
-    23087.86121641273,
-    23104.298244651531,
-    23120.738196848146,
-    23137.181071962848,
-    23153.626868956846,
-    23170.075586792263,
-    23186.527224432142,
-    23202.981780840448,
-    23219.439254982066,
-    23235.899645822796,
-    23252.362952329357,
-    23268.829173469378,
-    23285.298308211408,
-    23301.770355524899,
-    23318.245314380223,
-    23334.723183748658,
-    23351.203962602387,
-    23367.687649914504,
-    23384.174244659007,
-    23400.663745810798,
-    23417.15615234568,
-    23433.651463240367,
-    23450.149677472462,
-    23466.650794020472,
-    23483.154811863806,
-    23499.661729982763,
-    23516.171547358543,
-    23532.684262973235,
-    23549.199875809823,
-    23565.718384852185,
-    23582.239789085092,
-    23598.764087494197,
-    23615.291279066041,
-    23631.821362788058,
-    23648.354337648565,
-    23664.890202636761,
-    23681.428956742733,
-    23697.970598957443,
-    23714.515128272738,
-    23731.062543681343,
-    23747.612844176863,
-    23764.166028753778,
-    23780.72209640744,
-    23797.281046134085,
-    23813.842876930816,
-    23830.407587795606,
-    23846.975177727301,
-    23863.545645725622,
-    23880.11899079115,
-    23896.695211925336,
-    23913.274308130498,
-    23929.856278409821,
-    23946.441121767348,
-    23963.028837207989,
-    23979.619423737513,
-    23996.212880362549,
-    24012.809206090584,
-    24029.408399929966,
-    24046.010460889898,
-    24062.615387980433,
-    24079.223180212492,
-    24095.833836597827,
-    24112.447356149063,
-    24129.063737879667,
-    24145.682980803951,
-    24162.305083937081,
-    24178.930046295067,
-    24195.557866894767,
-    24212.188544753884,
-    24228.822078890964,
-    24245.458468325389,
-    24262.097712077397,
-    24278.739809168052,
-    24295.384758619261,
-    24312.032559453768,
-    24328.683210695162,
-    24345.336711367858,
-    24361.993060497109,
-    24378.652257108995,
-    24395.314300230442,
-    24411.979188889192,
-    24428.646922113825,
-    24445.317498933746,
-    24461.990918379193,
-    24478.667179481225,
-    24495.346281271726,
-    24512.028222783407,
-    24528.713003049801,
-    24545.400621105266,
-    24562.091075984976,
-    24578.784366724925,
-    24595.480492361927,
-    24612.179451933614,
-    24628.881244478438,
-    24645.585869035654,
-    24662.293324645343,
-    24679.003610348394,
-    24695.716725186514,
-    24712.432668202211,
-    24729.151438438807,
-    24745.873034940436,
-    24762.597456752032,
-    24779.324702919344,
-    24796.054772488926,
-    24812.787664508123,
-    24829.5233780251,
-    24846.261912088819,
-    24863.003265749034,
-    24879.747438056307,
-    24896.494428062004,
-    24913.244234818278,
-    24929.996857378079,
-    24946.752294795166,
-    24963.510546124078,
-    24980.271610420157,
-    24997.035486739525,
-    25013.802174139113,
-    25030.571671676629,
-    25047.343978410572,
-    25064.119093400237,
-    25080.897015705697,
-    25097.677744387816,
-    25114.461278508239,
-    25131.2476171294,
-    25148.036759314517,
-    25164.828704127583,
-    25181.623450633375,
-    25198.42099789745,
-    25215.221344986145,
-    25232.024490966574,
-    25248.830434906627,
-    25265.639175874974,
-    25282.450712941049,
-    25299.265045175071,
-    25316.082171648024,
-    25332.902091431668,
-    25349.724803598532,
-    25366.550307221914,
-    25383.378601375884,
-    25400.209685135269,
-    25417.043557575678,
-    25433.880217773472,
-    25450.719664805783,
-    25467.561897750507,
-    25484.406915686297,
-    25501.254717692573,
-    25518.105302849512,
-    25534.958670238051,
-    25551.814818939893,
-    25568.67374803748,
-    25585.535456614027,
-    25602.399943753502,
-    25619.267208540619,
-    25636.137250060852,
-    25653.010067400432,
-    25669.885659646327,
-    25686.76402588627,
-    25703.645165208734,
-    25720.529076702944,
-    25737.415759458876,
-    25754.305212567244,
-    25771.197435119517,
-    25788.092426207899,
-    25804.990184925344,
-    25821.890710365547,
-    25838.794001622944,
-    25855.700057792714,
-    25872.608877970775,
-    25889.520461253778,
-    25906.434806739118,
-    25923.351913524923,
-    25940.271780710063,
-    25957.194407394138,
-    25974.11979267748,
-    25991.047935661154,
-    26007.978835446964,
-    26024.912491137442,
-    26041.848901835841,
-    26058.788066646157,
-    26075.729984673108,
-    26092.674655022136,
-    26109.622076799409,
-    26126.572249111829,
-    26143.525171067016,
-    26160.480841773315,
-    26177.43926033979,
-    26194.400425876229,
-    26211.364337493149,
-    26228.330994301767,
-    26245.30039541404,
-    26262.272539942627,
-    26279.247427000919,
-    26296.225055703002,
-    26313.205425163702,
-    26330.188534498539,
-    26347.174382823756,
-    26364.162969256304,
-    26381.154292913852,
-    26398.148352914774,
-    26415.145148378149,
-    26432.144678423778,
-    26449.146942172156,
-    26466.151938744493,
-    26483.159667262702,
-    26500.170126849403,
-    26517.183316627921,
-    26534.199235722277,
-    26551.217883257199,
-    26568.239258358124,
-    26585.263360151173,
-    26602.290187763181,
-    26619.319740321676,
-    26636.352016954883,
-    26653.387016791727,
-    26670.424738961825,
-    26687.465182595493,
-    26704.508346823739,
-    26721.554230778267,
-    26738.602833591467,
-    26755.65415439643,
-    26772.708192326929,
-    26789.764946517433,
-    26806.824416103096,
-    26823.886600219761,
-    26840.95149800396,
-    26858.019108592915,
-    26875.089431124517,
-    26892.162464737365,
-    26909.238208570721,
-    26926.316661764544,
-    26943.397823459472,
-    26960.481692796813,
-    26977.568268918571,
-    26994.657550967422,
-    27011.749538086722,
-    27028.844229420498,
-    27045.941624113464,
-    27063.041721311005,
-    27080.144520159181,
-    27097.250019804727,
-    27114.35821939505,
-    27131.469118078236,
-    27148.582715003027,
-    27165.699009318858,
-    27182.818000175819,
-    27199.939686724665,
-    27217.064068116837,
-    27234.191143504428,
-    27251.320912040203,
-    27268.453372877593,
-    27285.588525170693,
-    27302.726368074269,
-    27319.866900743735,
-    27337.010122335181,
-    27354.156032005358,
-    27371.304628911668,
-    27388.455912212183,
-    27405.609881065626,
-    27422.766534631384,
-    27439.925872069507,
-    27457.087892540683,
-    27474.252595206275,
-    27491.419979228293,
-    27508.5900437694,
-    27525.762787992917,
-    27542.93821106281,
-    27560.116312143706,
-    27577.297090400876,
-    27594.480545000242,
-    27611.666675108383,
-    27628.855479892518,
-    27646.046958520514,
-    27663.241110160889,
-    27680.437933982801,
-    27697.637429156068,
-    27714.839594851132,
-    27732.04443023909,
-    27749.251934491687,
-    27766.462106781299,
-    27783.674946280949,
-    27800.890452164302,
-    27818.108623605654,
-    27835.329459779954,
-    27852.55295986278,
-    27869.779123030345,
-    27887.007948459504,
-    27904.239435327745,
-    27921.473582813196,
-    27938.710390094613,
-    27955.949856351392,
-    27973.19198076355,
-    27990.436762511745,
-    28007.684200777272,
-    28024.934294742041,
-    28042.187043588601,
-    28059.442446500128,
-    28076.700502660427,
-    28093.961211253929,
-    28111.224571465693,
-    28128.490582481401,
-    28145.759243487362,
-    28163.030553670509,
-    28180.304512218394,
-    28197.581118319198,
-    28214.860371161725,
-    28232.14226993539,
-    28249.42681383024,
-    28266.71400203693,
-    28284.003833746745,
-    28301.296308151585,
-    28318.591424443959,
-    28335.889181817001,
-    28353.189579464462,
-    28370.492616580705,
-    28387.798292360701,
-    28405.106606000048,
-    28422.417556694945,
-    28439.731143642206,
-    28457.047366039264,
-    28474.366223084147,
-    28491.687713975512,
-    28509.011837912611,
-    28526.338594095305,
-    28543.667981724069,
-    28560.999999999982,
-    28578.334648124732,
-    28595.671925300605,
-    28613.011830730498,
-    28630.354363617909,
-    28647.699523166943,
-    28665.0473085823,
-    28682.397719069289,
-    28699.750753833818,
-    28717.10641208239,
-    28734.464693022121,
-    28751.825595860708,
-    28769.189119806462,
-    28786.55526406828,
-    28803.924027855664,
-    28821.295410378701,
-    28838.669410848088,
-    28856.046028475103,
-    28873.425262471628,
-    28890.80711205013,
-    28908.191576423673,
-    28925.578654805915,
-    28942.968346411097,
-    28960.360650454055,
-    28977.755566150216,
-    28995.153092715591,
-    29012.553229366786,
-    29029.955975320987,
-    29047.361329795975,
-    29064.769292010107,
-    29082.179861182336,
-    29099.593036532187,
-    29117.00881727978,
-    29134.427202645813,
-    29151.848191851568,
-    29169.271784118911,
-    29186.697978670283,
-    29204.126774728706,
-    29221.55817151779,
-    29238.992168261717,
-    29256.42876418525,
-    29273.867958513725,
-    29291.309750473058,
-    29308.754139289747,
-    29326.201124190855,
-    29343.65070440403,
-    29361.102879157483,
-    29378.557647680012,
-    29396.015009200975,
-    29413.474962950309,
-    29430.937508158524,
-    29448.402644056692,
-    29465.870369876469,
-    29483.340684850071,
-    29500.81358821028,
-    29518.289079190454,
-    29535.767157024511,
-    29553.247820946945,
-    29570.731070192807,
-    29588.216903997723,
-    29605.70532159787,
-    29623.19632223,
-    29640.689905131429,
-    29658.186069540028,
-    29675.684814694236,
-    29693.186139833047,
-    29710.690044196028,
-    29728.196527023298,
-    29745.705587555527,
-    29763.217225033964,
-    29780.731438700397,
-    29798.248227797183,
-    29815.76759156723,
-    29833.289529254005,
-    29850.81404010153,
-    29868.341123354381,
-    29885.870778257693,
-    29903.403004057145,
-    29920.937799998974,
-    29938.475165329975,
-    29956.015099297485,
-    29973.557601149394,
-    29991.102670134147,
-    30008.650305500738,
-    30026.200506498706,
-    30043.753272378144,
-    30061.308602389683,
-    30078.866495784507,
-    30096.426951814352,
-    30113.989969731494,
-    30131.55554878875,
-    30149.123688239491,
-    30166.694387337629,
-    30184.267645337608,
-    30201.843461494434,
-    30219.42183506364,
-    30237.002765301309,
-    30254.586251464058,
-    30272.172292809046,
-    30289.760888593977,
-    30307.35203807709,
-    30324.94574051716,
-    30342.541995173502,
-    30360.140801305966,
-    30377.742158174944,
-    30395.346065041358,
-    30412.952521166666,
-    30430.561525812864,
-    30448.173078242475,
-    30465.787177718561,
-    30483.403823504719,
-    30501.02301486507,
-    30518.644751064272,
-    30536.269031367516,
-    30553.895855040515,
-    30571.525221349519,
-    30589.157129561307,
-    30606.791578943175,
-    30624.428568762964,
-    30642.06809828903,
-    30659.710166790261,
-    30677.35477353607,
-    30695.001917796391,
-    30712.651598841687,
-    30730.303815942945,
-    30747.958568371676,
-    30765.615855399912,
-    30783.275676300211,
-    30800.938030345646,
-    30818.602916809814,
-    30836.270334966837,
-    30853.940284091354,
-    30871.612763458521,
-    30889.287772344011,
-    30906.965310024025,
-    30924.645375775272,
-    30942.327968874983,
-    30960.013088600903,
-    30977.700734231294,
-    30995.390905044929,
-    31013.083600321101,
-    31030.778819339619,
-    31048.476561380798,
-    31066.17682572547,
-    31083.879611654978,
-    31101.584918451179,
-    31119.29274539644,
-    31137.003091773637,
-    31154.715956866155,
-    31172.431339957893,
-    31190.14924033326,
-    31207.869657277162,
-    31225.592590075023,
-    31243.318038012771,
-    31261.046000376838,
-    31278.776476454172,
-    31296.50946553221,
-    31314.24496689891,
-    31331.98297984272,
-    31349.7235036526,
-    31367.466537618013,
-    31385.212081028923,
-    31402.960133175795,
-    31420.710693349596,
-    31438.463760841791,
-    31456.219334944351,
-    31473.977414949743,
-    31491.738000150934,
-    31509.501089841389,
-    31527.266683315069,
-    31545.034779866437,
-    31562.80537879045,
-    31580.578479382562,
-    31598.35408093872,
-    31616.132182755369,
-    31633.91278412945,
-    31651.695884358396,
-    31669.481482740131,
-    31687.269578573076,
-    31705.060171156143,
-    31722.853259788735,
-    31740.648843770748,
-    31758.446922402567,
-    31776.247494985066,
-    31794.050560819614,
-    31811.85611920806,
-    31829.664169452753,
-    31847.474710856521,
-    31865.287742722685,
-    31883.103264355046,
-    31900.921275057899,
-    31918.741774136019,
-    31936.564760894671,
-    31954.390234639599,
-    31972.21819467704,
-    31990.048640313704,
-    32007.881570856793,
-    32025.716985613984,
-    32043.554883893445,
-    32061.395265003815,
-    32079.238128254223,
-    32097.083472954269,
-    32114.931298414049,
-    32132.781603944117,
-    32150.634388855524,
-    32168.48965245979,
-    32186.347394068915,
-    32204.207612995371,
-    32222.07030855212,
-    32239.935480052583,
-    32257.803126810672,
-    32275.673248140767,
-    32293.545843357719,
-    32311.420911776862,
-    32329.298452713996,
-    32347.178465485395,
-    32365.060949407813,
-    32382.945903798463,
-    32400.83332797504,
-    32418.723221255706,
-    32436.615582959093,
-    32454.510412404306,
-    32472.407708910916,
-    32490.307471798966,
-    32508.209700388961,
-    32526.114394001877,
-    32544.021551959166,
-    32561.931173582732,
-    32579.843258194956,
-    32597.757805118679,
-    32615.674813677211,
-    32633.594283194328,
-    32651.516212994258,
-    32669.440602401712,
-    32687.367450741847,
-    32705.296757340297,
-    32723.228521523146,
-    32741.162742616943,
-    32759.099419948703,
-    32777.038552845901,
-    32794.980140636464,
-    32812.924182648792,
-    32830.87067821173,
-    32848.819626654593,
-    32866.77102730715,
-    32884.724879499619,
-    32902.681182562686,
-    32920.639935827494,
-    32938.601138625643,
-    32956.56479028918,
-    32974.530890150607,
-    32992.499437542894,
-    33010.470431799447,
-    33028.443872254145,
-    33046.419758241311,
-    33064.39808909571,
-    33082.378864152583,
-    33100.36208274759,
-    33118.347744216881,
-    33136.335847897026,
-    33154.326393125062,
-    33172.31937923847,
-    33190.314805575174,
-    33208.312671473555,
-    33226.312976272442,
-    33244.315719311111,
-    33262.320899929284,
-    33280.328517467125,
-    33298.33857126526,
-    33316.351060664747,
-    33334.365985007091,
-    33352.383343634239,
-    33370.403135888591,
-    33388.42536111299,
-    33406.450018650721,
-    33424.477107845501,
-    33442.506628041512,
-    33460.53857858335,
-    33478.572958816083,
-    33496.609768085189,
-    33514.649005736617,
-    33532.690671116739,
-    33550.734763572356,
-    33568.781282450735,
-    33586.830227099563,
-    33604.881596866973,
-    33622.935391101528,
-    33640.991609152239,
-    33659.050250368542,
-    33677.111314100322,
-    33695.174799697881,
-    33713.240706511984,
-    33731.309033893805,
-    33749.37978119497,
-    33767.452947767531,
-    33785.528532963974,
-    33803.606536137209,
-    33821.686956640602,
-    33839.769793827938,
-    33857.855047053425,
-    33875.942715671707,
-    33894.032799037872,
-    33912.125296507431,
-    33930.220207436316,
-    33948.317531180888,
-    33966.417267097961,
-    33984.519414544746,
-    34002.623972878901,
-    34020.730941458511,
-    34038.840319642077,
-    34056.952106788536,
-    34075.066302257255,
-    34093.182905408015,
-    34111.301915601027,
-    34129.42333219693,
-    34147.547154556785,
-    34165.673382042078,
-    34183.80201401472,
-    34201.933049837033,
-    34220.06648887178,
-    34238.202330482141,
-    34256.340574031703,
-    34274.481218884495,
-    34292.624264404949,
-    34310.769709957938,
-    34328.91755490873,
-    34347.067798623029,
-    34365.220440466954,
-    34383.375479807051,
-    34401.532916010263,
-    34419.692748443973,
-    34437.854976475966,
-    34456.01959947445,
-    34474.18661680806,
-    34492.356027845817,
-    34510.527831957188,
-    34528.702028512052,
-    34546.878616880676,
-    34565.05759643377,
-    34583.238966542449,
-    34601.422726578232,
-    34619.608875913065,
-    34637.797413919296,
-    34655.988339969692,
-    34674.181653437423,
-    34692.37735369608,
-    34710.575440119668,
-    34728.775912082579,
-    34746.978768959649,
-    34765.184010126082,
-    34783.391634957537,
-    34801.60164283005,
-    34819.814033120063,
-    34838.028805204456,
-    34856.24595846048,
-    34874.465492265823,
-    34892.687405998557,
-    34910.911699037177,
-    34929.138370760564,
-    34947.367420548027,
-    34965.598847779271,
-    34983.832651834389,
-    35002.068832093908,
-    35020.307387938738,
-    35038.548318750189,
-    35056.79162390998,
-    35075.03730280025,
-    35093.285354803513,
-    35111.535779302685,
-    35129.788575681116,
-    35148.043743322516,
-    35166.301281611013,
-    35184.561189931141,
-    35202.823467667826,
-    35221.088114206388,
-    35239.355128932555,
-    35257.624511232447,
-    35275.896260492584,
-    35294.170376099886,
-    35312.446857441668,
-    35330.725703905628,
-    35349.006914879887,
-    35367.290489752944,
-    35385.576427913686,
-    35403.864728751418,
-    35422.155391655811,
-    35440.448416016967,
-    35458.743801225341,
-    35477.041546671804,
-    35495.341651747622,
-    35513.644115844436,
-    35531.948938354304,
-    35550.256118669655,
-    35568.565656183309,
-    35586.877550288496,
-    35605.191800378816,
-    35623.508405848268,
-    35641.827366091238,
-    35660.148680502505,
-    35678.472348477233,
-    35696.798369410979,
-    35715.126742699678,
-    35733.457467739659,
-    35751.790543927644,
-    35770.125970660738,
-    35788.46374733642,
-    35806.803873352568,
-    35825.146348107453,
-    35843.49117099971,
-    35861.838341428367,
-    35880.187858792851,
-    35898.539722492955,
-    35916.893931928862,
-    35935.250486501129,
-    35953.609385610718,
-    35971.970628658957,
-    35990.334215047558,
-    36008.700144178612,
-    36027.068415454596,
-    36045.439028278372,
-    36063.811982053165,
-    36082.187276182609,
-    36100.564910070694,
-    36118.944883121789,
-    36137.327194740654,
-    36155.711844332429,
-    36174.098831302617,
-    36192.488155057115,
-    36210.87981500219,
-    36229.273810544473,
-    36247.670141091003,
-    36266.068806049167,
-    36284.469804826738,
-    36302.873136831862,
-    36321.278801473069,
-    36339.686798159251,
-    36358.097126299683,
-    36376.509785304013,
-    36394.924774582258,
-    36413.342093544816,
-    36431.761741602444,
-    36450.183718166292,
-    36468.608022647859,
-    36487.034654459028,
-    36505.463613012063,
-    36523.894897719583,
-    36542.328507994578,
-    36560.764443250409,
-    36579.202702900831,
-    36597.643286359926,
-    36616.086193042182,
-    36634.531422362437,
-    36652.978973735895,
-    36671.428846578143,
-    36689.881040305125,
-    36708.335554333149,
-    36726.792388078902,
-    36745.251540959427,
-    36763.713012392138,
-    36782.176801794812,
-    36800.642908585593,
-    36819.111332182983,
-    36837.582072005869,
-    36856.055127473483,
-    36874.530498005421,
-    36893.008183021651,
-    36911.488181942506,
-    36929.970494188674,
-    36948.455119181206,
-    36966.942056341519,
-    36985.431305091392,
-    37003.922864852961,
-    37022.416735048733,
-    37040.912915101559,
-    37059.411404434657,
-    37077.91220247162,
-    37096.415308636388,
-    37114.920722353243,
-    37133.428443046862,
-    37151.938470142253,
-    37170.450803064785,
-    37188.965441240209,
-    37207.482384094597,
-    37226.001631054402,
-    37244.523181546429,
-    37263.047034997842,
-    37281.573190836149,
-    37300.101648489224,
-    37318.632407385296,
-    37337.165466952945,
-    37355.700826621112,
-    37374.238485819085,
-    37392.778443976509,
-    37411.320700523385,
-    37429.865254890057,
-    37448.412106507232,
-    37466.961254805974,
-    37485.512699217681,
-    37504.066439174116,
-    37522.622474107404,
-    37541.180803449992,
-    37559.741426634704,
-    37578.304343094693,
-    37596.869552263488,
-    37615.43705357494,
-    37634.006846463279,
-    37652.578930363044,
-    37671.153304709165,
-    37689.729968936896,
-    37708.308922481847,
-    37726.890164779965,
-    37745.473695267559,
-    37764.059513381275,
-    37782.647618558112,
-    37801.238010235415,
-    37819.830687850859,
-    37838.425650842495,
-    37857.022898648691,
-    37875.622430708172,
-    37894.224246460013,
-    37912.828345343616,
-    37931.434726798747,
-    37950.043390265506,
-    37968.654335184328,
-    37987.267560995999,
-    38005.883067141665,
-    38024.500853062775,
-    38043.120918201159,
-    38061.743261998963,
-    38080.367883898682,
-    38098.994783343158,
-    38117.623959775563,
-    38136.255412639417,
-    38154.889141378575,
-    38173.525145437234,
-    38192.163424259939,
-    38210.803977291551,
-    38229.446803977284,
-    38248.091903762703,
-    38266.739276093685,
-    38285.388920416466,
-    38304.040836177606,
-    38322.695022824002,
-    38341.351479802899,
-    38360.010206561863,
-    38378.671202548816,
-    38397.334467211993,
-    38415.999999999978,
-    38434.667800361683,
-    38453.33786774637,
-    38472.010201603611,
-    38490.684801383337,
-    38509.361666535784,
-    38528.040796511552,
-    38546.722190761553,
-    38565.405848737035,
-    38584.091769889594,
-    38602.779953671132,
-    38621.470399533908,
-    38640.163106930493,
-    38658.858075313794,
-    38677.555304137059,
-    38696.254792853862,
-    38714.956540918094,
-    38733.660547783991,
-    38752.366812906112,
-    38771.075335739348,
-    38789.78611573892,
-    38808.499152360368,
-    38827.214445059573,
-    38845.931993292739,
-    38864.651796516388,
-    38883.373854187383,
-    38902.098165762916,
-    38920.824730700486,
-    38939.553548457938,
-    38958.284618493431,
-    38977.017940265461,
-    38995.753513232834,
-    39014.491336854699,
-    39033.231410590517,
-    39051.973733900079,
-    39070.718306243485,
-    39089.465127081188,
-    39108.214195873945,
-    39126.965512082832,
-    39145.719075169261,
-    39164.474884594965,
-    39183.232939821988,
-    39201.99324031271,
-    39220.755785529815,
-    39239.52057493633,
-    39258.287607995589,
-    39277.056884171245,
-    39295.828402927284,
-    39314.602163728006,
-    39333.378166038019,
-    39352.15640932227,
-    39370.936893046004,
-    39389.719616674811,
-    39408.504579674584,
-    39427.291781511522,
-    39446.081221652174,
-    39464.872899563372,
-    39483.666814712291,
-    39502.462966566411,
-    39521.261354593538,
-    39540.06197826178,
-    39558.864837039568,
-    39577.669930395656,
-    39596.47725779911,
-    39615.286818719302,
-    39634.098612625923,
-    39652.912638988993,
-    39671.728897278823,
-    39690.547386966064,
-    39709.368107521652,
-    39728.191058416858,
-    39747.016239123259,
-    39765.84364911275,
-    39784.673287857528,
-    39803.505154830105,
-    39822.339249503319,
-    39841.175571350293,
-    39860.014119844491,
-    39878.854894459677,
-    39897.697894669909,
-    39916.54311994958,
-    39935.390569773372,
-    39954.240243616303,
-    39973.092140953675,
-    39991.946261261117,
-    40010.802604014549,
-    40029.661168690225,
-    40048.521954764678,
-    40067.384961714779,
-    40086.250189017679,
-    40105.117636150855,
-    40123.98730259209,
-    40142.859187819471,
-    40161.733291311379,
-    40180.609612546526,
-    40199.488151003912,
-    40218.368906162854,
-    40237.25187750296,
-    40256.137064504153,
-    40275.024466646668,
-    40293.914083411029,
-    40312.805914278084,
-    40331.699958728961,
-    40350.596216245103,
-    40369.494686308273,
-    40388.39536840051,
-    40407.298262004173,
-    40426.20336660192,
-    40445.110681676706,
-    40464.020206711793,
-    40482.931941190756,
-    40501.845884597446,
-    40520.762036416032,
-    40539.680396130985,
-    40558.600963227072,
-    40577.523737189367,
-    40596.448717503234,
-    40615.375903654342,
-    40634.305295128659,
-    40653.236891412453,
-    40672.170691992294,
-    40691.106696355047,
-    40710.044903987873,
-    40728.985314378238,
-    40747.927927013901,
-    40766.872741382918,
-    40785.819756973651,
-    40804.768973274746,
-    40823.720389775161,
-    40842.674005964131,
-    40861.629821331211,
-    40880.587835366234,
-    40899.548047559321,
-    40918.510457400931,
-    40937.475064381761,
-    40956.441867992849,
-    40975.410867725499,
-    40994.382063071331,
-    41013.355453522236,
-    41032.331038570417,
-    41051.308817708363,
-    41070.288790428858,
-    41089.270956224987,
-    41108.255314590111,
-    41127.241865017888,
-    41146.23060700229,
-    41165.221540037543,
-    41184.214663618193,
-    41203.209977239079,
-    41222.207480395307,
-    41241.207172582297,
-    41260.209053295752,
-    41279.213122031659,
-    41298.219378286303,
-    41317.227821556255,
-    41336.23845133838,
-    41355.251267129832,
-    41374.266268428037,
-    41393.283454730743,
-    41412.302825535953,
-    41431.324380341983,
-    41450.348118647416,
-    41469.374039951144,
-    41488.402143752326,
-    41507.432429550427,
-    41526.464896845187,
-    41545.499545136627,
-    41564.536373925075,
-    41583.575382711126,
-    41602.616570995662,
-    41621.659938279874,
-    41640.705484065205,
-    41659.753207853406,
-    41678.803109146495,
-    41697.855187446803,
-    41716.909442256911,
-    41735.965873079709,
-    41755.02447941836,
-    41774.085260776315,
-    41793.148216657297,
-    41812.213346565331,
-    41831.280650004708,
-    41850.350126480014,
-    41869.421775496106,
-    41888.495596558132,
-    41907.571589171515,
-    41926.649752841957,
-    41945.730087075463,
-    41964.812591378286,
-    41983.897265256979,
-    42002.984108218378,
-    42022.073119769593,
-    42041.164299418015,
-    42060.257646671307,
-    42079.353161037419,
-    42098.450842024591,
-    42117.550689141324,
-    42136.652701896404,
-    42155.756879798893,
-    42174.863222358137,
-    42193.971729083758,
-    42213.082399485655,
-    42232.195233074002,
-    42251.310229359246,
-    42270.427387852127,
-    42289.546708063644,
-    42308.668189505079,
-    42327.791831687995,
-    42346.917634124227,
-    42366.045596325886,
-    42385.175717805352,
-    42404.307998075295,
-    42423.442436648642,
-    42442.579033038608,
-    42461.717786758672,
-    42480.858697322597,
-    42500.001764244422,
-    42519.146987038446,
-    42538.294365219248,
-    42557.443898301688,
-    42576.595585800882,
-    42595.749427232236,
-    42614.90542211142,
-    42634.063569954378,
-    42653.223870277317,
-    42672.386322596729,
-    42691.55092642938,
-    42710.717681292292,
-    42729.886586702756,
-    42749.057642178363,
-    42768.23084723694,
-    42787.406201396603,
-    42806.58370417574,
-    42825.76335509299,
-    42844.945153667286,
-    42864.129099417805,
-    42883.315191864014,
-    42902.503430525649,
-    42921.693814922692,
-    42940.88634457541,
-    42960.081019004348,
-    42979.277837730297,
-    42998.476800274322,
-    43017.677906157769,
-    43036.881154902228,
-    43056.086546029583,
-    43075.294079061961,
-    43094.503753521763,
-    43113.715568931671,
-    43132.929524814601,
-    43152.145620693766,
-    43171.363856092619,
-    43190.584230534907,
-    43209.806743544621,
-    43229.031394646016,
-    43248.258183363621,
-    43267.487109222224,
-    43286.718171746885,
-    43305.951370462906,
-    43325.186704895881,
-    43344.42417457165,
-    43363.663779016322,
-    43382.905517756262,
-    43402.149390318104,
-    43421.395396228749,
-    43440.643535015348,
-    43459.89380620532,
-    43479.146209326354,
-    43498.400743906379,
-    43517.657409473606,
-    43536.916205556496,
-    43556.177131683784,
-    43575.44018738444,
-    43594.705372187724,
-    43613.972685623135,
-    43633.242127220445,
-    43652.513696509668,
-    43671.787393021099,
-    43691.063216285271,
-    43710.341165833001,
-    43729.621241195346,
-    43748.903441903625,
-    43768.187767489413,
-    43787.474217484552,
-    43806.762791421126,
-    43826.053488831501,
-    43845.346309248278,
-    43864.641252204325,
-    43883.938317232765,
-    43903.237503866971,
-    43922.538811640596,
-    43941.842240087513,
-    43961.147788741881,
-    43980.455457138101,
-    43999.765244810835,
-    44019.077151295001,
-    44038.391176125755,
-    44057.70731883854,
-    44077.02557896902,
-    44096.345956053141,
-    44115.668449627083,
-    44134.993059227287,
-    44154.319784390456,
-    44173.648624653535,
-    44192.979579553728,
-    44212.312648628489,
-    44231.647831415532,
-    44250.985127452805,
-    44270.324536278538,
-    44289.666057431183,
-    44309.009690449464,
-    44328.355434872348,
-    44347.703290239064,
-    44367.053256089079,
-    44386.405331962109,
-    44405.759517398139,
-    44425.115811937387,
-    44444.474215120332,
-    44463.834726487694,
-    44483.197345580462,
-    44502.562071939843,
-    44521.928905107328,
-    44541.297844624634,
-    44560.668890033732,
-    44580.042040876848,
-    44599.417296696454,
-    44618.794657035272,
-    44638.174121436256,
-    44657.555689442641,
-    44676.939360597877,
-    44696.325134445673,
-    44715.713010530002,
-    44735.102988395054,
-    44754.495067585296,
-    44773.88924764542,
-    44793.285528120374,
-    44812.683908555344,
-    44832.084388495779,
-    44851.486967487363,
-    44870.891645076015,
-    44890.298420807922,
-    44909.707294229491,
-    44929.118264887409,
-    44948.531332328566,
-    44967.946496100136,
-    44987.363755749502,
-    45006.783110824319,
-    45026.204560872473,
-    45045.628105442098,
-    45065.053744081561,
-    45084.48147633949,
-    45103.911301764747,
-    45123.343219906426,
-    45142.777230313885,
-    45162.21333253671,
-    45181.651526124733,
-    45201.091810628037,
-    45220.534185596924,
-    45239.978650581965,
-    45259.425205133957,
-    45278.873848803938,
-    45298.324581143192,
-    45317.777401703235,
-    45337.232310035848,
-    45356.68930569302,
-    45376.148388226997,
-    45395.60955719027,
-    45415.072812135557,
-    45434.538152615823,
-    45454.005578184282,
-    45473.475088394356,
-    45492.946682799746,
-    45512.420360954362,
-    45531.896122412363,
-    45551.373966728155,
-    45570.853893456362,
-    45590.33590215187,
-    45609.819992369776,
-    45629.306163665438,
-    45648.794415594442,
-    45668.284747712612,
-    45687.777159576006,
-    45707.27165074092,
-    45726.768220763894,
-    45746.266869201696,
-    45765.767595611323,
-    45785.270399550034,
-    45804.775280575297,
-    45824.282238244828,
-    45843.79127211657,
-    45863.302381748719,
-    45882.815566699683,
-    45902.33082652813,
-    45921.848160792935,
-    45941.367569053225,
-    45960.889050868354,
-    45980.41260579793,
-    45999.938233401757,
-    46019.465933239902,
-    46038.995704872657,
-    46058.527547860547,
-    46078.06146176433,
-    46097.597446144995,
-    46117.135500563774,
-    46136.675624582109,
-    46156.217817761702,
-    46175.762079664462,
-    46195.308409852543,
-    46214.856807888333,
-    46234.407273334444,
-    46253.959805753715,
-    46273.51440470924,
-    46293.071069764315,
-    46312.629800482478,
-    46332.190596427499,
-    46351.753457163381,
-    46371.318382254351,
-    46390.885371264863,
-    46410.45442375962,
-    46430.025539303526,
-    46449.598717461733,
-    46469.17395779962,
-    46488.751259882782,
-    46508.33062327707,
-    46527.912047548532,
-    46547.495532263471,
-    46567.081076988397,
-    46586.668681290059,
-    46606.258344735434,
-    46625.850066891719,
-    46645.443847326351,
-    46665.039685606986,
-    46684.637581301497,
-    46704.237533978005,
-    46723.839543204842,
-    46743.443608550573,
-    46763.049729583989,
-    46782.657905874104,
-    46802.268136990162,
-    46821.880422501628,
-    46841.494761978196,
-    46861.111154989776,
-    46880.729601106526,
-    46900.350099898795,
-    46919.97265093719,
-    46939.597253792526,
-    46959.223908035841,
-    46978.852613238392,
-    46998.483368971691,
-    47018.11617480743,
-    47037.751030317551,
-    47057.387935074221,
-    47077.026888649809,
-    47096.66789061694,
-    47116.310940548428,
-    47135.956038017328,
-    47155.603182596918,
-    47175.252373860698,
-    47194.903611382375,
-    47214.556894735892,
-    47234.212223495422,
-    47253.869597235338,
-    47273.52901553025,
-    47293.19047795498,
-    47312.853984084577,
-    47332.519533494306,
-    47352.187125759658,
-    47371.856760456343,
-    47391.528437160297,
-    47411.202155447652,
-    47430.877914894787,
-    47450.555715078299,
-    47470.235555574982,
-    47489.917435961863,
-    47509.601355816201,
-    47529.287314715453,
-    47548.975312237308,
-    47568.665347959672,
-    47588.357421460656,
-    47608.051532318605,
-    47627.747680112072,
-    47647.445864419846,
-    47667.14608482091,
-    47686.848340894474,
-    47706.552632219973,
-    47726.258958377046,
-    47745.967318945557,
-    47765.677713505589,
-    47785.390141637428,
-    47805.104602921601,
-    47824.821096938824,
-    47844.539623270044,
-    47864.260181496429,
-    47883.982771199349,
-    47903.707391960394,
-    47923.434043361369,
-    47943.162724984308,
-    47962.893436411439,
-    47982.626177225218,
-    48002.36094700831,
-    48022.097745343599,
-    48041.836571814172,
-    48061.57742600335,
-    48081.32030749465,
-    48101.065215871815,
-    48120.81215071879,
-    48140.56111161974,
-    48160.312098159047,
-    48180.065109921306,
-    48199.820146491307,
-    48219.577207454073,
-    48239.336292394844,
-    48259.097400899045,
-    48278.860532552339,
-    48298.625686940592,
-    48318.392863649875,
-    48338.162062266485,
-    48357.933282376915,
-    48377.706523567889,
-    48397.481785426316,
-    48417.259067539344,
-    48437.038369494308,
-    48456.819690878765,
-    48476.603031280487,
-    48496.388390287451,
-    48516.175767487839,
-    48535.965162470042,
-    48555.756574822684,
-    48575.550004134566,
-    48595.345449994718,
-    48615.142911992378,
-    48634.942389716991,
-    48654.743882758201,
-    48674.547390705877,
-    48694.352913150084,
-    48714.160449681112,
-    48733.969999889443,
-    48753.781563365759,
-    48773.595139700978,
-    48793.410728486211,
-    48813.228329312769,
-    48833.047941772187,
-    48852.869565456189,
-    48872.693199956717,
-    48892.518844865925,
-    48912.346499776155,
-    48932.176164279976,
-    48952.007837970152,
-    48971.841520439666,
-    48991.677211281676,
-    49011.514910089587,
-    49031.354616456978,
-    49051.196329977654,
-    49071.04005024561,
-    49090.885776855059,
-    49110.733509400408,
-    49130.583247476279,
-    49150.434990677488,
-    49170.288738599062,
-    49190.144490836232,
-    49210.002246984441,
-    49229.86200663932,
-    49249.723769396718,
-    49269.587534852675,
-    49289.453302603448,
-    49309.32107224549,
-    49329.190843375451,
-    49349.062615590192,
-    49368.936388486785,
-    49388.812161662492,
-    49408.689934714785,
-    49428.569707241324,
-    49448.45147883999,
-    49468.335249108866,
-    49488.22101764621,
-    49508.108784050521,
-    49527.99854792047,
-    49547.890308854934,
-    49567.784066453009,
-    49587.679820313977,
-    49607.57757003732,
-    49627.477315222721,
-    49647.379055470075,
-    49667.28279037946,
-    49687.188519551179,
-    49707.096242585707,
-    49727.005959083741,
-    49746.917668646165,
-    49766.831370874068,
-    49786.747065368734,
-    49806.66475173166,
-    49826.584429564515,
-    49846.506098469203,
-    49866.429758047794,
-    49886.355407902578,
-    49906.283047636032,
-    49926.212676850846,
-    49946.144295149883,
-    49966.077902136225,
-    49986.013497413151,
-    50005.951080584135,
-    50025.890651252834,
-    50045.832209023123,
-    50065.775753499074,
-    50085.721284284933,
-    50105.668800985164,
-    50125.618303204428,
-    50145.569790547575,
-    50165.523262619652,
-    50185.478719025901,
-    50205.436159371769,
-    50225.395583262893,
-    50245.356990305103,
-    50265.320380104429,
-    50285.285752267104,
-    50305.253106399534,
-    50325.222442108337,
-    50345.193759000336,
-    50365.16705668252,
-    50385.142334762102,
-    50405.119592846473,
-    50425.098830543218,
-    50445.080047460127,
-    50465.063243205179,
-    50485.048417386541,
-    50505.035569612577,
-    50525.024699491856,
-    50545.015806633128,
-    50565.008890645338,
-    50585.003951137631,
-    50605.00098771933,
-    50624.999999999971,
-    50645.000987589265,
-    50665.003950097132,
-    50685.008887133677,
-    50705.015798309192,
-    50725.024683234165,
-    50745.035541519283,
-    50765.048372775411,
-    50785.063176613621,
-    50805.079952645159,
-    50825.098700481489,
-    50845.119419734241,
-    50865.142110015244,
-    50885.166770936521,
-    50905.193402110279,
-    50925.222003148934,
-    50945.252573665071,
-    50965.285113271471,
-    50985.319621581119,
-    51005.356098207172,
-    51025.394542762981,
-    51045.434954862096,
-    51065.477334118244,
-    51085.521680145357,
-    51105.567992557546,
-    51125.616270969113,
-    51145.66651499454,
-    51165.718724248516,
-    51185.772898345916,
-    51205.829036901778,
-    51225.887139531362,
-    51245.947205850105,
-    51266.009235473619,
-    51286.073228017718,
-    51306.139183098399,
-    51326.207100331856,
-    51346.276979334456,
-    51366.348819722756,
-    51386.42262111351,
-    51406.498383123653,
-    51426.57610537031,
-    51446.655787470787,
-    51466.737429042587,
-    51486.82102970338,
-    51506.906589071048,
-    51526.994106763632,
-    51547.083582399391,
-    51567.175015596738,
-    51587.268405974297,
-    51607.363753150858,
-    51627.461056745415,
-    51647.56031637713,
-    51667.661531665362,
-    51687.764702229651,
-    51707.869827689727,
-    51727.976907665499,
-    51748.085941777055,
-    51768.196929644677,
-    51788.309870888836,
-    51808.42476513017,
-    51828.541611989524,
-    51848.660411087905,
-    51868.781162046515,
-    51888.90386448674,
-    51909.028518030143,
-    51929.155122298485,
-    51949.283676913685,
-    51969.414181497872,
-    51989.546635673345,
-    52009.681039062583,
-    52029.817391288263,
-    52049.955691973213,
-    52070.095940740481,
-    52090.238137213273,
-    52110.382281014987,
-    52130.5283717692,
-    52150.676409099666,
-    52170.826392630333,
-    52190.97832198532,
-    52211.132196788931,
-    52231.288016665654,
-    52251.445781240145,
-    52271.60549013727,
-    52291.76714298204,
-    52311.930739399664,
-    52332.096279015546,
-    52352.263761455244,
-    52372.433186344519,
-    52392.604553309284,
-    52412.777861975665,
-    52432.953111969946,
-    52453.130302918595,
-    52473.309434448267,
-    52493.490506185793,
-    52513.67351775818,
-    52533.858468792605,
-    52554.045358916446,
-    52574.234187757254,
-    52594.42495494274,
-    52614.617660100812,
-    52634.812302859558,
-    52655.008882847229,
-    52675.20739969227,
-    52695.407853023295,
-    52715.610242469098,
-    52735.814567658657,
-    52756.02082822111,
-    52776.229023785803,
-    52796.439153982225,
-    52816.651218440056,
-    52836.865216789171,
-    52857.081148659599,
-    52877.29901368155,
-    52897.518811485425,
-    52917.740541701773,
-    52937.964203961354,
-    52958.18979789508,
-    52978.417323134046,
-    52998.646779309529,
-    53018.878166052978,
-    53039.111482996006,
-    53059.346729770419,
-    53079.583906008193,
-    53099.823011341483,
-    53120.0640454026,
-    53140.307007824063,
-    53160.551898238533,
-    53180.79871627887,
-    53201.047461578091,
-    53221.2981337694,
-    53241.550732486176,
-    53261.805257361964,
-    53282.061708030487,
-    53302.32008412564,
-    53322.580385281493,
-    53342.842611132299,
-    53363.106761312469,
-    53383.372835456597,
-    53403.640833199453,
-    53423.910754175973,
-    53444.18259802126,
-    53464.456364370613,
-    53484.732052859479,
-    53505.009663123499,
-    53525.289194798468,
-    53545.570647520362,
-    53565.854020925333,
-    53586.139314649699,
-    53606.426528329954,
-    53626.715661602764,
-    53647.006714104959,
-    53667.299685473547,
-    53687.59457534572,
-    53707.891383358816,
-    53728.190109150361,
-    53748.490752358055,
-    53768.793312619753,
-    53789.09778957349,
-    53809.404182857485,
-    53829.712492110106,
-    53850.022716969899,
-    53870.334857075584,
-    53890.648912066055,
-    53910.964881580367,
-    53931.28276525774,
-    53951.602562737586,
-    53971.924273659461,
-    53992.24789766311,
-    54012.57343438844,
-    54032.90088347553,
-    54053.23024456462,
-    54073.561517296133,
-    54093.894701310644,
-    54114.22979624891,
-    54134.566801751855,
-    54154.90571746057,
-    54175.246543016314,
-    54195.589278060506,
-    54215.933922234755,
-    54236.280475180814,
-    54256.628936540626,
-    54276.97930595628,
-    54297.331583070045,
-    54317.685767524359,
-    54338.041858961828,
-    54358.399857025215,
-    54378.759761357462,
-    54399.121571601667,
-    54419.485287401105,
-    54439.850908399218,
-    54460.218434239614,
-    54480.587864566056,
-    54500.95919902248,
-    54521.332437252997,
-    54541.707578901878,
-    54562.084623613555,
-    54582.46357103264,
-    54602.844420803893,
-    54623.227172572246,
-    54643.611825982807,
-    54663.998380680838,
-    54684.386836311773,
-    54704.777192521207,
-    54725.169448954897,
-    54745.563605258772,
-    54765.959661078923,
-    54786.357616061614,
-    54806.757469853255,
-    54827.159222100439,
-    54847.562872449904,
-    54867.968420548583,
-    54888.375866043534,
-    54908.785208582012,
-    54929.196447811417,
-    54949.609583379322,
-    54970.024614933463,
-    54990.441542121727,
-    55010.86036459219,
-    55031.28108199306,
-    55051.703693972733,
-    55072.128200179759,
-    55092.554600262847,
-    55112.982893870874,
-    55133.413080652877,
-    55153.845160258061,
-    55174.279132335789,
-    55194.714996535586,
-    55215.152752507143,
-    55235.592399900306,
-    55256.033938365079,
-    55276.477367551655,
-    55296.92268711036,
-    55317.369896691685,
-    55337.818995946305,
-    55358.269984525024,
-    55378.72286207883,
-    55399.177628258869,
-    55419.634282716441,
-    55440.092825103013,
-    55460.553255070205,
-    55481.015572269804,
-    55501.479776353764,
-    55521.945866974187,
-    55542.413843783339,
-    55562.883706433655,
-    55583.355454577715,
-    55603.82908786826,
-    55624.304605958219,
-    55644.782008500639,
-    55665.261295148754,
-    55685.742465555952,
-    55706.225519375774,
-    55726.710456261928,
-    55747.197275868275,
-    55767.685977848843,
-    55788.176561857814,
-    55808.669027549528,
-    55829.163374578478,
-    55849.659602599328,
-    55870.157711266889,
-    55890.657700236145,
-    55911.159569162221,
-    55931.663317700411,
-    55952.168945506164,
-    55972.676452235086,
-    55993.185837542944,
-    56013.697101085651,
-    56034.210242519301,
-    56054.72526150012,
-    56075.242157684508,
-    56095.760930729011,
-    56116.281580290342,
-    56136.804106025367,
-    56157.328507591104,
-    56177.85478464474,
-    56198.382936843598,
-    56218.912963845185,
-    56239.444865307138,
-    56259.978640887268,
-    56280.514290243525,
-    56301.051813034042,
-    56321.591208917082,
-    56342.13247755108,
-    56362.675618594607,
-    56383.220631706419,
-    56403.767516545398,
-    56424.316272770608,
-    56444.866900041241,
-    56465.419398016667,
-    56485.973766356394,
-    56506.530004720102,
-    56527.088112767611,
-    56547.648090158902,
-    56568.209936554107,
-    56588.773651613519,
-    56609.339234997584,
-    56629.9066863669,
-    56650.47600538221,
-    56671.04719170442,
-    56691.620244994599,
-    56712.195164913959,
-    56732.771951123868,
-    56753.350603285835,
-    56773.931121061541,
-    56794.513504112823,
-    56815.097752101647,
-    56835.683864690152,
-    56856.271841540627,
-    56876.86168231551,
-    56897.453386677393,
-    56918.046954289028,
-    56938.642384813298,
-    56959.239677913261,
-    56979.838833252121,
-    57000.439850493225,
-    57021.04272930009,
-    57041.647469336371,
-    57062.254070265873,
-    57082.862531752558,
-    57103.472853460553,
-    57124.085035054108,
-    57144.699076197649,
-    57165.314976555739,
-    57185.932735793103,
-    57206.552353574611,
-    57227.173829565276,
-    57247.797163430281,
-    57268.42235483494,
-    57289.049403444733,
-    57309.678308925286,
-    57330.30907094237,
-    57350.941689161911,
-    57371.576163249985,
-    57392.212492872815,
-    57412.850677696784,
-    57433.490717388406,
-    57454.132611614368,
-    57474.776360041491,
-    57495.421962336746,
-    57516.069418167266,
-    57536.718727200314,
-    57557.36988910332,
-    57578.022903543861,
-    57598.677770189643,
-    57619.334488708548,
-    57639.993058768589,
-    57660.653480037938,
-    57681.315752184906,
-    57701.979874877965,
-    57722.64584778573,
-    57743.31367057695,
-    57763.983342920546,
-    57784.654864485572,
-    57805.328234941233,
-    57826.003453956881,
-    57846.680521202026,
-    57867.359436346305,
-    57888.040199059527,
-    57908.722809011633,
-    57929.407265872709,
-    57950.093569313001,
-    57970.781719002895,
-    57991.471714612911,
-    58012.16355581375,
-    58032.857242276223,
-    58053.552773671312,
-    58074.25014967013,
-    58094.949369943948,
-    58115.650434164185,
-    58136.353342002389,
-    58157.058093130276,
-    58177.764687219693,
-    58198.47312394264,
-    58219.183402971255,
-    58239.895523977837,
-    58260.609486634821,
-    58281.325290614775,
-    58302.042935590434,
-    58322.762421234678,
-    58343.483747220511,
-    58364.206913221096,
-    58384.931918909751,
-    58405.658763959924,
-    58426.3874480452,
-    58447.117970839339,
-    58467.85033201622,
-    58488.584531249864,
-    58509.320568214462,
-    58530.058442584334,
-    58550.798154033931,
-    58571.539702237875,
-    58592.283086870906,
-    58613.028307607929,
-    58633.775364123983,
-    58654.52425609425,
-    58675.274983194053,
-    58696.027545098877,
-    58716.781941484325,
-    58737.538172026158,
-    58758.296236400274,
-    58779.056134282728,
-    58799.817865349694,
-    58820.581429277503,
-    58841.346825742643,
-    58862.114054421712,
-    58882.883114991484,
-    58903.654007128847,
-    58924.426730510851,
-    58945.201284814684,
-    58965.977669717664,
-    58986.755884897269,
-    59007.535930031117,
-    59028.317804796949,
-    59049.101508872664,
-    59069.887041936301,
-    59090.674403666046,
-    59111.463593740213,
-    59132.254611837263,
-    59153.047457635803,
-    59173.84213081457,
-    59194.638631052461,
-    59215.436958028506,
-    59236.237111421855,
-    59257.039090911829,
-    59277.842896177877,
-    59298.648526899589,
-    59319.455982756685,
-    59340.26526342905,
-    59361.076368596696,
-    59381.889297939757,
-    59402.704051138542,
-    59423.520627873484,
-    59444.339027825139,
-    59465.159250674224,
-    59485.9812961016,
-    59506.805163788253,
-    59527.630853415307,
-    59548.458364664046,
-    59569.287697215863,
-    59590.118850752311,
-    59610.951824955089,
-    59631.786619506012,
-    59652.623234087048,
-    59673.461668380311,
-    59694.301922068029,
-    59715.143994832593,
-    59735.987886356525,
-    59756.833596322482,
-    59777.681124413255,
-    59798.530470311794,
-    59819.381633701159,
-    59840.234614264569,
-    59861.089411685381,
-    59881.94602564707,
-    59902.804455833269,
-    59923.664701927737,
-    59944.526763614384,
-    59965.390640577243,
-    59986.256332500488,
-    60007.123839068438,
-    60027.993159965539,
-    60048.864294876381,
-    60069.737243485688,
-    60090.612005478324,
-    60111.488580539284,
-    60132.366968353708,
-    60153.247168606867,
-    60174.129180984164,
-    60195.013005171153,
-    60215.898640853513,
-    60236.786087717061,
-    60257.675345447751,
-    60278.566413731671,
-    60299.459292255044,
-    60320.353980704247,
-    60341.25047876576,
-    60362.148786126229,
-    60383.048902472423,
-    60403.950827491237,
-    60424.854560869717,
-    60445.76010229504,
-    60466.667451454516,
-    60487.57660803559,
-    60508.487571725847,
-    60529.400342212997,
-    60550.314919184893,
-    60571.231302329521,
-    60592.149491335003,
-    60613.069485889588,
-    60633.991285681674,
-    60654.914890399785,
-    60675.840299732568,
-    60696.767513368832,
-    60717.696530997484,
-    60738.627352307602,
-    60759.55997698837,
-    60780.494404729128,
-    60801.430635219323,
-    60822.368668148556,
-    60843.308503206565,
-    60864.250140083204,
-    60885.193578468468,
-    60906.138818052495,
-    60927.085858525541,
-    60948.034699578006,
-    60968.985340900421,
-    60989.937782183442,
-    61010.892023117864,
-    61031.848063394616,
-    61052.805902704764,
-    61073.765540739492,
-    61094.726977190134,
-    61115.690211748137,
-    61136.655244105103,
-    61157.622073952742,
-    61178.590700982917,
-    61199.561124887616,
-    61220.533345358948,
-    61241.507362089171,
-    61262.483174770663,
-    61283.460783095943,
-    61304.440186757645,
-    61325.421385448557,
-    61346.404378861582,
-    61367.389166689762,
-    61388.375748626262,
-    61409.364124364387,
-    61430.354293597571,
-    61451.346256019373,
-    61472.340011323497,
-    61493.335559203762,
-    61514.332899354122,
-    61535.332031468672,
-    61556.332955241618,
-    61577.335670367313,
-    61598.340176540238,
-    61619.346473454993,
-    61640.354560806329,
-    61661.3644382891,
-    61682.376105598312,
-    61703.389562429089,
-    61724.404808476691,
-    61745.42184343651,
-    61766.440667004063,
-    61787.461278874987,
-    61808.483678745069,
-    61829.507866310203,
-    61850.533841266435,
-    61871.561603309929,
-    61892.591152136971,
-    61913.622487443987,
-    61934.655608927525,
-    61955.690516284267,
-    61976.727209211022,
-    61997.765687404724,
-    62018.805950562448,
-    62039.847998381381,
-    62060.891830558845,
-    62081.93744679229,
-    62102.984846779298,
-    62124.034030217575,
-    62145.084996804966,
-    62166.137746239416,
-    62187.19227821903,
-    62208.248592442025,
-    62229.306688606739,
-    62250.366566411656,
-    62271.428225555377,
-    62292.491665736627,
-    62313.556886654267,
-    62334.623888007271,
-    62355.692669494762,
-    62376.763230815974,
-    62397.835571670272,
-    62418.909691757144,
-    62439.98559077621,
-    62461.063268427228,
-    62482.142724410049,
-    62503.223958424685,
-    62524.306970171267,
-    62545.39175935003,
-    62566.478325661366,
-    62587.566668805768,
-    62608.656788483881,
-    62629.748684396451,
-    62650.842356244357,
-    62671.937803728622,
-    62693.035026550366,
-    62714.134024410858,
-    62735.234797011479,
-    62756.337344053733,
-    62777.441665239276,
-    62798.547760269852,
-    62819.655628847358,
-    62840.765270673801,
-    62861.876685451323,
-    62882.989872882186,
-    62904.104832668774,
-    62925.221564513602,
-    62946.340068119309,
-    62967.460343188657,
-    62988.582389424526,
-    63009.70620652994,
-    63030.831794208025,
-    63051.959152162039,
-    63073.08828009537,
-    63094.219177711529,
-    63115.351844714154,
-    63136.486280806988,
-    63157.622485693922,
-    63178.760459078956,
-    63199.900200666219,
-    63221.041710159967,
-    63242.184987264569,
-    63263.330031684534,
-    63284.476843124474,
-    63305.625421289144,
-    63326.775765883409,
-    63347.927876612259,
-    63369.081753180813,
-    63390.237395294316,
-    63411.39480265812,
-    63432.553974977716,
-    63453.714911958712,
-    63474.877613306839,
-    63496.042078727944,
-    63517.208307927998,
-    63538.376300613119,
-    63559.546056489504,
-    63580.717575263516,
-    63601.890856641607,
-    63623.065900330374,
-    63644.242706036515,
-    63665.421273466869,
-    63686.601602328381,
-    63707.783692328136,
-    63728.967543173334,
-    63750.153154571279,
-    63771.340526229418,
-    63792.529657855317,
-    63813.720549156649,
-    63834.913199841227,
-    63856.107609616978,
-    63877.303778191941,
-    63898.501705274284,
-    63919.7013905723,
-    63940.902833794404,
-    63962.106034649114,
-    63983.310992845094,
-    64004.517708091109,
-    64025.726180096048,
-    64046.936408568938,
-    64068.1483932189,
-    64089.362133755196,
-    64110.577629887193,
-    64131.794881324393,
-    64153.013887776404,
-    64174.234648952966,
-    64195.457164563937,
-    64216.681434319289,
-    64237.907457929112,
-    64259.135235103626,
-    64280.36476555316,
-    64301.596048988169,
-    64322.829085119236,
-    64344.06387365704,
-    64365.300414312398,
-    64386.538706796251,
-    64407.778750819634,
-    64429.020546093721,
-    64450.26409232981,
-    64471.509389239291,
-    64492.756436533709,
-    64514.005233924705,
-    64535.255781124033,
-    64556.50807784358,
-    64577.762123795357,
-    64599.017918691468,
-    64620.275462244172,
-    64641.534754165805,
-    64662.795794168844,
-    64684.058581965895,
-    64705.323117269661,
-    64726.589399792974,
-    64747.857429248776,
-    64769.127205350138,
-    64790.398727810236,
-    64811.671996342375,
-    64832.947010659969,
-    64854.223770476558,
-    64875.502275505794,
-    64896.782525461451,
-    64918.064520057414,
-    64939.348259007682,
-    64960.633742026388,
-    64981.920968827762,
-    65003.209939126165,
-    65024.500652636067,
-    65045.793109072067,
-    65067.087308148861,
-    65088.383249581282,
-    65109.680933084259,
-    65130.980358372864,
-    65152.28152516226,
-    65173.584433167736,
-    65194.889082104703,
-    65216.195471688683,
-    65237.503601635319,
-    65258.813471660353,
-    65280.125081479666,
-    65301.438430809241,
-    65322.753519365178,
-    65344.070346863708,
-    65365.388913021146,
-    65386.709217553958,
-    65408.031260178701,
-    65429.355040612056,
-    65450.680558570821,
-    65472.00781377191,
-    65493.336805932355,
-    65514.66753476928,
-    65535.999999999956,
-    65557.334201341757,
-    65578.670138512171,
-    65600.007811228788,
-    65621.347219209332,
-    65642.688362171626,
-    65664.031239833639,
-    65685.375851913413,
-    65706.722198129137,
-    65728.070278199084,
-    65749.420091841661,
-    65770.771638775404,
-    65792.124918718939,
-    65813.479931391004,
-    65834.836676510458,
-    65856.195153796303,
-    65877.5553629676,
-    65898.917303743554,
-    65920.280975843489,
-    65941.646378986843,
-    65963.013512893158,
-    65984.382377282076,
-    66005.752971873386,
-    66027.125296386963,
-    66048.499350542799,
-    66069.875134061018,
-    66091.252646661844,
-    66112.631888065618,
-    66134.01285799277,
-    66155.395556163887,
-    66176.779982299631,
-    66198.166136120795,
-    66219.554017348273,
-    66240.943625703105,
-    66262.334960906388,
-    66283.728022679396,
-    66305.122810743444,
-    66326.519324820023,
-    66347.917564630698,
-    66369.317529897162,
-    66390.719220341227,
-    66412.122635684791,
-    66433.527775649884,
-    66454.934639958636,
-    66476.343228333324,
-    66497.753540496284,
-    66519.165576169995,
-    66540.57933507704,
-    66561.994816940118,
-    66583.412021482043,
-    66604.830948425733,
-    66626.251597494222,
-    66647.673968410629,
-    66669.098060898235,
-    66690.523874680381,
-    66711.951409480564,
-    66733.380665022371,
-    66754.811641029475,
-    66776.244337225711,
-    66797.678753334985,
-    66819.11488908132,
-    66840.552744188884,
-    66861.992318381905,
-    66883.433611384738,
-    66904.876622921889,
-    66926.321352717903,
-    66947.767800497502,
-    66969.215965985466,
-    66990.665848906734,
-    67012.117448986304,
-    67033.570765949335,
-    67055.025799521056,
-    67076.482549426815,
-    67097.941015392076,
-    67119.401197142433,
-    67140.863094403554,
-    67162.326706901222,
-    67183.792034361351,
-    67205.259076509959,
-    67226.72783307315,
-    67248.198303777172,
-    67269.670488348347,
-    67291.144386513144,
-    67312.619997998088,
-    67334.09732252988,
-    67355.576359835293,
-    67377.057109641188,
-    67398.53957167457,
-    67420.023745662547,
-    67441.50963133233,
-    67462.99722841123,
-    67484.486536626689,
-    67505.977555706224,
-    67527.470285377494,
-    67548.964725368263,
-    67570.460875406367,
-    67591.9587352198,
-    67613.458304536631,
-    67634.95958308503,
-    67656.462570593329,
-    67677.967266789899,
-    67699.473671403248,
-    67720.981784162024,
-    67742.491604794923,
-    67764.003133030797,
-    67785.516368598575,
-    67807.031311227314,
-    67828.547960646174,
-    67850.066316584402,
-    67871.58637877139,
-    67893.108146936589,
-    67914.63162080961,
-    67936.156800120138,
-    67957.683684597971,
-    67979.212273973011,
-    68000.742567975263,
-    68022.274566334876,
-    68043.808268782057,
-    68065.343675047145,
-    68086.880784860579,
-    68108.419597952918,
-    68129.960114054789,
-    68151.502332896969,
-    68173.04625421032,
-    68194.591877725834,
-    68216.139203174564,
-    68237.688230287706,
-    68259.238958796544,
-    68280.791388432481,
-    68302.345518927032,
-    68323.901350011787,
-    68345.458881418483,
-    68367.018112878912,
-    68388.579044125028,
-    68410.141674888844,
-    68431.706004902502,
-    68453.272033898262,
-    68474.839761608455,
-    68496.409187765545,
-    68517.980312102081,
-    68539.553134350732,
-    68561.127654244279,
-    68582.70387151558,
-    68604.281785897634,
-    68625.861397123503,
-    68647.44270492639,
-    68669.025709039604,
-    68690.610409196524,
-    68712.196805130661,
-    68733.784896575627,
-    68755.374683265123,
-    68776.966164932994,
-    68798.559341313128,
-    68820.154212139591,
-    68841.750777146473,
-    68863.349036068044,
-    68884.948988638629,
-    68906.550634592684,
-    68928.153973664739,
-    68949.75900558944,
-    68971.365730101577,
-    68992.974146935987,
-    69014.584255827634,
-    69036.196056511588,
-    69057.809548723017,
-    69079.424732197207,
-    69101.041606669532,
-    69122.660171875468,
-    69144.280427550606,
-    69165.902373430625,
-    69187.526009251334,
-    69209.151334748618,
-    69230.778349658474,
-    69252.40705371699,
-    69274.037446660412,
-    69295.669528225,
-    69317.303298147192,
-    69338.938756163494,
-    69360.575902010532,
-    69382.214735425005,
-    69403.855256143754,
-    69425.497463903681,
-    69447.141358441833,
-    69468.78693949533,
-    69490.434206801394,
-    69512.083160097391,
-    69533.733799120717,
-    69555.386123608929,
-    69577.04013329967,
-    69598.695827930685,
-    69620.353207239794,
-    69642.012270964973,
-    69663.67301884426,
-    69685.335450615792,
-    69706.999566017839,
-    69728.665364788743,
-    69750.332846666963,
-    69772.002011391058,
-    69793.672858699691,
-    69815.345388331611,
-    69837.019600025669,
-    69858.695493520849,
-    69880.373068556204,
-    69902.052324870907,
-    69923.733262204216,
-    69945.415880295492,
-    69967.100178884211,
-    69988.786157709939,
-    70010.473816512356,
-    70032.163155031216,
-    70053.854173006403,
-    70075.546870177874,
-    70097.241246285717,
-    70118.937301070109,
-    70140.635034271298,
-    70162.334445629691,
-    70184.035534885741,
-    70205.738301780017,
-    70227.442746053217,
-    70249.1488674461,
-    70270.856665699539,
-    70292.566140554511,
-    70314.277291752107,
-    70335.990119033493,
-    70357.704622139936,
-    70379.420800812819,
-    70401.138654793613,
-    70422.85818382389,
-    70444.579387645339,
-    70466.302265999722,
-    70488.026818628918,
-    70509.753045274876,
-    70531.480945679708,
-    70553.210519585555,
-    70574.941766734701,
-    70596.674686869505,
-    70618.409279732456,
-    70640.145545066101,
-    70661.883482613106,
-    70683.623092116264,
-    70705.364373318414,
-    70727.107325962526,
-    70748.851949791671,
-    70770.598244549008,
-    70792.346209977783,
-    70814.095845821372,
-    70835.847151823225,
-    70857.600127726895,
-    70879.354773276034,
-    70901.111088214413,
-    70922.869072285859,
-    70944.628725234332,
-    70966.390046803877,
-    70988.153036738629,
-    71009.917694782853,
-    71031.684020680885,
-    71053.45201417715,
-    71075.221675016204,
-    71096.993002942661,
-    71118.765997701266,
-    71140.540659036851,
-    71162.316986694335,
-    71184.09498041874,
-    71205.874639955218,
-    71227.655965048951,
-    71249.438955445294,
-    71271.223610889632,
-    71293.009931127483,
-    71314.797915904477,
-    71336.587564966307,
-    71358.378878058764,
-    71380.171854927772,
-    71401.966495319313,
-    71423.762798979486,
-    71445.560765654489,
-    71467.360395090596,
-    71489.161687034211,
-    71510.964641231811,
-    71532.769257429973,
-    71554.575535375348,
-    71576.383474814749,
-    71598.19307549503,
-    71620.004337163133,
-    71641.817259566145,
-    71663.631842451214,
-    71685.4480855656,
-    71707.26598865664,
-    71729.085551471784,
-    71750.906773758586,
-    71772.729655264673,
-    71794.554195737772,
-    71816.380394925713,
-    71838.208252576442,
-    71860.037768437964,
-    71881.868942258385,
-    71903.701773785942,
-    71925.536262768932,
-    71947.372408955751,
-    71969.210212094898,
-    71991.049671934976,
-    72012.890788224686,
-    72034.73356071279,
-    72056.577989148165,
-    72078.424073279821,
-    72100.271812856794,
-    72122.121207628254,
-    72143.97225734347,
-    72165.824961751801,
-    72187.679320602692,
-    72209.53533364569,
-    72231.393000630429,
-    72253.252321306645,
-    72275.113295424177,
-    72296.975922732949,
-    72318.840202982959,
-    72340.706135924338,
-    72362.573721307272,
-    72384.442958882093,
-    72406.313848399179,
-    72428.186389609036,
-    72450.060582262216,
-    72471.936426109431,
-    72493.813920901433,
-    72515.693066389096,
-    72537.573862323392,
-    72559.456308455352,
-    72581.340404536139,
-    72603.226150316987,
-    72625.113545549248,
-    72647.002589984331,
-    72668.893283373764,
-    72690.785625469172,
-    72712.679616022273,
-    72734.575254784853,
-    72756.472541508803,
-    72778.371475946144,
-    72800.272057848939,
-    72822.174286969355,
-    72844.07816305969,
-    72865.983685872285,
-    72887.890855159596,
-    72909.799670674183,
-    72931.710132168693,
-    72953.622239395845,
-    72975.535992108475,
-    72997.451390059519,
-    73019.368433001961,
-    73041.287120688925,
-    73063.207452873612,
-    73085.129429309294,
-    73107.053049749389,
-    73128.978313947344,
-    73150.905221656736,
-    73172.833772631217,
-    73194.763966624567,
-    73216.695803390612,
-    73238.62928268328,
-    73260.564404256627,
-    73282.501167864757,
-    73304.439573261901,
-    73326.379620202337,
-    73348.321308440485,
-    73370.264637730841,
-    73392.209607827957,
-    73414.156218486532,
-    73436.104469461323,
-    73458.054360507173,
-    73480.005891379056,
-    73501.959061831993,
-    73523.913871621116,
-    73545.870320501665,
-    73567.828408228932,
-    73589.78813455833,
-    73611.749499245358,
-    73633.712502045615,
-    73655.677142714747,
-    73677.643421008557,
-    73699.611336682879,
-    73721.580889493693,
-    73743.552079197019,
-    73765.524905548999,
-    73787.499368305856,
-    73809.475467223907,
-    73831.453202059551,
-    73853.432572569291,
-    73875.413578509717,
-    73897.396219637507,
-    73919.380495709411,
-    73941.36640648231,
-    73963.353951713143,
-    73985.343131158952,
-    74007.333944576865,
-    74029.326391724098,
-    74051.320472357969,
-    74073.316186235883,
-    74095.313533115303,
-    74117.312512753837,
-    74139.313124909138,
-    74161.315369338976,
-    74183.319245801191,
-    74205.324754053727,
-    74227.331893854629,
-    74249.340664961986,
-    74271.351067134034,
-    74293.363100129049,
-    74315.376763705441,
-    74337.392057621662,
-    74359.408981636298,
-    74381.427535508003,
-    74403.447718995507,
-    74425.469531857671,
-    74447.492973853383,
-    74469.518044741693,
-    74491.54474428168,
-    74513.573072232539,
-    74535.603028353551,
-    74557.634612404087,
-    74579.667824143602,
-    74601.702663331642,
-    74623.739129727837,
-    74645.777223091936,
-    74667.816943183716,
-    74689.858289763113,
-    74711.901262590094,
-    74733.945861424741,
-    74755.992086027225,
-    74778.039936157802,
-    74800.089411576817,
-    74822.140512044702,
-    74844.193237321961,
-    74866.24758716923,
-    74888.303561347187,
-    74910.36115961663,
-    74932.420381738411,
-    74954.481227473516,
-    74976.543696582972,
-    74998.607788827925,
-    75020.673503969607,
-    75042.740841769322,
-    75064.809801988464,
-    75086.88038438854,
-    75108.952588731103,
-    75131.026414777836,
-    75153.101862290467,
-    75175.178931030852,
-    75197.257620760924,
-    75219.33793124267,
-    75241.419862238225,
-    75263.503413509738,
-    75285.588584819503,
-    75307.675375929874,
-    75329.763786603318,
-    75351.853816602365,
-    75373.945465689612,
-    75396.038733627807,
-    75418.133620179724,
-    75440.230125108254,
-    75462.32824817636,
-    75484.427989147109,
-    75506.529347783653,
-    75528.63232384919,
-    75550.736917107075,
-    75572.843127320695,
-    75594.950954253538,
-    75617.060397669193,
-    75639.171457331307,
-    75661.284133003646,
-    75683.398424450032,
-    75705.514331434402,
-    75727.631853720741,
-    75749.750991073175,
-    75771.871743255862,
-    75793.994110033076,
-    75816.118091169177,
-    75838.243686428585,
-    75860.370895575848,
-    75882.499718375562,
-    75904.630154592422,
-    75926.762203991224,
-    75948.895866336825,
-    75971.031141394182,
-    75993.168028928325,
-    76015.306528704401,
-    76037.4466404876,
-    76059.588364043215,
-    76081.731699136653,
-    76103.876645533353,
-    76126.023202998884,
-    76148.171371298871,
-    76170.321150199044,
-    76192.472539465205,
-    76214.625538863256,
-    76236.780148159174,
-    76258.936367119008,
-    76281.094195508922,
-    76303.253633095141,
-    76325.414679643975,
-    76347.577334921851,
-    76369.741598695226,
-    76391.907470730686,
-    76414.074950794879,
-    76436.244038654564,
-    76458.414734076548,
-    76480.587036827754,
-    76502.760946675175,
-    76524.936463385893,
-    76547.11358672705,
-    76569.292316465915,
-    76591.472652369819,
-    76613.654594206164,
-    76635.838141742468,
-    76658.023294746308,
-    76680.210052985349,
-    76702.398416227341,
-    76724.588384240138,
-    76746.779956791637,
-    76768.973133649866,
-    76791.167914582897,
-    76813.364299358902,
-    76835.562287746157,
-    76857.761879512967,
-    76879.963074427797,
-    76902.165872259109,
-    76924.37027277553,
-    76946.576275745727,
-    76968.783880938441,
-    76990.993088122515,
-    77013.203897066895,
-    77035.416307540567,
-    77057.630319312622,
-    77079.845932152239,
-    77102.063145828695,
-    77124.281960111301,
-    77146.50237476948,
-    77168.724389572759,
-    77190.948004290723,
-    77213.173218693031,
-    77235.400032549442,
-    77257.628445629802,
-    77279.858457704031,
-    77302.090068542122,
-    77324.323277914169,
-    77346.558085590339,
-    77368.794491340886,
-    77391.032494936138,
-    77413.272096146524,
-    77435.51329474253,
-    77457.756090494731,
-    77480.000483173804,
-    77502.246472550498,
-    77524.494058395634,
-    77546.743240480107,
-    77568.994018574944,
-    77591.246392451198,
-    77613.500361880026,
-    77635.755926632657,
-    77658.013086480438,
-    77680.271841194757,
-    77702.532190547092,
-    77724.794134309021,
-    77747.057672252195,
-    77769.322804148323,
-    77791.589529769248,
-    77813.857848886837,
-    77836.127761273063,
-    77858.399266699998,
-    77880.67236493979,
-    77902.947055764627,
-    77925.223338946831,
-    77947.50121425878,
-    77969.780681472927,
-    77992.061740361838,
-    78014.344390698127,
-    78036.628632254491,
-    78058.914464803747,
-    78081.201888118725,
-    78103.490901972415,
-    78125.781506137821,
-    78148.073700388064,
-    78170.367484496339,
-    78192.662858235926,
-    78214.959821380166,
-    78237.258373702498,
-    78259.558514976452,
-    78281.860244975614,
-    78304.163563473659,
-    78326.468470244363,
-    78348.77496506153,
-    78371.083047699125,
-    78393.392717931114,
-    78415.703975531578,
-    78438.016820274701,
-    78460.331251934695,
-    78482.647270285903,
-    78504.964875102727,
-    78527.284066159627,
-    78549.604843231195,
-    78571.927206092048,
-    78594.251154516911,
-    78616.576688280606,
-    78638.903807157985,
-    78661.232510924034,
-    78683.562799353778,
-    78705.894672222363,
-    78728.228129304945,
-    78750.563170376859,
-    78772.899795213423,
-    78795.238003590101,
-    78817.577795282399,
-    78839.919170065928,
-    78862.262127716356,
-    78884.606668009452,
-    78906.952790721043,
-    78929.300495627045,
-    78951.64978250346,
-    78974.000651126378,
-    78996.353101271932,
-    79018.707132716358,
-    79041.062745235977,
-    79063.41993860717,
-    79085.778712606436,
-    79108.139067010285,
-    79130.501001595389,
-    79152.864516138419,
-    79175.22961041618,
-    79197.596284205531,
-    79219.96453728342,
-    79242.33436942687,
-    79264.705780412987,
-    79287.078770018954,
-    79309.453338022009,
-    79331.829484199508,
-    79354.207208328866,
-    79376.586510187582,
-    79398.967389553218,
-    79421.349846203433,
-    79443.733879915948,
-    79466.119490468584,
-    79488.50667763922,
-    79510.895441205823,
-    79533.285780946433,
-    79555.677696639163,
-    79578.071188062226,
-    79600.466254993895,
-    79622.862897212515,
-    79645.261114496549,
-    79667.660906624471,
-    79690.062273374875,
-    79712.465214526455,
-    79734.869729857935,
-    79757.275819148126,
-    79779.683482175955,
-    79802.092718720378,
-    79824.503528560454,
-    79846.915911475327,
-    79869.329867244203,
-    79891.745395646343,
-    79914.162496461155,
-    79936.581169468045,
-    79959.001414446553,
-    79981.423231176261,
-    80003.846619436852,
-    80026.271579008084,
-    80048.698109669771,
-    80071.12621120183,
-    80093.555883384237,
-    80115.987125997053,
-    80138.419938820414,
-    80160.854321634528,
-    80183.290274219689,
-    80205.727796356281,
-    80228.166887824715,
-    80250.607548405547,
-    80273.049777879336,
-    80295.493576026798,
-    80317.938942628651,
-    80340.385877465727,
-    80362.834380318949,
-    80385.28445096928,
-    80407.736089197788,
-    80430.189294785596,
-    80452.644067513917,
-    80475.100407164035,
-    80497.558313517322,
-    80520.017786355209,
-    80542.478825459213,
-    80564.941430610925,
-    80587.405601592007,
-    80609.871338184195,
-    80632.338640169342,
-    80654.8075073293,
-    80677.277939446067,
-    80699.749936301683,
-    80722.223497678278,
-    80744.698623358039,
-    80767.17531312324,
-    80789.653566756242,
-    80812.133384039465,
-    80834.614764755403,
-    80857.097708686648,
-    80879.582215615854,
-    80902.068285325731,
-    80924.555917599093,
-    80947.045112218824,
-    80969.535868967869,
-    80992.028187629272,
-    81014.522067986123,
-    81037.017509821613,
-    81059.514512919006,
-    81082.013077061609,
-    81104.513202032831,
-    81127.014887616184,
-    81149.518133595193,
-    81172.022939753486,
-    81194.529305874807,
-    81217.037231742899,
-    81239.546717141639,
-    81262.057761854958,
-    81284.570365666848,
-    81307.084528361403,
-    81329.600249722775,
-    81352.117529535186,
-    81374.636367582949,
-    81397.156763650448,
-    81419.678717522125,
-    81442.202228982511,
-    81464.727297816222,
-    81487.253923807933,
-    81509.782106742379,
-    81532.311846404409,
-    81554.843142578902,
-    81577.375995050839,
-    81599.910403605274,
-    81622.446368027333,
-    81644.983888102215,
-    81667.522963615178,
-    81690.063594351581,
-    81712.605780096841,
-    81735.149520636449,
-    81757.694815755967,
-    81780.241665241047,
-    81802.79006887741,
-    81825.340026450824,
-    81847.891537747171,
-    81870.444602552379,
-    81892.999220652477,
-    81915.555391833506,
-    81938.113115881672,
-    81960.672392583176,
-    81983.233221724338,
-    82005.795603091537,
-    82028.359536471224,
-    82050.925021649906,
-    82073.492058414209,
-    82096.060646550788,
-    82118.630785846399,
-    82141.202476087841,
-    82163.775717062032,
-    82186.35050855593,
-    82208.926850356569,
-    82231.504742251054,
-    82254.084184026578,
-    82276.665175470393,
-    82299.24771636985,
-    82321.831806512317,
-    82344.417445685307,
-    82367.004633676348,
-    82389.593370273054,
-    82412.183655263143,
-    82434.775488434374,
-    82457.368869574595,
-    82479.963798471697,
-    82502.560274913689,
-    82525.158298688606,
-    82547.757869584602,
-    82570.35898738986,
-    82592.961651892678,
-    82615.565862881398,
-    82638.171620144421,
-    82660.778923470265,
-    82683.387772647475,
-    82705.998167464713,
-    82728.610107710658,
-    82751.223593174116,
-    82773.83862364394,
-    82796.45519890904,
-    82819.073318758441,
-    82841.692982981185,
-    82864.314191366429,
-    82886.936943703375,
-    82909.561239781324,
-    82932.187079389638,
-    82954.814462317736,
-    82977.443388355125,
-    83000.073857291369,
-    83022.70586891612,
-    83045.339423019104,
-    83067.974519390089,
-    83090.611157818959,
-    83113.249338095629,
-    83135.8890600101,
-    83158.530323352461,
-    83181.173127912858,
-    83203.817473481497,
-    83226.463359848669,
-    83249.11078680474,
-    83271.759754140134,
-    83294.410261645375,
-    83317.062309111003,
-    83339.715896327703,
-    83362.371023086147,
-    83385.027689177165,
-    83407.685894391587,
-    83430.345638520361,
-    83453.006921354478,
-    83475.669742685001,
-    83498.334102303095,
-    83520.999999999942,
-    83543.667435566866,
-    83566.336408795192,
-    83589.006919476349,
-    83611.678967401851,
-    83634.352552363242,
-    83657.027674152167,
-    83679.704332560359,
-    83702.382527379552,
-    83725.062258401638,
-    83747.743525418511,
-    83770.42632822218,
-    83793.110666604684,
-    83815.796540358162,
-    83838.483949274829,
-    83861.172893146941,
-    83883.863371766842,
-    83906.555384926964,
-    83929.248932419752,
-    83951.944014037799,
-    83974.640629573696,
-    83997.338778820151,
-    84020.038461569929,
-    84042.739677615857,
-    84065.442426750829,
-    84088.146708767847,
-    84110.852523459922,
-    84133.559870620171,
-    84156.268750041796,
-    84178.979161518029,
-    84201.691104842204,
-    84224.404579807713,
-    84247.119586208006,
-    84269.83612383662,
-    84292.55419248715,
-    84315.273791953281,
-    84337.994922028738,
-    84360.717582507335,
-    84383.441773182945,
-    84406.167493849513,
-    84428.894744301069,
-    84451.623524331691,
-    84474.353833735542,
-    84497.085672306828,
-    84519.819039839858,
-    84542.553936128999,
-    84565.290360968676,
-    84588.028314153402,
-    84610.767795477717,
-    84633.508804736295,
-    84656.251341723822,
-    84678.995406235073,
-    84701.740998064924,
-    84724.488117008252,
-    84747.236762860062,
-    84769.986935415407,
-    84792.73863446941,
-    84815.491859817252,
-    84838.246611254188,
-    84861.002888575575,
-    84883.760691576768,
-    84906.520020053256,
-    84929.28087380057,
-    84952.043252614312,
-    84974.807156290146,
-    84997.572584623806,
-    85020.339537411113,
-    85043.108014447949,
-    85065.878015530237,
-    85088.649540453989,
-    85111.422589015303,
-    85134.197161010321,
-    85156.973256235244,
-    85179.750874486374,
-    85202.530015560071,
-    85225.310679252725,
-    85248.092865360857,
-    85270.876573681016,
-    85293.661804009811,
-    85316.448556143951,
-    85339.236829880188,
-    85362.026625015351,
-    85384.817941346351,
-    85407.610778670132,
-    85430.405136783724,
-    85453.201015484257,
-    85475.998414568865,
-    85498.797333834795,
-    85521.597773079353,
-    85544.399732099904,
-    85567.203210693886,
-    85590.008208658808,
-    85612.814725792239,
-    85635.62276189182,
-    85658.432316755265,
-    85681.243390180331,
-    85704.055981964877,
-    85726.870091906807,
-    85749.685719804082,
-    85772.502865454764,
-    85795.321528656961,
-    85818.141709208852,
-    85840.963406908675,
-    85863.78662155474,
-    85886.611352945445,
-    85909.437600879217,
-    85932.26536515457,
-    85955.094645570091,
-    85977.92544192441,
-    86000.757754016275,
-    86023.591581644432,
-    86046.426924607746,
-    86069.263782705122,
-    86092.102155735556,
-    86114.942043498071,
-    86137.783445791807,
-    86160.626362415918,
-    86183.470793169676,
-    86206.316737852379,
-    86229.164196263402,
-    86252.013168202204,
-    86274.863653468303,
-    86297.715651861261,
-    86320.569163180728,
-    86343.424187226425,
-    86366.280723798132,
-    86389.138772695675,
-    86411.998333718977,
-    86434.859406668009,
-    86457.721991342827,
-    86480.586087543532,
-    86503.451695070296,
-    86526.318813723352,
-    86549.187443303032,
-    86572.057583609683,
-    86594.929234443756,
-    86617.802395605773,
-    86640.677066896271,
-    86663.553248115903,
-    86686.43093906538,
-    86709.310139545443,
-    86732.190849356964,
-    86755.073068300815,
-    86777.956796177954,
-    86800.842032789442,
-    86823.728777936354,
-    86846.617031419853,
-    86869.506793041175,
-    86892.398062601613,
-    86915.290839902518,
-    86938.185124745316,
-    86961.080916931489,
-    86983.978216262592,
-    87006.87702254027,
-    87029.777335566177,
-    87052.67915514209,
-    87075.582481069796,
-    87098.487313151185,
-    87121.39365118822,
-    87144.301494982894,
-    87167.210844337285,
-    87190.121699053532,
-    87213.034058933845,
-    87235.947923780506,
-    87258.863293395829,
-    87281.780167582241,
-    87304.698546142172,
-    87327.618428878181,
-    87350.539815592856,
-    87373.462706088845,
-    87396.387100168897,
-    87419.312997635774,
-    87442.240398292357,
-    87465.16930194154,
-    87488.099708386319,
-    87511.031617429733,
-    87533.965028874911,
-    87556.899942525008,
-    87579.836358183282,
-    87602.774275653021,
-    87625.713694737613,
-    87648.654615240492,
-    87671.597036965148,
-    87694.540959715145,
-    87717.486383294105,
-    87740.433307505737,
-    87763.381732153779,
-    87786.331657042057,
-    87809.283081974456,
-    87832.236006754916,
-    87855.190431187453,
-    87878.146355076155,
-    87901.103778225151,
-    87924.062700438633,
-    87947.023121520891,
-    87969.985041276246,
-    87992.948459509105,
-    88015.913376023906,
-    88038.879790625171,
-    88061.847703117513,
-    88084.817113305573,
-    88107.788020994049,
-    88130.760425987726,
-    88153.734328091465,
-    88176.709727110137,
-    88199.686622848749,
-    88222.665015112303,
-    88245.644903705906,
-    88268.626288434709,
-    88291.609169103947,
-    88314.593545518903,
-    88337.579417484914,
-    88360.566784807408,
-    88383.555647291854,
-    88406.546004743795,
-    88429.537856968818,
-    88452.531203772611,
-    88475.52604496089,
-    88498.522380339447,
-    88521.52020971413,
-    88544.519532890874,
-    88567.520349675644,
-    88590.522659874507,
-    88613.526463293543,
-    88636.531759738922,
-    88659.538549016899,
-    88682.546830933745,
-    88705.556605295846,
-    88728.567871909589,
-    88751.580630581491,
-    88774.594881118086,
-    88797.610623325963,
-    88820.62785701183,
-    88843.646581982393,
-    88866.666798044462,
-    88889.688505004888,
-    88912.711702670611,
-    88935.7363908486,
-    88958.762569345898,
-    88981.790237969632,
-    89004.81939652696,
-    89027.850044825114,
-    89050.882182671412,
-    89073.9158098732,
-    89096.950926237885,
-    89119.987531572973,
-    89143.025625686001,
-    89166.065208384563,
-    89189.106279476357,
-    89212.148838769106,
-    89235.192886070581,
-    89258.238421188667,
-    89281.285443931265,
-    89304.333954106376,
-    89327.383951522017,
-    89350.435435986306,
-    89373.488407307406,
-    89396.542865293537,
-    89419.598809753006,
-    89442.656240494165,
-    89465.715157325409,
-    89488.775560055219,
-    89511.837448492137,
-    89534.900822444746,
-    89557.965681721733,
-    89581.032026131812,
-    89604.099855483742,
-    89627.169169586399,
-    89650.239968248672,
-    89673.312251279538,
-    89696.386018488018,
-    89719.461269683205,
-    89742.53800467425,
-    89765.616223270365,
-    89788.69592528083,
-    89811.777110514988,
-    89834.859778782207,
-    89857.943929891975,
-    89881.029563653807,
-    89904.116679877261,
-    89927.205278372014,
-    89950.29535894774,
-    89973.386921414218,
-    89996.479965581268,
-    90019.574491258769,
-    90042.670498256688,
-    90065.767986385021,
-    90088.866955453836,
-    90111.967405273259,
-    90135.069335653476,
-    90158.172746404758,
-    90181.277637337407,
-    90204.384008261797,
-    90227.49185898836,
-    90250.601189327586,
-    90273.711999090039,
-    90296.824288086325,
-    90319.938056127125,
-    90343.053303023189,
-    90366.170028585286,
-    90389.288232624298,
-    90412.407914951138,
-    90435.529075376777,
-    90458.651713712257,
-    90481.775829768681,
-    90504.901423357209,
-    90528.028494289058,
-    90551.157042375504,
-    90574.287067427911,
-    90597.418569257643,
-    90620.551547676194,
-    90643.686002495073,
-    90666.821933525847,
-    90689.959340580186,
-    90713.098223469773,
-    90736.238582006365,
-    90759.380416001804,
-    90782.523725267951,
-    90805.668509616764,
-    90828.814768860233,
-    90851.962502810435,
-    90875.11171127946,
-    90898.262394079517,
-    90921.414551022855,
-    90944.568181921743,
-    90967.72328658856,
-    90990.879864835719,
-    91014.037916475718,
-    91037.19744132107,
-    91060.358439184391,
-    91083.520909878338,
-    91106.684853215629,
-    91129.850269009039,
-    91153.017157071401,
-    91176.185517215621,
-    91199.355349254649,
-    91222.526653001492,
-    91245.699428269247,
-    91268.873674871036,
-    91292.049392620058,
-    91315.226581329553,
-    91338.405240812834,
-    91361.585370883287,
-    91384.766971354344,
-    91407.950042039476,
-    91431.134582752245,
-    91454.320593306256,
-    91477.508073515171,
-    91500.697023192712,
-    91523.887442152685,
-    91547.07933020893,
-    91570.272687175326,
-    91593.467512865856,
-    91616.663807094534,
-    91639.861569675442,
-    91663.060800422725,
-    91686.261499150554,
-    91709.463665673218,
-    91732.66729980502,
-    91755.872401360321,
-    91779.078970153569,
-    91802.287005999257,
-    91825.49650871192,
-    91848.707478106167,
-    91871.91991399668,
-    91895.133816198169,
-    91918.349184525418,
-    91941.566018793281,
-    91964.784318816659,
-    91988.004084410495,
-    92011.22531538982,
-    92034.448011569708,
-    92057.672172765277,
-    92080.897798791746,
-    92104.124889464365,
-    92127.353444598411,
-    92150.58346400928,
-    92173.814947512379,
-    92197.04789492322,
-    92220.282306057314,
-    92243.518180730272,
-    92266.755518757753,
-    92289.994319955469,
-    92313.234584139194,
-    92336.476311124774,
-    92359.719500728082,
-    92382.964152765067,
-    92406.210267051734,
-    92429.457843404161,
-    92452.706881638471,
-    92475.957381570814,
-    92499.209343017443,
-    92522.462765794655,
-    92545.717649718805,
-    92568.973994606305,
-    92592.231800273614,
-    92615.491066537259,
-    92638.751793213814,
-    92662.01398011994,
-    92685.277627072326,
-    92708.54273388772,
-    92731.809300382942,
-    92755.077326374871,
-    92778.346811680414,
-    92801.617756116568,
-    92824.890159500384,
-    92848.164021648947,
-    92871.439342379424,
-    92894.716121509016,
-    92917.994358855023,
-    92941.274054234746,
-    92964.555207465572,
-    92987.837818364962,
-    93011.121886750407,
-    93034.407412439468,
-    93057.694395249753,
-    93080.982834998955,
-    93104.272731504767,
-    93127.564084584999,
-    93150.856894057491,
-    93174.15115974014,
-    93197.446881450916,
-    93220.744059007804,
-    93244.04269222889,
-    93267.342780932304,
-    93290.644324936235,
-    93313.947324058914,
-    93337.251778118633,
-    93360.557686933767,
-    93383.865050322696,
-    93407.173868103928,
-    93430.484140095941,
-    93453.795866117362,
-    93477.109045986799,
-    93500.423679522952,
-    93523.739766544561,
-    93547.057306870454,
-    93570.376300319491,
-    93593.696746710571,
-    93617.018645862699,
-    93640.341997594893,
-    93663.666801726242,
-    93686.993058075881,
-    93710.320766463032,
-    93733.64992670693,
-    93756.980538626914,
-    93780.312602042337,
-    93803.646116772637,
-    93826.981082637285,
-    93850.317499455836,
-    93873.655367047861,
-    93896.994685233032,
-    93920.335453831038,
-    93943.677672661666,
-    93967.021341544707,
-    93990.366460300051,
-    94013.713028747632,
-    94037.061046707429,
-    94060.410513999494,
-    94083.761430443905,
-    94107.113795860845,
-    94130.467610070496,
-    94153.822872893157,
-    94177.179584149111,
-    94200.537743658759,
-    94223.897351242529,
-    94247.25840672091,
-    94270.620909914433,
-    94293.98486064373,
-    94317.350258729421,
-    94340.71710399224,
-    94364.085396252936,
-    94387.455135332348,
-    94410.82632105134,
-    94434.198953230851,
-    94457.573031691878,
-    94480.948556255447,
-    94504.325526742658,
-    94527.70394297468,
-    94551.083804772716,
-    94574.465111958023,
-    94597.847864351934,
-    94621.232061775823,
-    94644.617704051096,
-    94668.004790999272,
-    94691.393322441872,
-    94714.783298200506,
-    94738.174718096794,
-    94761.567581952477,
-    94784.961889589307,
-    94808.357640829097,
-    94831.754835493703,
-    94855.153473405066,
-    94878.553554385173,
-    94901.955078256055,
-    94925.358044839784,
-    94948.762453958523,
-    94972.168305434476,
-    94995.575599089891,
-    95018.984334747074,
-    95042.394512228391,
-    95065.806131356265,
-    95089.219191953176,
-    95112.633693841635,
-    95136.04963684424,
-    95159.467020783617,
-    95182.885845482466,
-    95206.306110763529,
-    95229.727816449609,
-    95253.150962363579,
-    95276.575548328314,
-    95300.001574166803,
-    95323.429039702052,
-    95346.857944757154,
-    95370.288289155214,
-    95393.720072719429,
-    95417.153295273019,
-    95440.587956639298,
-    95464.024056641589,
-    95487.461595103305,
-    95510.900571847902,
-    95534.340986698866,
-    95557.782839479783,
-    95581.226130014256,
-    95604.670858125959,
-    95628.117023638595,
-    95651.564626375985,
-    95675.013666161918,
-    95698.464142820303,
-    95721.916056175076,
-    95745.369406050231,
-    95768.824192269807,
-    95792.280414657915,
-    95815.738073038709,
-    95839.197167236387,
-    95862.657697075221,
-    95886.11966237954,
-    95909.583062973688,
-    95933.047898682111,
-    95956.514169329268,
-    95979.981874739708,
-    96003.451014738006,
-    96026.921589148798,
-    96050.393597796792,
-    96073.867040506724,
-    96097.341917103375,
-    96120.818227411626,
-    96144.295971256375,
-    96167.775148462577,
-    96191.255758855244,
-    96214.737802259449,
-    96238.221278500292,
-    96261.70618740299,
-    96285.192528792715,
-    96308.680302494788,
-    96332.169508334526,
-    96355.660146137321,
-    96379.152215728609,
-    96402.645716933868,
-    96426.14064957868,
-    96449.637013488609,
-    96473.134808489311,
-    96496.63403440651,
-    96520.134691065963,
-    96543.636778293469,
-    96567.140295914898,
-    96590.645243756153,
-    96614.151621643221,
-    96637.659429402134,
-    96661.168666858954,
-    96684.679333839798,
-    96708.191430170875,
-    96731.70495567839,
-    96755.219910188665,
-    96778.736293528011,
-    96802.254105522836,
-    96825.77334599958,
-    96849.29401478474,
-    96872.816111704873,
-    96896.339636586577,
-    96919.864589256511,
-    96943.390969541389,
-    96966.918777267958,
-    96990.448012263048,
-    97013.978674353522,
-    97037.510763366285,
-    97061.044279128328,
-    97084.579221466673,
-    97108.115590208385,
-    97131.653385180587,
-    97155.19260621049,
-    97178.733253125291,
-    97202.2753257523,
-    97225.81882391886,
-    97249.363747452342,
-    97272.910096180189,
-    97296.457869929916,
-    97320.007068529041,
-    97343.557691805196,
-    97367.109739586012,
-    97390.663211699197,
-    97414.218107972498,
-    97437.774428233737,
-    97461.332172310766,
-    97484.891340031507,
-    97508.451931223899,
-    97532.013945715982,
-    97555.577383335811,
-    97579.142243911512,
-    97602.708527271257,
-    97626.276233243261,
-    97649.845361655811,
-    97673.415912337223,
-    97696.987885115886,
-    97720.561279820206,
-    97744.1360962787,
-    97767.712334319876,
-    97791.289993772341,
-    97814.869074464703,
-    97838.449576225685,
-    97862.031498883996,
-    97885.614842268449,
-    97909.199606207883,
-    97932.785790531183,
-    97956.37339506732,
-    97979.962419645264,
-    98003.552864094076,
-    98027.144728242856,
-    98050.738011920766,
-    98074.332714956996,
-    98097.928837180807,
-    98121.526378421506,
-    98145.125338508456,
-    98168.725717271067,
-    98192.327514538789,
-    98215.930730141132,
-    98239.535363907664,
-    98263.141415668011,
-    98286.748885251814,
-    98310.357772488816,
-    98333.968077208759,
-    98357.579799241488,
-    98381.192938416847,
-    98404.807494564782,
-    98428.42346751524,
-    98452.040857098269,
-    98475.659663143917,
-    98499.27988548232,
-    98522.901523943656,
-    98546.524578358163,
-    98570.149048556093,
-    98593.774934367786,
-    98617.402235623624,
-    98641.030952154048,
-    98664.661083789513,
-    98688.292630360564,
-    98711.925591697771,
-    98735.559967631794,
-    98759.195757993293,
-    98782.832962613014,
-    98806.471581321734,
-    98830.111613950285,
-    98853.753060329575,
-    98877.39592029051,
-    98901.040193664099,
-    98924.68588028138,
-    98948.33297997342,
-    98971.981492571387,
-    98995.63141790645,
-    99019.282755809851,
-    99042.935506112874,
-    99066.589668646877,
-    99090.245243243233,
-    99113.902229733401,
-    99137.560627948857,
-    99161.220437721131,
-    99184.881658881859,
-    99208.544291262631,
-    99232.208334695169,
-    99255.87378901121,
-    99279.540654042547,
-    99303.208929621018,
-    99326.878615578535,
-    99350.549711746993,
-    99374.222217958435,
-    99397.896134044888,
-    99421.571459838422,
-    99445.248195171211,
-    99468.926339875441,
-    99492.605893783344,
-    99516.286856727209,
-    99539.969228539398,
-    99563.653009052287,
-    99587.338198098325,
-    99611.024795510006,
-    99634.712801119866,
-    99658.402214760499,
-    99682.093036264545,
-    99705.785265464699,
-    99729.478902193689,
-    99753.173946284325,
-    99776.870397569437,
-    99800.56825588191,
-    99824.267521054688,
-    99847.968192920773,
-    99871.670271313182,
-    99895.373756065004,
-    99919.078647009388,
-    99942.78494397951,
-    99966.492646808634,
-    99990.20175533001,
-    100013.91226937699,
-    100037.62418878295,
-    100061.33751338134,
-    100085.05224300563,
-    100108.76837748935,
-    100132.4859166661,
-    100156.2048603695,
-    100179.92520843323,
-    100203.64696069101,
-    100227.37011697664,
-    100251.09467712394,
-    100274.82064096678,
-    100298.54800833909,
-    100322.27677907483,
-    100346.00695300807,
-    100369.73852997283,
-    100393.47150980328,
-    100417.20589233354,
-    100440.94167739789,
-    100464.67886483055,
-    100488.41745446586,
-    100512.1574461382,
-    100535.89883968196,
-    100559.64163493161,
-    100583.38583172169,
-    100607.13142988674,
-    100630.87842926137,
-    100654.62682968024,
-    100678.37663097809,
-    100702.12783298964,
-    100725.88043554971,
-    100749.63443849317,
-    100773.38984165489,
-    100797.14664486986,
-    100820.90484797307,
-    100844.66445079957,
-    100868.42545318443,
-    100892.18785496285,
-    100915.95165596998,
-    100939.71685604109,
-    100963.48345501146,
-    100987.25145271645,
-    101011.02084899142,
-    101034.79164367182,
-    101058.56383659317,
-    101082.33742759094,
-    101106.11241650078,
-    101129.88880315828,
-    101153.66658739912,
-    101177.44576905905,
-    101201.22634797383,
-    101225.00832397929,
-    101248.7916969113,
-    101272.57646660579,
-    101296.36263289873,
-    101320.15019562612,
-    101343.93915462404,
-    101367.7295097286,
-    101391.52126077596,
-    101415.31440760233,
-    101439.10895004397,
-    101462.9048879372,
-    101486.70222111834,
-    101510.50094942382,
-    101534.30107269008,
-    101558.10259075361,
-    101581.90550345098,
-    101605.70981061876,
-    101629.5155120936,
-    101653.32260771218,
-    101677.13109731126,
-    101700.9409807276,
-    101724.75225779804,
-    101748.56492835947,
-    101772.37899224881,
-    101796.19444930303,
-    101820.01129935916,
-    101843.82954225427,
-    101867.64917782549,
-    101891.47020590997,
-    101915.29262634492,
-    101939.11643896763,
-    101962.94164361537,
-    101986.76824012553,
-    102010.59622833549,
-    102034.42560808272,
-    102058.25637920471,
-    102082.08854153901,
-    102105.9220949232,
-    102129.75703919494,
-    102153.59337419191,
-    102177.43109975185,
-    102201.27021571253,
-    102225.1107219118,
-    102248.95261818753,
-    102272.79590437764,
-    102296.64058032009,
-    102320.48664585294,
-    102344.33410081422,
-    102368.18294504205,
-    102392.03317837461,
-    102415.88480065008,
-    102439.73781170673,
-    102463.59221138287,
-    102487.44799951684,
-    102511.30517594704,
-    102535.1637405119,
-    102559.02369304992,
-    102582.88503339965,
-    102606.74776139967,
-    102630.61187688859,
-    102654.4773797051,
-    102678.34426968795,
-    102702.21254667587,
-    102726.08221050771,
-    102749.95326102231,
-    102773.8256980586,
-    102797.69952145554,
-    102821.57473105213,
-    102845.45132668741,
-    102869.32930820051,
-    102893.20867543056,
-    102917.08942821674,
-    102940.97156639832,
-    102964.85508981455,
-    102988.73999830478,
-    103012.6262917084,
-    103036.51396986481,
-    103060.40303261351,
-    103084.293479794,
-    103108.18531124585,
-    103132.07852680866,
-    103155.97312632212,
-    103179.8691096259,
-    103203.76647655977,
-    103227.66522696352,
-    103251.56536067701,
-    103275.46687754011,
-    103299.36977739276,
-    103323.27406007495,
-    103347.1797254267,
-    103371.0867732881,
-    103394.99520349925,
-    103418.90501590034,
-    103442.81621033157,
-    103466.72878663319,
-    103490.64274464553,
-    103514.55808420894,
-    103538.4748051638,
-    103562.39290735057,
-    103586.31239060973,
-    103610.23325478184,
-    103634.15549970744,
-    103658.07912522719,
-    103682.00413118176,
-    103705.93051741188,
-    103729.85828375829,
-    103753.78743006183,
-    103777.71795616332,
-    103801.64986190372,
-    103825.58314712394,
-    103849.51781166498,
-    103873.4538553679,
-    103897.39127807376,
-    103921.33007962372,
-    103945.27025985894,
-    103969.21181862066,
-    103993.15475575015,
-    104017.0990710887,
-    104041.0447644777,
-    104064.99183575854,
-    104088.94028477269,
-    104112.89011136163,
-    104136.84131536692,
-    104160.79389663014,
-    104184.74785499295,
-    104208.70319029699,
-    104232.65990238401,
-    104256.61799109577,
-    104280.57745627411,
-    104304.53829776087,
-    104328.50051539797,
-    104352.46410902737,
-    104376.42907849104,
-    104400.39542363105,
-    104424.36314428948,
-    104448.33224030846,
-    104472.3027115302,
-    104496.27455779689,
-    104520.24777895081,
-    104544.22237483428,
-    104568.19834528965,
-    104592.17569015936,
-    104616.15440928582,
-    104640.13450251156,
-    104664.1159696791,
-    104688.09881063103,
-    104712.08302520998,
-    104736.06861325864,
-    104760.05557461972,
-    104784.043909136,
-    104808.03361665027,
-    104832.0246970054,
-    104856.01715004431,
-    104880.01097560991,
-    104904.00617354522,
-    104928.00274369326,
-    104952.00068589712,
-    104975.99999999993,
-    105000.00068584486,
-    105024.00274327511,
-    105048.00617213396,
-    105072.0109722647,
-    105096.0171435107,
-    105120.02468571534,
-    105144.03359872208,
-    105168.04388237436,
-    105192.05553651576,
-    105216.06856098982,
-    105240.08295564017,
-    105264.09872031047,
-    105288.11585484444,
-    105312.13435908582,
-    105336.1542328784,
-    105360.17547606604,
-    105384.19808849262,
-    105408.22207000206,
-    105432.24742043833,
-    105456.27413964548,
-    105480.30222746753,
-    105504.33168374863,
-    105528.36250833291,
-    105552.39470106458,
-    105576.42826178786,
-    105600.46319034706,
-    105624.49948658649,
-    105648.53715035053,
-    105672.5761814836,
-    105696.61657983017,
-    105720.65834523473,
-    105744.70147754184,
-    105768.7459765961,
-    105792.79184224214,
-    105816.83907432464,
-    105840.88767268835,
-    105864.93763717801,
-    105888.98896763846,
-    105913.04166391456,
-    105937.09572585119,
-    105961.15115329332,
-    105985.20794608595,
-    106009.26610407409,
-    106033.32562710284,
-    106057.38651501729,
-    106081.44876766266,
-    106105.51238488412,
-    106129.57736652695,
-    106153.64371243643,
-    106177.71142245791,
-    106201.78049643678,
-    106225.85093421848,
-    106249.92273564848,
-    106273.99590057228,
-    106298.07042883546,
-    106322.14632028362,
-    106346.22357476239,
-    106370.30219211751,
-    106394.38217219469,
-    106418.46351483969,
-    106442.54621989837,
-    106466.63028721658,
-    106490.71571664025,
-    106514.80250801529,
-    106538.89066118775,
-    106562.98017600364,
-    106587.07105230905,
-    106611.16328995011,
-    106635.25688877302,
-    106659.35184862395,
-    106683.44816934918,
-    106707.54585079502,
-    106731.64489280782,
-    106755.74529523395,
-    106779.84705791986,
-    106803.95018071201,
-    106828.05466345693,
-    106852.16050600118,
-    106876.26770819137,
-    106900.37626987413,
-    106924.48619089619,
-    106948.59747110425,
-    106972.71011034511,
-    106996.82410846559,
-    107020.93946531253,
-    107045.05618073288,
-    107069.17425457356,
-    107093.29368668159,
-    107117.41447690397,
-    107141.53662508781,
-    107165.66013108024,
-    107189.7849947284,
-    107213.91121587952,
-    107238.03879438085,
-    107262.16773007967,
-    107286.29802282334,
-    107310.42967245923,
-    107334.56267883476,
-    107358.69704179741,
-    107382.83276119467,
-    107406.96983687414,
-    107431.10826868335,
-    107455.24805646999,
-    107479.38920008171,
-    107503.53169936626,
-    107527.67555417139,
-    107551.82076434491,
-    107575.96732973469,
-    107600.11525018861,
-    107624.26452555459,
-    107648.41515568066,
-    107672.56714041479,
-    107696.72047960508,
-    107720.87517309963,
-    107745.03122074658,
-    107769.18862239413,
-    107793.34737789053,
-    107817.50748708403,
-    107841.66894982298,
-    107865.83176595572,
-    107889.99593533068,
-    107914.16145779629,
-    107938.32833320105,
-    107962.49656139348,
-    107986.66614222217,
-    108010.83707553572,
-    108035.00936118282,
-    108059.18299901215,
-    108083.35798887245,
-    108107.53433061253,
-    108131.71202408121,
-    108155.89106912735,
-    108180.07146559987,
-    108204.25321334775,
-    108228.43631221994,
-    108252.62076206553,
-    108276.80656273357,
-    108300.99371407321,
-    108325.18221593359,
-    108349.37206816394,
-    108373.56327061349,
-    108397.75582313156,
-    108421.94972556747,
-    108446.1449777706,
-    108470.34157959036,
-    108494.53953087622,
-    108518.73883147769,
-    108542.93948124432,
-    108567.14148002568,
-    108591.34482767139,
-    108615.54952403114,
-    108639.75556895464,
-    108663.96296229165,
-    108688.17170389196,
-    108712.38179360541,
-    108736.59323128188,
-    108760.80601677128,
-    108785.02014992358,
-    108809.23563058881,
-    108833.45245861699,
-    108857.67063385822,
-    108881.89015616261,
-    108906.11102538036,
-    108930.33324136167,
-    108954.55680395682,
-    108978.78171301607,
-    109003.00796838976,
-    109027.23556992831,
-    109051.46451748211,
-    109075.69481090162,
-    109099.92645003737,
-    109124.15943473989,
-    109148.39376485976,
-    109172.62944024763,
-    109196.86646075416,
-    109221.10482623006,
-    109245.34453652608,
-    109269.58559149304,
-    109293.82799098175,
-    109318.07173484311,
-    109342.31682292801,
-    109366.56325508743,
-    109390.81103117237,
-    109415.06015103387,
-    109439.31061452301,
-    109463.56242149093,
-    109487.8155717888,
-    109512.07006526781,
-    109536.3259017792,
-    109560.58308117429,
-    109584.8416033044,
-    109609.1014680209,
-    109633.36267517522,
-    109657.62522461878,
-    109681.88911620311,
-    109706.15434977971,
-    109730.4209252002,
-    109754.68884231619,
-    109778.95810097932,
-    109803.22870104131,
-    109827.50064235389,
-    109851.77392476884,
-    109876.04854813802,
-    109900.32451231324,
-    109924.60181714644,
-    109948.88046248957,
-    109973.1604481946,
-    109997.44177411357,
-    110021.72444009855,
-    110046.00844600165,
-    110070.29379167501,
-    110094.58047697082,
-    110118.86850174134,
-    110143.15786583882,
-    110167.44856911557,
-    110191.74061142397,
-    110216.03399261639,
-    110240.32871254528,
-    110264.62477106311,
-    110288.9221680224,
-    110313.22090327571,
-    110337.52097667565,
-    110361.82238807483,
-    110386.12513732594,
-    110410.42922428172,
-    110434.73464879491,
-    110459.04141071832,
-    110483.34950990479,
-    110507.6589462072,
-    110531.96971947847,
-    110556.28182957157,
-    110580.5952763395,
-    110604.91005963532,
-    110629.22617931209,
-    110653.54363522294,
-    110677.86242722106,
-    110702.18255515963,
-    110726.50401889188,
-    110750.82681827113,
-    110775.1509531507,
-    110799.47642338395,
-    110823.80322882428,
-    110848.13136932514,
-    110872.46084474004,
-    110896.79165492248,
-    110921.12379972603,
-    110945.4572790043,
-    110969.79209261097,
-    110994.12824039967,
-    111018.46572222417,
-    111042.80453793822,
-    111067.14468739564,
-    111091.48617045028,
-    111115.82898695602,
-    111140.1731367668,
-    111164.51861973655,
-    111188.86543571933,
-    111213.21358456917,
-    111237.56306614014,
-    111261.91388028639,
-    111286.26602686207,
-    111310.61950572141,
-    111334.97431671864,
-    111359.33045970804,
-    111383.68793454397,
-    111408.04674108078,
-    111432.40687917286,
-    111456.76834867468,
-    111481.13114944073,
-    111505.49528132551,
-    111529.86074418361,
-    111554.22753786964,
-    111578.59566223821,
-    111602.96511714405,
-    111627.33590244185,
-    111651.7080179864,
-    111676.08146363248,
-    111700.45623923496,
-    111724.8323446487,
-    111749.20977972864,
-    111773.58854432974,
-    111797.96863830699,
-    111822.35006151545,
-    111846.73281381019,
-    111871.11689504632,
-    111895.50230507903,
-    111919.8890437635,
-    111944.27711095495,
-    111968.6665065087,
-    111993.05723028004,
-    112017.44928212435,
-    112041.842661897,
-    112066.23736945343,
-    112090.63340464912,
-    112115.03076733962,
-    112139.42945738042,
-    112163.82947462716,
-    112188.23081893545,
-    112212.63349016097,
-    112237.03748815943,
-    112261.44281278658,
-    112285.84946389822,
-    112310.25744135017,
-    112334.66674499828,
-    112359.07737469849,
-    112383.48933030672,
-    112407.90261167898,
-    112432.31721867126,
-    112456.73315113965,
-    112481.15040894024,
-    112505.56899192919,
-    112529.98889996267,
-    112554.41013289688,
-    112578.8326905881,
-    112603.25657289263,
-    112627.68177966679,
-    112652.10831076698,
-    112676.53616604958,
-    112700.96534537108,
-    112725.39584858794,
-    112749.82767555672,
-    112774.26082613398,
-    112798.6953001763,
-    112823.13109754038,
-    112847.56821808286,
-    112872.00666166049,
-    112896.44642813003,
-    112920.88751734827,
-    112945.32992917208,
-    112969.77366345831,
-    112994.21872006389,
-    113018.66509884578,
-    113043.11279966099,
-    113067.56182236652,
-    113092.01216681948,
-    113116.46383287695,
-    113140.9168203961,
-    113165.37112923413,
-    113189.82675924824,
-    113214.28371029573,
-    113238.74198223387,
-    113263.20157492002,
-    113287.66248821157,
-    113312.12472196593,
-    113336.58827604055,
-    113361.05315029295,
-    113385.51934458067,
-    113409.98685876124,
-    113434.45569269233,
-    113458.92584623155,
-    113483.39731923661,
-    113507.87011156522,
-    113532.34422307517,
-    113556.81965362425,
-    113581.2964030703,
-    113605.77447127122,
-    113630.25385808491,
-    113654.73456336933,
-    113679.2165869825,
-    113703.69992878241,
-    113728.18458862718,
-    113752.67056637487,
-    113777.15786188368,
-    113801.64647501177,
-    113826.13640561736,
-    113850.62765355874,
-    113875.12021869418,
-    113899.61410088204,
-    113924.1092999807,
-    113948.60581584855,
-    113973.10364834407,
-    113997.60279732574,
-    114022.1032626521,
-    114046.60504418171,
-    114071.10814177318,
-    114095.61255528514,
-    114120.11828457628,
-    114144.62532950533,
-    114169.13368993104,
-    114193.6433657122,
-    114218.15435670764,
-    114242.66666277625,
-    114267.18028377694,
-    114291.69521956862,
-    114316.21147001031,
-    114340.72903496103,
-    114365.24791427983,
-    114389.7681078258,
-    114414.2896154581,
-    114438.81243703589,
-    114463.33657241837,
-    114487.8620214648,
-    114512.38878403447,
-    114536.91685998671,
-    114561.44624918087,
-    114585.97695147636,
-    114610.5089667326,
-    114635.04229480909,
-    114659.57693556532,
-    114684.11288886084,
-    114708.65015455526,
-    114733.18873250818,
-    114757.72862257928,
-    114782.26982462825,
-    114806.81233851484,
-    114831.35616409882,
-    114855.90130123998,
-    114880.44774979822,
-    114904.99550963337,
-    114929.5445806054,
-    114954.09496257425,
-    114978.64665539992,
-    115003.19965894247,
-    115027.75397306195,
-    115052.30959761847,
-    115076.86653247218,
-    115101.42477748329,
-    115125.984332512,
-    115150.54519741859,
-    115175.10737206334,
-    115199.67085630659,
-    115224.23565000873,
-    115248.80175303014,
-    115273.3691652313,
-    115297.93788647266,
-    115322.50791661476,
-    115347.07925551817,
-    115371.65190304347,
-    115396.22585905129,
-    115420.80112340231,
-    115445.37769595724,
-    115469.95557657682,
-    115494.53476512182,
-    115519.11526145306,
-    115543.69706543141,
-    115568.28017691776,
-    115592.86459577303,
-    115617.4503218582,
-    115642.03735503425,
-    115666.62569516223,
-    115691.21534210323,
-    115715.80629571836,
-    115740.39855586876,
-    115764.99212241563,
-    115789.58699522018,
-    115814.18317414368,
-    115838.78065904744,
-    115863.37944979276,
-    115887.97954624105,
-    115912.5809482537,
-    115937.18365569216,
-    115961.78766841792,
-    115986.39298629249,
-    116010.99960917742,
-    116035.60753693432,
-    116060.21676942479,
-    116084.82730651053,
-    116109.43914805322,
-    116134.0522939146,
-    116158.66674395646,
-    116183.2824980406,
-    116207.89955602887,
-    116232.51791778316,
-    116257.13758316539,
-    116281.75855203751,
-    116306.38082426153,
-    116331.00439969949,
-    116355.62927821343,
-    116380.25545966547,
-    116404.88294391775,
-    116429.51173083246,
-    116454.14182027178,
-    116478.77321209799,
-    116503.40590617337,
-    116528.03990236025,
-    116552.67520052097,
-    116577.31180051794,
-    116601.94970221359,
-    116626.5889054704,
-    116651.22941015086,
-    116675.87121611751,
-    116700.51432323294,
-    116725.15873135976,
-    116749.8044403606,
-    116774.45145009817,
-    116799.0997604352,
-    116823.74937123443,
-    116848.40028235866,
-    116873.05249367072,
-    116897.70600503348,
-    116922.36081630984,
-    116947.01692736275,
-    116971.67433805518,
-    116996.33304825013,
-    117020.99305781067,
-    117045.65436659988,
-    117070.31697448085,
-    117094.98088131678,
-    117119.64608697082,
-    117144.31259130624,
-    117168.98039418629,
-    117193.64949547425,
-    117218.31989503348,
-    117242.99159272734,
-    117267.66458841923,
-    117292.33888197262,
-    117317.01447325097,
-    117341.6913621178,
-    117366.36954843666,
-    117391.04903207115,
-    117415.72981288488,
-    117440.41189074152,
-    117465.09526550474,
-    117489.77993703831,
-    117514.46590520597,
-    117539.15316987153,
-    117563.84173089883,
-    117588.53158815173,
-    117613.22274149416,
-    117637.91519079007,
-    117662.60893590341,
-    117687.30397669821,
-    117712.00031303853,
-    117736.69794478847,
-    117761.39687181212,
-    117786.09709397367,
-    117810.7986111373,
-    117835.50142316725,
-    117860.20552992777,
-    117884.91093128319,
-    117909.6176270978,
-    117934.32561723603,
-    117959.03490156225,
-    117983.74547994092,
-    118008.45735223651,
-    118033.17051831353,
-    118057.88497803656,
-    118082.60073127014,
-    118107.31777787894,
-    118132.03611772758,
-    118156.75575068076,
-    118181.47667660323,
-    118206.19889535972,
-    118230.92240681504,
-    118255.64721083404,
-    118280.37330728157,
-    118305.10069602253,
-    118329.82937692189,
-    118354.55934984458,
-    118379.29061465565,
-    118404.02317122012,
-    118428.75701940308,
-    118453.49215906965,
-    118478.22859008498,
-    118502.96631231424,
-    118527.70532562268,
-    118552.44562987552,
-    118577.18722493808,
-    118601.93011067568,
-    118626.67428695368,
-    118651.41975363747,
-    118676.16651059251,
-    118700.91455768423,
-    118725.66389477813,
-    118750.41452173979,
-    118775.16643843475,
-    118799.91964472862,
-    118824.67414048707,
-    118849.42992557574,
-    118874.18699986035,
-    118898.94536320666,
-    118923.70501548045,
-    118948.46595654752,
-    118973.22818627374,
-    118997.99170452499,
-    119022.7565111672,
-    119047.52260606633,
-    119072.28998908834,
-    119097.0586600993,
-    119121.82861896523,
-    119146.59986555226,
-    119171.3723997265,
-    119196.14622135412,
-    119220.92133030134,
-    119245.69772643436,
-    119270.47540961947,
-    119295.25437972297,
-    119320.03463661121,
-    119344.81618015055,
-    119369.5990102074,
-    119394.38312664822,
-    119419.16852933947,
-    119443.95521814766,
-    119468.74319293935,
-    119493.53245358112,
-    119518.32299993958,
-    119543.11483188139,
-    119567.90794927324,
-    119592.70235198183,
-    119617.49803987393,
-    119642.29501281632,
-    119667.09327067583,
-    119691.89281331931,
-    119716.69364061367,
-    119741.49575242582,
-    119766.29914862274,
-    119791.10382907141,
-    119815.90979363887,
-    119840.71704219218,
-    119865.52557459843,
-    119890.33539072477,
-    119915.14649043836,
-    119939.95887360642,
-    119964.77254009615,
-    119989.58748977486,
-    120014.40372250983,
-    120039.22123816841,
-    120064.04003661797,
-    120088.86011772591,
-    120113.6814813597,
-    120138.5041273868,
-    120163.3280556747,
-    120188.15326609099,
-    120212.97975850321,
-    120237.807532779,
-    120262.63658878599,
-    120287.46692639188,
-    120312.29854546436,
-    120337.13144587121,
-    120361.9656274802,
-    120386.80109015915,
-    120411.63783377589,
-    120436.47585819835,
-    120461.31516329442,
-    120486.15574893207,
-    120510.99761497928,
-    120535.84076130406,
-    120560.68518777451,
-    120585.53089425867,
-    120610.3778806247,
-    120635.22614674074,
-    120660.07569247499,
-    120684.92651769568,
-    120709.77862227106,
-    120734.63200606944,
-    120759.48666895913,
-    120784.3426108085,
-    120809.19983148595,
-    120834.05833085992,
-    120858.91810879884,
-    120883.77916517125,
-    120908.64149984565,
-    120933.5051126906,
-    120958.37000357473,
-    120983.23617236665,
-    121008.10361893504,
-    121032.97234314861,
-    121057.84234487606,
-    121082.71362398617,
-    121107.58618034775,
-    121132.46001382964,
-    121157.33512430069,
-    121182.21151162982,
-    121207.08917568595,
-    121231.96811633807,
-    121256.84833345517,
-    121281.72982690629,
-    121306.61259656049,
-    121331.49664228689,
-    121356.38196395461,
-    121381.26856143285,
-    121406.15643459078,
-    121431.04558329767,
-    121455.93600742276,
-    121480.82770683538,
-    121505.72068140487,
-    121530.61493100057,
-    121555.51045549192,
-    121580.40725474835,
-    121605.30532863933,
-    121630.20467703436,
-    121655.10529980299,
-    121680.00719681478,
-    121704.91036793934,
-    121729.81481304632,
-    121754.72053200539,
-    121779.62752468624,
-    121804.53579095862,
-    121829.44533069231,
-    121854.3561437571,
-    121879.26823002285,
-    121904.1815893594,
-    121929.09622163669,
-    121954.01212672464,
-    121978.92930449323,
-    122003.84775481246,
-    122028.76747755238,
-    122053.68847258303,
-    122078.61073977455,
-    122103.53427899707,
-    122128.45909012076,
-    122153.38517301581,
-    122178.31252755247,
-    122203.24115360099,
-    122228.17105103172,
-    122253.10221971494,
-    122278.03465952107,
-    122302.96837032049,
-    122327.90335198362,
-    122352.83960438096,
-    122377.777127383,
-    122402.71592086025,
-    122427.65598468333,
-    122452.59731872278,
-    122477.53992284928,
-    122502.48379693348,
-    122527.42894084606,
-    122552.37535445779,
-    122577.32303763942,
-    122602.27199026172,
-    122627.22221219557,
-    122652.17370331181,
-    122677.12646348133,
-    122702.08049257506,
-    122727.03579046397,
-    122751.99235701906,
-    122776.95019211136,
-    122801.9092956119,
-    122826.8696673918,
-    122851.83130732219,
-    122876.79421527422,
-    122901.75839111909,
-    122926.72383472799,
-    122951.69054597223,
-    122976.65852472307,
-    123001.62777085182,
-    123026.59828422987,
-    123051.57006472857,
-    123076.54311221937,
-    123101.5174265737,
-    123126.49300766307,
-    123151.46985535898,
-    123176.44796953299,
-    123201.42735005668,
-    123226.40799680166,
-    123251.38990963959,
-    123276.37308844214,
-    123301.35753308103,
-    123326.343243428,
-    123351.33021935483,
-    123376.31846073334,
-    123401.30796743535,
-    123426.29873933276,
-    123451.29077629748,
-    123476.28407820144,
-    123501.2786449166,
-    123526.27447631498,
-    123551.27157226863,
-    123576.26993264959,
-    123601.26955732999,
-    123626.27044618195,
-    123651.27259907764,
-    123676.27601588926,
-    123701.28069648903,
-    123726.28664074924,
-    123751.29384854218,
-    123776.30231974016,
-    123801.31205421555,
-    123826.32305184075,
-    123851.33531248817,
-    123876.34883603029,
-    123901.36362233957,
-    123926.37967128855,
-    123951.39698274979,
-    123976.41555659588,
-    124001.43539269941,
-    124026.45649093305,
-    124051.47885116948,
-    124076.50247328142,
-    124101.5273571416,
-    124126.55350262282,
-    124151.58090959788,
-    124176.60957793961,
-    124201.63950752091,
-    124226.67069821467,
-    124251.70314989384,
-    124276.73686243138,
-    124301.7718357003,
-    124326.80806957364,
-    124351.84556392446,
-    124376.88431862585,
-    124401.92433355095,
-    124426.96560857294,
-    124452.00814356498,
-    124477.05193840031,
-    124502.0969929522,
-    124527.14330709392,
-    124552.19088069882,
-    124577.23971364023,
-    124602.28980579154,
-    124627.34115702618,
-    124652.3937672176,
-    124677.44763623926,
-    124702.50276396469,
-    124727.55915026742,
-    124752.61679502104,
-    124777.67569809916,
-    124802.73585937542,
-    124827.79727872348,
-    124852.85995601704,
-    124877.92389112986,
-    124902.98908393568,
-    124928.05553430831,
-    124953.1232421216,
-    124978.19220724938,
-    125003.26242956554,
-    125028.33390894404,
-    125053.40664525882,
-    125078.48063838384,
-    125103.55588819318,
-    125128.63239456083,
-    125153.71015736091,
-    125178.78917646752,
-    125203.86945175481,
-    125228.95098309696,
-    125254.03377036817,
-    125279.1178134427,
-    125304.20311219479,
-    125329.28966649878,
-    125354.37747622898,
-    125379.46654125977,
-    125404.55686146552,
-    125429.6484367207,
-    125454.74126689974,
-    125479.83535187715,
-    125504.93069152744,
-    125530.02728572517,
-    125555.12513434493,
-    125580.22423726133,
-    125605.32459434902,
-    125630.4262054827,
-    125655.52907053704,
-    125680.63318938682,
-    125705.73856190679,
-    125730.84518797178,
-    125755.9530674566,
-    125781.06220023613,
-    125806.17258618528,
-    125831.28422517896,
-    125856.39711709213,
-    125881.51126179981,
-    125906.62665917698,
-    125931.74330909875,
-    125956.86121144016,
-    125981.98036607634,
-    126007.10077288245,
-    126032.22243173365,
-    126057.34534250517,
-    126082.46950507225,
-    126107.59491931014,
-    126132.72158509417,
-    126157.84950229966,
-    126182.97867080198,
-    126208.10909047653,
-    126233.24076119871,
-    126258.37368284403,
-    126283.50785528794,
-    126308.64327840599,
-    126333.77995207369,
-    126358.91787616667,
-    126384.0570505605,
-    126409.19747513086,
-    126434.3391497534,
-    126459.48207430386,
-    126484.62624865794,
-    126509.77167269142,
-    126534.9183462801,
-    126560.06626929982,
-    126585.21544162642,
-    126610.36586313581,
-    126635.51753370393,
-    126660.67045320668,
-    126685.82462152008,
-    126710.98003852014,
-    126736.13670408291,
-    126761.29461808444,
-    126786.45378040087,
-    126811.61419090834,
-    126836.77584948298,
-    126861.93875600102,
-    126887.10291033868,
-    126912.26831237224,
-    126937.43496197795,
-    126962.60285903217,
-    126987.77200341123,
-    127012.94239499152,
-    127038.11403364947,
-    127063.2869192615,
-    127088.46105170409,
-    127113.63643085376,
-    127138.81305658702,
-    127163.99092878048,
-    127189.17004731069,
-    127214.35041205429,
-    127239.53202288797,
-    127264.71487968838,
-    127289.89898233226,
-    127315.08433069635,
-    127340.27092465744,
-    127365.45876409234,
-    127390.64784887788,
-    127415.83817889093,
-    127441.02975400841,
-    127466.22257410725,
-    127491.41663906439,
-    127516.61194875685,
-    127541.80850306165,
-    127567.00630185583,
-    127592.20534501647,
-    127617.4056324207,
-    127642.60716394568,
-    127667.80993946856,
-    127693.01395886653,
-    127718.21922201688,
-    127743.42572879682,
-    127768.63347908368,
-    127793.84247275478,
-    127819.05270968749,
-    127844.26418975917,
-    127869.47691284724,
-    127894.69087882918,
-    127919.90608758242,
-    127945.12253898452,
-    127970.34023291297,
-    127995.55916924537,
-    128020.77934785932,
-    128046.00076863244,
-    128071.22343144237,
-    128096.44733616684,
-    128121.67248268353,
-    128146.89887087021,
-    128172.12650060465,
-    128197.35537176467,
-    128222.5854842281,
-    128247.81683787282,
-    128273.04943257671,
-    128298.28326821771,
-    128323.51834467379,
-    128348.75466182294,
-    128373.99221954317,
-    128399.23101771252,
-    128424.47105620909,
-    128449.71233491098,
-    128474.95485369631,
-    128500.19861244329,
-    128525.44361103009,
-    128550.68984933494,
-    128575.93732723613,
-    128601.18604461191,
-    128626.43600134061,
-    128651.68719730059,
-    128676.93963237021,
-    128702.1933064279,
-    128727.44821935208,
-    128752.70437102125,
-    128777.96176131385,
-    128803.22039010846,
-    128828.48025728362,
-    128853.74136271792,
-    128879.00370628996,
-    128904.26728787841,
-    128929.53210736193,
-    128954.79816461923,
-    128980.06545952905,
-    129005.33399197015,
-    129030.60376182134,
-    129055.87476896142,
-    129081.14701326926,
-    129106.42049462376,
-    129131.6952129038,
-    129156.97116798835,
-    129182.24835975636,
-    129207.52678808685,
-    129232.80645285884,
-    129258.08735395141,
-    129283.36949124365,
-    129308.65286461466,
-    129333.9374739436,
-    129359.22331910966,
-    129384.51039999202,
-    129409.79871646997,
-    129435.08826842274,
-    129460.37905572963,
-    129485.67107826998,
-    129510.96433592314,
-    129536.25882856851,
-    129561.55455608548,
-    129586.85151835352,
-    129612.14971525209,
-    129637.4491466607,
-    129662.74981245887,
-    129688.0517125262,
-    129713.35484674224,
-    129738.65921498663,
-    129763.96481713903,
-    129789.27165307909,
-    129814.57972268655,
-    129839.88902584116,
-    129865.19956242264,
-    129890.51133231082,
-    129915.82433538554,
-    129941.13857152662,
-    129966.45404061397,
-    129991.7707425275,
-    130017.08867714716,
-    130042.4078443529,
-    130067.72824402474,
-    130093.04987604271,
-    130118.37274028687,
-    130143.69683663732,
-    130169.02216497416,
-    130194.34872517755,
-    130219.67651712766,
-    130245.0055407047,
-    130270.33579578891,
-    130295.66728226055,
-    130320.99999999991,
-    130346.33394888733,
-    130371.66912880314,
-    130397.00553962773,
-    130422.34318124152,
-    130447.68205352494,
-    130473.02215635845,
-    130498.36348962256,
-    130523.70605319779,
-    130549.0498469647,
-    130574.39487080388,
-    130599.74112459592,
-    130625.08860822149,
-    130650.43732156123,
-    130675.78726449587,
-    130701.13843690613,
-    130726.49083867275,
-    130751.84446967654,
-    130777.19932979831,
-    130802.5554189189,
-    130827.91273691918,
-    130853.27128368006,
-    130878.63105908247,
-    130903.99206300738,
-    130929.35429533575,
-    130954.71775594862,
-    130980.08244472703,
-    131005.44836155206,
-    131030.81550630482,
-    131056.18387886642,
-    131081.55347911804,
-    131106.92430694087,
-    131132.29636221612,
-    131157.66964482504,
-    131183.0441546489,
-    131208.41989156904,
-    131233.79685546676,
-    131259.17504622342,
-    131284.55446372041,
-    131309.93510783918,
-    131335.31697846117,
-    131360.70007546784,
-    131386.0843987407,
-    131411.46994816128,
-    131436.85672361116,
-    131462.24472497194,
-    131487.63395212521,
-    131513.02440495262,
-    131538.41608333588,
-    131563.80898715663,
-    131589.2031162967,
-    131614.59847063778,
-    131639.9950500617,
-    131665.39285445024,
-    131690.79188368531,
-    131716.19213764873,
-    131741.59361622241,
-    131766.99631928833,
-    131792.40024672839,
-    131817.80539842462,
-    131843.21177425905,
-    131868.61937411371,
-    131894.02819787065,
-    131919.43824541202,
-    131944.84951661993,
-    131970.26201137656,
-    131995.67572956407,
-    132021.09067106468,
-    132046.50683576067,
-    132071.9242235343,
-    132097.34283426782,
-    132122.76266784366,
-    132148.1837241441,
-    132173.60600305157,
-    132199.02950444847,
-    132224.45422821722,
-    132249.88017424036,
-    132275.30734240031,
-    132300.73573257966,
-    132326.16534466096,
-    132351.59617852676,
-    132377.02823405969,
-    132402.46151114244,
-    132427.89600965759,
-    132453.33172948789,
-    132478.76867051609,
-    132504.20683262491,
-    132529.64621569714,
-    132555.08681961559,
-    132580.5286442631,
-    132605.97168952253,
-    132631.41595527678,
-    132656.86144140881,
-    132682.30814780149,
-    132707.75607433787,
-    132733.20522090094,
-    132758.65558737374,
-    132784.10717363929,
-    132809.55997958075,
-    132835.01400508118,
-    132860.46925002377,
-    132885.92571429166,
-    132911.38339776811,
-    132936.84230033628,
-    132962.30242187946,
-    132987.76376228096,
-    133013.22632142407,
-    133038.69009919214,
-    133064.15509546854,
-    133089.62131013666,
-    133115.08874307995,
-    133140.55739418184,
-    133166.02726332581,
-    133191.49835039541,
-    133216.97065527414,
-    133242.44417784561,
-    133267.91891799335,
-    133293.39487560102,
-    133318.87205055228,
-    133344.35044273079,
-    133369.83005202023,
-    133395.31087830439,
-    133420.79292146701,
-    133446.27618139185,
-    133471.76065796276,
-    133497.24635106357,
-    133522.73326057816,
-    133548.22138639039,
-    133573.71072838426,
-    133599.20128644365,
-    133624.69306045261,
-    133650.1860502951,
-    133675.68025585517,
-    133701.1756770169,
-    133726.67231366437,
-    133752.17016568172,
-    133777.66923295305,
-    133803.16951536259,
-    133828.67101279454,
-    133854.17372513309,
-    133879.67765226253,
-    133905.18279406714,
-    133930.68915043125,
-    133956.19672123916,
-    133981.70550637526,
-    134007.21550572399,
-    134032.7267191697,
-    134058.23914659687,
-    134083.75278789,
-    134109.26764293358,
-    134134.78371161217,
-    134160.30099381026,
-    134185.8194894125,
-    134211.33919830353,
-    134236.8601203679,
-    134262.38225549037,
-    134287.90560355558,
-    134313.43016444831,
-    134338.95593805326,
-    134364.48292425525,
-    134390.01112293909,
-    134415.54053398955,
-    134441.07115729159,
-    134466.60299273001,
-    134492.1360401898,
-    134517.67029955584,
-    134543.20577071316,
-    134568.74245354676,
-    134594.28034794159,
-    134619.81945378278,
-    134645.35977095537,
-    134670.90129934452,
-    134696.4440388353,
-    134721.98798931291,
-    134747.53315066252,
-    134773.07952276937,
-    134798.62710551871,
-    134824.17589879577,
-    134849.72590248589,
-    134875.27711647438,
-    134900.82954064661,
-    134926.38317488792,
-    134951.93801908373,
-    134977.49407311951,
-    135003.05133688069,
-    135028.60981025276,
-    135054.16949312127,
-    135079.73038537172,
-    135105.29248688967,
-    135130.85579756077,
-    135156.42031727062,
-    135181.98604590484,
-    135207.55298334916,
-    135233.12112948924,
-    135258.69048421088,
-    135284.26104739975,
-    135309.83281894168,
-    135335.4057987225,
-    135360.97998662802,
-    135386.55538254412,
-    135412.13198635669,
-    135437.70979795168,
-    135463.28881721498,
-    135488.86904403262,
-    135514.45047829056,
-    135540.03311987486,
-    135565.61696867159,
-    135591.20202456677,
-    135616.78828744654,
-    135642.37575719706,
-    135667.96443370447,
-    135693.55431685498,
-    135719.14540653475,
-    135744.73770263011,
-    135770.33120502727,
-    135795.92591361253,
-    135821.52182827223,
-    135847.11894889272,
-    135872.7172753604,
-    135898.31680756161,
-    135923.91754538284,
-    135949.51948871053,
-    135975.12263743114,
-    136000.72699143123,
-    136026.33255059729,
-    136051.93931481591,
-    136077.54728397369,
-    136103.15645795723,
-    136128.76683665317,
-    136154.37841994822,
-    136179.99120772901,
-    136205.60519988232,
-    136231.2203962949,
-    136256.83679685349,
-    136282.45440144493,
-    136308.07320995603,
-    136333.69322227367,
-    136359.31443828469,
-    136384.93685787608,
-    136410.56048093468,
-    136436.18530734754,
-    136461.81133700156,
-    136487.43856978384,
-    136513.06700558143,
-    136538.6966442813,
-    136564.32748577066,
-    136589.95952993655,
-    136615.59277666616,
-    136641.22722584667,
-    136666.86287736523,
-    136692.49973110916,
-    136718.13778696564,
-    136743.77704482197,
-    136769.41750456547,
-    136795.05916608346,
-    136820.70202926331,
-    136846.34609399244,
-    136871.99136015819,
-    136897.63782764805,
-    136923.28549634948,
-    136948.93436614997,
-    136974.58443693706,
-    137000.23570859825,
-    137025.88818102115,
-    137051.54185409332,
-    137077.19672770242,
-    137102.85280173609,
-    137128.51007608202,
-    137154.16855062786,
-    137179.82822526142,
-    137205.48909987041,
-    137231.15117434258,
-    137256.8144485658,
-    137282.47892242789,
-    137308.14459581667,
-    137333.81146862009,
-    137359.47954072602,
-    137385.14881202241,
-    137410.81928239719,
-    137436.49095173844,
-    137462.16381993407,
-    137487.83788687221,
-    137513.51315244089,
-    137539.18961652822,
-    137564.86727902229,
-    137590.54613981131,
-    137616.22619878338,
-    137641.90745582676,
-    137667.58991082967,
-    137693.27356368033,
-    137718.95841426702,
-    137744.64446247809,
-    137770.33170820182,
-    137796.02015132661,
-    137821.70979174081,
-    137847.40062933284,
-    137873.09266399115,
-    137898.78589560417,
-    137924.48032406042,
-    137950.17594924837,
-    137975.8727710566,
-    138001.57078937365,
-    138027.27000408815,
-    138052.97041508864,
-    138078.67202226384,
-    138104.3748255024,
-    138130.07882469296,
-    138155.78401972432,
-    138181.49041048516,
-    138207.1979968643,
-    138232.9067787505,
-    138258.61675603263,
-    138284.32792859949,
-    138310.04029633995,
-    138335.75385914298,
-    138361.46861689744,
-    138387.18456949232,
-    138412.90171681659,
-    138438.62005875923,
-    138464.33959520931,
-    138490.06032605586,
-    138515.78225118798,
-    138541.50537049473,
-    138567.2296838653,
-    138592.95519118884,
-    138618.68189235451,
-    138644.40978725153,
-    138670.13887576913,
-    138695.86915779658,
-    138721.60063322316,
-    138747.33330193823,
-    138773.06716383106,
-    138798.80221879104,
-    138824.53846670757,
-    138850.27590747006,
-    138876.01454096794,
-    138901.7543670907,
-    138927.49538572782,
-    138953.2375967688,
-    138978.9810001032,
-    139004.72559562061,
-    139030.47138321059,
-    139056.2183627628,
-    139081.96653416683,
-    139107.71589731239,
-    139133.46645208917,
-    139159.21819838689,
-    139184.97113609532,
-    139210.72526510421,
-    139236.48058530336,
-    139262.23709658257,
-    139287.99479883176,
-    139313.75369194071,
-    139339.51377579942,
-    139365.27505029776,
-    139391.03751532568,
-    139416.80117077316,
-    139442.56601653024,
-    139468.33205248689,
-    139494.09927853322,
-    139519.86769455927,
-    139545.63730045516,
-    139571.408096111,
-    139597.18008141697,
-    139622.95325626322,
-    139648.72762054001,
-    139674.5031741375,
-    139700.27991694602,
-    139726.05784885579,
-    139751.83696975713,
-    139777.61727954043,
-    139803.39877809596,
-    139829.18146531415,
-    139854.96534108539,
-    139880.75040530015,
-    139906.53665784886,
-    139932.32409862199,
-    139958.11272751007,
-    139983.90254440365,
-    140009.69354919327,
-    140035.48574176949,
-    140061.27912202294,
-    140087.07368984428,
-    140112.86944512415,
-    140138.66638775321,
-    140164.4645176222,
-    140190.26383462184,
-    140216.06433864293,
-    140241.86602957622,
-    140267.66890731253,
-    140293.47297174268,
-    140319.27822275754,
-    140345.08466024802,
-    140370.89228410498,
-    140396.70109421943,
-    140422.51109048226,
-    140448.32227278448,
-    140474.13464101712,
-    140499.94819507122,
-    140525.76293483781,
-    140551.57886020801,
-    140577.3959710729,
-    140603.21426732364,
-    140629.03374885136,
-    140654.85441554731,
-    140680.67626730262,
-    140706.49930400858,
-    140732.32352555645,
-    140758.1489318375,
-    140783.97552274304,
-    140809.80329816442,
-    140835.63225799298,
-    140861.46240212015,
-    140887.29373043729,
-    140913.12624283586,
-    140938.95993920733,
-    140964.79481944317,
-    140990.63088343487,
-    141016.46813107401,
-    141042.30656225214,
-    141068.14617686081,
-    141093.98697479168,
-    141119.82895593636,
-    141145.6721201865,
-    141171.51646743377,
-    141197.36199756994,
-    141223.20871048668,
-    141249.05660607578,
-    141274.90568422904,
-    141300.75594483822,
-    141326.6073877952,
-    141352.4600129918,
-    141378.31382031992,
-    141404.16880967148,
-    141430.02498093838,
-    141455.8823340126,
-    141481.74086878612,
-    141507.60058515094,
-    141533.46148299909,
-    141559.32356222265,
-    141585.18682271364,
-    141611.05126436421,
-    141636.9168870665,
-    141662.78369071262,
-    141688.65167519479,
-    141714.5208404052,
-    141740.39118623605,
-    141766.26271257963,
-    141792.1354193282,
-    141818.00930637406,
-    141843.88437360956,
-    141869.760620927,
-    141895.6380482188,
-    141921.51665537735,
-    141947.39644229505,
-    141973.27740886438,
-    141999.15955497778,
-    142025.04288052776,
-    142050.92738540689,
-    142076.81306950765,
-    142102.69993272264,
-    142128.58797494444,
-    142154.47719606571,
-    142180.36759597904,
-    142206.25917457714,
-    142232.15193175265,
-    142258.04586739838,
-    142283.94098140698,
-    142309.83727367126,
-    142335.73474408401,
-    142361.63339253806,
-    142387.5332189262,
-    142413.43422314132,
-    142439.33640507635,
-    142465.23976462413,
-    142491.14430167765,
-    142517.05001612983,
-    142542.95690787368,
-    142568.86497680223,
-    142594.77422280848,
-    142620.68464578551,
-    142646.5962456264,
-    142672.50902222423,
-    142698.42297547215,
-    142724.33810526333,
-    142750.25441149093,
-    142776.17189404817,
-    142802.09055282827,
-    142828.01038772447,
-    142853.93139863008,
-    142879.85358543837,
-    142905.77694804268,
-    142931.70148633636,
-    142957.62720021277,
-    142983.55408956532,
-    143009.48215428743,
-    143035.41139427255,
-    143061.34180941415,
-    143087.27339960571,
-    143113.20616474075,
-    143139.14010471283,
-    143165.07521941551,
-    143191.01150874238,
-    143216.94897258704,
-    143242.88761084314,
-    143268.82742340435,
-    143294.76841016437,
-    143320.71057101688,
-    143346.65390585564,
-    143372.59841457437,
-    143398.54409706692,
-    143424.49095322701,
-    143450.43898294857,
-    143476.38818612538,
-    143502.33856265133,
-    143528.29011242036,
-    143554.24283532638,
-    143580.19673126334,
-    143606.1518001252,
-    143632.10804180597,
-    143658.06545619969,
-    143684.02404320039,
-    143709.98380270213,
-    143735.944734599,
-    143761.90683878519,
-    143787.87011515474,
-    143813.83456360188,
-    143839.8001840208,
-    143865.76697630569,
-    143891.73494035081,
-    143917.7040760504,
-    143943.67438329876,
-    143969.6458619902,
-    143995.61851201905,
-    144021.59233327967,
-    144047.56732566646,
-    144073.54348907378,
-    144099.52082339607,
-    144125.49932852783,
-    144151.4790043635,
-    144177.45985079758,
-    144203.44186772458,
-    144229.42505503909,
-    144255.40941263564,
-    144281.39494040885,
-    144307.38163825331,
-    144333.36950606373,
-    144359.35854373468,
-    144385.34875116093,
-    144411.34012823718,
-    144437.33267485813,
-    144463.32639091855,
-    144489.32127631325,
-    144515.31733093705,
-    144541.31455468474,
-    144567.3129474512,
-    144593.3125091313,
-    144619.31323961995,
-    144645.31513881206,
-    144671.31820660262,
-    144697.32244288657,
-    144723.32784755889,
-    144749.33442051467,
-    144775.34216164888,
-    144801.35107085665,
-    144827.36114803303,
-    144853.37239307314,
-    144879.38480587213,
-    144905.39838632516,
-    144931.41313432742,
-    144957.4290497741,
-    144983.44613256046,
-    145009.46438258173,
-    145035.48379973322,
-    145061.50438391021,
-    145087.52613500805,
-    145113.54905292206,
-    145139.57313754765,
-    145165.59838878017,
-    145191.62480651509,
-    145217.65239064783,
-    145243.68114107384,
-    145269.71105768863,
-    145295.74214038774,
-    145321.77438906668,
-    145347.80780362099,
-    145373.84238394629,
-    145399.87812993818,
-    145425.91504149229,
-    145451.95311850426,
-    145477.9923608698,
-    145504.03276848458,
-    145530.07434124436,
-    145556.11707904484,
-    145582.16098178181,
-    145608.20604935108,
-    145634.25228164849,
-    145660.29967856981,
-    145686.34824001096,
-    145712.39796586783,
-    145738.4488560363,
-    145764.50091041232,
-    145790.55412889185,
-    145816.60851137087,
-    145842.66405774537,
-    145868.72076791141,
-    145894.77864176501,
-    145920.83767920226,
-    145946.89788011924,
-    145972.95924441208,
-    145999.02177197693,
-    146025.08546270995,
-    146051.15031650732,
-    146077.21633326527,
-    146103.28351288004,
-    146129.35185524789,
-    146155.42136026506,
-    146181.49202782792,
-    146207.56385783272,
-    146233.63685017588,
-    146259.71100475377,
-    146285.78632146274,
-    146311.86280019928,
-    146337.94044085976,
-    146364.01924334071,
-    146390.09920753856,
-    146416.18033334985,
-    146442.26262067116,
-    146468.34606939898,
-    146494.43067942993,
-    146520.51645066062,
-    146546.60338298764,
-    146572.69147630769,
-    146598.78073051744,
-    146624.87114551352,
-    146650.96272119274,
-    146677.05545745179,
-    146703.14935418745,
-    146729.2444112965,
-    146755.34062867577,
-    146781.43800622207,
-    146807.53654383228,
-    146833.63624140329,
-    146859.73709883197,
-    146885.83911601527,
-    146911.94229285014,
-    146938.04662923355,
-    146964.15212506248,
-    146990.25878023397,
-    147016.36659464505,
-    147042.47556819281,
-    147068.58570077427,
-    147094.6969922866,
-    147120.80944262692,
-    147146.92305169237,
-    147173.03781938017,
-    147199.15374558745,
-    147225.27083021149,
-    147251.38907314953,
-    147277.50847429881,
-    147303.62903355664,
-    147329.75075082036,
-    147355.87362598727,
-    147381.99765895473,
-    147408.12284962015,
-    147434.24919788091,
-    147460.37670363448,
-    147486.50536677826,
-    147512.63518720976,
-    147538.76616482646,
-    147564.89829952587,
-    147591.03159120557,
-    147617.16603976308,
-    147643.30164509601,
-    147669.43840710199,
-    147695.57632567859,
-    147721.71540072354,
-    147747.85563213445,
-    147773.99701980909,
-    147800.13956364512,
-    147826.28326354033,
-    147852.42811939248,
-    147878.57413109933,
-    147904.72129855872,
-    147930.86962166851,
-    147957.01910032652,
-    147983.16973443062,
-    148009.32152387875,
-    148035.47446856883,
-    148061.62856839882,
-    148087.78382326665,
-    148113.94023307035,
-    148140.09779770792,
-    148166.25651707739,
-    148192.41639107687,
-    148218.57741960438,
-    148244.73960255808,
-    148270.90293983606,
-    148297.0674313365,
-    148323.23307695755,
-    148349.39987659742,
-    148375.56783015432,
-    148401.73693752653,
-    148427.90719861226,
-    148454.07861330983,
-    148480.25118151752,
-    148506.42490313368,
-    148532.59977805667,
-    148558.77580618486,
-    148584.95298741665,
-    148611.13132165043,
-    148637.31080878471,
-    148663.49144871789,
-    148689.6732413485,
-    148715.85618657502,
-    148742.040284296,
-    148768.22553440998,
-    148794.41193681557,
-    148820.59949141133,
-    148846.78819809589,
-    148872.97805676793,
-    148899.16906732606,
-    148925.36122966901,
-    148951.55454369547,
-    148977.74900930419,
-    149003.9446263939,
-    149030.1413948634,
-    149056.33931461151,
-    149082.53838553699,
-    149108.73860753875,
-    149134.9399805156,
-    149161.14250436646,
-    149187.34617899026,
-    149213.5510042859,
-    149239.75698015234,
-    149265.96410648854,
-    149292.17238319354,
-    149318.38181016635,
-    149344.59238730598,
-    149370.80411451156,
-    149397.01699168212,
-    149423.23101871679,
-    149449.44619551473,
-    149475.66252197503,
-    149501.87999799693,
-    149528.0986234796,
-    149554.31839832227,
-    149580.53932242419,
-    149606.76139568459,
-    149632.98461800278,
-    149659.20898927809,
-    149685.43450940982,
-    149711.66117829733,
-    149737.88899584001,
-    149764.11796193724,
-    149790.34807648844,
-    149816.57933939309,
-    149842.81175055061,
-    149869.04530986046,
-    149895.28001722222,
-    149921.51587253538,
-    149947.75287569952,
-    149973.99102661415,
-    150000.23032517891,
-    150026.47077129342,
-    150052.71236485732,
-    150078.95510577026,
-    150105.1989939319,
-    150131.444029242,
-    150157.69021160025,
-    150183.93754090639,
-    150210.18601706024,
-    150236.43563996154,
-    150262.68640951012,
-    150288.93832560582,
-    150315.19138814852,
-    150341.44559703805,
-    150367.70095217437,
-    150393.95745345735,
-    150420.21510078697,
-    150446.47389406321,
-    150472.73383318601,
-    150498.99491805542,
-    150525.25714857146,
-    150551.52052463419,
-    150577.78504614369,
-    150604.05071300003,
-    150630.31752510337,
-    150656.58548235384,
-    150682.85458465159,
-    150709.1248318968,
-    150735.39622398972,
-    150761.66876083051,
-    150787.9424423195,
-    150814.21726835691,
-    150840.49323884305,
-    150866.77035367821,
-    150893.04861276277,
-    150919.32801599705,
-    150945.60856328148,
-    150971.89025451642,
-    150998.17308960229,
-    151024.45706843957,
-    151050.74219092872,
-    151077.02845697021,
-    151103.31586646455,
-    151129.60441931229,
-    151155.894115414,
-    151182.1849546702,
-    151208.47693698155,
-    151234.77006224863,
-    151261.06433037209,
-    151287.35974125259,
-    151313.65629479082,
-    151339.95399088747,
-    151366.25282944329,
-    151392.55281035902,
-    151418.85393353543,
-    151445.1561988733,
-    151471.45960627345,
-    151497.76415563675,
-    151524.06984686397,
-    151550.37667985607,
-    151576.68465451393,
-    151602.99377073845,
-    151629.30402843058,
-    151655.61542749128,
-    151681.92796782157,
-    151708.24164932242,
-    151734.55647189484,
-    151760.87243543993,
-    151787.18953985872,
-    151813.50778505235,
-    151839.82717092187,
-    151866.14769736846,
-    151892.46936429327,
-    151918.79217159748,
-    151945.11611918229,
-    151971.44120694889,
-    151997.76743479856,
-    152024.09480263255,
-    152050.42331035214,
-    152076.75295785864,
-    152103.08374505339,
-    152129.41567183775,
-    152155.74873811303,
-    152182.08294378067,
-    152208.41828874208,
-    152234.75477289871,
-    152261.09239615197,
-    152287.43115840337,
-    152313.77105955439,
-    152340.11209950657,
-    152366.45427816146,
-    152392.79759542056,
-    152419.14205118554,
-    152445.48764535793,
-    152471.8343778394,
-    152498.18224853161,
-    152524.53125733617,
-    152550.88140415482,
-    152577.23268888926,
-    152603.58511144121,
-    152629.93867171241,
-    152656.29336960468,
-    152682.64920501978,
-    152709.00617785956,
-    152735.36428802583,
-    152761.72353542043,
-    152788.08391994529,
-    152814.44544150229,
-    152840.80809999333,
-    152867.17189532038,
-    152893.53682738543,
-    152919.90289609041,
-    152946.27010133737,
-    152972.63844302832,
-    152999.00792106529,
-    153025.37853535041,
-    153051.7502857857,
-    153078.12317227334,
-    153104.4971947154,
-    153130.8723530141,
-    153157.24864707157,
-    153183.62607679001,
-    153210.00464207167,
-    153236.38434281875,
-    153262.76517893354,
-    153289.14715031831,
-    153315.53025687535,
-    153341.91449850702,
-    153368.2998751156,
-    153394.68638660354,
-    153421.07403287315,
-    153447.46281382689,
-    153473.85272936718,
-    153500.24377939643,
-    153526.63596381716,
-    153553.02928253182,
-    153579.42373544298,
-    153605.81932245308,
-    153632.21604346478,
-    153658.61389838057,
-    153685.0128871031,
-    153711.41300953497,
-    153737.81426557881,
-    153764.21665513728,
-    153790.62017811305,
-    153817.02483440886,
-    153843.43062392739,
-    153869.83754657139,
-    153896.24560224367,
-    153922.65479084692,
-    153949.06511228404,
-    153975.4765664578,
-    154001.88915327107,
-    154028.30287262669,
-    154054.71772442761,
-    154081.13370857667,
-    154107.55082497682,
-    154133.96907353101,
-    154160.38845414223,
-    154186.80896671346,
-    154213.23061114774,
-    154239.65338734805,
-    154266.07729521746,
-    154292.50233465908,
-    154318.92850557598,
-    154345.35580787127,
-    154371.7842414481,
-    154398.21380620965,
-    154424.64450205903,
-    154451.07632889951,
-    154477.50928663427,
-    154503.94337516659,
-    154530.37859439969,
-    154556.81494423689,
-    154583.25242458144,
-    154609.69103533673,
-    154636.13077640603,
-    154662.57164769279,
-    154689.01364910032,
-    154715.45678053208,
-    154741.90104189145,
-    154768.34643308193,
-    154794.79295400696,
-    154821.24060457002,
-    154847.68938467462,
-    154874.13929422433,
-    154900.59033312264,
-    154927.04250127316,
-    154953.49579857948,
-    154979.95022494521,
-    155006.40578027396,
-    155032.86246446942,
-    155059.32027743524,
-    155085.77921907514,
-    155112.2392892928,
-    155138.70048799197,
-    155165.16281507642,
-    155191.62627044989,
-    155218.09085401625,
-    155244.55656567923,
-    155271.02340534274,
-    155297.49137291059,
-    155323.96046828668,
-    155350.4306913749,
-    155376.90204207919,
-    155403.37452030348,
-    155429.84812595171,
-    155456.32285892789,
-    155482.79871913602,
-    155509.27570648011,
-    155535.75382086422,
-    155562.23306219239,
-    155588.71343036872,
-    155615.19492529731,
-    155641.67754688227,
-    155668.16129502779,
-    155694.64616963797,
-    155721.13217061706,
-    155747.61929786921,
-    155774.10755129869,
-    155800.59693080973,
-    155827.08743630661,
-    155853.57906769359,
-    155880.07182487496,
-    155906.56570775513,
-    155933.06071623837,
-    155959.55685022907,
-    155986.05410963166,
-    156012.5524943505,
-    156039.05200429002,
-    156065.55263935472,
-    156092.054399449,
-    156118.5572844774,
-    156145.06129434443,
-    156171.5664289546,
-    156198.07268821247,
-    156224.5800720226,
-    156251.08858028959,
-    156277.59821291809,
-    156304.10896981266,
-    156330.62085087801,
-    156357.1338560188,
-    156383.64798513969,
-    156410.16323814544,
-    156436.67961494075,
-    156463.1971154304,
-    156489.71573951913,
-    156516.23548711176,
-    156542.75635811311,
-    156569.27835242799,
-    156595.80146996127,
-    156622.32571061782,
-    156648.85107430254,
-    156675.37756092031,
-    156701.90517037612,
-    156728.43390257491,
-    156754.96375742162,
-    156781.49473482129,
-    156808.02683467892,
-    156834.5600568995,
-    156861.09440138817,
-    156887.62986804993,
-    156914.16645678994,
-    156940.70416751326,
-    156967.24300012505,
-    156993.78295453047,
-    157020.32403063469,
-    157046.8662283429,
-    157073.40954756032,
-    157099.9539881922,
-    157126.49955014378,
-    157153.04623332032,
-    157179.59403762716,
-    157206.14296296958,
-    157232.69300925292,
-    157259.24417638258,
-    157285.79646426387,
-    157312.34987280221,
-    157338.90440190304,
-    157365.46005147175,
-    157392.01682141385,
-    157418.57471163478,
-    157445.13372204005,
-    157471.69385253513,
-    157498.25510302564,
-    157524.81747341706,
-    157551.38096361503,
-    157577.9455735251,
-    157604.51130305286,
-    157631.07815210402,
-    157657.64612058419,
-    157684.21520839902,
-    157710.78541545427,
-    157737.35674165559,
-    157763.92918690876,
-    157790.50275111952,
-    157817.07743419363,
-    157843.65323603692,
-    157870.23015655516,
-    157896.80819565422,
-    157923.3873532399,
-    157949.96762921812,
-    157976.54902349479,
-    158003.13153597576,
-    158029.71516656701,
-    158056.29991517449,
-    158082.88578170416,
-    158109.47276606198,
-    158136.06086815402,
-    158162.65008788629,
-    158189.24042516484,
-    158215.83187989573,
-    158242.42445198505,
-    158269.01814133892,
-    158295.61294786347,
-    158322.20887146486,
-    158348.80591204923,
-    158375.4040695228,
-    158402.00334379176,
-    158428.60373476235,
-    158455.2052423408,
-    158481.80786643337,
-    158508.41160694641,
-    158535.01646378616,
-    158561.62243685898,
-    158588.2295260712,
-    158614.8377313292,
-    158641.44705253936,
-    158668.05748960807,
-    158694.66904244179,
-    158721.28171094693,
-    158747.89549502998,
-    158774.5103945974,
-    158801.12640955573,
-    158827.74353981143,
-    158854.36178527112,
-    158880.9811458413,
-    158907.60162142856,
-    158934.22321193956,
-    158960.84591728085,
-    158987.46973735912,
-    159014.09467208097,
-    159040.72072135314,
-    159067.3478850823,
-    159093.97616317519,
-    159120.60555553852,
-    159147.23606207906,
-    159173.8676827036,
-    159200.50041731889,
-    159227.13426583182,
-    159253.76922814918,
-    159280.40530417781,
-    159307.04249382461,
-    159333.68079699649,
-    159360.32021360032,
-    159386.96074354305,
-    159413.60238673165,
-    159440.24514307309,
-    159466.88901247433,
-    159493.53399484244,
-    159520.18009008438,
-    159546.82729810724,
-    159573.47561881805,
-    159600.12505212394,
-    159626.77559793202,
-    159653.42725614941,
-    159680.08002668325,
-    159706.73390944069,
-    159733.38890432892,
-    159760.04501125516,
-    159786.70223012666,
-    159813.36056085059,
-    159840.02000333427,
-    159866.68055748497,
-    159893.34222320997,
-    159920.00500041663,
-    159946.66888901225,
-    159973.33388890422,
-    159999.99999999988,
-    160026.66722220668,
-    160053.33555543202,
-    160080.0049995833,
-    160106.67555456801,
-    160133.3472202936,
-    160160.0199966676,
-    160186.6938835975,
-    160213.36888099083,
-    160240.04498875517,
-    160266.72220679806,
-    160293.40053502709,
-    160320.07997334987,
-    160346.76052167406,
-    160373.44217990729,
-    160400.1249479572,
-    160426.80882573154,
-    160453.49381313793,
-    160480.17991008417,
-    160506.86711647795,
-    160533.55543222709,
-    160560.24485723933,
-    160586.93539142248,
-    160613.62703468435,
-    160640.31978693281,
-    160667.01364807569,
-    160693.70861802087,
-    160720.40469667627,
-    160747.1018839498,
-    160773.80017974938,
-    160800.49958398298,
-    160827.20009655855,
-    160853.90171738411,
-    160880.60444636765,
-    160907.30828341722,
-    160934.01322844089,
-    160960.71928134665,
-    160987.42644204266,
-    161014.13471043704,
-    161040.84408643784,
-    161067.55456995327,
-    161094.26616089148,
-    161120.97885916062,
-    161147.69266466892,
-    161174.40757732463,
-    161201.12359703594,
-    161227.84072371112,
-    161254.55895725847,
-    161281.27829758628,
-    161307.99874460287,
-    161334.72029821656,
-    161361.44295833571,
-    161388.1667248687,
-    161414.89159772391,
-    161441.61757680977,
-    161468.34466203468,
-    161495.07285330712,
-    161521.80215053557,
-    161548.53255362847,
-    161575.26406249436,
-    161601.99667704175,
-    161628.7303971792,
-    161655.46522281526,
-    161682.20115385848,
-    161708.93819021754,
-    161735.67633180099,
-    161762.41557851751,
-    161789.15593027571,
-    161815.89738698432,
-    161842.63994855201,
-    161869.38361488748,
-    161896.1283858995,
-    161922.87426149679,
-    161949.62124158812,
-    161976.36932608229,
-    162003.1185148881,
-    162029.8688079144,
-    162056.62020507001,
-    162083.37270626382,
-    162110.12631140469,
-    162136.88102040152,
-    162163.63683316324,
-    162190.39374959879,
-    162217.15176961714,
-    162243.91089312723,
-    162270.67112003808,
-    162297.43245025873,
-    162324.19488369819,
-    162350.9584202655,
-    162377.72305986975,
-    162404.48880242003,
-    162431.25564782543,
-    162458.02359599507,
-    162484.79264683815,
-    162511.56280026378,
-    162538.33405618116,
-    162565.10641449949,
-    162591.87987512801,
-    162618.65443797593,
-    162645.43010295252,
-    162672.20686996708,
-    162698.98473892888,
-    162725.76370974723,
-    162752.54378233149,
-    162779.32495659095,
-    162806.10723243505,
-    162832.89060977317,
-    162859.67508851466,
-    162886.46066856899,
-    162913.24734984562,
-    162940.03513225398,
-    162966.82401570358,
-    162993.6140001039,
-    163020.40508536444,
-    163047.19727139481,
-    163073.99055810447,
-    163100.78494540305,
-    163127.58043320014,
-    163154.37702140535,
-    163181.17470992831,
-    163207.97349867865,
-    163234.77338756606,
-    163261.57437650024,
-    163288.37646539087,
-    163315.17965414765,
-    163341.98394268038,
-    163368.78933089875,
-    163395.59581871261,
-    163422.40340603172,
-    163449.2120927659,
-    163476.02187882498,
-    163502.83276411882,
-    163529.6447485573,
-    163556.45783205028,
-    163583.2720145077,
-    163610.08729583945,
-    163636.90367595552,
-    163663.72115476584,
-    163690.53973218042,
-    163717.35940810922,
-    163744.18018246227,
-    163771.00205514964,
-    163797.82502608138,
-    163824.64909516752,
-    163851.4742623182,
-    163878.3005274435,
-    163905.12789045356,
-    163931.95635125853,
-    163958.78590976857,
-    163985.61656589387,
-    164012.44831954464,
-    164039.28117063109,
-    164066.11511906344,
-    164092.95016475199,
-    164119.78630760699,
-    164146.62354753874,
-    164173.46188445756,
-    164200.30131827376,
-    164227.14184889771,
-    164253.98347623978,
-    164280.82620021031,
-    164307.67002071979,
-    164334.51493767856,
-    164361.3609509971,
-    164388.20806058586,
-    164415.05626635533,
-    164441.905568216,
-    164468.75596607837,
-    164495.607459853,
-    164522.4600494504,
-    164549.31373478117,
-    164576.16851575591,
-    164603.02439228518,
-    164629.88136427966,
-    164656.73943164994,
-    164683.59859430668,
-    164710.45885216061,
-    164737.32020512238,
-    164764.1826531027,
-    164791.04619601235,
-    164817.91083376206,
-    164844.77656626256,
-    164871.64339342469,
-    164898.51131515924,
-    164925.38033137703,
-    164952.25044198887,
-    164979.1216469057,
-    165005.9939460383,
-    165032.86733929763,
-    165059.7418265946,
-    165086.61740784015,
-    165113.4940829452
-};
-
-#else
-
-#ifdef BIG_IQ_TABLE
-#define IQ_TABLE_SIZE  8192
-#else
-#define IQ_TABLE_SIZE  1026
-#endif
-
-ALIGN static const real_t iq_table[IQ_TABLE_SIZE] =
-{
-    REAL_CONST(0.0),
-    REAL_CONST(1.0/8.0),
-    REAL_CONST(2.5198420997897464/8.0),
-    REAL_CONST(4.3267487109222245/8.0),
-    REAL_CONST(6.3496042078727974/8.0),
-    REAL_CONST(8.5498797333834844/8.0),
-    REAL_CONST(10.902723556992836/8.0),
-    REAL_CONST(13.390518279406722/8.0),
-    REAL_CONST(15.999999999999998/8.0),
-    REAL_CONST(18.720754407467133/8.0),
-    REAL_CONST(21.544346900318832/8.0),
-    REAL_CONST(24.463780996262464/8.0),
-    REAL_CONST(27.47314182127996/8.0),
-    REAL_CONST(30.567350940369842/8.0),
-    REAL_CONST(33.741991698453212/8.0),
-    REAL_CONST(36.993181114957046/8.0),
-    REAL_CONST(40.317473596635935/8.0),
-    REAL_CONST(43.711787041189993/8.0),
-    REAL_CONST(47.173345095760126/8.0),
-    REAL_CONST(50.699631325716943/8.0),
-    REAL_CONST(54.288352331898118/8.0),
-    REAL_CONST(57.937407704003519/8.0),
-    REAL_CONST(61.6448652744185/8.0),
-    REAL_CONST(65.408940536585988/8.0),
-    REAL_CONST(69.227979374755591/8.0),
-    REAL_CONST(73.100443455321638/8.0),
-    REAL_CONST(77.024897778591622/8.0),
-    REAL_CONST(80.999999999999986/8.0),
-    REAL_CONST(85.024491212518527/8.0),
-    REAL_CONST(89.097187944889555/8.0),
-    REAL_CONST(93.216975178615741/8.0),
-    REAL_CONST(97.382800224133163/8.0),
-    REAL_CONST(101.59366732596474/8.0),
-    REAL_CONST(105.84863288986224/8.0),
-    REAL_CONST(110.14680124343441/8.0),
-    REAL_CONST(114.4873208566006/8.0),
-    REAL_CONST(118.86938096020653/8.0),
-    REAL_CONST(123.29220851090024/8.0),
-    REAL_CONST(127.75506545836058/8.0),
-    REAL_CONST(132.25724627755247/8.0),
-    REAL_CONST(136.79807573413572/8.0),
-    REAL_CONST(141.37690685569191/8.0),
-    REAL_CONST(145.99311908523086/8.0),
-    REAL_CONST(150.6461165966291/8.0),
-    REAL_CONST(155.33532675434674/8.0),
-    REAL_CONST(160.06019870205279/8.0),
-    REAL_CONST(164.82020206673349/8.0),
-    REAL_CONST(169.61482576651861/8.0),
-    REAL_CONST(174.44357691188537/8.0),
-    REAL_CONST(179.30597979112557/8.0),
-    REAL_CONST(184.20157493201927/8.0),
-    REAL_CONST(189.12991823257562/8.0),
-    REAL_CONST(194.09058015449685/8.0),
-    REAL_CONST(199.08314497371677/8.0),
-    REAL_CONST(204.1072100829694/8.0),
-    REAL_CONST(209.16238534187647/8.0),
-    REAL_CONST(214.24829247050752/8.0),
-    REAL_CONST(219.36456448277784/8.0),
-    REAL_CONST(224.51084515641216/8.0),
-    REAL_CONST(229.6867885365223/8.0),
-    REAL_CONST(234.89205847013176/8.0),
-    REAL_CONST(240.12632816923249/8.0),
-    REAL_CONST(245.38927980018505/8.0),
-    REAL_CONST(250.68060409747261/8.0),
-    REAL_CONST(255.99999999999991/8.0),
-    REAL_CONST(261.34717430828869/8.0),
-    REAL_CONST(266.72184136106449/8.0),
-    REAL_CONST(272.12372272986045/8.0),
-    REAL_CONST(277.55254693037961/8.0),
-    REAL_CONST(283.0080491494619/8.0),
-    REAL_CONST(288.48997098659891/8.0),
-    REAL_CONST(293.99806020902247/8.0),
-    REAL_CONST(299.53207051947408/8.0),
-    REAL_CONST(305.0917613358298/8.0),
-    REAL_CONST(310.67689758182206/8.0),
-    REAL_CONST(316.28724948815585/8.0),
-    REAL_CONST(321.92259240337177/8.0),
-    REAL_CONST(327.58270661385535/8.0),
-    REAL_CONST(333.26737717243742/8.0),
-    REAL_CONST(338.97639373507025/8.0),
-    REAL_CONST(344.70955040510125/8.0),
-    REAL_CONST(350.46664558470013/8.0),
-    REAL_CONST(356.24748183302603/8.0),
-    REAL_CONST(362.05186573075139/8.0),
-    REAL_CONST(367.87960775058258/8.0),
-    REAL_CONST(373.73052213344511/8.0),
-    REAL_CONST(379.60442677002078/8.0),
-    REAL_CONST(385.50114308734607/8.0),
-    REAL_CONST(391.42049594019937/8.0),
-    REAL_CONST(397.36231350702371/8.0),
-    REAL_CONST(403.32642719014467/8.0),
-    REAL_CONST(409.31267152006262/8.0),
-    REAL_CONST(415.32088406360799/8.0),
-    REAL_CONST(421.35090533576471/8.0),
-    REAL_CONST(427.40257871497619/8.0),
-    REAL_CONST(433.4757503617617/8.0),
-    REAL_CONST(439.5702691404793/8.0),
-    REAL_CONST(445.68598654408271/8.0),
-    REAL_CONST(451.82275662172759/8.0),
-    REAL_CONST(457.98043590909128/8.0),
-    REAL_CONST(464.15888336127773/8.0),
-    REAL_CONST(470.35796028818726/8.0),
-    REAL_CONST(476.5775302922363/8.0),
-    REAL_CONST(482.81745920832043/8.0),
-    REAL_CONST(489.07761504591741/8.0),
-    REAL_CONST(495.35786793323581/8.0),
-    REAL_CONST(501.65809006331688/8.0),
-    REAL_CONST(507.97815564200368/8.0),
-    REAL_CONST(514.31794083769648/8.0),
-    REAL_CONST(520.67732373281672/8.0),
-    REAL_CONST(527.05618427690604/8.0),
-    REAL_CONST(533.45440424129174/8.0),
-    REAL_CONST(539.87186717525128/8.0),
-    REAL_CONST(546.30845836361505/8.0),
-    REAL_CONST(552.76406478574609/8.0),
-    REAL_CONST(559.23857507584194/8.0),
-    REAL_CONST(565.73187948450413/8.0),
-    REAL_CONST(572.24386984152341/8.0),
-    REAL_CONST(578.77443951983378/8.0),
-    REAL_CONST(585.32348340058843/8.0),
-    REAL_CONST(591.89089783931263/8.0),
-    REAL_CONST(598.47658063309257/8.0),
-    REAL_CONST(605.08043098876044/8.0),
-    REAL_CONST(611.70234949203643/8.0),
-    REAL_CONST(618.3422380775919/8.0),
-    REAL_CONST(624.99999999999977/8.0),
-    REAL_CONST(631.67553980553748/8.0),
-    REAL_CONST(638.36876330481164/8.0),
-    REAL_CONST(645.07957754617485/8.0),
-    REAL_CONST(651.80789078990415/8.0),
-    REAL_CONST(658.55361248311499/8.0),
-    REAL_CONST(665.31665323538357/8.0),
-    REAL_CONST(672.09692479505225/8.0),
-    REAL_CONST(678.8943400261943/8.0),
-    REAL_CONST(685.70881288621433/8.0),
-    REAL_CONST(692.540258404062/8.0),
-    REAL_CONST(699.38859265903977/8.0),
-    REAL_CONST(706.25373276018058/8.0),
-    REAL_CONST(713.13559682617972/8.0),
-    REAL_CONST(720.03410396586037/8.0),
-    REAL_CONST(726.94917425915435/8.0),
-    REAL_CONST(733.88072873858209/8.0),
-    REAL_CONST(740.82868937121543/8.0),
-    REAL_CONST(747.79297904110535/8.0),
-    REAL_CONST(754.77352153216191/8.0),
-    REAL_CONST(761.77024151147043/8.0),
-    REAL_CONST(768.78306451302956/8.0),
-    REAL_CONST(775.81191692189896/8.0),
-    REAL_CONST(782.85672595874246/8.0),
-    REAL_CONST(789.91741966475445/8.0),
-    REAL_CONST(796.99392688695798/8.0),
-    REAL_CONST(804.08617726386274/8.0),
-    REAL_CONST(811.19410121147098/8.0),
-    REAL_CONST(818.31762990962227/8.0),
-    REAL_CONST(825.45669528866563/8.0),
-    REAL_CONST(832.61123001644864/8.0),
-    REAL_CONST(839.78116748561604/8.0),
-    REAL_CONST(846.96644180120552/8.0),
-    REAL_CONST(854.16698776853514/8.0),
-    REAL_CONST(861.38274088137143/8.0),
-    REAL_CONST(868.61363731036977/8.0),
-    REAL_CONST(875.85961389178203/8.0),
-    REAL_CONST(883.12060811641959/8.0),
-    REAL_CONST(890.39655811886757/8.0),
-    REAL_CONST(897.68740266694181/8.0),
-    REAL_CONST(904.99308115138172/8.0),
-    REAL_CONST(912.31353357577188/8.0),
-    REAL_CONST(919.64870054668756/8.0),
-    REAL_CONST(926.99852326405619/8.0),
-    REAL_CONST(934.36294351172899/8.0),
-    REAL_CONST(941.74190364825859/8.0),
-    REAL_CONST(949.13534659787422/8.0),
-    REAL_CONST(956.54321584165211/8.0),
-    REAL_CONST(963.96545540887348/8.0),
-    REAL_CONST(971.40200986856541/8.0),
-    REAL_CONST(978.85282432122176/8.0),
-    REAL_CONST(986.31784439069588/8.0),
-    REAL_CONST(993.7970162162635/8.0),
-    REAL_CONST(1001.29028644485/8.0),
-    REAL_CONST(1008.797602223418/8.0),
-    REAL_CONST(1016.3189111915103/8.0),
-    REAL_CONST(1023.8541614739464/8.0),
-    REAL_CONST(1031.4033016736653/8.0),
-    REAL_CONST(1038.9662808647138/8.0),
-    REAL_CONST(1046.5430485853758/8.0),
-    REAL_CONST(1054.1335548314366/8.0),
-    REAL_CONST(1061.7377500495838/8.0),
-    REAL_CONST(1069.3555851309357/8.0),
-    REAL_CONST(1076.9870114046978/8.0),
-    REAL_CONST(1084.6319806319441/8.0),
-    REAL_CONST(1092.2904449995174/8.0),
-    REAL_CONST(1099.9623571140482/8.0),
-    REAL_CONST(1107.6476699960892/8.0),
-    REAL_CONST(1115.3463370743607/8.0),
-    REAL_CONST(1123.058312180106/8.0),
-    REAL_CONST(1130.7835495415541/8.0),
-    REAL_CONST(1138.5220037784854/8.0),
-    REAL_CONST(1146.273629896901/8.0),
-    REAL_CONST(1154.0383832837879/8.0),
-    REAL_CONST(1161.816219701986/8.0),
-    REAL_CONST(1169.607095285146/8.0),
-    REAL_CONST(1177.4109665327808/8.0),
-    REAL_CONST(1185.2277903054078/8.0),
-    REAL_CONST(1193.0575238197798/8.0),
-    REAL_CONST(1200.9001246442001/8.0),
-    REAL_CONST(1208.7555506939248/8.0),
-    REAL_CONST(1216.6237602266442/8.0),
-    REAL_CONST(1224.5047118380478/8.0),
-    REAL_CONST(1232.3983644574657/8.0),
-    REAL_CONST(1240.3046773435874/8.0),
-    REAL_CONST(1248.2236100802568/8.0),
-    REAL_CONST(1256.1551225723395/8.0),
-    REAL_CONST(1264.099175041662/8.0),
-    REAL_CONST(1272.0557280230228/8.0),
-    REAL_CONST(1280.0247423602691/8.0),
-    REAL_CONST(1288.0061792024444/8.0),
-    REAL_CONST(1295.9999999999995/8.0),
-    REAL_CONST(1304.006166501068/8.0),
-    REAL_CONST(1312.0246407478062/8.0),
-    REAL_CONST(1320.0553850727929/8.0),
-    REAL_CONST(1328.0983620954903/8.0),
-    REAL_CONST(1336.1535347187651/8.0),
-    REAL_CONST(1344.2208661254647/8.0),
-    REAL_CONST(1352.3003197750522/8.0),
-    REAL_CONST(1360.3918594002962/8.0),
-    REAL_CONST(1368.4954490040145/8.0),
-    REAL_CONST(1376.6110528558709/8.0),
-    REAL_CONST(1384.7386354892244/8.0),
-    REAL_CONST(1392.8781616980295/8.0),
-    REAL_CONST(1401.0295965337855/8.0),
-    REAL_CONST(1409.1929053025353/8.0),
-    REAL_CONST(1417.3680535619119/8.0),
-    REAL_CONST(1425.5550071182327/8.0),
-    REAL_CONST(1433.7537320236374/8.0),
-    REAL_CONST(1441.9641945732744/8.0),
-    REAL_CONST(1450.1863613025282/8.0),
-    REAL_CONST(1458.4201989842913/8.0),
-    REAL_CONST(1466.6656746262797/8.0),
-    REAL_CONST(1474.9227554683875/8.0),
-    REAL_CONST(1483.1914089800841/8.0),
-    REAL_CONST(1491.4716028578516/8.0),
-    REAL_CONST(1499.7633050226596/8.0),
-    REAL_CONST(1508.0664836174794/8.0),
-    REAL_CONST(1516.3811070048375/8.0),
-    REAL_CONST(1524.7071437644029/8.0),
-    REAL_CONST(1533.0445626906128/8.0),
-    REAL_CONST(1541.3933327903342/8.0),
-    REAL_CONST(1549.7534232805581/8.0),
-    REAL_CONST(1558.1248035861302/8.0),
-    REAL_CONST(1566.507443337515/8.0),
-    REAL_CONST(1574.9013123685909/8.0),
-    REAL_CONST(1583.3063807144795/8.0),
-    REAL_CONST(1591.7226186094069/8.0),
-    REAL_CONST(1600.1499964845941/8.0),
-    REAL_CONST(1608.58848496618/8.0),
-    REAL_CONST(1617.0380548731737/8.0),
-    REAL_CONST(1625.4986772154357/8.0),
-    REAL_CONST(1633.9703231916887/8.0),
-    REAL_CONST(1642.4529641875577/8.0),
-    REAL_CONST(1650.9465717736346/8.0),
-    REAL_CONST(1659.4511177035752/8.0),
-    REAL_CONST(1667.9665739122186/8.0),
-    REAL_CONST(1676.4929125137353/8.0),
-    REAL_CONST(1685.030105799801/8.0),
-    REAL_CONST(1693.5781262377957/8.0),
-    REAL_CONST(1702.136946469027/8.0),
-    REAL_CONST(1710.7065393069795/8.0),
-    REAL_CONST(1719.2868777355877/8.0),
-    REAL_CONST(1727.8779349075323/8.0),
-    REAL_CONST(1736.4796841425596/8.0),
-    REAL_CONST(1745.092098925825/8.0),
-    REAL_CONST(1753.7151529062583/8.0),
-    REAL_CONST(1762.3488198949503/8.0),
-    REAL_CONST(1770.9930738635628/8.0),
-    REAL_CONST(1779.6478889427597/8.0),
-    REAL_CONST(1788.3132394206564/8.0),
-    REAL_CONST(1796.9890997412947/8.0),
-    REAL_CONST(1805.6754445031333/8.0),
-    REAL_CONST(1814.3722484575621/8.0),
-    REAL_CONST(1823.0794865074322/8.0),
-    REAL_CONST(1831.7971337056094/8.0),
-    REAL_CONST(1840.5251652535437/8.0),
-    REAL_CONST(1849.2635564998579/8.0),
-    REAL_CONST(1858.0122829389563/8.0),
-    REAL_CONST(1866.7713202096493/8.0),
-    REAL_CONST(1875.5406440937966/8.0),
-    REAL_CONST(1884.3202305149687/8.0),
-    REAL_CONST(1893.110055537124/8.0),
-    REAL_CONST(1901.9100953633042/8.0),
-    REAL_CONST(1910.7203263343454/8.0),
-    REAL_CONST(1919.5407249276057/8.0),
-    REAL_CONST(1928.3712677557098/8.0),
-    REAL_CONST(1937.2119315653083/8.0),
-    REAL_CONST(1946.0626932358525/8.0),
-    REAL_CONST(1954.923529778386/8.0),
-    REAL_CONST(1963.79441833435/8.0),
-    REAL_CONST(1972.6753361744036/8.0),
-    REAL_CONST(1981.5662606972594/8.0),
-    REAL_CONST(1990.467169428533/8.0),
-    REAL_CONST(1999.3780400196069/8.0),
-    REAL_CONST(2008.2988502465078/8.0),
-    REAL_CONST(2017.2295780087982/8.0),
-    REAL_CONST(2026.1702013284819/8.0),
-    REAL_CONST(2035.1206983489212/8.0),
-    REAL_CONST(2044.0810473337688/8.0),
-    REAL_CONST(2053.0512266659125/8.0),
-    REAL_CONST(2062.0312148464309/8.0),
-    REAL_CONST(2071.0209904935646/8.0),
-    REAL_CONST(2080.0205323416958/8.0),
-    REAL_CONST(2089.0298192403443/8.0),
-    REAL_CONST(2098.0488301531714/8.0),
-    REAL_CONST(2107.0775441569995/8.0),
-    REAL_CONST(2116.115940440839/8.0),
-    REAL_CONST(2125.1639983049317/8.0),
-    REAL_CONST(2134.2216971597995/8.0),
-    REAL_CONST(2143.2890165253098/8.0),
-    REAL_CONST(2152.3659360297484/8.0),
-    REAL_CONST(2161.4524354089031/8.0),
-    REAL_CONST(2170.5484945051617/8.0),
-    REAL_CONST(2179.6540932666144/8.0),
-    REAL_CONST(2188.7692117461711/8.0),
-    REAL_CONST(2197.8938301006888/8.0),
-    REAL_CONST(2207.0279285901042/8.0),
-    REAL_CONST(2216.1714875765838/8.0),
-    REAL_CONST(2225.324487523676/8.0),
-    REAL_CONST(2234.4869089954782/8.0),
-    REAL_CONST(2243.6587326558101/8.0),
-    REAL_CONST(2252.8399392673982/8.0),
-    REAL_CONST(2262.0305096910702/8.0),
-    REAL_CONST(2271.2304248849537/8.0),
-    REAL_CONST(2280.4396659036897/8.0),
-    REAL_CONST(2289.6582138976523/8.0),
-    REAL_CONST(2298.8860501121762/8.0),
-    REAL_CONST(2308.1231558867926/8.0),
-    REAL_CONST(2317.3695126544767/8.0),
-    REAL_CONST(2326.6251019409005/8.0),
-    REAL_CONST(2335.8899053636933/8.0),
-    REAL_CONST(2345.1639046317132/8.0),
-    REAL_CONST(2354.4470815443233/8.0),
-    REAL_CONST(2363.7394179906792/8.0),
-    REAL_CONST(2373.0408959490205/8.0),
-    REAL_CONST(2382.3514974859731/8.0),
-    REAL_CONST(2391.6712047558558/8.0),
-    REAL_CONST(2400.9999999999991/8.0),
-    REAL_CONST(2410.3378655460651/8.0),
-    REAL_CONST(2419.6847838073813/8.0),
-    REAL_CONST(2429.0407372822747/8.0),
-    REAL_CONST(2438.4057085534191/8.0),
-    REAL_CONST(2447.7796802871858/8.0),
-    REAL_CONST(2457.1626352330004/8.0),
-    REAL_CONST(2466.5545562227112/8.0),
-    REAL_CONST(2475.9554261699564/8.0),
-    REAL_CONST(2485.3652280695474/8.0),
-    REAL_CONST(2494.7839449968492/8.0),
-    REAL_CONST(2504.2115601071737/8.0),
-    REAL_CONST(2513.6480566351788/8.0),
-    REAL_CONST(2523.0934178942675/8.0),
-    REAL_CONST(2532.5476272760025/8.0),
-    REAL_CONST(2542.0106682495189/8.0),
-    REAL_CONST(2551.482524360948/8.0),
-    REAL_CONST(2560.9631792328441/8.0),
-    REAL_CONST(2570.4526165636184/8.0),
-    REAL_CONST(2579.9508201269791/8.0),
-    REAL_CONST(2589.4577737713744/8.0),
-    REAL_CONST(2598.9734614194458/8.0),
-    REAL_CONST(2608.4978670674823/8.0),
-    REAL_CONST(2618.0309747848837/8.0),
-    REAL_CONST(2627.5727687136259/8.0),
-    REAL_CONST(2637.1232330677353/8.0),
-    REAL_CONST(2646.6823521327647/8.0),
-    REAL_CONST(2656.2501102652768/8.0),
-    REAL_CONST(2665.8264918923328/8.0),
-    REAL_CONST(2675.4114815109842/8.0),
-    REAL_CONST(2685.0050636877722/8.0),
-    REAL_CONST(2694.6072230582295/8.0),
-    REAL_CONST(2704.2179443263894/8.0),
-    REAL_CONST(2713.8372122642972/8.0),
-    REAL_CONST(2723.4650117115279/8.0),
-    REAL_CONST(2733.1013275747096/8.0),
-    REAL_CONST(2742.7461448270483/8.0),
-    REAL_CONST(2752.3994485078601/8.0),
-    REAL_CONST(2762.0612237221085/8.0),
-    REAL_CONST(2771.7314556399419/8.0),
-    REAL_CONST(2781.4101294962406/8.0),
-    REAL_CONST(2791.0972305901655/8.0),
-    REAL_CONST(2800.7927442847094/8.0),
-    REAL_CONST(2810.4966560062589/8.0),
-    REAL_CONST(2820.2089512441521/8.0),
-    REAL_CONST(2829.9296155502466/8.0),
-    REAL_CONST(2839.6586345384894/8.0),
-    REAL_CONST(2849.3959938844923/8.0),
-    REAL_CONST(2859.1416793251065/8.0),
-    REAL_CONST(2868.8956766580086/8.0),
-    REAL_CONST(2878.6579717412847/8.0),
-    REAL_CONST(2888.4285504930212/8.0),
-    REAL_CONST(2898.2073988908974/8.0),
-    REAL_CONST(2907.9945029717837/8.0),
-    REAL_CONST(2917.789848831344/8.0),
-    REAL_CONST(2927.5934226236377/8.0),
-    REAL_CONST(2937.4052105607311/8.0),
-    REAL_CONST(2947.2251989123079/8.0),
-    REAL_CONST(2957.0533740052865/8.0),
-    REAL_CONST(2966.8897222234368/8.0),
-    REAL_CONST(2976.734230007005/8.0),
-    REAL_CONST(2986.5868838523397/8.0),
-    REAL_CONST(2996.4476703115197/8.0),
-    REAL_CONST(3006.3165759919889/8.0),
-    REAL_CONST(3016.1935875561908/8.0),
-    REAL_CONST(3026.0786917212095/8.0),
-    REAL_CONST(3035.9718752584108/8.0),
-    REAL_CONST(3045.8731249930906/8.0),
-    REAL_CONST(3055.7824278041207/8.0),
-    REAL_CONST(3065.6997706236039/8.0),
-    REAL_CONST(3075.625140436528/8.0),
-    REAL_CONST(3085.5585242804245/8.0),
-    REAL_CONST(3095.4999092450298/8.0),
-    REAL_CONST(3105.4492824719491/8.0),
-    REAL_CONST(3115.4066311543256/8.0),
-    REAL_CONST(3125.3719425365089/8.0),
-    REAL_CONST(3135.3452039137287/8.0),
-    REAL_CONST(3145.3264026317715/8.0),
-    REAL_CONST(3155.3155260866592/8.0),
-    REAL_CONST(3165.3125617243295/8.0),
-    REAL_CONST(3175.3174970403229/8.0),
-    REAL_CONST(3185.3303195794679/8.0),
-    REAL_CONST(3195.35101693557/8.0),
-    REAL_CONST(3205.3795767511078/8.0),
-    REAL_CONST(3215.4159867169251/8.0),
-    REAL_CONST(3225.460234571929/8.0),
-    REAL_CONST(3235.5123081027928/8.0),
-    REAL_CONST(3245.5721951436558/8.0),
-    REAL_CONST(3255.63988357583/8.0),
-    REAL_CONST(3265.7153613275095/8.0),
-    REAL_CONST(3275.7986163734795/8.0),
-    REAL_CONST(3285.8896367348289/8.0),
-    REAL_CONST(3295.9884104786665/8.0),
-    REAL_CONST(3306.0949257178395/8.0),
-    REAL_CONST(3316.2091706106517/8.0),
-    REAL_CONST(3326.331133360588/8.0),
-    REAL_CONST(3336.4608022160378/8.0),
-    REAL_CONST(3346.5981654700231/8.0),
-    REAL_CONST(3356.7432114599264/8.0),
-    REAL_CONST(3366.8959285672249/8.0),
-    REAL_CONST(3377.0563052172211/8.0),
-    REAL_CONST(3387.2243298787821/8.0),
-    REAL_CONST(3397.3999910640764/8.0),
-    REAL_CONST(3407.5832773283128/8.0),
-    REAL_CONST(3417.7741772694862/8.0),
-    REAL_CONST(3427.9726795281199/8.0),
-    REAL_CONST(3438.1787727870123/8.0),
-    REAL_CONST(3448.3924457709873/8.0),
-    REAL_CONST(3458.6136872466445/8.0),
-    REAL_CONST(3468.8424860221107/8.0),
-    REAL_CONST(3479.0788309467976/8.0),
-    REAL_CONST(3489.3227109111554/8.0),
-    REAL_CONST(3499.5741148464344/8.0),
-    REAL_CONST(3509.8330317244445/8.0),
-    REAL_CONST(3520.0994505573185/8.0),
-    REAL_CONST(3530.3733603972751/8.0),
-    REAL_CONST(3540.6547503363886/8.0),
-    REAL_CONST(3550.9436095063534/8.0),
-    REAL_CONST(3561.239927078258/8.0),
-    REAL_CONST(3571.5436922623535/8.0),
-    REAL_CONST(3581.8548943078308/8.0),
-    REAL_CONST(3592.1735225025936/8.0),
-    REAL_CONST(3602.4995661730372/8.0),
-    REAL_CONST(3612.8330146838275/8.0),
-    REAL_CONST(3623.1738574376814/8.0),
-    REAL_CONST(3633.5220838751502/8.0),
-    REAL_CONST(3643.8776834744031/8.0),
-    REAL_CONST(3654.2406457510142/8.0),
-    REAL_CONST(3664.6109602577494/8.0),
-    REAL_CONST(3674.9886165843564/8.0),
-    REAL_CONST(3685.3736043573545/8.0),
-    REAL_CONST(3695.7659132398294/8.0),
-    REAL_CONST(3706.1655329312248/8.0),
-    REAL_CONST(3716.5724531671399/8.0),
-    REAL_CONST(3726.9866637191262/8.0),
-    REAL_CONST(3737.4081543944876/8.0),
-    REAL_CONST(3747.8369150360782/8.0),
-    REAL_CONST(3758.2729355221072/8.0),
-    REAL_CONST(3768.7162057659411/8.0),
-    REAL_CONST(3779.1667157159077/8.0),
-    REAL_CONST(3789.6244553551055/8.0),
-    REAL_CONST(3800.0894147012082/8.0),
-    REAL_CONST(3810.5615838062768/8.0),
-    REAL_CONST(3821.0409527565694/8.0),
-    REAL_CONST(3831.5275116723533/8.0),
-    REAL_CONST(3842.0212507077194/8.0),
-    REAL_CONST(3852.522160050396/8.0),
-    REAL_CONST(3863.0302299215673/8.0),
-    REAL_CONST(3873.5454505756893/8.0),
-    REAL_CONST(3884.0678123003108/8.0),
-    REAL_CONST(3894.5973054158922/8.0),
-    REAL_CONST(3905.1339202756285/8.0),
-    REAL_CONST(3915.6776472652732/8.0),
-    REAL_CONST(3926.2284768029604/8.0),
-    REAL_CONST(3936.7863993390338/8.0),
-    REAL_CONST(3947.3514053558706/8.0),
-    REAL_CONST(3957.9234853677135/8.0),
-    REAL_CONST(3968.5026299204969/8.0),
-    REAL_CONST(3979.0888295916798/8.0),
-    REAL_CONST(3989.6820749900776/8.0),
-    REAL_CONST(4000.2823567556948/8.0),
-    REAL_CONST(4010.8896655595613/8.0),
-    REAL_CONST(4021.5039921035655/8.0),
-    REAL_CONST(4032.1253271202945/8.0),
-    REAL_CONST(4042.7536613728694/8.0),
-    REAL_CONST(4053.3889856547858/8.0),
-    REAL_CONST(4064.0312907897551/8.0),
-    REAL_CONST(4074.6805676315448/8.0),
-    REAL_CONST(4085.3368070638221/8.0),
-    REAL_CONST(4095.9999999999982/8.0),
-    REAL_CONST(4106.6701373830711/8.0),
-    REAL_CONST(4117.347210185475/8.0),
-    REAL_CONST(4128.0312094089259/8.0),
-    REAL_CONST(4138.722126084268/8.0),
-    REAL_CONST(4149.4199512713267/8.0),
-    REAL_CONST(4160.1246760587583/8.0),
-    REAL_CONST(4170.8362915638982/8.0),
-    REAL_CONST(4181.5547889326181/8.0),
-    REAL_CONST(4192.2801593391769/8.0),
-    REAL_CONST(4203.0123939860741/8.0),
-    REAL_CONST(4213.7514841039101/8.0),
-    REAL_CONST(4224.4974209512384/8.0),
-    REAL_CONST(4235.2501958144258/8.0),
-    REAL_CONST(4246.0098000075095/8.0),
-    REAL_CONST(4256.7762248720574/8.0),
-    REAL_CONST(4267.549461777031/8.0),
-    REAL_CONST(4278.3295021186423/8.0),
-    REAL_CONST(4289.1163373202198/8.0),
-    REAL_CONST(4299.9099588320714/8.0),
-    REAL_CONST(4310.7103581313495/8.0),
-    REAL_CONST(4321.5175267219138/8.0),
-    REAL_CONST(4332.3314561342004/8.0),
-    REAL_CONST(4343.152137925088/8.0),
-    REAL_CONST(4353.9795636777671/8.0),
-    REAL_CONST(4364.8137250016052/8.0),
-    REAL_CONST(4375.6546135320223/8.0),
-    REAL_CONST(4386.5022209303588/8.0),
-    REAL_CONST(4397.3565388837469/8.0),
-    REAL_CONST(4408.2175591049827/8.0),
-    REAL_CONST(4419.0852733324018/8.0),
-    REAL_CONST(4429.9596733297531/8.0),
-    REAL_CONST(4440.8407508860728/8.0),
-    REAL_CONST(4451.7284978155603/8.0),
-    REAL_CONST(4462.6229059574571/8.0),
-    REAL_CONST(4473.5239671759227/8.0),
-    REAL_CONST(4484.4316733599126/8.0),
-    REAL_CONST(4495.3460164230582/8.0),
-    REAL_CONST(4506.2669883035496/8.0),
-    REAL_CONST(4517.1945809640119/8.0),
-    REAL_CONST(4528.1287863913894/8.0),
-    REAL_CONST(4539.069596596828/8.0),
-    REAL_CONST(4550.0170036155587/8.0),
-    REAL_CONST(4560.9709995067806/8.0),
-    REAL_CONST(4571.931576353546/8.0),
-    REAL_CONST(4582.898726262647/8.0),
-    REAL_CONST(4593.8724413645004/8.0),
-    REAL_CONST(4604.8527138130348/8.0),
-    REAL_CONST(4615.8395357855816/8.0),
-    REAL_CONST(4626.8328994827571/8.0),
-    REAL_CONST(4637.8327971283588/8.0),
-    REAL_CONST(4648.8392209692511/8.0),
-    REAL_CONST(4659.8521632752563/8.0),
-    REAL_CONST(4670.8716163390473/8.0),
-    REAL_CONST(4681.8975724760394/8.0),
-    REAL_CONST(4692.9300240242837/8.0),
-    REAL_CONST(4703.9689633443595/8.0),
-    REAL_CONST(4715.0143828192668/8.0),
-    REAL_CONST(4726.0662748543255/8.0),
-    REAL_CONST(4737.1246318770682/8.0),
-    REAL_CONST(4748.1894463371373/8.0),
-    REAL_CONST(4759.2607107061804/8.0),
-    REAL_CONST(4770.3384174777493/8.0),
-    REAL_CONST(4781.4225591671993/8.0),
-    REAL_CONST(4792.5131283115852/8.0),
-    REAL_CONST(4803.6101174695614/8.0),
-    REAL_CONST(4814.7135192212854/8.0),
-    REAL_CONST(4825.8233261683154/8.0),
-    REAL_CONST(4836.9395309335096/8.0),
-    REAL_CONST(4848.0621261609349/8.0),
-    REAL_CONST(4859.1911045157631/8.0),
-    REAL_CONST(4870.3264586841779/8.0),
-    REAL_CONST(4881.4681813732768/8.0),
-    REAL_CONST(4892.6162653109768/8.0),
-    REAL_CONST(4903.7707032459193/8.0),
-    REAL_CONST(4914.931487947375/8.0),
-    REAL_CONST(4926.0986122051509/8.0),
-    REAL_CONST(4937.2720688294967/8.0),
-    REAL_CONST(4948.4518506510112/8.0),
-    REAL_CONST(4959.637950520555/8.0),
-    REAL_CONST(4970.8303613091521/8.0),
-    REAL_CONST(4982.0290759079044/8.0),
-    REAL_CONST(4993.2340872278974/8.0),
-    REAL_CONST(5004.4453882001153/8.0),
-    REAL_CONST(5015.6629717753467/8.0),
-    REAL_CONST(5026.8868309241007/8.0),
-    REAL_CONST(5038.1169586365131/8.0),
-    REAL_CONST(5049.353347922266/8.0),
-    REAL_CONST(5060.5959918104927/8.0),
-    REAL_CONST(5071.8448833496996/8.0),
-    REAL_CONST(5083.1000156076734/8.0),
-    REAL_CONST(5094.3613816713996/8.0),
-    REAL_CONST(5105.6289746469747/8.0),
-    REAL_CONST(5116.9027876595246/8.0),
-    REAL_CONST(5128.18281385312/8.0),
-    REAL_CONST(5139.4690463906918/8.0),
-    REAL_CONST(5150.7614784539473/8.0),
-    REAL_CONST(5162.0601032432933/8.0),
-    REAL_CONST(5173.3649139777472/8.0),
-    REAL_CONST(5184.6759038948594/8.0),
-    REAL_CONST(5195.9930662506322/8.0),
-    REAL_CONST(5207.3163943194386/8.0),
-    REAL_CONST(5218.6458813939435/8.0),
-    REAL_CONST(5229.9815207850224/8.0),
-    REAL_CONST(5241.3233058216847/8.0),
-    REAL_CONST(5252.6712298509919/8.0),
-    REAL_CONST(5264.025286237983/8.0),
-    REAL_CONST(5275.3854683655954/8.0),
-    REAL_CONST(5286.7517696345885/8.0),
-    REAL_CONST(5298.1241834634639/8.0),
-    REAL_CONST(5309.5027032883945/8.0),
-    REAL_CONST(5320.887322563146/8.0),
-    REAL_CONST(5332.2780347589978/8.0),
-    REAL_CONST(5343.6748333646756/8.0),
-    REAL_CONST(5355.0777118862716/8.0),
-    REAL_CONST(5366.4866638471722/8.0),
-    REAL_CONST(5377.901682787985/8.0),
-    REAL_CONST(5389.3227622664635/8.0),
-    REAL_CONST(5400.749895857437/8.0),
-    REAL_CONST(5412.1830771527357/8.0),
-    REAL_CONST(5423.622299761123/8.0),
-    REAL_CONST(5435.067557308219/8.0),
-    REAL_CONST(5446.5188434364318/8.0),
-    REAL_CONST(5457.9761518048872/8.0),
-    REAL_CONST(5469.4394760893592/8.0),
-    REAL_CONST(5480.9088099821975/8.0),
-    REAL_CONST(5492.3841471922606/8.0),
-    REAL_CONST(5503.8654814448455/8.0),
-    REAL_CONST(5515.3528064816201/8.0),
-    REAL_CONST(5526.846116060552/8.0),
-    REAL_CONST(5538.3454039558474/8.0),
-    REAL_CONST(5549.8506639578736/8.0),
-    REAL_CONST(5561.3618898731029/8.0),
-    REAL_CONST(5572.8790755240361/8.0),
-    REAL_CONST(5584.4022147491451/8.0),
-    REAL_CONST(5595.9313014027975/8.0),
-    REAL_CONST(5607.4663293552012/8.0),
-    REAL_CONST(5619.0072924923297/8.0),
-    REAL_CONST(5630.5541847158656/8.0),
-    REAL_CONST(5642.1069999431284/8.0),
-    REAL_CONST(5653.665732107017/8.0),
-    REAL_CONST(5665.230375155943/8.0),
-    REAL_CONST(5676.8009230537655/8.0),
-    REAL_CONST(5688.3773697797333/8.0),
-    REAL_CONST(5699.9597093284156/8.0),
-    REAL_CONST(5711.5479357096474/8.0),
-    REAL_CONST(5723.1420429484588/8.0),
-    REAL_CONST(5734.7420250850209/8.0),
-    REAL_CONST(5746.347876174581/8.0),
-    REAL_CONST(5757.9595902874016/8.0),
-    REAL_CONST(5769.5771615087006/8.0),
-    REAL_CONST(5781.2005839385911/8.0),
-    REAL_CONST(5792.8298516920213/8.0),
-    REAL_CONST(5804.4649588987149/8.0),
-    REAL_CONST(5816.1058997031105/8.0),
-    REAL_CONST(5827.7526682643065/8.0),
-    REAL_CONST(5839.4052587559972/8.0),
-    REAL_CONST(5851.0636653664196/8.0),
-    REAL_CONST(5862.7278822982908/8.0),
-    REAL_CONST(5874.3979037687541/8.0),
-    REAL_CONST(5886.0737240093204/8.0),
-    REAL_CONST(5897.7553372658094/8.0),
-    REAL_CONST(5909.4427377982956/8.0),
-    REAL_CONST(5921.1359198810505/8.0),
-    REAL_CONST(5932.8348778024874/8.0),
-    REAL_CONST(5944.5396058651031/8.0),
-    REAL_CONST(5956.2500983854261/8.0),
-    REAL_CONST(5967.9663496939575/8.0),
-    REAL_CONST(5979.6883541351208/8.0),
-    REAL_CONST(5991.4161060672022/8.0),
-    REAL_CONST(6003.1495998623004/8.0),
-    REAL_CONST(6014.8888299062692/8.0),
-    REAL_CONST(6026.6337905986684/8.0),
-    REAL_CONST(6038.3844763527022/8.0),
-    REAL_CONST(6050.1408815951781/8.0),
-    REAL_CONST(6061.9030007664414/8.0),
-    REAL_CONST(6073.6708283203316/8.0),
-    REAL_CONST(6085.4443587241267/8.0),
-    REAL_CONST(6097.2235864584891/8.0),
-    REAL_CONST(6109.0085060174197/8.0),
-    REAL_CONST(6120.7991119081998/8.0),
-    REAL_CONST(6132.595398651345/8.0),
-    REAL_CONST(6144.3973607805519/8.0),
-    REAL_CONST(6156.2049928426459/8.0),
-    REAL_CONST(6168.0182893975361/8.0),
-    REAL_CONST(6179.8372450181578/8.0),
-    REAL_CONST(6191.6618542904307/8.0),
-    REAL_CONST(6203.4921118132024/8.0),
-    REAL_CONST(6215.3280121982016/8.0),
-    REAL_CONST(6227.1695500699925/8.0),
-    REAL_CONST(6239.0167200659189/8.0),
-    REAL_CONST(6250.8695168360628/8.0),
-    REAL_CONST(6262.7279350431891/8.0),
-    REAL_CONST(6274.5919693627056/8.0),
-    REAL_CONST(6286.4616144826068/8.0),
-    REAL_CONST(6298.3368651034316/8.0),
-    REAL_CONST(6310.2177159382172/8.0),
-    REAL_CONST(6322.1041617124456/8.0),
-    REAL_CONST(6333.9961971640032/8.0),
-    REAL_CONST(6345.8938170431311/8.0),
-    REAL_CONST(6357.7970161123785/8.0),
-    REAL_CONST(6369.7057891465583/8.0),
-    REAL_CONST(6381.6201309327007/8.0),
-    REAL_CONST(6393.5400362700075/8.0),
-    REAL_CONST(6405.4654999698032/8.0),
-    REAL_CONST(6417.3965168554978/8.0),
-    REAL_CONST(6429.3330817625329/8.0),
-    REAL_CONST(6441.2751895383453/8.0),
-    REAL_CONST(6453.2228350423138/8.0),
-    REAL_CONST(6465.176013145724/8.0),
-    REAL_CONST(6477.134718731716/8.0),
-    REAL_CONST(6489.0989466952469/8.0),
-    REAL_CONST(6501.0686919430445/8.0),
-    REAL_CONST(6513.0439493935628/8.0),
-    REAL_CONST(6525.0247139769417/8.0),
-    REAL_CONST(6537.010980634961/8.0),
-    REAL_CONST(6549.002744321001/8.0),
-    REAL_CONST(6560.9999999999973/8.0),
-    REAL_CONST(6573.0027426483985/8.0),
-    REAL_CONST(6585.0109672541284/8.0),
-    REAL_CONST(6597.0246688165371/8.0),
-    REAL_CONST(6609.0438423463656/8.0),
-    REAL_CONST(6621.0684828657004/8.0),
-    REAL_CONST(6633.0985854079354/8.0),
-    REAL_CONST(6645.134145017727/8.0),
-    REAL_CONST(6657.1751567509573/8.0),
-    REAL_CONST(6669.2216156746908/8.0),
-    REAL_CONST(6681.2735168671343/8.0),
-    REAL_CONST(6693.3308554176001/8.0),
-    REAL_CONST(6705.3936264264594/8.0),
-    REAL_CONST(6717.461825005108/8.0),
-    REAL_CONST(6729.535446275926/8.0),
-    REAL_CONST(6741.6144853722335/8.0),
-    REAL_CONST(6753.6989374382601/8.0),
-    REAL_CONST(6765.7887976290967/8.0),
-    REAL_CONST(6777.8840611106634/8.0),
-    REAL_CONST(6789.9847230596661/8.0),
-    REAL_CONST(6802.0907786635626/8.0),
-    REAL_CONST(6814.2022231205201/8.0),
-    REAL_CONST(6826.3190516393797/8.0),
-    REAL_CONST(6838.4412594396181/8.0),
-    REAL_CONST(6850.5688417513074/8.0),
-    REAL_CONST(6862.701793815083/8.0),
-    REAL_CONST(6874.840110882099/8.0),
-    REAL_CONST(6886.9837882139991/8.0),
-    REAL_CONST(6899.1328210828724/8.0),
-    REAL_CONST(6911.2872047712199/8.0),
-    REAL_CONST(6923.4469345719199/8.0),
-    REAL_CONST(6935.6120057881863/8.0),
-    REAL_CONST(6947.7824137335365/8.0),
-    REAL_CONST(6959.9581537317536/8.0),
-    REAL_CONST(6972.1392211168532/8.0),
-    REAL_CONST(6984.3256112330409/8.0),
-    REAL_CONST(6996.5173194346862/8.0),
-    REAL_CONST(7008.7143410862773/8.0),
-    REAL_CONST(7020.9166715623942/8.0),
-    REAL_CONST(7033.1243062476678/8.0),
-    REAL_CONST(7045.3372405367481/8.0),
-    REAL_CONST(7057.5554698342685/8.0),
-    REAL_CONST(7069.7789895548103/8.0),
-    REAL_CONST(7082.0077951228714/8.0),
-    REAL_CONST(7094.2418819728273/8.0),
-    REAL_CONST(7106.4812455489018/8.0),
-    REAL_CONST(7118.7258813051285/8.0),
-    REAL_CONST(7130.9757847053224/8.0),
-    REAL_CONST(7143.2309512230404/8.0),
-    REAL_CONST(7155.4913763415516/8.0),
-    REAL_CONST(7167.7570555538041/8.0),
-    REAL_CONST(7180.0279843623894/8.0),
-    REAL_CONST(7192.3041582795131/8.0),
-    REAL_CONST(7204.5855728269571/8.0),
-    REAL_CONST(7216.8722235360519/8.0),
-    REAL_CONST(7229.1641059476406/8.0),
-    REAL_CONST(7241.4612156120484/8.0),
-    REAL_CONST(7253.7635480890503/8.0),
-    REAL_CONST(7266.0710989478375/8.0),
-    REAL_CONST(7278.3838637669869/8.0),
-    REAL_CONST(7290.7018381344296/8.0),
-    REAL_CONST(7303.0250176474174/8.0),
-    REAL_CONST(7315.3533979124932/8.0),
-    REAL_CONST(7327.6869745454596/8.0),
-    REAL_CONST(7340.0257431713462/8.0),
-    REAL_CONST(7352.3696994243801/8.0),
-    REAL_CONST(7364.7188389479543/8.0),
-    REAL_CONST(7377.0731573945968/8.0),
-    REAL_CONST(7389.4326504259407/8.0),
-    REAL_CONST(7401.7973137126937/8.0),
-    REAL_CONST(7414.1671429346061/8.0),
-    REAL_CONST(7426.5421337804428/8.0),
-    REAL_CONST(7438.922281947951/8.0),
-    REAL_CONST(7451.3075831438346/8.0),
-    REAL_CONST(7463.6980330837177/8.0),
-    REAL_CONST(7476.0936274921214/8.0),
-    REAL_CONST(7488.4943621024304/8.0),
-    REAL_CONST(7500.9002326568652/8.0),
-    REAL_CONST(7513.3112349064522/8.0),
-    REAL_CONST(7525.7273646109943/8.0),
-    REAL_CONST(7538.1486175390446/8.0),
-    REAL_CONST(7550.5749894678729/8.0),
-    REAL_CONST(7563.0064761834419/8.0),
-    REAL_CONST(7575.4430734803736/8.0),
-    REAL_CONST(7587.8847771619248/8.0),
-    REAL_CONST(7600.3315830399597/8.0),
-    REAL_CONST(7612.7834869349153/8.0),
-    REAL_CONST(7625.24048467578/8.0),
-    REAL_CONST(7637.7025721000637/8.0),
-    REAL_CONST(7650.1697450537677/8.0),
-    REAL_CONST(7662.6419993913596/8.0),
-    REAL_CONST(7675.1193309757446/8.0),
-    REAL_CONST(7687.6017356782404/8.0),
-    REAL_CONST(7700.0892093785433/8.0),
-    REAL_CONST(7712.5817479647112/8.0),
-    REAL_CONST(7725.079347333125/8.0),
-    REAL_CONST(7737.5820033884729/8.0),
-    REAL_CONST(7750.0897120437139/8.0),
-    REAL_CONST(7762.6024692200581/8.0),
-    REAL_CONST(7775.1202708469355/8.0),
-    REAL_CONST(7787.6431128619733/8.0),
-    REAL_CONST(7800.1709912109645/8.0),
-    REAL_CONST(7812.7039018478481/8.0),
-    REAL_CONST(7825.2418407346768/8.0),
-    REAL_CONST(7837.7848038415968/8.0),
-    REAL_CONST(7850.3327871468155/8.0),
-    REAL_CONST(7862.8857866365806/8.0),
-    REAL_CONST(7875.4437983051539/8.0),
-    REAL_CONST(7888.006818154784/8.0),
-    REAL_CONST(7900.5748421956796/8.0),
-    REAL_CONST(7913.1478664459901/8.0),
-    REAL_CONST(7925.725886931772/8.0),
-    REAL_CONST(7938.3088996869719/8.0),
-    REAL_CONST(7950.8969007533951/8.0),
-    REAL_CONST(7963.4898861806851/8.0),
-    REAL_CONST(7976.0878520262959/8.0),
-    REAL_CONST(7988.6907943554688/8.0),
-    REAL_CONST(8001.2987092412086/8.0),
-    REAL_CONST(8013.911592764257/8.0),
-    REAL_CONST(8026.5294410130691/8.0),
-    REAL_CONST(8039.1522500837891/8.0),
-    REAL_CONST(8051.7800160802271/8.0),
-    REAL_CONST(8064.412735113835/8.0),
-    REAL_CONST(8077.0504033036796/8.0),
-    REAL_CONST(8089.6930167764222/8.0),
-    REAL_CONST(8102.3405716662946/8.0),
-    REAL_CONST(8114.9930641150731/8.0),
-    REAL_CONST(8127.6504902720571/8.0),
-    REAL_CONST(8140.3128462940449/8.0),
-    REAL_CONST(8152.9801283453098/8.0),
-    REAL_CONST(8165.6523325975786/8.0),
-    REAL_CONST(8178.3294552300049/8.0),
-    REAL_CONST(8191.0114924291529/8.0),
-    REAL_CONST(8203.6984403889655/8.0),
-    REAL_CONST(8216.3902953107463/8.0),
-    REAL_CONST(8229.0870534031419/8.0),
-    REAL_CONST(8241.7887108821069/8.0),
-    REAL_CONST(8254.4952639708936/8.0),
-    REAL_CONST(8267.2067089000211/8.0),
-    REAL_CONST(8279.9230419072574/8.0),
-    REAL_CONST(8292.6442592375952/8.0),
-    REAL_CONST(8305.3703571432306/8.0),
-    REAL_CONST(8318.101331883543/8.0),
-    REAL_CONST(8330.8371797250657/8.0),
-    REAL_CONST(8343.577896941475/8.0),
-    REAL_CONST(8356.3234798135582/8.0),
-    REAL_CONST(8369.0739246291978/8.0),
-    REAL_CONST(8381.8292276833508/8.0),
-    REAL_CONST(8394.5893852780209/8.0),
-    REAL_CONST(8407.3543937222421/8.0),
-    REAL_CONST(8420.1242493320569/8.0),
-    REAL_CONST(8432.8989484304948/8.0),
-    REAL_CONST(8445.6784873475499/8.0),
-    REAL_CONST(8458.4628624201578/8.0),
-    REAL_CONST(8471.2520699921806/8.0),
-    REAL_CONST(8484.0461064143838/8.0),
-    REAL_CONST(8496.8449680444082/8.0),
-    REAL_CONST(8509.6486512467636/8.0),
-    REAL_CONST(8522.4571523927953/8.0),
-    REAL_CONST(8535.270467860666/8.0),
-    REAL_CONST(8548.0885940353437/8.0),
-    REAL_CONST(8560.9115273085663/8.0),
-    REAL_CONST(8573.7392640788403/8.0),
-    REAL_CONST(8586.5718007514006/8.0),
-    REAL_CONST(8599.4091337382069/8.0),
-    REAL_CONST(8612.2512594579148/8.0),
-    REAL_CONST(8625.0981743358552/8.0),
-    REAL_CONST(8637.9498748040205/8.0),
-    REAL_CONST(8650.8063573010386/8.0),
-    REAL_CONST(8663.6676182721567/8.0),
-    REAL_CONST(8676.533654169225/8.0),
-    REAL_CONST(8689.4044614506638/8.0),
-    REAL_CONST(8702.2800365814601/8.0),
-    REAL_CONST(8715.1603760331418/8.0),
-    REAL_CONST(8728.0454762837508/8.0),
-    REAL_CONST(8740.9353338178389/8.0),
-    REAL_CONST(8753.8299451264356/8.0),
-    REAL_CONST(8766.7293067070332/8.0),
-    REAL_CONST(8779.6334150635721/8.0),
-    REAL_CONST(8792.5422667064158/8.0),
-    REAL_CONST(8805.4558581523324/8.0),
-    REAL_CONST(8818.3741859244819/8.0),
-    REAL_CONST(8831.2972465523908/8.0),
-    REAL_CONST(8844.2250365719356/8.0),
-    REAL_CONST(8857.1575525253265/8.0),
-    REAL_CONST(8870.0947909610859/8.0),
-    REAL_CONST(8883.0367484340295/8.0),
-    REAL_CONST(8895.9834215052524/8.0),
-    REAL_CONST(8908.934806742107/8.0),
-    REAL_CONST(8921.8909007181846/8.0),
-    REAL_CONST(8934.8517000132997/8.0),
-    REAL_CONST(8947.817201213471/8.0),
-    REAL_CONST(8960.7874009109/8.0),
-    REAL_CONST(8973.7622957039603/8.0),
-    REAL_CONST(8986.7418821971733/8.0),
-    REAL_CONST(8999.7261570011924/8.0),
-    REAL_CONST(9012.7151167327884/8.0),
-    REAL_CONST(9025.7087580148236/8.0),
-    REAL_CONST(9038.7070774762469/8.0),
-    REAL_CONST(9051.7100717520643/8.0),
-    REAL_CONST(9064.7177374833282/8.0),
-    REAL_CONST(9077.7300713171153/8.0),
-    REAL_CONST(9090.7470699065179/8.0),
-    REAL_CONST(9103.7687299106146/8.0),
-    REAL_CONST(9116.7950479944648/8.0),
-    REAL_CONST(9129.8260208290812/8.0),
-    REAL_CONST(9142.8616450914233/8.0),
-    REAL_CONST(9155.9019174643727/8.0),
-    REAL_CONST(9168.9468346367157/8.0),
-    REAL_CONST(9181.9963933031358/8.0),
-    REAL_CONST(9195.0505901641845/8.0),
-    REAL_CONST(9208.1094219262741/8.0),
-    REAL_CONST(9221.1728853016557/8.0),
-    REAL_CONST(9234.240977008405/8.0),
-    REAL_CONST(9247.3136937704076/8.0),
-    REAL_CONST(9260.3910323173386/8.0),
-    REAL_CONST(9273.472989384647/8.0),
-    REAL_CONST(9286.5595617135423/8.0),
-    REAL_CONST(9299.6507460509747/8.0),
-    REAL_CONST(9312.7465391496207/8.0),
-    REAL_CONST(9325.8469377678684/8.0),
-    REAL_CONST(9338.9519386698012/8.0),
-    REAL_CONST(9352.0615386251757/8.0),
-    REAL_CONST(9365.1757344094131/8.0),
-    REAL_CONST(9378.2945228035842/8.0),
-    REAL_CONST(9391.4179005943843/8.0),
-    REAL_CONST(9404.5458645741273/8.0),
-    REAL_CONST(9417.6784115407263/8.0),
-    REAL_CONST(9430.8155382976747/8.0),
-    REAL_CONST(9443.9572416540359/8.0),
-    REAL_CONST(9457.1035184244265/8.0),
-    REAL_CONST(9470.2543654290002/8.0),
-    REAL_CONST(9483.4097794934296/8.0),
-    REAL_CONST(9496.5697574488931/8.0),
-    REAL_CONST(9509.7342961320664/8.0),
-    REAL_CONST(9522.9033923850911/8.0),
-    REAL_CONST(9536.0770430555804/8.0),
-    REAL_CONST(9549.2552449965824/8.0),
-    REAL_CONST(9562.4379950665825/8.0),
-    REAL_CONST(9575.6252901294793/8.0),
-    REAL_CONST(9588.8171270545736/8.0),
-    REAL_CONST(9602.0135027165488/8.0),
-    REAL_CONST(9615.2144139954635/8.0),
-    REAL_CONST(9628.4198577767274/8.0),
-    REAL_CONST(9641.629830951093/8.0),
-    REAL_CONST(9654.844330414644/8.0),
-    REAL_CONST(9668.0633530687719/8.0),
-    REAL_CONST(9681.286895820167/8.0),
-    REAL_CONST(9694.5149555808002/8.0),
-    REAL_CONST(9707.7475292679192/8.0),
-    REAL_CONST(9720.9846138040157/8.0),
-    REAL_CONST(9734.2262061168276/8.0),
-    REAL_CONST(9747.4723031393187/8.0),
-    REAL_CONST(9760.7229018096641/8.0),
-    REAL_CONST(9773.9779990712323/8.0),
-    REAL_CONST(9787.2375918725811/8.0),
-    REAL_CONST(9800.5016771674327/8.0),
-    REAL_CONST(9813.7702519146696/8.0),
-    REAL_CONST(9827.0433130783094/8.0),
-    REAL_CONST(9840.3208576275028/8.0),
-    REAL_CONST(9853.602882536512/8.0),
-    REAL_CONST(9866.8893847846994/8.0),
-    REAL_CONST(9880.1803613565116/8.0),
-    REAL_CONST(9893.4758092414686/8.0),
-    REAL_CONST(9906.7757254341523/8.0),
-    REAL_CONST(9920.0801069341851/8.0),
-    REAL_CONST(9933.3889507462245/8.0),
-    REAL_CONST(9946.7022538799429/8.0),
-    REAL_CONST(9960.0200133500221/8.0),
-    REAL_CONST(9973.3422261761298/8.0),
-    REAL_CONST(9986.6688893829159/8.0),
-    REAL_CONST(9999.9999999999945/8.0),
-    REAL_CONST(10013.335555061929/8.0),
-    REAL_CONST(10026.675551608221/8.0),
-    REAL_CONST(10040.019986683301/8.0),
-    REAL_CONST(10053.368857336509/8.0),
-    REAL_CONST(10066.722160622081/8.0),
-    REAL_CONST(10080.079893599144/8.0),
-    REAL_CONST(10093.442053331697/8.0),
-    REAL_CONST(10106.808636888598/8.0),
-    REAL_CONST(10120.179641343551/8.0),
-    REAL_CONST(10133.555063775095/8.0),
-    REAL_CONST(10146.934901266595/8.0),
-    REAL_CONST(10160.31915090622/8.0),
-    REAL_CONST(10173.707809786936/8.0),
-    REAL_CONST(10187.100875006496/8.0),
-    REAL_CONST(10200.498343667417/8.0),
-    REAL_CONST(10213.900212876984/8.0),
-    REAL_CONST(10227.306479747222/8.0),
-    REAL_CONST(10240.717141394889/8.0),
-    REAL_CONST(10254.132194941467/8.0),
-    REAL_CONST(10267.551637513146/8.0),
-    REAL_CONST(10280.975466240814/8.0),
-    REAL_CONST(10294.40367826004/8.0),
-    REAL_CONST(10307.836270711066/8.0),
-    REAL_CONST(10321.273240738796/8.0),
-    REAL_CONST(10334.71458549278/8.0)
-#ifdef BIG_IQ_TABLE
-   ,REAL_CONST(10348.160302127204/8.0),
-    REAL_CONST(10361.610387800878/8.0),
-    REAL_CONST(10375.064839677221/8.0),
-    REAL_CONST(10388.523654924258/8.0),
-    REAL_CONST(10401.986830714593/8.0),
-    REAL_CONST(10415.454364225412/8.0),
-    REAL_CONST(10428.926252638465/8.0),
-    REAL_CONST(10442.402493140049/8.0),
-    REAL_CONST(10455.883082921007/8.0),
-    REAL_CONST(10469.368019176709/8.0),
-    REAL_CONST(10482.85729910704/8.0),
-    REAL_CONST(10496.350919916393/8.0),
-    REAL_CONST(10509.848878813653/8.0),
-    REAL_CONST(10523.351173012188/8.0),
-    REAL_CONST(10536.857799729838/8.0),
-    REAL_CONST(10550.3687561889/8.0),
-    REAL_CONST(10563.884039616123/8.0),
-    REAL_CONST(10577.403647242685/8.0),
-    REAL_CONST(10590.927576304197/8.0),
-    REAL_CONST(10604.455824040679/8.0),
-    REAL_CONST(10617.988387696556/8.0),
-    REAL_CONST(10631.525264520642/8.0),
-    REAL_CONST(10645.066451766135/8.0),
-    REAL_CONST(10658.611946690598/8.0),
-    REAL_CONST(10672.161746555956/8.0),
-    REAL_CONST(10685.715848628475/8.0),
-    REAL_CONST(10699.274250178762/8.0),
-    REAL_CONST(10712.836948481747/8.0),
-    REAL_CONST(10726.403940816675/8.0),
-    REAL_CONST(10739.975224467091/8.0),
-    REAL_CONST(10753.550796720834/8.0),
-    REAL_CONST(10767.130654870027/8.0),
-    REAL_CONST(10780.714796211059/8.0),
-    REAL_CONST(10794.303218044579/8.0),
-    REAL_CONST(10807.895917675487/8.0),
-    REAL_CONST(10821.492892412922/8.0),
-    REAL_CONST(10835.094139570248/8.0),
-    REAL_CONST(10848.699656465047/8.0),
-    REAL_CONST(10862.309440419107/8.0),
-    REAL_CONST(10875.923488758415/8.0),
-    REAL_CONST(10889.541798813138/8.0),
-    REAL_CONST(10903.16436791762/8.0),
-    REAL_CONST(10916.791193410372/8.0),
-    REAL_CONST(10930.422272634056/8.0),
-    REAL_CONST(10944.05760293548/8.0),
-    REAL_CONST(10957.697181665582/8.0),
-    REAL_CONST(10971.341006179427/8.0),
-    REAL_CONST(10984.98907383619/8.0),
-    REAL_CONST(10998.641381999149/8.0),
-    REAL_CONST(11012.297928035676/8.0),
-    REAL_CONST(11025.958709317223/8.0),
-    REAL_CONST(11039.623723219316/8.0),
-    REAL_CONST(11053.292967121541/8.0),
-    REAL_CONST(11066.966438407539/8.0),
-    REAL_CONST(11080.64413446499/8.0),
-    REAL_CONST(11094.326052685608/8.0),
-    REAL_CONST(11108.012190465128/8.0),
-    REAL_CONST(11121.702545203296/8.0),
-    REAL_CONST(11135.397114303863/8.0),
-    REAL_CONST(11149.095895174571/8.0),
-    REAL_CONST(11162.798885227143/8.0),
-    REAL_CONST(11176.506081877278/8.0),
-    REAL_CONST(11190.217482544635/8.0),
-    REAL_CONST(11203.933084652828/8.0),
-    REAL_CONST(11217.652885629415/8.0),
-    REAL_CONST(11231.376882905886/8.0),
-    REAL_CONST(11245.105073917659/8.0),
-    REAL_CONST(11258.837456104062/8.0),
-    REAL_CONST(11272.574026908333/8.0),
-    REAL_CONST(11286.314783777601/8.0),
-    REAL_CONST(11300.059724162888/8.0),
-    REAL_CONST(11313.808845519083/8.0),
-    REAL_CONST(11327.562145304952/8.0),
-    REAL_CONST(11341.319620983111/8.0),
-    REAL_CONST(11355.081270020033/8.0),
-    REAL_CONST(11368.847089886023/8.0),
-    REAL_CONST(11382.617078055218/8.0),
-    REAL_CONST(11396.391232005579/8.0),
-    REAL_CONST(11410.169549218874/8.0),
-    REAL_CONST(11423.952027180676/8.0),
-    REAL_CONST(11437.738663380349/8.0),
-    REAL_CONST(11451.529455311042/8.0),
-    REAL_CONST(11465.324400469679/8.0),
-    REAL_CONST(11479.123496356951/8.0),
-    REAL_CONST(11492.926740477304/8.0),
-    REAL_CONST(11506.734130338931/8.0),
-    REAL_CONST(11520.545663453764/8.0),
-    REAL_CONST(11534.361337337466/8.0),
-    REAL_CONST(11548.181149509423/8.0),
-    REAL_CONST(11562.005097492724/8.0),
-    REAL_CONST(11575.83317881417/8.0),
-    REAL_CONST(11589.665391004253/8.0),
-    REAL_CONST(11603.501731597149/8.0),
-    REAL_CONST(11617.342198130715/8.0),
-    REAL_CONST(11631.186788146468/8.0),
-    REAL_CONST(11645.035499189589/8.0),
-    REAL_CONST(11658.888328808911/8.0),
-    REAL_CONST(11672.745274556904/8.0),
-    REAL_CONST(11686.606333989675/8.0),
-    REAL_CONST(11700.471504666955/8.0),
-    REAL_CONST(11714.340784152086/8.0),
-    REAL_CONST(11728.214170012021/8.0),
-    REAL_CONST(11742.091659817312/8.0),
-    REAL_CONST(11755.973251142101/8.0),
-    REAL_CONST(11769.858941564111/8.0),
-    REAL_CONST(11783.748728664636/8.0),
-    REAL_CONST(11797.642610028539/8.0),
-    REAL_CONST(11811.540583244237/8.0),
-    REAL_CONST(11825.442645903697/8.0),
-    REAL_CONST(11839.34879560242/8.0),
-    REAL_CONST(11853.259029939445/8.0),
-    REAL_CONST(11867.173346517333/8.0),
-    REAL_CONST(11881.091742942155/8.0),
-    REAL_CONST(11895.014216823492/8.0),
-    REAL_CONST(11908.940765774427/8.0),
-    REAL_CONST(11922.871387411526/8.0),
-    REAL_CONST(11936.806079354839/8.0),
-    REAL_CONST(11950.744839227897/8.0),
-    REAL_CONST(11964.687664657684/8.0),
-    REAL_CONST(11978.634553274653/8.0),
-    REAL_CONST(11992.585502712702/8.0),
-    REAL_CONST(12006.540510609168/8.0),
-    REAL_CONST(12020.499574604828/8.0),
-    REAL_CONST(12034.462692343877/8.0),
-    REAL_CONST(12048.429861473938/8.0),
-    REAL_CONST(12062.401079646032/8.0),
-    REAL_CONST(12076.376344514589/8.0),
-    REAL_CONST(12090.355653737433/8.0),
-    REAL_CONST(12104.339004975769/8.0),
-    REAL_CONST(12118.326395894188/8.0),
-    REAL_CONST(12132.317824160644/8.0),
-    REAL_CONST(12146.313287446457/8.0),
-    REAL_CONST(12160.312783426305/8.0),
-    REAL_CONST(12174.316309778205/8.0),
-    REAL_CONST(12188.323864183525/8.0),
-    REAL_CONST(12202.335444326955/8.0),
-    REAL_CONST(12216.351047896511/8.0),
-    REAL_CONST(12230.370672583531/8.0),
-    REAL_CONST(12244.394316082657/8.0),
-    REAL_CONST(12258.421976091831/8.0),
-    REAL_CONST(12272.453650312296/8.0),
-    REAL_CONST(12286.489336448574/8.0),
-    REAL_CONST(12300.529032208471/8.0),
-    REAL_CONST(12314.572735303058/8.0),
-    REAL_CONST(12328.620443446678/8.0),
-    REAL_CONST(12342.672154356922/8.0),
-    REAL_CONST(12356.727865754638/8.0),
-    REAL_CONST(12370.787575363909/8.0),
-    REAL_CONST(12384.851280912055/8.0),
-    REAL_CONST(12398.918980129623/8.0),
-    REAL_CONST(12412.990670750381/8.0),
-    REAL_CONST(12427.066350511306/8.0),
-    REAL_CONST(12441.146017152583/8.0),
-    REAL_CONST(12455.229668417589/8.0),
-    REAL_CONST(12469.317302052901/8.0),
-    REAL_CONST(12483.40891580827/8.0),
-    REAL_CONST(12497.50450743663/8.0),
-    REAL_CONST(12511.604074694078/8.0),
-    REAL_CONST(12525.707615339878/8.0),
-    REAL_CONST(12539.815127136444/8.0),
-    REAL_CONST(12553.926607849342/8.0),
-    REAL_CONST(12568.042055247275/8.0),
-    REAL_CONST(12582.161467102082/8.0),
-    REAL_CONST(12596.284841188726/8.0),
-    REAL_CONST(12610.41217528529/8.0),
-    REAL_CONST(12624.543467172971/8.0),
-    REAL_CONST(12638.678714636069/8.0),
-    REAL_CONST(12652.817915461985/8.0),
-    REAL_CONST(12666.961067441209/8.0),
-    REAL_CONST(12681.108168367316/8.0),
-    REAL_CONST(12695.259216036962/8.0),
-    REAL_CONST(12709.414208249869/8.0),
-    REAL_CONST(12723.573142808827/8.0),
-    REAL_CONST(12737.736017519681/8.0),
-    REAL_CONST(12751.902830191326/8.0),
-    REAL_CONST(12766.073578635704/8.0),
-    REAL_CONST(12780.248260667788/8.0),
-    REAL_CONST(12794.426874105588/8.0),
-    REAL_CONST(12808.609416770132/8.0),
-    REAL_CONST(12822.795886485468/8.0),
-    REAL_CONST(12836.986281078653/8.0),
-    REAL_CONST(12851.180598379744/8.0),
-    REAL_CONST(12865.378836221802/8.0),
-    REAL_CONST(12879.580992440871/8.0),
-    REAL_CONST(12893.787064875984/8.0),
-    REAL_CONST(12907.997051369144/8.0),
-    REAL_CONST(12922.210949765335/8.0),
-    REAL_CONST(12936.428757912496/8.0),
-    REAL_CONST(12950.650473661524/8.0),
-    REAL_CONST(12964.876094866273/8.0),
-    REAL_CONST(12979.105619383534/8.0),
-    REAL_CONST(12993.339045073039/8.0),
-    REAL_CONST(13007.576369797454/8.0),
-    REAL_CONST(13021.817591422368/8.0),
-    REAL_CONST(13036.062707816285/8.0),
-    REAL_CONST(13050.311716850629/8.0),
-    REAL_CONST(13064.564616399723/8.0),
-    REAL_CONST(13078.821404340792/8.0),
-    REAL_CONST(13093.082078553954/8.0),
-    REAL_CONST(13107.346636922217/8.0),
-    REAL_CONST(13121.615077331464/8.0),
-    REAL_CONST(13135.887397670458/8.0),
-    REAL_CONST(13150.163595830827/8.0),
-    REAL_CONST(13164.44366970706/8.0),
-    REAL_CONST(13178.727617196502/8.0),
-    REAL_CONST(13193.015436199352/8.0),
-    REAL_CONST(13207.307124618648/8.0),
-    REAL_CONST(13221.602680360265/8.0),
-    REAL_CONST(13235.902101332911/8.0),
-    REAL_CONST(13250.205385448118/8.0),
-    REAL_CONST(13264.512530620239/8.0),
-    REAL_CONST(13278.823534766434/8.0),
-    REAL_CONST(13293.138395806676/8.0),
-    REAL_CONST(13307.457111663734/8.0),
-    REAL_CONST(13321.779680263176/8.0),
-    REAL_CONST(13336.106099533356/8.0),
-    REAL_CONST(13350.436367405409/8.0),
-    REAL_CONST(13364.77048181325/8.0),
-    REAL_CONST(13379.108440693562/8.0),
-    REAL_CONST(13393.450241985796/8.0),
-    REAL_CONST(13407.795883632158/8.0),
-    REAL_CONST(13422.145363577607/8.0),
-    REAL_CONST(13436.498679769853/8.0),
-    REAL_CONST(13450.855830159346/8.0),
-    REAL_CONST(13465.216812699266/8.0),
-    REAL_CONST(13479.581625345529/8.0),
-    REAL_CONST(13493.950266056772/8.0),
-    REAL_CONST(13508.32273279435/8.0),
-    REAL_CONST(13522.699023522329/8.0),
-    REAL_CONST(13537.079136207483/8.0),
-    REAL_CONST(13551.463068819286/8.0),
-    REAL_CONST(13565.850819329906/8.0),
-    REAL_CONST(13580.2423857142/8.0),
-    REAL_CONST(13594.63776594971/8.0),
-    REAL_CONST(13609.036958016657/8.0),
-    REAL_CONST(13623.439959897927/8.0),
-    REAL_CONST(13637.846769579081/8.0),
-    REAL_CONST(13652.257385048335/8.0),
-    REAL_CONST(13666.67180429656/8.0),
-    REAL_CONST(13681.090025317284/8.0),
-    REAL_CONST(13695.512046106669/8.0),
-    REAL_CONST(13709.937864663521/8.0),
-    REAL_CONST(13724.367478989278/8.0),
-    REAL_CONST(13738.800887088004/8.0),
-    REAL_CONST(13753.238086966385/8.0),
-    REAL_CONST(13767.679076633727/8.0),
-    REAL_CONST(13782.123854101939/8.0),
-    REAL_CONST(13796.572417385545/8.0),
-    REAL_CONST(13811.024764501659/8.0),
-    REAL_CONST(13825.480893469998/8.0),
-    REAL_CONST(13839.94080231286/8.0),
-    REAL_CONST(13854.404489055134/8.0),
-    REAL_CONST(13868.871951724283/8.0),
-    REAL_CONST(13883.34318835034/8.0),
-    REAL_CONST(13897.818196965914/8.0),
-    REAL_CONST(13912.296975606168/8.0),
-    REAL_CONST(13926.779522308825/8.0),
-    REAL_CONST(13941.26583511416/8.0),
-    REAL_CONST(13955.755912064991/8.0),
-    REAL_CONST(13970.249751206682/8.0),
-    REAL_CONST(13984.747350587126/8.0),
-    REAL_CONST(13999.248708256751/8.0),
-    REAL_CONST(14013.753822268511/8.0),
-    REAL_CONST(14028.262690677873/8.0),
-    REAL_CONST(14042.775311542828/8.0),
-    REAL_CONST(14057.291682923867/8.0),
-    REAL_CONST(14071.811802883994/8.0),
-    REAL_CONST(14086.335669488704/8.0),
-    REAL_CONST(14100.863280805994/8.0),
-    REAL_CONST(14115.394634906341/8.0),
-    REAL_CONST(14129.92972986271/8.0),
-    REAL_CONST(14144.468563750548/8.0),
-    REAL_CONST(14159.01113464777/8.0),
-    REAL_CONST(14173.55744063476/8.0),
-    REAL_CONST(14188.107479794369/8.0),
-    REAL_CONST(14202.661250211901/8.0),
-    REAL_CONST(14217.218749975118/8.0),
-    REAL_CONST(14231.779977174227/8.0),
-    REAL_CONST(14246.344929901879/8.0),
-    REAL_CONST(14260.913606253163/8.0),
-    REAL_CONST(14275.486004325601/8.0),
-    REAL_CONST(14290.062122219146/8.0),
-    REAL_CONST(14304.641958036171/8.0),
-    REAL_CONST(14319.225509881464/8.0),
-    REAL_CONST(14333.812775862236/8.0),
-    REAL_CONST(14348.403754088098/8.0),
-    REAL_CONST(14362.998442671067/8.0),
-    REAL_CONST(14377.59683972556/8.0),
-    REAL_CONST(14392.198943368388/8.0),
-    REAL_CONST(14406.804751718748/8.0),
-    REAL_CONST(14421.414262898223/8.0),
-    REAL_CONST(14436.027475030774/8.0),
-    REAL_CONST(14450.64438624274/8.0),
-    REAL_CONST(14465.264994662828/8.0),
-    REAL_CONST(14479.889298422106/8.0),
-    REAL_CONST(14494.517295654005/8.0),
-    REAL_CONST(14509.148984494313/8.0),
-    REAL_CONST(14523.784363081166/8.0),
-    REAL_CONST(14538.423429555049/8.0),
-    REAL_CONST(14553.066182058781/8.0),
-    REAL_CONST(14567.712618737527/8.0),
-    REAL_CONST(14582.362737738777/8.0),
-    REAL_CONST(14597.016537212348/8.0),
-    REAL_CONST(14611.674015310382/8.0),
-    REAL_CONST(14626.33517018734/8.0),
-    REAL_CONST(14640.999999999993/8.0),
-    REAL_CONST(14655.668502907418/8.0),
-    REAL_CONST(14670.340677071003/8.0),
-    REAL_CONST(14685.016520654426/8.0),
-    REAL_CONST(14699.696031823671/8.0),
-    REAL_CONST(14714.379208746999/8.0),
-    REAL_CONST(14729.066049594967/8.0),
-    REAL_CONST(14743.756552540408/8.0),
-    REAL_CONST(14758.45071575843/8.0),
-    REAL_CONST(14773.148537426418/8.0),
-    REAL_CONST(14787.850015724018/8.0),
-    REAL_CONST(14802.555148833142/8.0),
-    REAL_CONST(14817.263934937961/8.0),
-    REAL_CONST(14831.976372224897/8.0),
-    REAL_CONST(14846.692458882624/8.0),
-    REAL_CONST(14861.41219310206/8.0),
-    REAL_CONST(14876.135573076363/8.0),
-    REAL_CONST(14890.862597000923/8.0),
-    REAL_CONST(14905.593263073371/8.0),
-    REAL_CONST(14920.327569493558/8.0),
-    REAL_CONST(14935.065514463557/8.0),
-    REAL_CONST(14949.807096187662/8.0),
-    REAL_CONST(14964.552312872382/8.0),
-    REAL_CONST(14979.301162726431/8.0),
-    REAL_CONST(14994.053643960735/8.0),
-    REAL_CONST(15008.809754788414/8.0),
-    REAL_CONST(15023.569493424788/8.0),
-    REAL_CONST(15038.332858087369/8.0),
-    REAL_CONST(15053.099846995858/8.0),
-    REAL_CONST(15067.870458372134/8.0),
-    REAL_CONST(15082.644690440264/8.0),
-    REAL_CONST(15097.422541426484/8.0),
-    REAL_CONST(15112.204009559202/8.0),
-    REAL_CONST(15126.989093068994/8.0),
-    REAL_CONST(15141.777790188597/8.0),
-    REAL_CONST(15156.570099152905/8.0),
-    REAL_CONST(15171.366018198967/8.0),
-    REAL_CONST(15186.165545565986/8.0),
-    REAL_CONST(15200.968679495301/8.0),
-    REAL_CONST(15215.775418230402/8.0),
-    REAL_CONST(15230.585760016909/8.0),
-    REAL_CONST(15245.399703102579/8.0),
-    REAL_CONST(15260.217245737298/8.0),
-    REAL_CONST(15275.038386173073/8.0),
-    REAL_CONST(15289.863122664035/8.0),
-    REAL_CONST(15304.691453466432/8.0),
-    REAL_CONST(15319.523376838621/8.0),
-    REAL_CONST(15334.358891041069/8.0),
-    REAL_CONST(15349.197994336346/8.0),
-    REAL_CONST(15364.040684989128/8.0),
-    REAL_CONST(15378.886961266177/8.0),
-    REAL_CONST(15393.736821436356/8.0),
-    REAL_CONST(15408.590263770609/8.0),
-    REAL_CONST(15423.447286541972/8.0),
-    REAL_CONST(15438.307888025554/8.0),
-    REAL_CONST(15453.172066498542/8.0),
-    REAL_CONST(15468.039820240196/8.0),
-    REAL_CONST(15482.91114753184/8.0),
-    REAL_CONST(15497.786046656869/8.0),
-    REAL_CONST(15512.664515900733/8.0),
-    REAL_CONST(15527.546553550939/8.0),
-    REAL_CONST(15542.432157897045/8.0),
-    REAL_CONST(15557.32132723066/8.0),
-    REAL_CONST(15572.214059845435/8.0),
-    REAL_CONST(15587.110354037064/8.0),
-    REAL_CONST(15602.010208103273/8.0),
-    REAL_CONST(15616.913620343823/8.0),
-    REAL_CONST(15631.820589060506/8.0),
-    REAL_CONST(15646.731112557136/8.0),
-    REAL_CONST(15661.645189139546/8.0),
-    REAL_CONST(15676.562817115593/8.0),
-    REAL_CONST(15691.483994795139/8.0),
-    REAL_CONST(15706.408720490062/8.0),
-    REAL_CONST(15721.336992514242/8.0),
-    REAL_CONST(15736.268809183561/8.0),
-    REAL_CONST(15751.204168815901/8.0),
-    REAL_CONST(15766.143069731135/8.0),
-    REAL_CONST(15781.085510251132/8.0),
-    REAL_CONST(15796.03148869974/8.0),
-    REAL_CONST(15810.981003402798/8.0),
-    REAL_CONST(15825.934052688119/8.0),
-    REAL_CONST(15840.890634885489/8.0),
-    REAL_CONST(15855.850748326673/8.0),
-    REAL_CONST(15870.814391345401/8.0),
-    REAL_CONST(15885.781562277361/8.0),
-    REAL_CONST(15900.752259460214/8.0),
-    REAL_CONST(15915.726481233565/8.0),
-    REAL_CONST(15930.704225938984/8.0),
-    REAL_CONST(15945.685491919978/8.0),
-    REAL_CONST(15960.670277522009/8.0),
-    REAL_CONST(15975.658581092481/8.0),
-    REAL_CONST(15990.65040098073/8.0),
-    REAL_CONST(16005.645735538035/8.0),
-    REAL_CONST(16020.644583117599/8.0),
-    REAL_CONST(16035.646942074556/8.0),
-    REAL_CONST(16050.652810765967/8.0),
-    REAL_CONST(16065.662187550806/8.0),
-    REAL_CONST(16080.675070789974/8.0),
-    REAL_CONST(16095.691458846273/8.0),
-    REAL_CONST(16110.711350084424/8.0),
-    REAL_CONST(16125.734742871053/8.0),
-    REAL_CONST(16140.761635574685/8.0),
-    REAL_CONST(16155.792026565747/8.0),
-    REAL_CONST(16170.825914216561/8.0),
-    REAL_CONST(16185.863296901338/8.0),
-    REAL_CONST(16200.904172996183/8.0),
-    REAL_CONST(16215.948540879079/8.0),
-    REAL_CONST(16230.996398929899/8.0),
-    REAL_CONST(16246.047745530386/8.0),
-    REAL_CONST(16261.102579064163/8.0),
-    REAL_CONST(16276.160897916721/8.0),
-    REAL_CONST(16291.22270047542/8.0),
-    REAL_CONST(16306.287985129484/8.0),
-    REAL_CONST(16321.356750269995/8.0),
-    REAL_CONST(16336.428994289896/8.0),
-    REAL_CONST(16351.504715583982/8.0),
-    REAL_CONST(16366.5839125489/8.0),
-    REAL_CONST(16381.666583583141/8.0),
-    REAL_CONST(16396.752727087041/8.0),
-    REAL_CONST(16411.842341462776/8.0),
-    REAL_CONST(16426.935425114363/8.0),
-    REAL_CONST(16442.031976447644/8.0),
-    REAL_CONST(16457.131993870298/8.0),
-    REAL_CONST(16472.235475791829/8.0),
-    REAL_CONST(16487.342420623561/8.0),
-    REAL_CONST(16502.452826778641/8.0),
-    REAL_CONST(16517.566692672033/8.0),
-    REAL_CONST(16532.684016720516/8.0),
-    REAL_CONST(16547.804797342676/8.0),
-    REAL_CONST(16562.929032958902/8.0),
-    REAL_CONST(16578.056721991394/8.0),
-    REAL_CONST(16593.18786286415/8.0),
-    REAL_CONST(16608.322454002962/8.0),
-    REAL_CONST(16623.460493835417/8.0),
-    REAL_CONST(16638.601980790896/8.0),
-    REAL_CONST(16653.746913300558/8.0),
-    REAL_CONST(16668.895289797354/8.0),
-    REAL_CONST(16684.047108716015/8.0),
-    REAL_CONST(16699.202368493046/8.0),
-    REAL_CONST(16714.361067566726/8.0),
-    REAL_CONST(16729.523204377107/8.0),
-    REAL_CONST(16744.688777366009/8.0),
-    REAL_CONST(16759.857784977012/8.0),
-    REAL_CONST(16775.030225655464/8.0),
-    REAL_CONST(16790.206097848466/8.0),
-    REAL_CONST(16805.385400004874/8.0),
-    REAL_CONST(16820.568130575302/8.0),
-    REAL_CONST(16835.754288012104/8.0),
-    REAL_CONST(16850.943870769381/8.0),
-    REAL_CONST(16866.136877302983/8.0),
-    REAL_CONST(16881.333306070494/8.0),
-    REAL_CONST(16896.53315553123/8.0),
-    REAL_CONST(16911.736424146249/8.0),
-    REAL_CONST(16926.943110378332/8.0),
-    REAL_CONST(16942.153212691992/8.0),
-    REAL_CONST(16957.366729553454/8.0),
-    REAL_CONST(16972.583659430682/8.0),
-    REAL_CONST(16987.804000793338/8.0),
-    REAL_CONST(17003.027752112816/8.0),
-    REAL_CONST(17018.254911862205/8.0),
-    REAL_CONST(17033.485478516312/8.0),
-    REAL_CONST(17048.719450551645/8.0),
-    REAL_CONST(17063.956826446421/8.0),
-    REAL_CONST(17079.197604680547/8.0),
-    REAL_CONST(17094.44178373563/8.0),
-    REAL_CONST(17109.689362094967/8.0),
-    REAL_CONST(17124.940338243552/8.0),
-    REAL_CONST(17140.194710668064/8.0),
-    REAL_CONST(17155.452477856852/8.0),
-    REAL_CONST(17170.713638299967/8.0),
-    REAL_CONST(17185.978190489128/8.0),
-    REAL_CONST(17201.246132917724/8.0),
-    REAL_CONST(17216.517464080825/8.0),
-    REAL_CONST(17231.792182475165/8.0),
-    REAL_CONST(17247.070286599141/8.0),
-    REAL_CONST(17262.351774952826/8.0),
-    REAL_CONST(17277.636646037936/8.0),
-    REAL_CONST(17292.924898357855/8.0),
-    REAL_CONST(17308.216530417623/8.0),
-    REAL_CONST(17323.511540723921/8.0),
-    REAL_CONST(17338.809927785089/8.0),
-    REAL_CONST(17354.111690111105/8.0),
-    REAL_CONST(17369.416826213594/8.0),
-    REAL_CONST(17384.725334605821/8.0),
-    REAL_CONST(17400.037213802683/8.0),
-    REAL_CONST(17415.352462320716/8.0),
-    REAL_CONST(17430.67107867809/8.0),
-    REAL_CONST(17445.993061394587/8.0),
-    REAL_CONST(17461.318408991636/8.0),
-    REAL_CONST(17476.647119992274/8.0),
-    REAL_CONST(17491.979192921168/8.0),
-    REAL_CONST(17507.314626304586/8.0),
-    REAL_CONST(17522.653418670423/8.0),
-    REAL_CONST(17537.995568548187/8.0),
-    REAL_CONST(17553.341074468986/8.0),
-    REAL_CONST(17568.689934965536/8.0),
-    REAL_CONST(17584.042148572156/8.0),
-    REAL_CONST(17599.397713824768/8.0),
-    REAL_CONST(17614.75662926089/8.0),
-    REAL_CONST(17630.118893419625/8.0),
-    REAL_CONST(17645.484504841683/8.0),
-    REAL_CONST(17660.853462069354/8.0),
-    REAL_CONST(17676.225763646511/8.0),
-    REAL_CONST(17691.601408118619/8.0),
-    REAL_CONST(17706.980394032718/8.0),
-    REAL_CONST(17722.362719937424/8.0),
-    REAL_CONST(17737.748384382936/8.0),
-    REAL_CONST(17753.137385921014/8.0),
-    REAL_CONST(17768.529723104999/8.0),
-    REAL_CONST(17783.92539448979/8.0),
-    REAL_CONST(17799.324398631856/8.0),
-    REAL_CONST(17814.726734089225/8.0),
-    REAL_CONST(17830.13239942148/8.0),
-    REAL_CONST(17845.541393189767/8.0),
-    REAL_CONST(17860.95371395678/8.0),
-    REAL_CONST(17876.369360286772/8.0),
-    REAL_CONST(17891.788330745527/8.0),
-    REAL_CONST(17907.210623900395/8.0),
-    REAL_CONST(17922.636238320254/8.0),
-    REAL_CONST(17938.065172575527/8.0),
-    REAL_CONST(17953.497425238176/8.0),
-    REAL_CONST(17968.932994881692/8.0),
-    REAL_CONST(17984.371880081104/8.0),
-    REAL_CONST(17999.814079412972/8.0),
-    REAL_CONST(18015.259591455371/8.0),
-    REAL_CONST(18030.708414787914/8.0),
-    REAL_CONST(18046.160547991731/8.0),
-    REAL_CONST(18061.615989649465/8.0),
-    REAL_CONST(18077.074738345284/8.0),
-    REAL_CONST(18092.536792664861/8.0),
-    REAL_CONST(18108.002151195393/8.0),
-    REAL_CONST(18123.470812525571/8.0),
-    REAL_CONST(18138.942775245599/8.0),
-    REAL_CONST(18154.418037947191/8.0),
-    REAL_CONST(18169.896599223546/8.0),
-    REAL_CONST(18185.37845766938/8.0),
-    REAL_CONST(18200.863611880886/8.0),
-    REAL_CONST(18216.352060455767/8.0),
-    REAL_CONST(18231.843801993204/8.0),
-    REAL_CONST(18247.338835093873/8.0),
-    REAL_CONST(18262.837158359936/8.0),
-    REAL_CONST(18278.338770395032/8.0),
-    REAL_CONST(18293.84366980429/8.0),
-    REAL_CONST(18309.351855194309/8.0),
-    REAL_CONST(18324.863325173166/8.0),
-    REAL_CONST(18340.378078350412/8.0),
-    REAL_CONST(18355.896113337069/8.0),
-    REAL_CONST(18371.417428745623/8.0),
-    REAL_CONST(18386.942023190033/8.0),
-    REAL_CONST(18402.469895285718/8.0),
-    REAL_CONST(18418.00104364955/8.0),
-    REAL_CONST(18433.53546689987/8.0),
-    REAL_CONST(18449.073163656474/8.0),
-    REAL_CONST(18464.614132540602/8.0),
-    REAL_CONST(18480.158372174956/8.0),
-    REAL_CONST(18495.705881183676/8.0),
-    REAL_CONST(18511.256658192357/8.0),
-    REAL_CONST(18526.810701828035/8.0),
-    REAL_CONST(18542.368010719183/8.0),
-    REAL_CONST(18557.928583495715/8.0),
-    REAL_CONST(18573.492418788985/8.0),
-    REAL_CONST(18589.059515231773/8.0),
-    REAL_CONST(18604.629871458303/8.0),
-    REAL_CONST(18620.203486104212/8.0),
-    REAL_CONST(18635.78035780658/8.0),
-    REAL_CONST(18651.360485203899/8.0),
-    REAL_CONST(18666.943866936086/8.0),
-    REAL_CONST(18682.53050164448/8.0),
-    REAL_CONST(18698.120387971841/8.0),
-    REAL_CONST(18713.713524562332/8.0),
-    REAL_CONST(18729.30991006154/8.0),
-    REAL_CONST(18744.909543116457/8.0),
-    REAL_CONST(18760.512422375479/8.0),
-    REAL_CONST(18776.118546488418/8.0),
-    REAL_CONST(18791.727914106479/8.0),
-    REAL_CONST(18807.340523882274/8.0),
-    REAL_CONST(18822.95637446981/8.0),
-    REAL_CONST(18838.575464524489/8.0),
-    REAL_CONST(18854.197792703111/8.0),
-    REAL_CONST(18869.823357663863/8.0),
-    REAL_CONST(18885.452158066328/8.0),
-    REAL_CONST(18901.08419257147/8.0),
-    REAL_CONST(18916.719459841639/8.0),
-    REAL_CONST(18932.357958540564/8.0),
-    REAL_CONST(18947.999687333362/8.0),
-    REAL_CONST(18963.644644886521/8.0),
-    REAL_CONST(18979.292829867907/8.0),
-    REAL_CONST(18994.944240946759/8.0),
-    REAL_CONST(19010.598876793687/8.0),
-    REAL_CONST(19026.256736080668/8.0),
-    REAL_CONST(19041.917817481048/8.0),
-    REAL_CONST(19057.582119669532/8.0),
-    REAL_CONST(19073.2496413222/8.0),
-    REAL_CONST(19088.920381116473/8.0),
-    REAL_CONST(19104.594337731145/8.0),
-    REAL_CONST(19120.271509846356/8.0),
-    REAL_CONST(19135.951896143604/8.0),
-    REAL_CONST(19151.635495305738/8.0),
-    REAL_CONST(19167.322306016948/8.0),
-    REAL_CONST(19183.012326962784/8.0),
-    REAL_CONST(19198.705556830122/8.0),
-    REAL_CONST(19214.401994307198/8.0),
-    REAL_CONST(19230.101638083579/8.0),
-    REAL_CONST(19245.804486850167/8.0),
-    REAL_CONST(19261.510539299208/8.0),
-    REAL_CONST(19277.219794124274/8.0),
-    REAL_CONST(19292.932250020265/8.0),
-    REAL_CONST(19308.647905683421/8.0),
-    REAL_CONST(19324.366759811302/8.0),
-    REAL_CONST(19340.088811102793/8.0),
-    REAL_CONST(19355.8140582581/8.0),
-    REAL_CONST(19371.542499978754/8.0),
-    REAL_CONST(19387.2741349676/8.0),
-    REAL_CONST(19403.008961928797/8.0),
-    REAL_CONST(19418.746979567823/8.0),
-    REAL_CONST(19434.488186591469/8.0),
-    REAL_CONST(19450.232581707827/8.0),
-    REAL_CONST(19465.980163626304/8.0),
-    REAL_CONST(19481.730931057613/8.0),
-    REAL_CONST(19497.484882713761/8.0),
-    REAL_CONST(19513.242017308068/8.0),
-    REAL_CONST(19529.002333555141/8.0),
-    REAL_CONST(19544.765830170898/8.0),
-    REAL_CONST(19560.532505872539/8.0),
-    REAL_CONST(19576.302359378566/8.0),
-    REAL_CONST(19592.075389408761/8.0),
-    REAL_CONST(19607.851594684209/8.0),
-    REAL_CONST(19623.630973927269/8.0),
-    REAL_CONST(19639.41352586159/8.0),
-    REAL_CONST(19655.199249212103/8.0),
-    REAL_CONST(19670.988142705017/8.0),
-    REAL_CONST(19686.780205067826/8.0),
-    REAL_CONST(19702.575435029288/8.0),
-    REAL_CONST(19718.373831319448/8.0),
-    REAL_CONST(19734.175392669615/8.0),
-    REAL_CONST(19749.980117812371/8.0),
-    REAL_CONST(19765.788005481569/8.0),
-    REAL_CONST(19781.599054412323/8.0),
-    REAL_CONST(19797.413263341008/8.0),
-    REAL_CONST(19813.230631005274/8.0),
-    REAL_CONST(19829.051156144014/8.0),
-    REAL_CONST(19844.874837497395/8.0),
-    REAL_CONST(19860.701673806827/8.0),
-    REAL_CONST(19876.531663814985/8.0),
-    REAL_CONST(19892.364806265789/8.0),
-    REAL_CONST(19908.201099904403/8.0),
-    REAL_CONST(19924.040543477258/8.0),
-    REAL_CONST(19939.883135732012/8.0),
-    REAL_CONST(19955.728875417579/8.0),
-    REAL_CONST(19971.577761284105/8.0),
-    REAL_CONST(19987.429792082985/8.0),
-    REAL_CONST(20003.284966566847/8.0),
-    REAL_CONST(20019.14328348956/8.0),
-    REAL_CONST(20035.004741606219/8.0),
-    REAL_CONST(20050.869339673161/8.0),
-    REAL_CONST(20066.737076447946/8.0),
-    REAL_CONST(20082.607950689362/8.0),
-    REAL_CONST(20098.481961157428/8.0),
-    REAL_CONST(20114.359106613385/8.0),
-    REAL_CONST(20130.239385819699/8.0),
-    REAL_CONST(20146.122797540058/8.0),
-    REAL_CONST(20162.009340539353/8.0),
-    REAL_CONST(20177.899013583716/8.0),
-    REAL_CONST(20193.791815440476/8.0),
-    REAL_CONST(20209.687744878182/8.0),
-    REAL_CONST(20225.586800666591/8.0),
-    REAL_CONST(20241.488981576669/8.0),
-    REAL_CONST(20257.394286380597/8.0),
-    REAL_CONST(20273.302713851754/8.0),
-    REAL_CONST(20289.214262764715/8.0),
-    REAL_CONST(20305.128931895277/8.0),
-    REAL_CONST(20321.046720020415/8.0),
-    REAL_CONST(20336.967625918318/8.0),
-    REAL_CONST(20352.891648368361/8.0),
-    REAL_CONST(20368.818786151114/8.0),
-    REAL_CONST(20384.749038048347/8.0),
-    REAL_CONST(20400.682402843009/8.0),
-    REAL_CONST(20416.618879319249/8.0),
-    REAL_CONST(20432.558466262391/8.0),
-    REAL_CONST(20448.501162458953/8.0),
-    REAL_CONST(20464.446966696629/8.0),
-    REAL_CONST(20480.395877764302/8.0),
-    REAL_CONST(20496.347894452025/8.0),
-    REAL_CONST(20512.303015551031/8.0),
-    REAL_CONST(20528.261239853735/8.0),
-    REAL_CONST(20544.22256615372/8.0),
-    REAL_CONST(20560.186993245738/8.0),
-    REAL_CONST(20576.15451992572/8.0),
-    REAL_CONST(20592.125144990758/8.0),
-    REAL_CONST(20608.098867239107/8.0),
-    REAL_CONST(20624.075685470198/8.0),
-    REAL_CONST(20640.055598484618/8.0),
-    REAL_CONST(20656.038605084115/8.0),
-    REAL_CONST(20672.024704071595/8.0),
-    REAL_CONST(20688.013894251126/8.0),
-    REAL_CONST(20704.006174427926/8.0),
-    REAL_CONST(20720.001543408373/8.0),
-    REAL_CONST(20735.999999999989/8.0),
-    REAL_CONST(20752.001543011454/8.0),
-    REAL_CONST(20768.006171252597/8.0),
-    REAL_CONST(20784.013883534382/8.0),
-    REAL_CONST(20800.024678668931/8.0),
-    REAL_CONST(20816.038555469506/8.0),
-    REAL_CONST(20832.055512750507/8.0),
-    REAL_CONST(20848.075549327474/8.0),
-    REAL_CONST(20864.098664017085/8.0),
-    REAL_CONST(20880.124855637161/8.0),
-    REAL_CONST(20896.154123006647/8.0),
-    REAL_CONST(20912.186464945626/8.0),
-    REAL_CONST(20928.221880275312/8.0),
-    REAL_CONST(20944.260367818049/8.0),
-    REAL_CONST(20960.301926397311/8.0),
-    REAL_CONST(20976.346554837684/8.0),
-    REAL_CONST(20992.394251964895/8.0),
-    REAL_CONST(21008.445016605787/8.0),
-    REAL_CONST(21024.498847588318/8.0),
-    REAL_CONST(21040.555743741574/8.0),
-    REAL_CONST(21056.615703895754/8.0),
-    REAL_CONST(21072.678726882168/8.0),
-    REAL_CONST(21088.744811533252/8.0),
-    REAL_CONST(21104.813956682538/8.0),
-    REAL_CONST(21120.886161164683/8.0),
-    REAL_CONST(21136.961423815443/8.0),
-    REAL_CONST(21153.039743471683/8.0),
-    REAL_CONST(21169.121118971379/8.0),
-    REAL_CONST(21185.205549153605/8.0),
-    REAL_CONST(21201.293032858535/8.0),
-    REAL_CONST(21217.383568927453/8.0),
-    REAL_CONST(21233.477156202731/8.0),
-    REAL_CONST(21249.573793527841/8.0),
-    REAL_CONST(21265.673479747358/8.0),
-    REAL_CONST(21281.776213706937/8.0),
-    REAL_CONST(21297.881994253334/8.0),
-    REAL_CONST(21313.990820234398/8.0),
-    REAL_CONST(21330.102690499054/8.0),
-    REAL_CONST(21346.21760389733/8.0),
-    REAL_CONST(21362.335559280327/8.0),
-    REAL_CONST(21378.456555500241/8.0),
-    REAL_CONST(21394.580591410333/8.0),
-    REAL_CONST(21410.707665864964/8.0),
-    REAL_CONST(21426.83777771956/8.0),
-    REAL_CONST(21442.970925830628/8.0),
-    REAL_CONST(21459.107109055756/8.0),
-    REAL_CONST(21475.246326253604/8.0),
-    REAL_CONST(21491.388576283895/8.0),
-    REAL_CONST(21507.533858007431/8.0),
-    REAL_CONST(21523.682170286087/8.0),
-    REAL_CONST(21539.833511982797/8.0),
-    REAL_CONST(21555.987881961566/8.0),
-    REAL_CONST(21572.145279087465/8.0),
-    REAL_CONST(21588.305702226615/8.0),
-    REAL_CONST(21604.469150246216/8.0),
-    REAL_CONST(21620.635622014521/8.0),
-    REAL_CONST(21636.805116400832/8.0),
-    REAL_CONST(21652.977632275521/8.0),
-    REAL_CONST(21669.153168510009/8.0),
-    REAL_CONST(21685.331723976764/8.0),
-    REAL_CONST(21701.513297549318/8.0),
-    REAL_CONST(21717.697888102244/8.0),
-    REAL_CONST(21733.885494511167/8.0),
-    REAL_CONST(21750.076115652759/8.0),
-    REAL_CONST(21766.269750404736/8.0),
-    REAL_CONST(21782.466397645861/8.0),
-    REAL_CONST(21798.666056255934/8.0),
-    REAL_CONST(21814.868725115801/8.0),
-    REAL_CONST(21831.074403107345/8.0),
-    REAL_CONST(21847.283089113484/8.0),
-    REAL_CONST(21863.494782018177/8.0),
-    REAL_CONST(21879.709480706417/8.0),
-    REAL_CONST(21895.927184064229/8.0),
-    REAL_CONST(21912.147890978667/8.0),
-    REAL_CONST(21928.371600337818/8.0),
-    REAL_CONST(21944.598311030797/8.0),
-    REAL_CONST(21960.828021947746/8.0),
-    REAL_CONST(21977.060731979829/8.0),
-    REAL_CONST(21993.296440019243/8.0),
-    REAL_CONST(22009.535144959198/8.0),
-    REAL_CONST(22025.77684569393/8.0),
-    REAL_CONST(22042.021541118691/8.0),
-    REAL_CONST(22058.269230129757/8.0),
-    REAL_CONST(22074.519911624411/8.0),
-    REAL_CONST(22090.773584500959/8.0),
-    REAL_CONST(22107.030247658717/8.0),
-    REAL_CONST(22123.289899998013/8.0),
-    REAL_CONST(22139.552540420187/8.0),
-    REAL_CONST(22155.818167827587/8.0),
-    REAL_CONST(22172.086781123569/8.0),
-    REAL_CONST(22188.358379212495/8.0),
-    REAL_CONST(22204.632960999726/8.0),
-    REAL_CONST(22220.910525391639/8.0),
-    REAL_CONST(22237.191071295601/8.0),
-    REAL_CONST(22253.474597619981/8.0),
-    REAL_CONST(22269.761103274148/8.0),
-    REAL_CONST(22286.050587168469/8.0),
-    REAL_CONST(22302.343048214312/8.0),
-    REAL_CONST(22318.638485324027/8.0),
-    REAL_CONST(22334.936897410968/8.0),
-    REAL_CONST(22351.23828338947/8.0),
-    REAL_CONST(22367.542642174871/8.0),
-    REAL_CONST(22383.849972683485/8.0),
-    REAL_CONST(22400.160273832618/8.0),
-    REAL_CONST(22416.473544540564/8.0),
-    REAL_CONST(22432.789783726603/8.0),
-    REAL_CONST(22449.108990310986/8.0),
-    REAL_CONST(22465.431163214958/8.0),
-    REAL_CONST(22481.75630136074/8.0),
-    REAL_CONST(22498.084403671528/8.0),
-    REAL_CONST(22514.415469071497/8.0),
-    REAL_CONST(22530.749496485802/8.0),
-    REAL_CONST(22547.086484840562/8.0),
-    REAL_CONST(22563.426433062879/8.0),
-    REAL_CONST(22579.769340080824/8.0),
-    REAL_CONST(22596.115204823436/8.0),
-    REAL_CONST(22612.464026220721/8.0),
-    REAL_CONST(22628.815803203655/8.0),
-    REAL_CONST(22645.170534704179/8.0),
-    REAL_CONST(22661.5282196552/8.0),
-    REAL_CONST(22677.888856990587/8.0),
-    REAL_CONST(22694.252445645168/8.0),
-    REAL_CONST(22710.618984554734/8.0),
-    REAL_CONST(22726.988472656034/8.0),
-    REAL_CONST(22743.360908886778/8.0),
-    REAL_CONST(22759.736292185622/8.0),
-    REAL_CONST(22776.114621492186/8.0),
-    REAL_CONST(22792.495895747044/8.0),
-    REAL_CONST(22808.880113891719/8.0),
-    REAL_CONST(22825.267274868678/8.0),
-    REAL_CONST(22841.657377621348/8.0),
-    REAL_CONST(22858.050421094096/8.0),
-    REAL_CONST(22874.446404232243/8.0),
-    REAL_CONST(22890.845325982053/8.0),
-    REAL_CONST(22907.247185290722/8.0),
-    REAL_CONST(22923.651981106406/8.0),
-    REAL_CONST(22940.059712378195/8.0),
-    REAL_CONST(22956.470378056114/8.0),
-    REAL_CONST(22972.883977091129/8.0),
-    REAL_CONST(22989.300508435153/8.0),
-    REAL_CONST(23005.719971041017/8.0),
-    REAL_CONST(23022.142363862498/8.0),
-    REAL_CONST(23038.567685854305/8.0),
-    REAL_CONST(23054.995935972078/8.0),
-    REAL_CONST(23071.427113172387/8.0),
-    REAL_CONST(23087.86121641273/8.0),
-    REAL_CONST(23104.298244651531/8.0),
-    REAL_CONST(23120.738196848146/8.0),
-    REAL_CONST(23137.181071962848/8.0),
-    REAL_CONST(23153.626868956846/8.0),
-    REAL_CONST(23170.075586792263/8.0),
-    REAL_CONST(23186.527224432142/8.0),
-    REAL_CONST(23202.981780840448/8.0),
-    REAL_CONST(23219.439254982066/8.0),
-    REAL_CONST(23235.899645822796/8.0),
-    REAL_CONST(23252.362952329357/8.0),
-    REAL_CONST(23268.829173469378/8.0),
-    REAL_CONST(23285.298308211408/8.0),
-    REAL_CONST(23301.770355524899/8.0),
-    REAL_CONST(23318.245314380223/8.0),
-    REAL_CONST(23334.723183748658/8.0),
-    REAL_CONST(23351.203962602387/8.0),
-    REAL_CONST(23367.687649914504/8.0),
-    REAL_CONST(23384.174244659007/8.0),
-    REAL_CONST(23400.663745810798/8.0),
-    REAL_CONST(23417.15615234568/8.0),
-    REAL_CONST(23433.651463240367/8.0),
-    REAL_CONST(23450.149677472462/8.0),
-    REAL_CONST(23466.650794020472/8.0),
-    REAL_CONST(23483.154811863806/8.0),
-    REAL_CONST(23499.661729982763/8.0),
-    REAL_CONST(23516.171547358543/8.0),
-    REAL_CONST(23532.684262973235/8.0),
-    REAL_CONST(23549.199875809823/8.0),
-    REAL_CONST(23565.718384852185/8.0),
-    REAL_CONST(23582.239789085092/8.0),
-    REAL_CONST(23598.764087494197/8.0),
-    REAL_CONST(23615.291279066041/8.0),
-    REAL_CONST(23631.821362788058/8.0),
-    REAL_CONST(23648.354337648565/8.0),
-    REAL_CONST(23664.890202636761/8.0),
-    REAL_CONST(23681.428956742733/8.0),
-    REAL_CONST(23697.970598957443/8.0),
-    REAL_CONST(23714.515128272738/8.0),
-    REAL_CONST(23731.062543681343/8.0),
-    REAL_CONST(23747.612844176863/8.0),
-    REAL_CONST(23764.166028753778/8.0),
-    REAL_CONST(23780.72209640744/8.0),
-    REAL_CONST(23797.281046134085/8.0),
-    REAL_CONST(23813.842876930816/8.0),
-    REAL_CONST(23830.407587795606/8.0),
-    REAL_CONST(23846.975177727301/8.0),
-    REAL_CONST(23863.545645725622/8.0),
-    REAL_CONST(23880.11899079115/8.0),
-    REAL_CONST(23896.695211925336/8.0),
-    REAL_CONST(23913.274308130498/8.0),
-    REAL_CONST(23929.856278409821/8.0),
-    REAL_CONST(23946.441121767348/8.0),
-    REAL_CONST(23963.028837207989/8.0),
-    REAL_CONST(23979.619423737513/8.0),
-    REAL_CONST(23996.212880362549/8.0),
-    REAL_CONST(24012.809206090584/8.0),
-    REAL_CONST(24029.408399929966/8.0),
-    REAL_CONST(24046.010460889898/8.0),
-    REAL_CONST(24062.615387980433/8.0),
-    REAL_CONST(24079.223180212492/8.0),
-    REAL_CONST(24095.833836597827/8.0),
-    REAL_CONST(24112.447356149063/8.0),
-    REAL_CONST(24129.063737879667/8.0),
-    REAL_CONST(24145.682980803951/8.0),
-    REAL_CONST(24162.305083937081/8.0),
-    REAL_CONST(24178.930046295067/8.0),
-    REAL_CONST(24195.557866894767/8.0),
-    REAL_CONST(24212.188544753884/8.0),
-    REAL_CONST(24228.822078890964/8.0),
-    REAL_CONST(24245.458468325389/8.0),
-    REAL_CONST(24262.097712077397/8.0),
-    REAL_CONST(24278.739809168052/8.0),
-    REAL_CONST(24295.384758619261/8.0),
-    REAL_CONST(24312.032559453768/8.0),
-    REAL_CONST(24328.683210695162/8.0),
-    REAL_CONST(24345.336711367858/8.0),
-    REAL_CONST(24361.993060497109/8.0),
-    REAL_CONST(24378.652257108995/8.0),
-    REAL_CONST(24395.314300230442/8.0),
-    REAL_CONST(24411.979188889192/8.0),
-    REAL_CONST(24428.646922113825/8.0),
-    REAL_CONST(24445.317498933746/8.0),
-    REAL_CONST(24461.990918379193/8.0),
-    REAL_CONST(24478.667179481225/8.0),
-    REAL_CONST(24495.346281271726/8.0),
-    REAL_CONST(24512.028222783407/8.0),
-    REAL_CONST(24528.713003049801/8.0),
-    REAL_CONST(24545.400621105266/8.0),
-    REAL_CONST(24562.091075984976/8.0),
-    REAL_CONST(24578.784366724925/8.0),
-    REAL_CONST(24595.480492361927/8.0),
-    REAL_CONST(24612.179451933614/8.0),
-    REAL_CONST(24628.881244478438/8.0),
-    REAL_CONST(24645.585869035654/8.0),
-    REAL_CONST(24662.293324645343/8.0),
-    REAL_CONST(24679.003610348394/8.0),
-    REAL_CONST(24695.716725186514/8.0),
-    REAL_CONST(24712.432668202211/8.0),
-    REAL_CONST(24729.151438438807/8.0),
-    REAL_CONST(24745.873034940436/8.0),
-    REAL_CONST(24762.597456752032/8.0),
-    REAL_CONST(24779.324702919344/8.0),
-    REAL_CONST(24796.054772488926/8.0),
-    REAL_CONST(24812.787664508123/8.0),
-    REAL_CONST(24829.5233780251/8.0),
-    REAL_CONST(24846.261912088819/8.0),
-    REAL_CONST(24863.003265749034/8.0),
-    REAL_CONST(24879.747438056307/8.0),
-    REAL_CONST(24896.494428062004/8.0),
-    REAL_CONST(24913.244234818278/8.0),
-    REAL_CONST(24929.996857378079/8.0),
-    REAL_CONST(24946.752294795166/8.0),
-    REAL_CONST(24963.510546124078/8.0),
-    REAL_CONST(24980.271610420157/8.0),
-    REAL_CONST(24997.035486739525/8.0),
-    REAL_CONST(25013.802174139113/8.0),
-    REAL_CONST(25030.571671676629/8.0),
-    REAL_CONST(25047.343978410572/8.0),
-    REAL_CONST(25064.119093400237/8.0),
-    REAL_CONST(25080.897015705697/8.0),
-    REAL_CONST(25097.677744387816/8.0),
-    REAL_CONST(25114.461278508239/8.0),
-    REAL_CONST(25131.2476171294/8.0),
-    REAL_CONST(25148.036759314517/8.0),
-    REAL_CONST(25164.828704127583/8.0),
-    REAL_CONST(25181.623450633375/8.0),
-    REAL_CONST(25198.42099789745/8.0),
-    REAL_CONST(25215.221344986145/8.0),
-    REAL_CONST(25232.024490966574/8.0),
-    REAL_CONST(25248.830434906627/8.0),
-    REAL_CONST(25265.639175874974/8.0),
-    REAL_CONST(25282.450712941049/8.0),
-    REAL_CONST(25299.265045175071/8.0),
-    REAL_CONST(25316.082171648024/8.0),
-    REAL_CONST(25332.902091431668/8.0),
-    REAL_CONST(25349.724803598532/8.0),
-    REAL_CONST(25366.550307221914/8.0),
-    REAL_CONST(25383.378601375884/8.0),
-    REAL_CONST(25400.209685135269/8.0),
-    REAL_CONST(25417.043557575678/8.0),
-    REAL_CONST(25433.880217773472/8.0),
-    REAL_CONST(25450.719664805783/8.0),
-    REAL_CONST(25467.561897750507/8.0),
-    REAL_CONST(25484.406915686297/8.0),
-    REAL_CONST(25501.254717692573/8.0),
-    REAL_CONST(25518.105302849512/8.0),
-    REAL_CONST(25534.958670238051/8.0),
-    REAL_CONST(25551.814818939893/8.0),
-    REAL_CONST(25568.67374803748/8.0),
-    REAL_CONST(25585.535456614027/8.0),
-    REAL_CONST(25602.399943753502/8.0),
-    REAL_CONST(25619.267208540619/8.0),
-    REAL_CONST(25636.137250060852/8.0),
-    REAL_CONST(25653.010067400432/8.0),
-    REAL_CONST(25669.885659646327/8.0),
-    REAL_CONST(25686.76402588627/8.0),
-    REAL_CONST(25703.645165208734/8.0),
-    REAL_CONST(25720.529076702944/8.0),
-    REAL_CONST(25737.415759458876/8.0),
-    REAL_CONST(25754.305212567244/8.0),
-    REAL_CONST(25771.197435119517/8.0),
-    REAL_CONST(25788.092426207899/8.0),
-    REAL_CONST(25804.990184925344/8.0),
-    REAL_CONST(25821.890710365547/8.0),
-    REAL_CONST(25838.794001622944/8.0),
-    REAL_CONST(25855.700057792714/8.0),
-    REAL_CONST(25872.608877970775/8.0),
-    REAL_CONST(25889.520461253778/8.0),
-    REAL_CONST(25906.434806739118/8.0),
-    REAL_CONST(25923.351913524923/8.0),
-    REAL_CONST(25940.271780710063/8.0),
-    REAL_CONST(25957.194407394138/8.0),
-    REAL_CONST(25974.11979267748/8.0),
-    REAL_CONST(25991.047935661154/8.0),
-    REAL_CONST(26007.978835446964/8.0),
-    REAL_CONST(26024.912491137442/8.0),
-    REAL_CONST(26041.848901835841/8.0),
-    REAL_CONST(26058.788066646157/8.0),
-    REAL_CONST(26075.729984673108/8.0),
-    REAL_CONST(26092.674655022136/8.0),
-    REAL_CONST(26109.622076799409/8.0),
-    REAL_CONST(26126.572249111829/8.0),
-    REAL_CONST(26143.525171067016/8.0),
-    REAL_CONST(26160.480841773315/8.0),
-    REAL_CONST(26177.43926033979/8.0),
-    REAL_CONST(26194.400425876229/8.0),
-    REAL_CONST(26211.364337493149/8.0),
-    REAL_CONST(26228.330994301767/8.0),
-    REAL_CONST(26245.30039541404/8.0),
-    REAL_CONST(26262.272539942627/8.0),
-    REAL_CONST(26279.247427000919/8.0),
-    REAL_CONST(26296.225055703002/8.0),
-    REAL_CONST(26313.205425163702/8.0),
-    REAL_CONST(26330.188534498539/8.0),
-    REAL_CONST(26347.174382823756/8.0),
-    REAL_CONST(26364.162969256304/8.0),
-    REAL_CONST(26381.154292913852/8.0),
-    REAL_CONST(26398.148352914774/8.0),
-    REAL_CONST(26415.145148378149/8.0),
-    REAL_CONST(26432.144678423778/8.0),
-    REAL_CONST(26449.146942172156/8.0),
-    REAL_CONST(26466.151938744493/8.0),
-    REAL_CONST(26483.159667262702/8.0),
-    REAL_CONST(26500.170126849403/8.0),
-    REAL_CONST(26517.183316627921/8.0),
-    REAL_CONST(26534.199235722277/8.0),
-    REAL_CONST(26551.217883257199/8.0),
-    REAL_CONST(26568.239258358124/8.0),
-    REAL_CONST(26585.263360151173/8.0),
-    REAL_CONST(26602.290187763181/8.0),
-    REAL_CONST(26619.319740321676/8.0),
-    REAL_CONST(26636.352016954883/8.0),
-    REAL_CONST(26653.387016791727/8.0),
-    REAL_CONST(26670.424738961825/8.0),
-    REAL_CONST(26687.465182595493/8.0),
-    REAL_CONST(26704.508346823739/8.0),
-    REAL_CONST(26721.554230778267/8.0),
-    REAL_CONST(26738.602833591467/8.0),
-    REAL_CONST(26755.65415439643/8.0),
-    REAL_CONST(26772.708192326929/8.0),
-    REAL_CONST(26789.764946517433/8.0),
-    REAL_CONST(26806.824416103096/8.0),
-    REAL_CONST(26823.886600219761/8.0),
-    REAL_CONST(26840.95149800396/8.0),
-    REAL_CONST(26858.019108592915/8.0),
-    REAL_CONST(26875.089431124517/8.0),
-    REAL_CONST(26892.162464737365/8.0),
-    REAL_CONST(26909.238208570721/8.0),
-    REAL_CONST(26926.316661764544/8.0),
-    REAL_CONST(26943.397823459472/8.0),
-    REAL_CONST(26960.481692796813/8.0),
-    REAL_CONST(26977.568268918571/8.0),
-    REAL_CONST(26994.657550967422/8.0),
-    REAL_CONST(27011.749538086722/8.0),
-    REAL_CONST(27028.844229420498/8.0),
-    REAL_CONST(27045.941624113464/8.0),
-    REAL_CONST(27063.041721311005/8.0),
-    REAL_CONST(27080.144520159181/8.0),
-    REAL_CONST(27097.250019804727/8.0),
-    REAL_CONST(27114.35821939505/8.0),
-    REAL_CONST(27131.469118078236/8.0),
-    REAL_CONST(27148.582715003027/8.0),
-    REAL_CONST(27165.699009318858/8.0),
-    REAL_CONST(27182.818000175819/8.0),
-    REAL_CONST(27199.939686724665/8.0),
-    REAL_CONST(27217.064068116837/8.0),
-    REAL_CONST(27234.191143504428/8.0),
-    REAL_CONST(27251.320912040203/8.0),
-    REAL_CONST(27268.453372877593/8.0),
-    REAL_CONST(27285.588525170693/8.0),
-    REAL_CONST(27302.726368074269/8.0),
-    REAL_CONST(27319.866900743735/8.0),
-    REAL_CONST(27337.010122335181/8.0),
-    REAL_CONST(27354.156032005358/8.0),
-    REAL_CONST(27371.304628911668/8.0),
-    REAL_CONST(27388.455912212183/8.0),
-    REAL_CONST(27405.609881065626/8.0),
-    REAL_CONST(27422.766534631384/8.0),
-    REAL_CONST(27439.925872069507/8.0),
-    REAL_CONST(27457.087892540683/8.0),
-    REAL_CONST(27474.252595206275/8.0),
-    REAL_CONST(27491.419979228293/8.0),
-    REAL_CONST(27508.5900437694/8.0),
-    REAL_CONST(27525.762787992917/8.0),
-    REAL_CONST(27542.93821106281/8.0),
-    REAL_CONST(27560.116312143706/8.0),
-    REAL_CONST(27577.297090400876/8.0),
-    REAL_CONST(27594.480545000242/8.0),
-    REAL_CONST(27611.666675108383/8.0),
-    REAL_CONST(27628.855479892518/8.0),
-    REAL_CONST(27646.046958520514/8.0),
-    REAL_CONST(27663.241110160889/8.0),
-    REAL_CONST(27680.437933982801/8.0),
-    REAL_CONST(27697.637429156068/8.0),
-    REAL_CONST(27714.839594851132/8.0),
-    REAL_CONST(27732.04443023909/8.0),
-    REAL_CONST(27749.251934491687/8.0),
-    REAL_CONST(27766.462106781299/8.0),
-    REAL_CONST(27783.674946280949/8.0),
-    REAL_CONST(27800.890452164302/8.0),
-    REAL_CONST(27818.108623605654/8.0),
-    REAL_CONST(27835.329459779954/8.0),
-    REAL_CONST(27852.55295986278/8.0),
-    REAL_CONST(27869.779123030345/8.0),
-    REAL_CONST(27887.007948459504/8.0),
-    REAL_CONST(27904.239435327745/8.0),
-    REAL_CONST(27921.473582813196/8.0),
-    REAL_CONST(27938.710390094613/8.0),
-    REAL_CONST(27955.949856351392/8.0),
-    REAL_CONST(27973.19198076355/8.0),
-    REAL_CONST(27990.436762511745/8.0),
-    REAL_CONST(28007.684200777272/8.0),
-    REAL_CONST(28024.934294742041/8.0),
-    REAL_CONST(28042.187043588601/8.0),
-    REAL_CONST(28059.442446500128/8.0),
-    REAL_CONST(28076.700502660427/8.0),
-    REAL_CONST(28093.961211253929/8.0),
-    REAL_CONST(28111.224571465693/8.0),
-    REAL_CONST(28128.490582481401/8.0),
-    REAL_CONST(28145.759243487362/8.0),
-    REAL_CONST(28163.030553670509/8.0),
-    REAL_CONST(28180.304512218394/8.0),
-    REAL_CONST(28197.581118319198/8.0),
-    REAL_CONST(28214.860371161725/8.0),
-    REAL_CONST(28232.14226993539/8.0),
-    REAL_CONST(28249.42681383024/8.0),
-    REAL_CONST(28266.71400203693/8.0),
-    REAL_CONST(28284.003833746745/8.0),
-    REAL_CONST(28301.296308151585/8.0),
-    REAL_CONST(28318.591424443959/8.0),
-    REAL_CONST(28335.889181817001/8.0),
-    REAL_CONST(28353.189579464462/8.0),
-    REAL_CONST(28370.492616580705/8.0),
-    REAL_CONST(28387.798292360701/8.0),
-    REAL_CONST(28405.106606000048/8.0),
-    REAL_CONST(28422.417556694945/8.0),
-    REAL_CONST(28439.731143642206/8.0),
-    REAL_CONST(28457.047366039264/8.0),
-    REAL_CONST(28474.366223084147/8.0),
-    REAL_CONST(28491.687713975512/8.0),
-    REAL_CONST(28509.011837912611/8.0),
-    REAL_CONST(28526.338594095305/8.0),
-    REAL_CONST(28543.667981724069/8.0),
-    REAL_CONST(28560.999999999982/8.0),
-    REAL_CONST(28578.334648124732/8.0),
-    REAL_CONST(28595.671925300605/8.0),
-    REAL_CONST(28613.011830730498/8.0),
-    REAL_CONST(28630.354363617909/8.0),
-    REAL_CONST(28647.699523166943/8.0),
-    REAL_CONST(28665.0473085823/8.0),
-    REAL_CONST(28682.397719069289/8.0),
-    REAL_CONST(28699.750753833818/8.0),
-    REAL_CONST(28717.10641208239/8.0),
-    REAL_CONST(28734.464693022121/8.0),
-    REAL_CONST(28751.825595860708/8.0),
-    REAL_CONST(28769.189119806462/8.0),
-    REAL_CONST(28786.55526406828/8.0),
-    REAL_CONST(28803.924027855664/8.0),
-    REAL_CONST(28821.295410378701/8.0),
-    REAL_CONST(28838.669410848088/8.0),
-    REAL_CONST(28856.046028475103/8.0),
-    REAL_CONST(28873.425262471628/8.0),
-    REAL_CONST(28890.80711205013/8.0),
-    REAL_CONST(28908.191576423673/8.0),
-    REAL_CONST(28925.578654805915/8.0),
-    REAL_CONST(28942.968346411097/8.0),
-    REAL_CONST(28960.360650454055/8.0),
-    REAL_CONST(28977.755566150216/8.0),
-    REAL_CONST(28995.153092715591/8.0),
-    REAL_CONST(29012.553229366786/8.0),
-    REAL_CONST(29029.955975320987/8.0),
-    REAL_CONST(29047.361329795975/8.0),
-    REAL_CONST(29064.769292010107/8.0),
-    REAL_CONST(29082.179861182336/8.0),
-    REAL_CONST(29099.593036532187/8.0),
-    REAL_CONST(29117.00881727978/8.0),
-    REAL_CONST(29134.427202645813/8.0),
-    REAL_CONST(29151.848191851568/8.0),
-    REAL_CONST(29169.271784118911/8.0),
-    REAL_CONST(29186.697978670283/8.0),
-    REAL_CONST(29204.126774728706/8.0),
-    REAL_CONST(29221.55817151779/8.0),
-    REAL_CONST(29238.992168261717/8.0),
-    REAL_CONST(29256.42876418525/8.0),
-    REAL_CONST(29273.867958513725/8.0),
-    REAL_CONST(29291.309750473058/8.0),
-    REAL_CONST(29308.754139289747/8.0),
-    REAL_CONST(29326.201124190855/8.0),
-    REAL_CONST(29343.65070440403/8.0),
-    REAL_CONST(29361.102879157483/8.0),
-    REAL_CONST(29378.557647680012/8.0),
-    REAL_CONST(29396.015009200975/8.0),
-    REAL_CONST(29413.474962950309/8.0),
-    REAL_CONST(29430.937508158524/8.0),
-    REAL_CONST(29448.402644056692/8.0),
-    REAL_CONST(29465.870369876469/8.0),
-    REAL_CONST(29483.340684850071/8.0),
-    REAL_CONST(29500.81358821028/8.0),
-    REAL_CONST(29518.289079190454/8.0),
-    REAL_CONST(29535.767157024511/8.0),
-    REAL_CONST(29553.247820946945/8.0),
-    REAL_CONST(29570.731070192807/8.0),
-    REAL_CONST(29588.216903997723/8.0),
-    REAL_CONST(29605.70532159787/8.0),
-    REAL_CONST(29623.19632223/8.0),
-    REAL_CONST(29640.689905131429/8.0),
-    REAL_CONST(29658.186069540028/8.0),
-    REAL_CONST(29675.684814694236/8.0),
-    REAL_CONST(29693.186139833047/8.0),
-    REAL_CONST(29710.690044196028/8.0),
-    REAL_CONST(29728.196527023298/8.0),
-    REAL_CONST(29745.705587555527/8.0),
-    REAL_CONST(29763.217225033964/8.0),
-    REAL_CONST(29780.731438700397/8.0),
-    REAL_CONST(29798.248227797183/8.0),
-    REAL_CONST(29815.76759156723/8.0),
-    REAL_CONST(29833.289529254005/8.0),
-    REAL_CONST(29850.81404010153/8.0),
-    REAL_CONST(29868.341123354381/8.0),
-    REAL_CONST(29885.870778257693/8.0),
-    REAL_CONST(29903.403004057145/8.0),
-    REAL_CONST(29920.937799998974/8.0),
-    REAL_CONST(29938.475165329975/8.0),
-    REAL_CONST(29956.015099297485/8.0),
-    REAL_CONST(29973.557601149394/8.0),
-    REAL_CONST(29991.102670134147/8.0),
-    REAL_CONST(30008.650305500738/8.0),
-    REAL_CONST(30026.200506498706/8.0),
-    REAL_CONST(30043.753272378144/8.0),
-    REAL_CONST(30061.308602389683/8.0),
-    REAL_CONST(30078.866495784507/8.0),
-    REAL_CONST(30096.426951814352/8.0),
-    REAL_CONST(30113.989969731494/8.0),
-    REAL_CONST(30131.55554878875/8.0),
-    REAL_CONST(30149.123688239491/8.0),
-    REAL_CONST(30166.694387337629/8.0),
-    REAL_CONST(30184.267645337608/8.0),
-    REAL_CONST(30201.843461494434/8.0),
-    REAL_CONST(30219.42183506364/8.0),
-    REAL_CONST(30237.002765301309/8.0),
-    REAL_CONST(30254.586251464058/8.0),
-    REAL_CONST(30272.172292809046/8.0),
-    REAL_CONST(30289.760888593977/8.0),
-    REAL_CONST(30307.35203807709/8.0),
-    REAL_CONST(30324.94574051716/8.0),
-    REAL_CONST(30342.541995173502/8.0),
-    REAL_CONST(30360.140801305966/8.0),
-    REAL_CONST(30377.742158174944/8.0),
-    REAL_CONST(30395.346065041358/8.0),
-    REAL_CONST(30412.952521166666/8.0),
-    REAL_CONST(30430.561525812864/8.0),
-    REAL_CONST(30448.173078242475/8.0),
-    REAL_CONST(30465.787177718561/8.0),
-    REAL_CONST(30483.403823504719/8.0),
-    REAL_CONST(30501.02301486507/8.0),
-    REAL_CONST(30518.644751064272/8.0),
-    REAL_CONST(30536.269031367516/8.0),
-    REAL_CONST(30553.895855040515/8.0),
-    REAL_CONST(30571.525221349519/8.0),
-    REAL_CONST(30589.157129561307/8.0),
-    REAL_CONST(30606.791578943175/8.0),
-    REAL_CONST(30624.428568762964/8.0),
-    REAL_CONST(30642.06809828903/8.0),
-    REAL_CONST(30659.710166790261/8.0),
-    REAL_CONST(30677.35477353607/8.0),
-    REAL_CONST(30695.001917796391/8.0),
-    REAL_CONST(30712.651598841687/8.0),
-    REAL_CONST(30730.303815942945/8.0),
-    REAL_CONST(30747.958568371676/8.0),
-    REAL_CONST(30765.615855399912/8.0),
-    REAL_CONST(30783.275676300211/8.0),
-    REAL_CONST(30800.938030345646/8.0),
-    REAL_CONST(30818.602916809814/8.0),
-    REAL_CONST(30836.270334966837/8.0),
-    REAL_CONST(30853.940284091354/8.0),
-    REAL_CONST(30871.612763458521/8.0),
-    REAL_CONST(30889.287772344011/8.0),
-    REAL_CONST(30906.965310024025/8.0),
-    REAL_CONST(30924.645375775272/8.0),
-    REAL_CONST(30942.327968874983/8.0),
-    REAL_CONST(30960.013088600903/8.0),
-    REAL_CONST(30977.700734231294/8.0),
-    REAL_CONST(30995.390905044929/8.0),
-    REAL_CONST(31013.083600321101/8.0),
-    REAL_CONST(31030.778819339619/8.0),
-    REAL_CONST(31048.476561380798/8.0),
-    REAL_CONST(31066.17682572547/8.0),
-    REAL_CONST(31083.879611654978/8.0),
-    REAL_CONST(31101.584918451179/8.0),
-    REAL_CONST(31119.29274539644/8.0),
-    REAL_CONST(31137.003091773637/8.0),
-    REAL_CONST(31154.715956866155/8.0),
-    REAL_CONST(31172.431339957893/8.0),
-    REAL_CONST(31190.14924033326/8.0),
-    REAL_CONST(31207.869657277162/8.0),
-    REAL_CONST(31225.592590075023/8.0),
-    REAL_CONST(31243.318038012771/8.0),
-    REAL_CONST(31261.046000376838/8.0),
-    REAL_CONST(31278.776476454172/8.0),
-    REAL_CONST(31296.50946553221/8.0),
-    REAL_CONST(31314.24496689891/8.0),
-    REAL_CONST(31331.98297984272/8.0),
-    REAL_CONST(31349.7235036526/8.0),
-    REAL_CONST(31367.466537618013/8.0),
-    REAL_CONST(31385.212081028923/8.0),
-    REAL_CONST(31402.960133175795/8.0),
-    REAL_CONST(31420.710693349596/8.0),
-    REAL_CONST(31438.463760841791/8.0),
-    REAL_CONST(31456.219334944351/8.0),
-    REAL_CONST(31473.977414949743/8.0),
-    REAL_CONST(31491.738000150934/8.0),
-    REAL_CONST(31509.501089841389/8.0),
-    REAL_CONST(31527.266683315069/8.0),
-    REAL_CONST(31545.034779866437/8.0),
-    REAL_CONST(31562.80537879045/8.0),
-    REAL_CONST(31580.578479382562/8.0),
-    REAL_CONST(31598.35408093872/8.0),
-    REAL_CONST(31616.132182755369/8.0),
-    REAL_CONST(31633.91278412945/8.0),
-    REAL_CONST(31651.695884358396/8.0),
-    REAL_CONST(31669.481482740131/8.0),
-    REAL_CONST(31687.269578573076/8.0),
-    REAL_CONST(31705.060171156143/8.0),
-    REAL_CONST(31722.853259788735/8.0),
-    REAL_CONST(31740.648843770748/8.0),
-    REAL_CONST(31758.446922402567/8.0),
-    REAL_CONST(31776.247494985066/8.0),
-    REAL_CONST(31794.050560819614/8.0),
-    REAL_CONST(31811.85611920806/8.0),
-    REAL_CONST(31829.664169452753/8.0),
-    REAL_CONST(31847.474710856521/8.0),
-    REAL_CONST(31865.287742722685/8.0),
-    REAL_CONST(31883.103264355046/8.0),
-    REAL_CONST(31900.921275057899/8.0),
-    REAL_CONST(31918.741774136019/8.0),
-    REAL_CONST(31936.564760894671/8.0),
-    REAL_CONST(31954.390234639599/8.0),
-    REAL_CONST(31972.21819467704/8.0),
-    REAL_CONST(31990.048640313704/8.0),
-    REAL_CONST(32007.881570856793/8.0),
-    REAL_CONST(32025.716985613984/8.0),
-    REAL_CONST(32043.554883893445/8.0),
-    REAL_CONST(32061.395265003815/8.0),
-    REAL_CONST(32079.238128254223/8.0),
-    REAL_CONST(32097.083472954269/8.0),
-    REAL_CONST(32114.931298414049/8.0),
-    REAL_CONST(32132.781603944117/8.0),
-    REAL_CONST(32150.634388855524/8.0),
-    REAL_CONST(32168.48965245979/8.0),
-    REAL_CONST(32186.347394068915/8.0),
-    REAL_CONST(32204.207612995371/8.0),
-    REAL_CONST(32222.07030855212/8.0),
-    REAL_CONST(32239.935480052583/8.0),
-    REAL_CONST(32257.803126810672/8.0),
-    REAL_CONST(32275.673248140767/8.0),
-    REAL_CONST(32293.545843357719/8.0),
-    REAL_CONST(32311.420911776862/8.0),
-    REAL_CONST(32329.298452713996/8.0),
-    REAL_CONST(32347.178465485395/8.0),
-    REAL_CONST(32365.060949407813/8.0),
-    REAL_CONST(32382.945903798463/8.0),
-    REAL_CONST(32400.83332797504/8.0),
-    REAL_CONST(32418.723221255706/8.0),
-    REAL_CONST(32436.615582959093/8.0),
-    REAL_CONST(32454.510412404306/8.0),
-    REAL_CONST(32472.407708910916/8.0),
-    REAL_CONST(32490.307471798966/8.0),
-    REAL_CONST(32508.209700388961/8.0),
-    REAL_CONST(32526.114394001877/8.0),
-    REAL_CONST(32544.021551959166/8.0),
-    REAL_CONST(32561.931173582732/8.0),
-    REAL_CONST(32579.843258194956/8.0),
-    REAL_CONST(32597.757805118679/8.0),
-    REAL_CONST(32615.674813677211/8.0),
-    REAL_CONST(32633.594283194328/8.0),
-    REAL_CONST(32651.516212994258/8.0),
-    REAL_CONST(32669.440602401712/8.0),
-    REAL_CONST(32687.367450741847/8.0),
-    REAL_CONST(32705.296757340297/8.0),
-    REAL_CONST(32723.228521523146/8.0),
-    REAL_CONST(32741.162742616943/8.0),
-    REAL_CONST(32759.099419948703/8.0),
-    REAL_CONST(32777.038552845901/8.0),
-    REAL_CONST(32794.980140636464/8.0),
-    REAL_CONST(32812.924182648792/8.0),
-    REAL_CONST(32830.87067821173/8.0),
-    REAL_CONST(32848.819626654593/8.0),
-    REAL_CONST(32866.77102730715/8.0),
-    REAL_CONST(32884.724879499619/8.0),
-    REAL_CONST(32902.681182562686/8.0),
-    REAL_CONST(32920.639935827494/8.0),
-    REAL_CONST(32938.601138625643/8.0),
-    REAL_CONST(32956.56479028918/8.0),
-    REAL_CONST(32974.530890150607/8.0),
-    REAL_CONST(32992.499437542894/8.0),
-    REAL_CONST(33010.470431799447/8.0),
-    REAL_CONST(33028.443872254145/8.0),
-    REAL_CONST(33046.419758241311/8.0),
-    REAL_CONST(33064.39808909571/8.0),
-    REAL_CONST(33082.378864152583/8.0),
-    REAL_CONST(33100.36208274759/8.0),
-    REAL_CONST(33118.347744216881/8.0),
-    REAL_CONST(33136.335847897026/8.0),
-    REAL_CONST(33154.326393125062/8.0),
-    REAL_CONST(33172.31937923847/8.0),
-    REAL_CONST(33190.314805575174/8.0),
-    REAL_CONST(33208.312671473555/8.0),
-    REAL_CONST(33226.312976272442/8.0),
-    REAL_CONST(33244.315719311111/8.0),
-    REAL_CONST(33262.320899929284/8.0),
-    REAL_CONST(33280.328517467125/8.0),
-    REAL_CONST(33298.33857126526/8.0),
-    REAL_CONST(33316.351060664747/8.0),
-    REAL_CONST(33334.365985007091/8.0),
-    REAL_CONST(33352.383343634239/8.0),
-    REAL_CONST(33370.403135888591/8.0),
-    REAL_CONST(33388.42536111299/8.0),
-    REAL_CONST(33406.450018650721/8.0),
-    REAL_CONST(33424.477107845501/8.0),
-    REAL_CONST(33442.506628041512/8.0),
-    REAL_CONST(33460.53857858335/8.0),
-    REAL_CONST(33478.572958816083/8.0),
-    REAL_CONST(33496.609768085189/8.0),
-    REAL_CONST(33514.649005736617/8.0),
-    REAL_CONST(33532.690671116739/8.0),
-    REAL_CONST(33550.734763572356/8.0),
-    REAL_CONST(33568.781282450735/8.0),
-    REAL_CONST(33586.830227099563/8.0),
-    REAL_CONST(33604.881596866973/8.0),
-    REAL_CONST(33622.935391101528/8.0),
-    REAL_CONST(33640.991609152239/8.0),
-    REAL_CONST(33659.050250368542/8.0),
-    REAL_CONST(33677.111314100322/8.0),
-    REAL_CONST(33695.174799697881/8.0),
-    REAL_CONST(33713.240706511984/8.0),
-    REAL_CONST(33731.309033893805/8.0),
-    REAL_CONST(33749.37978119497/8.0),
-    REAL_CONST(33767.452947767531/8.0),
-    REAL_CONST(33785.528532963974/8.0),
-    REAL_CONST(33803.606536137209/8.0),
-    REAL_CONST(33821.686956640602/8.0),
-    REAL_CONST(33839.769793827938/8.0),
-    REAL_CONST(33857.855047053425/8.0),
-    REAL_CONST(33875.942715671707/8.0),
-    REAL_CONST(33894.032799037872/8.0),
-    REAL_CONST(33912.125296507431/8.0),
-    REAL_CONST(33930.220207436316/8.0),
-    REAL_CONST(33948.317531180888/8.0),
-    REAL_CONST(33966.417267097961/8.0),
-    REAL_CONST(33984.519414544746/8.0),
-    REAL_CONST(34002.623972878901/8.0),
-    REAL_CONST(34020.730941458511/8.0),
-    REAL_CONST(34038.840319642077/8.0),
-    REAL_CONST(34056.952106788536/8.0),
-    REAL_CONST(34075.066302257255/8.0),
-    REAL_CONST(34093.182905408015/8.0),
-    REAL_CONST(34111.301915601027/8.0),
-    REAL_CONST(34129.42333219693/8.0),
-    REAL_CONST(34147.547154556785/8.0),
-    REAL_CONST(34165.673382042078/8.0),
-    REAL_CONST(34183.80201401472/8.0),
-    REAL_CONST(34201.933049837033/8.0),
-    REAL_CONST(34220.06648887178/8.0),
-    REAL_CONST(34238.202330482141/8.0),
-    REAL_CONST(34256.340574031703/8.0),
-    REAL_CONST(34274.481218884495/8.0),
-    REAL_CONST(34292.624264404949/8.0),
-    REAL_CONST(34310.769709957938/8.0),
-    REAL_CONST(34328.91755490873/8.0),
-    REAL_CONST(34347.067798623029/8.0),
-    REAL_CONST(34365.220440466954/8.0),
-    REAL_CONST(34383.375479807051/8.0),
-    REAL_CONST(34401.532916010263/8.0),
-    REAL_CONST(34419.692748443973/8.0),
-    REAL_CONST(34437.854976475966/8.0),
-    REAL_CONST(34456.01959947445/8.0),
-    REAL_CONST(34474.18661680806/8.0),
-    REAL_CONST(34492.356027845817/8.0),
-    REAL_CONST(34510.527831957188/8.0),
-    REAL_CONST(34528.702028512052/8.0),
-    REAL_CONST(34546.878616880676/8.0),
-    REAL_CONST(34565.05759643377/8.0),
-    REAL_CONST(34583.238966542449/8.0),
-    REAL_CONST(34601.422726578232/8.0),
-    REAL_CONST(34619.608875913065/8.0),
-    REAL_CONST(34637.797413919296/8.0),
-    REAL_CONST(34655.988339969692/8.0),
-    REAL_CONST(34674.181653437423/8.0),
-    REAL_CONST(34692.37735369608/8.0),
-    REAL_CONST(34710.575440119668/8.0),
-    REAL_CONST(34728.775912082579/8.0),
-    REAL_CONST(34746.978768959649/8.0),
-    REAL_CONST(34765.184010126082/8.0),
-    REAL_CONST(34783.391634957537/8.0),
-    REAL_CONST(34801.60164283005/8.0),
-    REAL_CONST(34819.814033120063/8.0),
-    REAL_CONST(34838.028805204456/8.0),
-    REAL_CONST(34856.24595846048/8.0),
-    REAL_CONST(34874.465492265823/8.0),
-    REAL_CONST(34892.687405998557/8.0),
-    REAL_CONST(34910.911699037177/8.0),
-    REAL_CONST(34929.138370760564/8.0),
-    REAL_CONST(34947.367420548027/8.0),
-    REAL_CONST(34965.598847779271/8.0),
-    REAL_CONST(34983.832651834389/8.0),
-    REAL_CONST(35002.068832093908/8.0),
-    REAL_CONST(35020.307387938738/8.0),
-    REAL_CONST(35038.548318750189/8.0),
-    REAL_CONST(35056.79162390998/8.0),
-    REAL_CONST(35075.03730280025/8.0),
-    REAL_CONST(35093.285354803513/8.0),
-    REAL_CONST(35111.535779302685/8.0),
-    REAL_CONST(35129.788575681116/8.0),
-    REAL_CONST(35148.043743322516/8.0),
-    REAL_CONST(35166.301281611013/8.0),
-    REAL_CONST(35184.561189931141/8.0),
-    REAL_CONST(35202.823467667826/8.0),
-    REAL_CONST(35221.088114206388/8.0),
-    REAL_CONST(35239.355128932555/8.0),
-    REAL_CONST(35257.624511232447/8.0),
-    REAL_CONST(35275.896260492584/8.0),
-    REAL_CONST(35294.170376099886/8.0),
-    REAL_CONST(35312.446857441668/8.0),
-    REAL_CONST(35330.725703905628/8.0),
-    REAL_CONST(35349.006914879887/8.0),
-    REAL_CONST(35367.290489752944/8.0),
-    REAL_CONST(35385.576427913686/8.0),
-    REAL_CONST(35403.864728751418/8.0),
-    REAL_CONST(35422.155391655811/8.0),
-    REAL_CONST(35440.448416016967/8.0),
-    REAL_CONST(35458.743801225341/8.0),
-    REAL_CONST(35477.041546671804/8.0),
-    REAL_CONST(35495.341651747622/8.0),
-    REAL_CONST(35513.644115844436/8.0),
-    REAL_CONST(35531.948938354304/8.0),
-    REAL_CONST(35550.256118669655/8.0),
-    REAL_CONST(35568.565656183309/8.0),
-    REAL_CONST(35586.877550288496/8.0),
-    REAL_CONST(35605.191800378816/8.0),
-    REAL_CONST(35623.508405848268/8.0),
-    REAL_CONST(35641.827366091238/8.0),
-    REAL_CONST(35660.148680502505/8.0),
-    REAL_CONST(35678.472348477233/8.0),
-    REAL_CONST(35696.798369410979/8.0),
-    REAL_CONST(35715.126742699678/8.0),
-    REAL_CONST(35733.457467739659/8.0),
-    REAL_CONST(35751.790543927644/8.0),
-    REAL_CONST(35770.125970660738/8.0),
-    REAL_CONST(35788.46374733642/8.0),
-    REAL_CONST(35806.803873352568/8.0),
-    REAL_CONST(35825.146348107453/8.0),
-    REAL_CONST(35843.49117099971/8.0),
-    REAL_CONST(35861.838341428367/8.0),
-    REAL_CONST(35880.187858792851/8.0),
-    REAL_CONST(35898.539722492955/8.0),
-    REAL_CONST(35916.893931928862/8.0),
-    REAL_CONST(35935.250486501129/8.0),
-    REAL_CONST(35953.609385610718/8.0),
-    REAL_CONST(35971.970628658957/8.0),
-    REAL_CONST(35990.334215047558/8.0),
-    REAL_CONST(36008.700144178612/8.0),
-    REAL_CONST(36027.068415454596/8.0),
-    REAL_CONST(36045.439028278372/8.0),
-    REAL_CONST(36063.811982053165/8.0),
-    REAL_CONST(36082.187276182609/8.0),
-    REAL_CONST(36100.564910070694/8.0),
-    REAL_CONST(36118.944883121789/8.0),
-    REAL_CONST(36137.327194740654/8.0),
-    REAL_CONST(36155.711844332429/8.0),
-    REAL_CONST(36174.098831302617/8.0),
-    REAL_CONST(36192.488155057115/8.0),
-    REAL_CONST(36210.87981500219/8.0),
-    REAL_CONST(36229.273810544473/8.0),
-    REAL_CONST(36247.670141091003/8.0),
-    REAL_CONST(36266.068806049167/8.0),
-    REAL_CONST(36284.469804826738/8.0),
-    REAL_CONST(36302.873136831862/8.0),
-    REAL_CONST(36321.278801473069/8.0),
-    REAL_CONST(36339.686798159251/8.0),
-    REAL_CONST(36358.097126299683/8.0),
-    REAL_CONST(36376.509785304013/8.0),
-    REAL_CONST(36394.924774582258/8.0),
-    REAL_CONST(36413.342093544816/8.0),
-    REAL_CONST(36431.761741602444/8.0),
-    REAL_CONST(36450.183718166292/8.0),
-    REAL_CONST(36468.608022647859/8.0),
-    REAL_CONST(36487.034654459028/8.0),
-    REAL_CONST(36505.463613012063/8.0),
-    REAL_CONST(36523.894897719583/8.0),
-    REAL_CONST(36542.328507994578/8.0),
-    REAL_CONST(36560.764443250409/8.0),
-    REAL_CONST(36579.202702900831/8.0),
-    REAL_CONST(36597.643286359926/8.0),
-    REAL_CONST(36616.086193042182/8.0),
-    REAL_CONST(36634.531422362437/8.0),
-    REAL_CONST(36652.978973735895/8.0),
-    REAL_CONST(36671.428846578143/8.0),
-    REAL_CONST(36689.881040305125/8.0),
-    REAL_CONST(36708.335554333149/8.0),
-    REAL_CONST(36726.792388078902/8.0),
-    REAL_CONST(36745.251540959427/8.0),
-    REAL_CONST(36763.713012392138/8.0),
-    REAL_CONST(36782.176801794812/8.0),
-    REAL_CONST(36800.642908585593/8.0),
-    REAL_CONST(36819.111332182983/8.0),
-    REAL_CONST(36837.582072005869/8.0),
-    REAL_CONST(36856.055127473483/8.0),
-    REAL_CONST(36874.530498005421/8.0),
-    REAL_CONST(36893.008183021651/8.0),
-    REAL_CONST(36911.488181942506/8.0),
-    REAL_CONST(36929.970494188674/8.0),
-    REAL_CONST(36948.455119181206/8.0),
-    REAL_CONST(36966.942056341519/8.0),
-    REAL_CONST(36985.431305091392/8.0),
-    REAL_CONST(37003.922864852961/8.0),
-    REAL_CONST(37022.416735048733/8.0),
-    REAL_CONST(37040.912915101559/8.0),
-    REAL_CONST(37059.411404434657/8.0),
-    REAL_CONST(37077.91220247162/8.0),
-    REAL_CONST(37096.415308636388/8.0),
-    REAL_CONST(37114.920722353243/8.0),
-    REAL_CONST(37133.428443046862/8.0),
-    REAL_CONST(37151.938470142253/8.0),
-    REAL_CONST(37170.450803064785/8.0),
-    REAL_CONST(37188.965441240209/8.0),
-    REAL_CONST(37207.482384094597/8.0),
-    REAL_CONST(37226.001631054402/8.0),
-    REAL_CONST(37244.523181546429/8.0),
-    REAL_CONST(37263.047034997842/8.0),
-    REAL_CONST(37281.573190836149/8.0),
-    REAL_CONST(37300.101648489224/8.0),
-    REAL_CONST(37318.632407385296/8.0),
-    REAL_CONST(37337.165466952945/8.0),
-    REAL_CONST(37355.700826621112/8.0),
-    REAL_CONST(37374.238485819085/8.0),
-    REAL_CONST(37392.778443976509/8.0),
-    REAL_CONST(37411.320700523385/8.0),
-    REAL_CONST(37429.865254890057/8.0),
-    REAL_CONST(37448.412106507232/8.0),
-    REAL_CONST(37466.961254805974/8.0),
-    REAL_CONST(37485.512699217681/8.0),
-    REAL_CONST(37504.066439174116/8.0),
-    REAL_CONST(37522.622474107404/8.0),
-    REAL_CONST(37541.180803449992/8.0),
-    REAL_CONST(37559.741426634704/8.0),
-    REAL_CONST(37578.304343094693/8.0),
-    REAL_CONST(37596.869552263488/8.0),
-    REAL_CONST(37615.43705357494/8.0),
-    REAL_CONST(37634.006846463279/8.0),
-    REAL_CONST(37652.578930363044/8.0),
-    REAL_CONST(37671.153304709165/8.0),
-    REAL_CONST(37689.729968936896/8.0),
-    REAL_CONST(37708.308922481847/8.0),
-    REAL_CONST(37726.890164779965/8.0),
-    REAL_CONST(37745.473695267559/8.0),
-    REAL_CONST(37764.059513381275/8.0),
-    REAL_CONST(37782.647618558112/8.0),
-    REAL_CONST(37801.238010235415/8.0),
-    REAL_CONST(37819.830687850859/8.0),
-    REAL_CONST(37838.425650842495/8.0),
-    REAL_CONST(37857.022898648691/8.0),
-    REAL_CONST(37875.622430708172/8.0),
-    REAL_CONST(37894.224246460013/8.0),
-    REAL_CONST(37912.828345343616/8.0),
-    REAL_CONST(37931.434726798747/8.0),
-    REAL_CONST(37950.043390265506/8.0),
-    REAL_CONST(37968.654335184328/8.0),
-    REAL_CONST(37987.267560995999/8.0),
-    REAL_CONST(38005.883067141665/8.0),
-    REAL_CONST(38024.500853062775/8.0),
-    REAL_CONST(38043.120918201159/8.0),
-    REAL_CONST(38061.743261998963/8.0),
-    REAL_CONST(38080.367883898682/8.0),
-    REAL_CONST(38098.994783343158/8.0),
-    REAL_CONST(38117.623959775563/8.0),
-    REAL_CONST(38136.255412639417/8.0),
-    REAL_CONST(38154.889141378575/8.0),
-    REAL_CONST(38173.525145437234/8.0),
-    REAL_CONST(38192.163424259939/8.0),
-    REAL_CONST(38210.803977291551/8.0),
-    REAL_CONST(38229.446803977284/8.0),
-    REAL_CONST(38248.091903762703/8.0),
-    REAL_CONST(38266.739276093685/8.0),
-    REAL_CONST(38285.388920416466/8.0),
-    REAL_CONST(38304.040836177606/8.0),
-    REAL_CONST(38322.695022824002/8.0),
-    REAL_CONST(38341.351479802899/8.0),
-    REAL_CONST(38360.010206561863/8.0),
-    REAL_CONST(38378.671202548816/8.0),
-    REAL_CONST(38397.334467211993/8.0),
-    REAL_CONST(38415.999999999978/8.0),
-    REAL_CONST(38434.667800361683/8.0),
-    REAL_CONST(38453.33786774637/8.0),
-    REAL_CONST(38472.010201603611/8.0),
-    REAL_CONST(38490.684801383337/8.0),
-    REAL_CONST(38509.361666535784/8.0),
-    REAL_CONST(38528.040796511552/8.0),
-    REAL_CONST(38546.722190761553/8.0),
-    REAL_CONST(38565.405848737035/8.0),
-    REAL_CONST(38584.091769889594/8.0),
-    REAL_CONST(38602.779953671132/8.0),
-    REAL_CONST(38621.470399533908/8.0),
-    REAL_CONST(38640.163106930493/8.0),
-    REAL_CONST(38658.858075313794/8.0),
-    REAL_CONST(38677.555304137059/8.0),
-    REAL_CONST(38696.254792853862/8.0),
-    REAL_CONST(38714.956540918094/8.0),
-    REAL_CONST(38733.660547783991/8.0),
-    REAL_CONST(38752.366812906112/8.0),
-    REAL_CONST(38771.075335739348/8.0),
-    REAL_CONST(38789.78611573892/8.0),
-    REAL_CONST(38808.499152360368/8.0),
-    REAL_CONST(38827.214445059573/8.0),
-    REAL_CONST(38845.931993292739/8.0),
-    REAL_CONST(38864.651796516388/8.0),
-    REAL_CONST(38883.373854187383/8.0),
-    REAL_CONST(38902.098165762916/8.0),
-    REAL_CONST(38920.824730700486/8.0),
-    REAL_CONST(38939.553548457938/8.0),
-    REAL_CONST(38958.284618493431/8.0),
-    REAL_CONST(38977.017940265461/8.0),
-    REAL_CONST(38995.753513232834/8.0),
-    REAL_CONST(39014.491336854699/8.0),
-    REAL_CONST(39033.231410590517/8.0),
-    REAL_CONST(39051.973733900079/8.0),
-    REAL_CONST(39070.718306243485/8.0),
-    REAL_CONST(39089.465127081188/8.0),
-    REAL_CONST(39108.214195873945/8.0),
-    REAL_CONST(39126.965512082832/8.0),
-    REAL_CONST(39145.719075169261/8.0),
-    REAL_CONST(39164.474884594965/8.0),
-    REAL_CONST(39183.232939821988/8.0),
-    REAL_CONST(39201.99324031271/8.0),
-    REAL_CONST(39220.755785529815/8.0),
-    REAL_CONST(39239.52057493633/8.0),
-    REAL_CONST(39258.287607995589/8.0),
-    REAL_CONST(39277.056884171245/8.0),
-    REAL_CONST(39295.828402927284/8.0),
-    REAL_CONST(39314.602163728006/8.0),
-    REAL_CONST(39333.378166038019/8.0),
-    REAL_CONST(39352.15640932227/8.0),
-    REAL_CONST(39370.936893046004/8.0),
-    REAL_CONST(39389.719616674811/8.0),
-    REAL_CONST(39408.504579674584/8.0),
-    REAL_CONST(39427.291781511522/8.0),
-    REAL_CONST(39446.081221652174/8.0),
-    REAL_CONST(39464.872899563372/8.0),
-    REAL_CONST(39483.666814712291/8.0),
-    REAL_CONST(39502.462966566411/8.0),
-    REAL_CONST(39521.261354593538/8.0),
-    REAL_CONST(39540.06197826178/8.0),
-    REAL_CONST(39558.864837039568/8.0),
-    REAL_CONST(39577.669930395656/8.0),
-    REAL_CONST(39596.47725779911/8.0),
-    REAL_CONST(39615.286818719302/8.0),
-    REAL_CONST(39634.098612625923/8.0),
-    REAL_CONST(39652.912638988993/8.0),
-    REAL_CONST(39671.728897278823/8.0),
-    REAL_CONST(39690.547386966064/8.0),
-    REAL_CONST(39709.368107521652/8.0),
-    REAL_CONST(39728.191058416858/8.0),
-    REAL_CONST(39747.016239123259/8.0),
-    REAL_CONST(39765.84364911275/8.0),
-    REAL_CONST(39784.673287857528/8.0),
-    REAL_CONST(39803.505154830105/8.0),
-    REAL_CONST(39822.339249503319/8.0),
-    REAL_CONST(39841.175571350293/8.0),
-    REAL_CONST(39860.014119844491/8.0),
-    REAL_CONST(39878.854894459677/8.0),
-    REAL_CONST(39897.697894669909/8.0),
-    REAL_CONST(39916.54311994958/8.0),
-    REAL_CONST(39935.390569773372/8.0),
-    REAL_CONST(39954.240243616303/8.0),
-    REAL_CONST(39973.092140953675/8.0),
-    REAL_CONST(39991.946261261117/8.0),
-    REAL_CONST(40010.802604014549/8.0),
-    REAL_CONST(40029.661168690225/8.0),
-    REAL_CONST(40048.521954764678/8.0),
-    REAL_CONST(40067.384961714779/8.0),
-    REAL_CONST(40086.250189017679/8.0),
-    REAL_CONST(40105.117636150855/8.0),
-    REAL_CONST(40123.98730259209/8.0),
-    REAL_CONST(40142.859187819471/8.0),
-    REAL_CONST(40161.733291311379/8.0),
-    REAL_CONST(40180.609612546526/8.0),
-    REAL_CONST(40199.488151003912/8.0),
-    REAL_CONST(40218.368906162854/8.0),
-    REAL_CONST(40237.25187750296/8.0),
-    REAL_CONST(40256.137064504153/8.0),
-    REAL_CONST(40275.024466646668/8.0),
-    REAL_CONST(40293.914083411029/8.0),
-    REAL_CONST(40312.805914278084/8.0),
-    REAL_CONST(40331.699958728961/8.0),
-    REAL_CONST(40350.596216245103/8.0),
-    REAL_CONST(40369.494686308273/8.0),
-    REAL_CONST(40388.39536840051/8.0),
-    REAL_CONST(40407.298262004173/8.0),
-    REAL_CONST(40426.20336660192/8.0),
-    REAL_CONST(40445.110681676706/8.0),
-    REAL_CONST(40464.020206711793/8.0),
-    REAL_CONST(40482.931941190756/8.0),
-    REAL_CONST(40501.845884597446/8.0),
-    REAL_CONST(40520.762036416032/8.0),
-    REAL_CONST(40539.680396130985/8.0),
-    REAL_CONST(40558.600963227072/8.0),
-    REAL_CONST(40577.523737189367/8.0),
-    REAL_CONST(40596.448717503234/8.0),
-    REAL_CONST(40615.375903654342/8.0),
-    REAL_CONST(40634.305295128659/8.0),
-    REAL_CONST(40653.236891412453/8.0),
-    REAL_CONST(40672.170691992294/8.0),
-    REAL_CONST(40691.106696355047/8.0),
-    REAL_CONST(40710.044903987873/8.0),
-    REAL_CONST(40728.985314378238/8.0),
-    REAL_CONST(40747.927927013901/8.0),
-    REAL_CONST(40766.872741382918/8.0),
-    REAL_CONST(40785.819756973651/8.0),
-    REAL_CONST(40804.768973274746/8.0),
-    REAL_CONST(40823.720389775161/8.0),
-    REAL_CONST(40842.674005964131/8.0),
-    REAL_CONST(40861.629821331211/8.0),
-    REAL_CONST(40880.587835366234/8.0),
-    REAL_CONST(40899.548047559321/8.0),
-    REAL_CONST(40918.510457400931/8.0),
-    REAL_CONST(40937.475064381761/8.0),
-    REAL_CONST(40956.441867992849/8.0),
-    REAL_CONST(40975.410867725499/8.0),
-    REAL_CONST(40994.382063071331/8.0),
-    REAL_CONST(41013.355453522236/8.0),
-    REAL_CONST(41032.331038570417/8.0),
-    REAL_CONST(41051.308817708363/8.0),
-    REAL_CONST(41070.288790428858/8.0),
-    REAL_CONST(41089.270956224987/8.0),
-    REAL_CONST(41108.255314590111/8.0),
-    REAL_CONST(41127.241865017888/8.0),
-    REAL_CONST(41146.23060700229/8.0),
-    REAL_CONST(41165.221540037543/8.0),
-    REAL_CONST(41184.214663618193/8.0),
-    REAL_CONST(41203.209977239079/8.0),
-    REAL_CONST(41222.207480395307/8.0),
-    REAL_CONST(41241.207172582297/8.0),
-    REAL_CONST(41260.209053295752/8.0),
-    REAL_CONST(41279.213122031659/8.0),
-    REAL_CONST(41298.219378286303/8.0),
-    REAL_CONST(41317.227821556255/8.0),
-    REAL_CONST(41336.23845133838/8.0),
-    REAL_CONST(41355.251267129832/8.0),
-    REAL_CONST(41374.266268428037/8.0),
-    REAL_CONST(41393.283454730743/8.0),
-    REAL_CONST(41412.302825535953/8.0),
-    REAL_CONST(41431.324380341983/8.0),
-    REAL_CONST(41450.348118647416/8.0),
-    REAL_CONST(41469.374039951144/8.0),
-    REAL_CONST(41488.402143752326/8.0),
-    REAL_CONST(41507.432429550427/8.0),
-    REAL_CONST(41526.464896845187/8.0),
-    REAL_CONST(41545.499545136627/8.0),
-    REAL_CONST(41564.536373925075/8.0),
-    REAL_CONST(41583.575382711126/8.0),
-    REAL_CONST(41602.616570995662/8.0),
-    REAL_CONST(41621.659938279874/8.0),
-    REAL_CONST(41640.705484065205/8.0),
-    REAL_CONST(41659.753207853406/8.0),
-    REAL_CONST(41678.803109146495/8.0),
-    REAL_CONST(41697.855187446803/8.0),
-    REAL_CONST(41716.909442256911/8.0),
-    REAL_CONST(41735.965873079709/8.0),
-    REAL_CONST(41755.02447941836/8.0),
-    REAL_CONST(41774.085260776315/8.0),
-    REAL_CONST(41793.148216657297/8.0),
-    REAL_CONST(41812.213346565331/8.0),
-    REAL_CONST(41831.280650004708/8.0),
-    REAL_CONST(41850.350126480014/8.0),
-    REAL_CONST(41869.421775496106/8.0),
-    REAL_CONST(41888.495596558132/8.0),
-    REAL_CONST(41907.571589171515/8.0),
-    REAL_CONST(41926.649752841957/8.0),
-    REAL_CONST(41945.730087075463/8.0),
-    REAL_CONST(41964.812591378286/8.0),
-    REAL_CONST(41983.897265256979/8.0),
-    REAL_CONST(42002.984108218378/8.0),
-    REAL_CONST(42022.073119769593/8.0),
-    REAL_CONST(42041.164299418015/8.0),
-    REAL_CONST(42060.257646671307/8.0),
-    REAL_CONST(42079.353161037419/8.0),
-    REAL_CONST(42098.450842024591/8.0),
-    REAL_CONST(42117.550689141324/8.0),
-    REAL_CONST(42136.652701896404/8.0),
-    REAL_CONST(42155.756879798893/8.0),
-    REAL_CONST(42174.863222358137/8.0),
-    REAL_CONST(42193.971729083758/8.0),
-    REAL_CONST(42213.082399485655/8.0),
-    REAL_CONST(42232.195233074002/8.0),
-    REAL_CONST(42251.310229359246/8.0),
-    REAL_CONST(42270.427387852127/8.0),
-    REAL_CONST(42289.546708063644/8.0),
-    REAL_CONST(42308.668189505079/8.0),
-    REAL_CONST(42327.791831687995/8.0),
-    REAL_CONST(42346.917634124227/8.0),
-    REAL_CONST(42366.045596325886/8.0),
-    REAL_CONST(42385.175717805352/8.0),
-    REAL_CONST(42404.307998075295/8.0),
-    REAL_CONST(42423.442436648642/8.0),
-    REAL_CONST(42442.579033038608/8.0),
-    REAL_CONST(42461.717786758672/8.0),
-    REAL_CONST(42480.858697322597/8.0),
-    REAL_CONST(42500.001764244422/8.0),
-    REAL_CONST(42519.146987038446/8.0),
-    REAL_CONST(42538.294365219248/8.0),
-    REAL_CONST(42557.443898301688/8.0),
-    REAL_CONST(42576.595585800882/8.0),
-    REAL_CONST(42595.749427232236/8.0),
-    REAL_CONST(42614.90542211142/8.0),
-    REAL_CONST(42634.063569954378/8.0),
-    REAL_CONST(42653.223870277317/8.0),
-    REAL_CONST(42672.386322596729/8.0),
-    REAL_CONST(42691.55092642938/8.0),
-    REAL_CONST(42710.717681292292/8.0),
-    REAL_CONST(42729.886586702756/8.0),
-    REAL_CONST(42749.057642178363/8.0),
-    REAL_CONST(42768.23084723694/8.0),
-    REAL_CONST(42787.406201396603/8.0),
-    REAL_CONST(42806.58370417574/8.0),
-    REAL_CONST(42825.76335509299/8.0),
-    REAL_CONST(42844.945153667286/8.0),
-    REAL_CONST(42864.129099417805/8.0),
-    REAL_CONST(42883.315191864014/8.0),
-    REAL_CONST(42902.503430525649/8.0),
-    REAL_CONST(42921.693814922692/8.0),
-    REAL_CONST(42940.88634457541/8.0),
-    REAL_CONST(42960.081019004348/8.0),
-    REAL_CONST(42979.277837730297/8.0),
-    REAL_CONST(42998.476800274322/8.0),
-    REAL_CONST(43017.677906157769/8.0),
-    REAL_CONST(43036.881154902228/8.0),
-    REAL_CONST(43056.086546029583/8.0),
-    REAL_CONST(43075.294079061961/8.0),
-    REAL_CONST(43094.503753521763/8.0),
-    REAL_CONST(43113.715568931671/8.0),
-    REAL_CONST(43132.929524814601/8.0),
-    REAL_CONST(43152.145620693766/8.0),
-    REAL_CONST(43171.363856092619/8.0),
-    REAL_CONST(43190.584230534907/8.0),
-    REAL_CONST(43209.806743544621/8.0),
-    REAL_CONST(43229.031394646016/8.0),
-    REAL_CONST(43248.258183363621/8.0),
-    REAL_CONST(43267.487109222224/8.0),
-    REAL_CONST(43286.718171746885/8.0),
-    REAL_CONST(43305.951370462906/8.0),
-    REAL_CONST(43325.186704895881/8.0),
-    REAL_CONST(43344.42417457165/8.0),
-    REAL_CONST(43363.663779016322/8.0),
-    REAL_CONST(43382.905517756262/8.0),
-    REAL_CONST(43402.149390318104/8.0),
-    REAL_CONST(43421.395396228749/8.0),
-    REAL_CONST(43440.643535015348/8.0),
-    REAL_CONST(43459.89380620532/8.0),
-    REAL_CONST(43479.146209326354/8.0),
-    REAL_CONST(43498.400743906379/8.0),
-    REAL_CONST(43517.657409473606/8.0),
-    REAL_CONST(43536.916205556496/8.0),
-    REAL_CONST(43556.177131683784/8.0),
-    REAL_CONST(43575.44018738444/8.0),
-    REAL_CONST(43594.705372187724/8.0),
-    REAL_CONST(43613.972685623135/8.0),
-    REAL_CONST(43633.242127220445/8.0),
-    REAL_CONST(43652.513696509668/8.0),
-    REAL_CONST(43671.787393021099/8.0),
-    REAL_CONST(43691.063216285271/8.0),
-    REAL_CONST(43710.341165833001/8.0),
-    REAL_CONST(43729.621241195346/8.0),
-    REAL_CONST(43748.903441903625/8.0),
-    REAL_CONST(43768.187767489413/8.0),
-    REAL_CONST(43787.474217484552/8.0),
-    REAL_CONST(43806.762791421126/8.0),
-    REAL_CONST(43826.053488831501/8.0),
-    REAL_CONST(43845.346309248278/8.0),
-    REAL_CONST(43864.641252204325/8.0),
-    REAL_CONST(43883.938317232765/8.0),
-    REAL_CONST(43903.237503866971/8.0),
-    REAL_CONST(43922.538811640596/8.0),
-    REAL_CONST(43941.842240087513/8.0),
-    REAL_CONST(43961.147788741881/8.0),
-    REAL_CONST(43980.455457138101/8.0),
-    REAL_CONST(43999.765244810835/8.0),
-    REAL_CONST(44019.077151295001/8.0),
-    REAL_CONST(44038.391176125755/8.0),
-    REAL_CONST(44057.70731883854/8.0),
-    REAL_CONST(44077.02557896902/8.0),
-    REAL_CONST(44096.345956053141/8.0),
-    REAL_CONST(44115.668449627083/8.0),
-    REAL_CONST(44134.993059227287/8.0),
-    REAL_CONST(44154.319784390456/8.0),
-    REAL_CONST(44173.648624653535/8.0),
-    REAL_CONST(44192.979579553728/8.0),
-    REAL_CONST(44212.312648628489/8.0),
-    REAL_CONST(44231.647831415532/8.0),
-    REAL_CONST(44250.985127452805/8.0),
-    REAL_CONST(44270.324536278538/8.0),
-    REAL_CONST(44289.666057431183/8.0),
-    REAL_CONST(44309.009690449464/8.0),
-    REAL_CONST(44328.355434872348/8.0),
-    REAL_CONST(44347.703290239064/8.0),
-    REAL_CONST(44367.053256089079/8.0),
-    REAL_CONST(44386.405331962109/8.0),
-    REAL_CONST(44405.759517398139/8.0),
-    REAL_CONST(44425.115811937387/8.0),
-    REAL_CONST(44444.474215120332/8.0),
-    REAL_CONST(44463.834726487694/8.0),
-    REAL_CONST(44483.197345580462/8.0),
-    REAL_CONST(44502.562071939843/8.0),
-    REAL_CONST(44521.928905107328/8.0),
-    REAL_CONST(44541.297844624634/8.0),
-    REAL_CONST(44560.668890033732/8.0),
-    REAL_CONST(44580.042040876848/8.0),
-    REAL_CONST(44599.417296696454/8.0),
-    REAL_CONST(44618.794657035272/8.0),
-    REAL_CONST(44638.174121436256/8.0),
-    REAL_CONST(44657.555689442641/8.0),
-    REAL_CONST(44676.939360597877/8.0),
-    REAL_CONST(44696.325134445673/8.0),
-    REAL_CONST(44715.713010530002/8.0),
-    REAL_CONST(44735.102988395054/8.0),
-    REAL_CONST(44754.495067585296/8.0),
-    REAL_CONST(44773.88924764542/8.0),
-    REAL_CONST(44793.285528120374/8.0),
-    REAL_CONST(44812.683908555344/8.0),
-    REAL_CONST(44832.084388495779/8.0),
-    REAL_CONST(44851.486967487363/8.0),
-    REAL_CONST(44870.891645076015/8.0),
-    REAL_CONST(44890.298420807922/8.0),
-    REAL_CONST(44909.707294229491/8.0),
-    REAL_CONST(44929.118264887409/8.0),
-    REAL_CONST(44948.531332328566/8.0),
-    REAL_CONST(44967.946496100136/8.0),
-    REAL_CONST(44987.363755749502/8.0),
-    REAL_CONST(45006.783110824319/8.0),
-    REAL_CONST(45026.204560872473/8.0),
-    REAL_CONST(45045.628105442098/8.0),
-    REAL_CONST(45065.053744081561/8.0),
-    REAL_CONST(45084.48147633949/8.0),
-    REAL_CONST(45103.911301764747/8.0),
-    REAL_CONST(45123.343219906426/8.0),
-    REAL_CONST(45142.777230313885/8.0),
-    REAL_CONST(45162.21333253671/8.0),
-    REAL_CONST(45181.651526124733/8.0),
-    REAL_CONST(45201.091810628037/8.0),
-    REAL_CONST(45220.534185596924/8.0),
-    REAL_CONST(45239.978650581965/8.0),
-    REAL_CONST(45259.425205133957/8.0),
-    REAL_CONST(45278.873848803938/8.0),
-    REAL_CONST(45298.324581143192/8.0),
-    REAL_CONST(45317.777401703235/8.0),
-    REAL_CONST(45337.232310035848/8.0),
-    REAL_CONST(45356.68930569302/8.0),
-    REAL_CONST(45376.148388226997/8.0),
-    REAL_CONST(45395.60955719027/8.0),
-    REAL_CONST(45415.072812135557/8.0),
-    REAL_CONST(45434.538152615823/8.0),
-    REAL_CONST(45454.005578184282/8.0),
-    REAL_CONST(45473.475088394356/8.0),
-    REAL_CONST(45492.946682799746/8.0),
-    REAL_CONST(45512.420360954362/8.0),
-    REAL_CONST(45531.896122412363/8.0),
-    REAL_CONST(45551.373966728155/8.0),
-    REAL_CONST(45570.853893456362/8.0),
-    REAL_CONST(45590.33590215187/8.0),
-    REAL_CONST(45609.819992369776/8.0),
-    REAL_CONST(45629.306163665438/8.0),
-    REAL_CONST(45648.794415594442/8.0),
-    REAL_CONST(45668.284747712612/8.0),
-    REAL_CONST(45687.777159576006/8.0),
-    REAL_CONST(45707.27165074092/8.0),
-    REAL_CONST(45726.768220763894/8.0),
-    REAL_CONST(45746.266869201696/8.0),
-    REAL_CONST(45765.767595611323/8.0),
-    REAL_CONST(45785.270399550034/8.0),
-    REAL_CONST(45804.775280575297/8.0),
-    REAL_CONST(45824.282238244828/8.0),
-    REAL_CONST(45843.79127211657/8.0),
-    REAL_CONST(45863.302381748719/8.0),
-    REAL_CONST(45882.815566699683/8.0),
-    REAL_CONST(45902.33082652813/8.0),
-    REAL_CONST(45921.848160792935/8.0),
-    REAL_CONST(45941.367569053225/8.0),
-    REAL_CONST(45960.889050868354/8.0),
-    REAL_CONST(45980.41260579793/8.0),
-    REAL_CONST(45999.938233401757/8.0),
-    REAL_CONST(46019.465933239902/8.0),
-    REAL_CONST(46038.995704872657/8.0),
-    REAL_CONST(46058.527547860547/8.0),
-    REAL_CONST(46078.06146176433/8.0),
-    REAL_CONST(46097.597446144995/8.0),
-    REAL_CONST(46117.135500563774/8.0),
-    REAL_CONST(46136.675624582109/8.0),
-    REAL_CONST(46156.217817761702/8.0),
-    REAL_CONST(46175.762079664462/8.0),
-    REAL_CONST(46195.308409852543/8.0),
-    REAL_CONST(46214.856807888333/8.0),
-    REAL_CONST(46234.407273334444/8.0),
-    REAL_CONST(46253.959805753715/8.0),
-    REAL_CONST(46273.51440470924/8.0),
-    REAL_CONST(46293.071069764315/8.0),
-    REAL_CONST(46312.629800482478/8.0),
-    REAL_CONST(46332.190596427499/8.0),
-    REAL_CONST(46351.753457163381/8.0),
-    REAL_CONST(46371.318382254351/8.0),
-    REAL_CONST(46390.885371264863/8.0),
-    REAL_CONST(46410.45442375962/8.0),
-    REAL_CONST(46430.025539303526/8.0),
-    REAL_CONST(46449.598717461733/8.0),
-    REAL_CONST(46469.17395779962/8.0),
-    REAL_CONST(46488.751259882782/8.0),
-    REAL_CONST(46508.33062327707/8.0),
-    REAL_CONST(46527.912047548532/8.0),
-    REAL_CONST(46547.495532263471/8.0),
-    REAL_CONST(46567.081076988397/8.0),
-    REAL_CONST(46586.668681290059/8.0),
-    REAL_CONST(46606.258344735434/8.0),
-    REAL_CONST(46625.850066891719/8.0),
-    REAL_CONST(46645.443847326351/8.0),
-    REAL_CONST(46665.039685606986/8.0),
-    REAL_CONST(46684.637581301497/8.0),
-    REAL_CONST(46704.237533978005/8.0),
-    REAL_CONST(46723.839543204842/8.0),
-    REAL_CONST(46743.443608550573/8.0),
-    REAL_CONST(46763.049729583989/8.0),
-    REAL_CONST(46782.657905874104/8.0),
-    REAL_CONST(46802.268136990162/8.0),
-    REAL_CONST(46821.880422501628/8.0),
-    REAL_CONST(46841.494761978196/8.0),
-    REAL_CONST(46861.111154989776/8.0),
-    REAL_CONST(46880.729601106526/8.0),
-    REAL_CONST(46900.350099898795/8.0),
-    REAL_CONST(46919.97265093719/8.0),
-    REAL_CONST(46939.597253792526/8.0),
-    REAL_CONST(46959.223908035841/8.0),
-    REAL_CONST(46978.852613238392/8.0),
-    REAL_CONST(46998.483368971691/8.0),
-    REAL_CONST(47018.11617480743/8.0),
-    REAL_CONST(47037.751030317551/8.0),
-    REAL_CONST(47057.387935074221/8.0),
-    REAL_CONST(47077.026888649809/8.0),
-    REAL_CONST(47096.66789061694/8.0),
-    REAL_CONST(47116.310940548428/8.0),
-    REAL_CONST(47135.956038017328/8.0),
-    REAL_CONST(47155.603182596918/8.0),
-    REAL_CONST(47175.252373860698/8.0),
-    REAL_CONST(47194.903611382375/8.0),
-    REAL_CONST(47214.556894735892/8.0),
-    REAL_CONST(47234.212223495422/8.0),
-    REAL_CONST(47253.869597235338/8.0),
-    REAL_CONST(47273.52901553025/8.0),
-    REAL_CONST(47293.19047795498/8.0),
-    REAL_CONST(47312.853984084577/8.0),
-    REAL_CONST(47332.519533494306/8.0),
-    REAL_CONST(47352.187125759658/8.0),
-    REAL_CONST(47371.856760456343/8.0),
-    REAL_CONST(47391.528437160297/8.0),
-    REAL_CONST(47411.202155447652/8.0),
-    REAL_CONST(47430.877914894787/8.0),
-    REAL_CONST(47450.555715078299/8.0),
-    REAL_CONST(47470.235555574982/8.0),
-    REAL_CONST(47489.917435961863/8.0),
-    REAL_CONST(47509.601355816201/8.0),
-    REAL_CONST(47529.287314715453/8.0),
-    REAL_CONST(47548.975312237308/8.0),
-    REAL_CONST(47568.665347959672/8.0),
-    REAL_CONST(47588.357421460656/8.0),
-    REAL_CONST(47608.051532318605/8.0),
-    REAL_CONST(47627.747680112072/8.0),
-    REAL_CONST(47647.445864419846/8.0),
-    REAL_CONST(47667.14608482091/8.0),
-    REAL_CONST(47686.848340894474/8.0),
-    REAL_CONST(47706.552632219973/8.0),
-    REAL_CONST(47726.258958377046/8.0),
-    REAL_CONST(47745.967318945557/8.0),
-    REAL_CONST(47765.677713505589/8.0),
-    REAL_CONST(47785.390141637428/8.0),
-    REAL_CONST(47805.104602921601/8.0),
-    REAL_CONST(47824.821096938824/8.0),
-    REAL_CONST(47844.539623270044/8.0),
-    REAL_CONST(47864.260181496429/8.0),
-    REAL_CONST(47883.982771199349/8.0),
-    REAL_CONST(47903.707391960394/8.0),
-    REAL_CONST(47923.434043361369/8.0),
-    REAL_CONST(47943.162724984308/8.0),
-    REAL_CONST(47962.893436411439/8.0),
-    REAL_CONST(47982.626177225218/8.0),
-    REAL_CONST(48002.36094700831/8.0),
-    REAL_CONST(48022.097745343599/8.0),
-    REAL_CONST(48041.836571814172/8.0),
-    REAL_CONST(48061.57742600335/8.0),
-    REAL_CONST(48081.32030749465/8.0),
-    REAL_CONST(48101.065215871815/8.0),
-    REAL_CONST(48120.81215071879/8.0),
-    REAL_CONST(48140.56111161974/8.0),
-    REAL_CONST(48160.312098159047/8.0),
-    REAL_CONST(48180.065109921306/8.0),
-    REAL_CONST(48199.820146491307/8.0),
-    REAL_CONST(48219.577207454073/8.0),
-    REAL_CONST(48239.336292394844/8.0),
-    REAL_CONST(48259.097400899045/8.0),
-    REAL_CONST(48278.860532552339/8.0),
-    REAL_CONST(48298.625686940592/8.0),
-    REAL_CONST(48318.392863649875/8.0),
-    REAL_CONST(48338.162062266485/8.0),
-    REAL_CONST(48357.933282376915/8.0),
-    REAL_CONST(48377.706523567889/8.0),
-    REAL_CONST(48397.481785426316/8.0),
-    REAL_CONST(48417.259067539344/8.0),
-    REAL_CONST(48437.038369494308/8.0),
-    REAL_CONST(48456.819690878765/8.0),
-    REAL_CONST(48476.603031280487/8.0),
-    REAL_CONST(48496.388390287451/8.0),
-    REAL_CONST(48516.175767487839/8.0),
-    REAL_CONST(48535.965162470042/8.0),
-    REAL_CONST(48555.756574822684/8.0),
-    REAL_CONST(48575.550004134566/8.0),
-    REAL_CONST(48595.345449994718/8.0),
-    REAL_CONST(48615.142911992378/8.0),
-    REAL_CONST(48634.942389716991/8.0),
-    REAL_CONST(48654.743882758201/8.0),
-    REAL_CONST(48674.547390705877/8.0),
-    REAL_CONST(48694.352913150084/8.0),
-    REAL_CONST(48714.160449681112/8.0),
-    REAL_CONST(48733.969999889443/8.0),
-    REAL_CONST(48753.781563365759/8.0),
-    REAL_CONST(48773.595139700978/8.0),
-    REAL_CONST(48793.410728486211/8.0),
-    REAL_CONST(48813.228329312769/8.0),
-    REAL_CONST(48833.047941772187/8.0),
-    REAL_CONST(48852.869565456189/8.0),
-    REAL_CONST(48872.693199956717/8.0),
-    REAL_CONST(48892.518844865925/8.0),
-    REAL_CONST(48912.346499776155/8.0),
-    REAL_CONST(48932.176164279976/8.0),
-    REAL_CONST(48952.007837970152/8.0),
-    REAL_CONST(48971.841520439666/8.0),
-    REAL_CONST(48991.677211281676/8.0),
-    REAL_CONST(49011.514910089587/8.0),
-    REAL_CONST(49031.354616456978/8.0),
-    REAL_CONST(49051.196329977654/8.0),
-    REAL_CONST(49071.04005024561/8.0),
-    REAL_CONST(49090.885776855059/8.0),
-    REAL_CONST(49110.733509400408/8.0),
-    REAL_CONST(49130.583247476279/8.0),
-    REAL_CONST(49150.434990677488/8.0),
-    REAL_CONST(49170.288738599062/8.0),
-    REAL_CONST(49190.144490836232/8.0),
-    REAL_CONST(49210.002246984441/8.0),
-    REAL_CONST(49229.86200663932/8.0),
-    REAL_CONST(49249.723769396718/8.0),
-    REAL_CONST(49269.587534852675/8.0),
-    REAL_CONST(49289.453302603448/8.0),
-    REAL_CONST(49309.32107224549/8.0),
-    REAL_CONST(49329.190843375451/8.0),
-    REAL_CONST(49349.062615590192/8.0),
-    REAL_CONST(49368.936388486785/8.0),
-    REAL_CONST(49388.812161662492/8.0),
-    REAL_CONST(49408.689934714785/8.0),
-    REAL_CONST(49428.569707241324/8.0),
-    REAL_CONST(49448.45147883999/8.0),
-    REAL_CONST(49468.335249108866/8.0),
-    REAL_CONST(49488.22101764621/8.0),
-    REAL_CONST(49508.108784050521/8.0),
-    REAL_CONST(49527.99854792047/8.0),
-    REAL_CONST(49547.890308854934/8.0),
-    REAL_CONST(49567.784066453009/8.0),
-    REAL_CONST(49587.679820313977/8.0),
-    REAL_CONST(49607.57757003732/8.0),
-    REAL_CONST(49627.477315222721/8.0),
-    REAL_CONST(49647.379055470075/8.0),
-    REAL_CONST(49667.28279037946/8.0),
-    REAL_CONST(49687.188519551179/8.0),
-    REAL_CONST(49707.096242585707/8.0),
-    REAL_CONST(49727.005959083741/8.0),
-    REAL_CONST(49746.917668646165/8.0),
-    REAL_CONST(49766.831370874068/8.0),
-    REAL_CONST(49786.747065368734/8.0),
-    REAL_CONST(49806.66475173166/8.0),
-    REAL_CONST(49826.584429564515/8.0),
-    REAL_CONST(49846.506098469203/8.0),
-    REAL_CONST(49866.429758047794/8.0),
-    REAL_CONST(49886.355407902578/8.0),
-    REAL_CONST(49906.283047636032/8.0),
-    REAL_CONST(49926.212676850846/8.0),
-    REAL_CONST(49946.144295149883/8.0),
-    REAL_CONST(49966.077902136225/8.0),
-    REAL_CONST(49986.013497413151/8.0),
-    REAL_CONST(50005.951080584135/8.0),
-    REAL_CONST(50025.890651252834/8.0),
-    REAL_CONST(50045.832209023123/8.0),
-    REAL_CONST(50065.775753499074/8.0),
-    REAL_CONST(50085.721284284933/8.0),
-    REAL_CONST(50105.668800985164/8.0),
-    REAL_CONST(50125.618303204428/8.0),
-    REAL_CONST(50145.569790547575/8.0),
-    REAL_CONST(50165.523262619652/8.0),
-    REAL_CONST(50185.478719025901/8.0),
-    REAL_CONST(50205.436159371769/8.0),
-    REAL_CONST(50225.395583262893/8.0),
-    REAL_CONST(50245.356990305103/8.0),
-    REAL_CONST(50265.320380104429/8.0),
-    REAL_CONST(50285.285752267104/8.0),
-    REAL_CONST(50305.253106399534/8.0),
-    REAL_CONST(50325.222442108337/8.0),
-    REAL_CONST(50345.193759000336/8.0),
-    REAL_CONST(50365.16705668252/8.0),
-    REAL_CONST(50385.142334762102/8.0),
-    REAL_CONST(50405.119592846473/8.0),
-    REAL_CONST(50425.098830543218/8.0),
-    REAL_CONST(50445.080047460127/8.0),
-    REAL_CONST(50465.063243205179/8.0),
-    REAL_CONST(50485.048417386541/8.0),
-    REAL_CONST(50505.035569612577/8.0),
-    REAL_CONST(50525.024699491856/8.0),
-    REAL_CONST(50545.015806633128/8.0),
-    REAL_CONST(50565.008890645338/8.0),
-    REAL_CONST(50585.003951137631/8.0),
-    REAL_CONST(50605.00098771933/8.0),
-    REAL_CONST(50624.999999999971/8.0),
-    REAL_CONST(50645.000987589265/8.0),
-    REAL_CONST(50665.003950097132/8.0),
-    REAL_CONST(50685.008887133677/8.0),
-    REAL_CONST(50705.015798309192/8.0),
-    REAL_CONST(50725.024683234165/8.0),
-    REAL_CONST(50745.035541519283/8.0),
-    REAL_CONST(50765.048372775411/8.0),
-    REAL_CONST(50785.063176613621/8.0),
-    REAL_CONST(50805.079952645159/8.0),
-    REAL_CONST(50825.098700481489/8.0),
-    REAL_CONST(50845.119419734241/8.0),
-    REAL_CONST(50865.142110015244/8.0),
-    REAL_CONST(50885.166770936521/8.0),
-    REAL_CONST(50905.193402110279/8.0),
-    REAL_CONST(50925.222003148934/8.0),
-    REAL_CONST(50945.252573665071/8.0),
-    REAL_CONST(50965.285113271471/8.0),
-    REAL_CONST(50985.319621581119/8.0),
-    REAL_CONST(51005.356098207172/8.0),
-    REAL_CONST(51025.394542762981/8.0),
-    REAL_CONST(51045.434954862096/8.0),
-    REAL_CONST(51065.477334118244/8.0),
-    REAL_CONST(51085.521680145357/8.0),
-    REAL_CONST(51105.567992557546/8.0),
-    REAL_CONST(51125.616270969113/8.0),
-    REAL_CONST(51145.66651499454/8.0),
-    REAL_CONST(51165.718724248516/8.0),
-    REAL_CONST(51185.772898345916/8.0),
-    REAL_CONST(51205.829036901778/8.0),
-    REAL_CONST(51225.887139531362/8.0),
-    REAL_CONST(51245.947205850105/8.0),
-    REAL_CONST(51266.009235473619/8.0),
-    REAL_CONST(51286.073228017718/8.0),
-    REAL_CONST(51306.139183098399/8.0),
-    REAL_CONST(51326.207100331856/8.0),
-    REAL_CONST(51346.276979334456/8.0),
-    REAL_CONST(51366.348819722756/8.0),
-    REAL_CONST(51386.42262111351/8.0),
-    REAL_CONST(51406.498383123653/8.0),
-    REAL_CONST(51426.57610537031/8.0),
-    REAL_CONST(51446.655787470787/8.0),
-    REAL_CONST(51466.737429042587/8.0),
-    REAL_CONST(51486.82102970338/8.0),
-    REAL_CONST(51506.906589071048/8.0),
-    REAL_CONST(51526.994106763632/8.0),
-    REAL_CONST(51547.083582399391/8.0),
-    REAL_CONST(51567.175015596738/8.0),
-    REAL_CONST(51587.268405974297/8.0),
-    REAL_CONST(51607.363753150858/8.0),
-    REAL_CONST(51627.461056745415/8.0),
-    REAL_CONST(51647.56031637713/8.0),
-    REAL_CONST(51667.661531665362/8.0),
-    REAL_CONST(51687.764702229651/8.0),
-    REAL_CONST(51707.869827689727/8.0),
-    REAL_CONST(51727.976907665499/8.0),
-    REAL_CONST(51748.085941777055/8.0),
-    REAL_CONST(51768.196929644677/8.0),
-    REAL_CONST(51788.309870888836/8.0),
-    REAL_CONST(51808.42476513017/8.0),
-    REAL_CONST(51828.541611989524/8.0),
-    REAL_CONST(51848.660411087905/8.0),
-    REAL_CONST(51868.781162046515/8.0),
-    REAL_CONST(51888.90386448674/8.0),
-    REAL_CONST(51909.028518030143/8.0),
-    REAL_CONST(51929.155122298485/8.0),
-    REAL_CONST(51949.283676913685/8.0),
-    REAL_CONST(51969.414181497872/8.0),
-    REAL_CONST(51989.546635673345/8.0),
-    REAL_CONST(52009.681039062583/8.0),
-    REAL_CONST(52029.817391288263/8.0),
-    REAL_CONST(52049.955691973213/8.0),
-    REAL_CONST(52070.095940740481/8.0),
-    REAL_CONST(52090.238137213273/8.0),
-    REAL_CONST(52110.382281014987/8.0),
-    REAL_CONST(52130.5283717692/8.0),
-    REAL_CONST(52150.676409099666/8.0),
-    REAL_CONST(52170.826392630333/8.0),
-    REAL_CONST(52190.97832198532/8.0),
-    REAL_CONST(52211.132196788931/8.0),
-    REAL_CONST(52231.288016665654/8.0),
-    REAL_CONST(52251.445781240145/8.0),
-    REAL_CONST(52271.60549013727/8.0),
-    REAL_CONST(52291.76714298204/8.0),
-    REAL_CONST(52311.930739399664/8.0),
-    REAL_CONST(52332.096279015546/8.0),
-    REAL_CONST(52352.263761455244/8.0),
-    REAL_CONST(52372.433186344519/8.0),
-    REAL_CONST(52392.604553309284/8.0),
-    REAL_CONST(52412.777861975665/8.0),
-    REAL_CONST(52432.953111969946/8.0),
-    REAL_CONST(52453.130302918595/8.0),
-    REAL_CONST(52473.309434448267/8.0),
-    REAL_CONST(52493.490506185793/8.0),
-    REAL_CONST(52513.67351775818/8.0),
-    REAL_CONST(52533.858468792605/8.0),
-    REAL_CONST(52554.045358916446/8.0),
-    REAL_CONST(52574.234187757254/8.0),
-    REAL_CONST(52594.42495494274/8.0),
-    REAL_CONST(52614.617660100812/8.0),
-    REAL_CONST(52634.812302859558/8.0),
-    REAL_CONST(52655.008882847229/8.0),
-    REAL_CONST(52675.20739969227/8.0),
-    REAL_CONST(52695.407853023295/8.0),
-    REAL_CONST(52715.610242469098/8.0),
-    REAL_CONST(52735.814567658657/8.0),
-    REAL_CONST(52756.02082822111/8.0),
-    REAL_CONST(52776.229023785803/8.0),
-    REAL_CONST(52796.439153982225/8.0),
-    REAL_CONST(52816.651218440056/8.0),
-    REAL_CONST(52836.865216789171/8.0),
-    REAL_CONST(52857.081148659599/8.0),
-    REAL_CONST(52877.29901368155/8.0),
-    REAL_CONST(52897.518811485425/8.0),
-    REAL_CONST(52917.740541701773/8.0),
-    REAL_CONST(52937.964203961354/8.0),
-    REAL_CONST(52958.18979789508/8.0),
-    REAL_CONST(52978.417323134046/8.0),
-    REAL_CONST(52998.646779309529/8.0),
-    REAL_CONST(53018.878166052978/8.0),
-    REAL_CONST(53039.111482996006/8.0),
-    REAL_CONST(53059.346729770419/8.0),
-    REAL_CONST(53079.583906008193/8.0),
-    REAL_CONST(53099.823011341483/8.0),
-    REAL_CONST(53120.0640454026/8.0),
-    REAL_CONST(53140.307007824063/8.0),
-    REAL_CONST(53160.551898238533/8.0),
-    REAL_CONST(53180.79871627887/8.0),
-    REAL_CONST(53201.047461578091/8.0),
-    REAL_CONST(53221.2981337694/8.0),
-    REAL_CONST(53241.550732486176/8.0),
-    REAL_CONST(53261.805257361964/8.0),
-    REAL_CONST(53282.061708030487/8.0),
-    REAL_CONST(53302.32008412564/8.0),
-    REAL_CONST(53322.580385281493/8.0),
-    REAL_CONST(53342.842611132299/8.0),
-    REAL_CONST(53363.106761312469/8.0),
-    REAL_CONST(53383.372835456597/8.0),
-    REAL_CONST(53403.640833199453/8.0),
-    REAL_CONST(53423.910754175973/8.0),
-    REAL_CONST(53444.18259802126/8.0),
-    REAL_CONST(53464.456364370613/8.0),
-    REAL_CONST(53484.732052859479/8.0),
-    REAL_CONST(53505.009663123499/8.0),
-    REAL_CONST(53525.289194798468/8.0),
-    REAL_CONST(53545.570647520362/8.0),
-    REAL_CONST(53565.854020925333/8.0),
-    REAL_CONST(53586.139314649699/8.0),
-    REAL_CONST(53606.426528329954/8.0),
-    REAL_CONST(53626.715661602764/8.0),
-    REAL_CONST(53647.006714104959/8.0),
-    REAL_CONST(53667.299685473547/8.0),
-    REAL_CONST(53687.59457534572/8.0),
-    REAL_CONST(53707.891383358816/8.0),
-    REAL_CONST(53728.190109150361/8.0),
-    REAL_CONST(53748.490752358055/8.0),
-    REAL_CONST(53768.793312619753/8.0),
-    REAL_CONST(53789.09778957349/8.0),
-    REAL_CONST(53809.404182857485/8.0),
-    REAL_CONST(53829.712492110106/8.0),
-    REAL_CONST(53850.022716969899/8.0),
-    REAL_CONST(53870.334857075584/8.0),
-    REAL_CONST(53890.648912066055/8.0),
-    REAL_CONST(53910.964881580367/8.0),
-    REAL_CONST(53931.28276525774/8.0),
-    REAL_CONST(53951.602562737586/8.0),
-    REAL_CONST(53971.924273659461/8.0),
-    REAL_CONST(53992.24789766311/8.0),
-    REAL_CONST(54012.57343438844/8.0),
-    REAL_CONST(54032.90088347553/8.0),
-    REAL_CONST(54053.23024456462/8.0),
-    REAL_CONST(54073.561517296133/8.0),
-    REAL_CONST(54093.894701310644/8.0),
-    REAL_CONST(54114.22979624891/8.0),
-    REAL_CONST(54134.566801751855/8.0),
-    REAL_CONST(54154.90571746057/8.0),
-    REAL_CONST(54175.246543016314/8.0),
-    REAL_CONST(54195.589278060506/8.0),
-    REAL_CONST(54215.933922234755/8.0),
-    REAL_CONST(54236.280475180814/8.0),
-    REAL_CONST(54256.628936540626/8.0),
-    REAL_CONST(54276.97930595628/8.0),
-    REAL_CONST(54297.331583070045/8.0),
-    REAL_CONST(54317.685767524359/8.0),
-    REAL_CONST(54338.041858961828/8.0),
-    REAL_CONST(54358.399857025215/8.0),
-    REAL_CONST(54378.759761357462/8.0),
-    REAL_CONST(54399.121571601667/8.0),
-    REAL_CONST(54419.485287401105/8.0),
-    REAL_CONST(54439.850908399218/8.0),
-    REAL_CONST(54460.218434239614/8.0),
-    REAL_CONST(54480.587864566056/8.0),
-    REAL_CONST(54500.95919902248/8.0),
-    REAL_CONST(54521.332437252997/8.0),
-    REAL_CONST(54541.707578901878/8.0),
-    REAL_CONST(54562.084623613555/8.0),
-    REAL_CONST(54582.46357103264/8.0),
-    REAL_CONST(54602.844420803893/8.0),
-    REAL_CONST(54623.227172572246/8.0),
-    REAL_CONST(54643.611825982807/8.0),
-    REAL_CONST(54663.998380680838/8.0),
-    REAL_CONST(54684.386836311773/8.0),
-    REAL_CONST(54704.777192521207/8.0),
-    REAL_CONST(54725.169448954897/8.0),
-    REAL_CONST(54745.563605258772/8.0),
-    REAL_CONST(54765.959661078923/8.0),
-    REAL_CONST(54786.357616061614/8.0),
-    REAL_CONST(54806.757469853255/8.0),
-    REAL_CONST(54827.159222100439/8.0),
-    REAL_CONST(54847.562872449904/8.0),
-    REAL_CONST(54867.968420548583/8.0),
-    REAL_CONST(54888.375866043534/8.0),
-    REAL_CONST(54908.785208582012/8.0),
-    REAL_CONST(54929.196447811417/8.0),
-    REAL_CONST(54949.609583379322/8.0),
-    REAL_CONST(54970.024614933463/8.0),
-    REAL_CONST(54990.441542121727/8.0),
-    REAL_CONST(55010.86036459219/8.0),
-    REAL_CONST(55031.28108199306/8.0),
-    REAL_CONST(55051.703693972733/8.0),
-    REAL_CONST(55072.128200179759/8.0),
-    REAL_CONST(55092.554600262847/8.0),
-    REAL_CONST(55112.982893870874/8.0),
-    REAL_CONST(55133.413080652877/8.0),
-    REAL_CONST(55153.845160258061/8.0),
-    REAL_CONST(55174.279132335789/8.0),
-    REAL_CONST(55194.714996535586/8.0),
-    REAL_CONST(55215.152752507143/8.0),
-    REAL_CONST(55235.592399900306/8.0),
-    REAL_CONST(55256.033938365079/8.0),
-    REAL_CONST(55276.477367551655/8.0),
-    REAL_CONST(55296.92268711036/8.0),
-    REAL_CONST(55317.369896691685/8.0),
-    REAL_CONST(55337.818995946305/8.0),
-    REAL_CONST(55358.269984525024/8.0),
-    REAL_CONST(55378.72286207883/8.0),
-    REAL_CONST(55399.177628258869/8.0),
-    REAL_CONST(55419.634282716441/8.0),
-    REAL_CONST(55440.092825103013/8.0),
-    REAL_CONST(55460.553255070205/8.0),
-    REAL_CONST(55481.015572269804/8.0),
-    REAL_CONST(55501.479776353764/8.0),
-    REAL_CONST(55521.945866974187/8.0),
-    REAL_CONST(55542.413843783339/8.0),
-    REAL_CONST(55562.883706433655/8.0),
-    REAL_CONST(55583.355454577715/8.0),
-    REAL_CONST(55603.82908786826/8.0),
-    REAL_CONST(55624.304605958219/8.0),
-    REAL_CONST(55644.782008500639/8.0),
-    REAL_CONST(55665.261295148754/8.0),
-    REAL_CONST(55685.742465555952/8.0),
-    REAL_CONST(55706.225519375774/8.0),
-    REAL_CONST(55726.710456261928/8.0),
-    REAL_CONST(55747.197275868275/8.0),
-    REAL_CONST(55767.685977848843/8.0),
-    REAL_CONST(55788.176561857814/8.0),
-    REAL_CONST(55808.669027549528/8.0),
-    REAL_CONST(55829.163374578478/8.0),
-    REAL_CONST(55849.659602599328/8.0),
-    REAL_CONST(55870.157711266889/8.0),
-    REAL_CONST(55890.657700236145/8.0),
-    REAL_CONST(55911.159569162221/8.0),
-    REAL_CONST(55931.663317700411/8.0),
-    REAL_CONST(55952.168945506164/8.0),
-    REAL_CONST(55972.676452235086/8.0),
-    REAL_CONST(55993.185837542944/8.0),
-    REAL_CONST(56013.697101085651/8.0),
-    REAL_CONST(56034.210242519301/8.0),
-    REAL_CONST(56054.72526150012/8.0),
-    REAL_CONST(56075.242157684508/8.0),
-    REAL_CONST(56095.760930729011/8.0),
-    REAL_CONST(56116.281580290342/8.0),
-    REAL_CONST(56136.804106025367/8.0),
-    REAL_CONST(56157.328507591104/8.0),
-    REAL_CONST(56177.85478464474/8.0),
-    REAL_CONST(56198.382936843598/8.0),
-    REAL_CONST(56218.912963845185/8.0),
-    REAL_CONST(56239.444865307138/8.0),
-    REAL_CONST(56259.978640887268/8.0),
-    REAL_CONST(56280.514290243525/8.0),
-    REAL_CONST(56301.051813034042/8.0),
-    REAL_CONST(56321.591208917082/8.0),
-    REAL_CONST(56342.13247755108/8.0),
-    REAL_CONST(56362.675618594607/8.0),
-    REAL_CONST(56383.220631706419/8.0),
-    REAL_CONST(56403.767516545398/8.0),
-    REAL_CONST(56424.316272770608/8.0),
-    REAL_CONST(56444.866900041241/8.0),
-    REAL_CONST(56465.419398016667/8.0),
-    REAL_CONST(56485.973766356394/8.0),
-    REAL_CONST(56506.530004720102/8.0),
-    REAL_CONST(56527.088112767611/8.0),
-    REAL_CONST(56547.648090158902/8.0),
-    REAL_CONST(56568.209936554107/8.0),
-    REAL_CONST(56588.773651613519/8.0),
-    REAL_CONST(56609.339234997584/8.0),
-    REAL_CONST(56629.9066863669/8.0),
-    REAL_CONST(56650.47600538221/8.0),
-    REAL_CONST(56671.04719170442/8.0),
-    REAL_CONST(56691.620244994599/8.0),
-    REAL_CONST(56712.195164913959/8.0),
-    REAL_CONST(56732.771951123868/8.0),
-    REAL_CONST(56753.350603285835/8.0),
-    REAL_CONST(56773.931121061541/8.0),
-    REAL_CONST(56794.513504112823/8.0),
-    REAL_CONST(56815.097752101647/8.0),
-    REAL_CONST(56835.683864690152/8.0),
-    REAL_CONST(56856.271841540627/8.0),
-    REAL_CONST(56876.86168231551/8.0),
-    REAL_CONST(56897.453386677393/8.0),
-    REAL_CONST(56918.046954289028/8.0),
-    REAL_CONST(56938.642384813298/8.0),
-    REAL_CONST(56959.239677913261/8.0),
-    REAL_CONST(56979.838833252121/8.0),
-    REAL_CONST(57000.439850493225/8.0),
-    REAL_CONST(57021.04272930009/8.0),
-    REAL_CONST(57041.647469336371/8.0),
-    REAL_CONST(57062.254070265873/8.0),
-    REAL_CONST(57082.862531752558/8.0),
-    REAL_CONST(57103.472853460553/8.0),
-    REAL_CONST(57124.085035054108/8.0),
-    REAL_CONST(57144.699076197649/8.0),
-    REAL_CONST(57165.314976555739/8.0),
-    REAL_CONST(57185.932735793103/8.0),
-    REAL_CONST(57206.552353574611/8.0),
-    REAL_CONST(57227.173829565276/8.0),
-    REAL_CONST(57247.797163430281/8.0),
-    REAL_CONST(57268.42235483494/8.0),
-    REAL_CONST(57289.049403444733/8.0),
-    REAL_CONST(57309.678308925286/8.0),
-    REAL_CONST(57330.30907094237/8.0),
-    REAL_CONST(57350.941689161911/8.0),
-    REAL_CONST(57371.576163249985/8.0),
-    REAL_CONST(57392.212492872815/8.0),
-    REAL_CONST(57412.850677696784/8.0),
-    REAL_CONST(57433.490717388406/8.0),
-    REAL_CONST(57454.132611614368/8.0),
-    REAL_CONST(57474.776360041491/8.0),
-    REAL_CONST(57495.421962336746/8.0),
-    REAL_CONST(57516.069418167266/8.0),
-    REAL_CONST(57536.718727200314/8.0),
-    REAL_CONST(57557.36988910332/8.0),
-    REAL_CONST(57578.022903543861/8.0),
-    REAL_CONST(57598.677770189643/8.0),
-    REAL_CONST(57619.334488708548/8.0),
-    REAL_CONST(57639.993058768589/8.0),
-    REAL_CONST(57660.653480037938/8.0),
-    REAL_CONST(57681.315752184906/8.0),
-    REAL_CONST(57701.979874877965/8.0),
-    REAL_CONST(57722.64584778573/8.0),
-    REAL_CONST(57743.31367057695/8.0),
-    REAL_CONST(57763.983342920546/8.0),
-    REAL_CONST(57784.654864485572/8.0),
-    REAL_CONST(57805.328234941233/8.0),
-    REAL_CONST(57826.003453956881/8.0),
-    REAL_CONST(57846.680521202026/8.0),
-    REAL_CONST(57867.359436346305/8.0),
-    REAL_CONST(57888.040199059527/8.0),
-    REAL_CONST(57908.722809011633/8.0),
-    REAL_CONST(57929.407265872709/8.0),
-    REAL_CONST(57950.093569313001/8.0),
-    REAL_CONST(57970.781719002895/8.0),
-    REAL_CONST(57991.471714612911/8.0),
-    REAL_CONST(58012.16355581375/8.0),
-    REAL_CONST(58032.857242276223/8.0),
-    REAL_CONST(58053.552773671312/8.0),
-    REAL_CONST(58074.25014967013/8.0),
-    REAL_CONST(58094.949369943948/8.0),
-    REAL_CONST(58115.650434164185/8.0),
-    REAL_CONST(58136.353342002389/8.0),
-    REAL_CONST(58157.058093130276/8.0),
-    REAL_CONST(58177.764687219693/8.0),
-    REAL_CONST(58198.47312394264/8.0),
-    REAL_CONST(58219.183402971255/8.0),
-    REAL_CONST(58239.895523977837/8.0),
-    REAL_CONST(58260.609486634821/8.0),
-    REAL_CONST(58281.325290614775/8.0),
-    REAL_CONST(58302.042935590434/8.0),
-    REAL_CONST(58322.762421234678/8.0),
-    REAL_CONST(58343.483747220511/8.0),
-    REAL_CONST(58364.206913221096/8.0),
-    REAL_CONST(58384.931918909751/8.0),
-    REAL_CONST(58405.658763959924/8.0),
-    REAL_CONST(58426.3874480452/8.0),
-    REAL_CONST(58447.117970839339/8.0),
-    REAL_CONST(58467.85033201622/8.0),
-    REAL_CONST(58488.584531249864/8.0),
-    REAL_CONST(58509.320568214462/8.0),
-    REAL_CONST(58530.058442584334/8.0),
-    REAL_CONST(58550.798154033931/8.0),
-    REAL_CONST(58571.539702237875/8.0),
-    REAL_CONST(58592.283086870906/8.0),
-    REAL_CONST(58613.028307607929/8.0),
-    REAL_CONST(58633.775364123983/8.0),
-    REAL_CONST(58654.52425609425/8.0),
-    REAL_CONST(58675.274983194053/8.0),
-    REAL_CONST(58696.027545098877/8.0),
-    REAL_CONST(58716.781941484325/8.0),
-    REAL_CONST(58737.538172026158/8.0),
-    REAL_CONST(58758.296236400274/8.0),
-    REAL_CONST(58779.056134282728/8.0),
-    REAL_CONST(58799.817865349694/8.0),
-    REAL_CONST(58820.581429277503/8.0),
-    REAL_CONST(58841.346825742643/8.0),
-    REAL_CONST(58862.114054421712/8.0),
-    REAL_CONST(58882.883114991484/8.0),
-    REAL_CONST(58903.654007128847/8.0),
-    REAL_CONST(58924.426730510851/8.0),
-    REAL_CONST(58945.201284814684/8.0),
-    REAL_CONST(58965.977669717664/8.0),
-    REAL_CONST(58986.755884897269/8.0),
-    REAL_CONST(59007.535930031117/8.0),
-    REAL_CONST(59028.317804796949/8.0),
-    REAL_CONST(59049.101508872664/8.0),
-    REAL_CONST(59069.887041936301/8.0),
-    REAL_CONST(59090.674403666046/8.0),
-    REAL_CONST(59111.463593740213/8.0),
-    REAL_CONST(59132.254611837263/8.0),
-    REAL_CONST(59153.047457635803/8.0),
-    REAL_CONST(59173.84213081457/8.0),
-    REAL_CONST(59194.638631052461/8.0),
-    REAL_CONST(59215.436958028506/8.0),
-    REAL_CONST(59236.237111421855/8.0),
-    REAL_CONST(59257.039090911829/8.0),
-    REAL_CONST(59277.842896177877/8.0),
-    REAL_CONST(59298.648526899589/8.0),
-    REAL_CONST(59319.455982756685/8.0),
-    REAL_CONST(59340.26526342905/8.0),
-    REAL_CONST(59361.076368596696/8.0),
-    REAL_CONST(59381.889297939757/8.0),
-    REAL_CONST(59402.704051138542/8.0),
-    REAL_CONST(59423.520627873484/8.0),
-    REAL_CONST(59444.339027825139/8.0),
-    REAL_CONST(59465.159250674224/8.0),
-    REAL_CONST(59485.9812961016/8.0),
-    REAL_CONST(59506.805163788253/8.0),
-    REAL_CONST(59527.630853415307/8.0),
-    REAL_CONST(59548.458364664046/8.0),
-    REAL_CONST(59569.287697215863/8.0),
-    REAL_CONST(59590.118850752311/8.0),
-    REAL_CONST(59610.951824955089/8.0),
-    REAL_CONST(59631.786619506012/8.0),
-    REAL_CONST(59652.623234087048/8.0),
-    REAL_CONST(59673.461668380311/8.0),
-    REAL_CONST(59694.301922068029/8.0),
-    REAL_CONST(59715.143994832593/8.0),
-    REAL_CONST(59735.987886356525/8.0),
-    REAL_CONST(59756.833596322482/8.0),
-    REAL_CONST(59777.681124413255/8.0),
-    REAL_CONST(59798.530470311794/8.0),
-    REAL_CONST(59819.381633701159/8.0),
-    REAL_CONST(59840.234614264569/8.0),
-    REAL_CONST(59861.089411685381/8.0),
-    REAL_CONST(59881.94602564707/8.0),
-    REAL_CONST(59902.804455833269/8.0),
-    REAL_CONST(59923.664701927737/8.0),
-    REAL_CONST(59944.526763614384/8.0),
-    REAL_CONST(59965.390640577243/8.0),
-    REAL_CONST(59986.256332500488/8.0),
-    REAL_CONST(60007.123839068438/8.0),
-    REAL_CONST(60027.993159965539/8.0),
-    REAL_CONST(60048.864294876381/8.0),
-    REAL_CONST(60069.737243485688/8.0),
-    REAL_CONST(60090.612005478324/8.0),
-    REAL_CONST(60111.488580539284/8.0),
-    REAL_CONST(60132.366968353708/8.0),
-    REAL_CONST(60153.247168606867/8.0),
-    REAL_CONST(60174.129180984164/8.0),
-    REAL_CONST(60195.013005171153/8.0),
-    REAL_CONST(60215.898640853513/8.0),
-    REAL_CONST(60236.786087717061/8.0),
-    REAL_CONST(60257.675345447751/8.0),
-    REAL_CONST(60278.566413731671/8.0),
-    REAL_CONST(60299.459292255044/8.0),
-    REAL_CONST(60320.353980704247/8.0),
-    REAL_CONST(60341.25047876576/8.0),
-    REAL_CONST(60362.148786126229/8.0),
-    REAL_CONST(60383.048902472423/8.0),
-    REAL_CONST(60403.950827491237/8.0),
-    REAL_CONST(60424.854560869717/8.0),
-    REAL_CONST(60445.76010229504/8.0),
-    REAL_CONST(60466.667451454516/8.0),
-    REAL_CONST(60487.57660803559/8.0),
-    REAL_CONST(60508.487571725847/8.0),
-    REAL_CONST(60529.400342212997/8.0),
-    REAL_CONST(60550.314919184893/8.0),
-    REAL_CONST(60571.231302329521/8.0),
-    REAL_CONST(60592.149491335003/8.0),
-    REAL_CONST(60613.069485889588/8.0),
-    REAL_CONST(60633.991285681674/8.0),
-    REAL_CONST(60654.914890399785/8.0),
-    REAL_CONST(60675.840299732568/8.0),
-    REAL_CONST(60696.767513368832/8.0),
-    REAL_CONST(60717.696530997484/8.0),
-    REAL_CONST(60738.627352307602/8.0),
-    REAL_CONST(60759.55997698837/8.0),
-    REAL_CONST(60780.494404729128/8.0),
-    REAL_CONST(60801.430635219323/8.0),
-    REAL_CONST(60822.368668148556/8.0),
-    REAL_CONST(60843.308503206565/8.0),
-    REAL_CONST(60864.250140083204/8.0),
-    REAL_CONST(60885.193578468468/8.0),
-    REAL_CONST(60906.138818052495/8.0),
-    REAL_CONST(60927.085858525541/8.0),
-    REAL_CONST(60948.034699578006/8.0),
-    REAL_CONST(60968.985340900421/8.0),
-    REAL_CONST(60989.937782183442/8.0),
-    REAL_CONST(61010.892023117864/8.0),
-    REAL_CONST(61031.848063394616/8.0),
-    REAL_CONST(61052.805902704764/8.0),
-    REAL_CONST(61073.765540739492/8.0),
-    REAL_CONST(61094.726977190134/8.0),
-    REAL_CONST(61115.690211748137/8.0),
-    REAL_CONST(61136.655244105103/8.0),
-    REAL_CONST(61157.622073952742/8.0),
-    REAL_CONST(61178.590700982917/8.0),
-    REAL_CONST(61199.561124887616/8.0),
-    REAL_CONST(61220.533345358948/8.0),
-    REAL_CONST(61241.507362089171/8.0),
-    REAL_CONST(61262.483174770663/8.0),
-    REAL_CONST(61283.460783095943/8.0),
-    REAL_CONST(61304.440186757645/8.0),
-    REAL_CONST(61325.421385448557/8.0),
-    REAL_CONST(61346.404378861582/8.0),
-    REAL_CONST(61367.389166689762/8.0),
-    REAL_CONST(61388.375748626262/8.0),
-    REAL_CONST(61409.364124364387/8.0),
-    REAL_CONST(61430.354293597571/8.0),
-    REAL_CONST(61451.346256019373/8.0),
-    REAL_CONST(61472.340011323497/8.0),
-    REAL_CONST(61493.335559203762/8.0),
-    REAL_CONST(61514.332899354122/8.0),
-    REAL_CONST(61535.332031468672/8.0),
-    REAL_CONST(61556.332955241618/8.0),
-    REAL_CONST(61577.335670367313/8.0),
-    REAL_CONST(61598.340176540238/8.0),
-    REAL_CONST(61619.346473454993/8.0),
-    REAL_CONST(61640.354560806329/8.0),
-    REAL_CONST(61661.3644382891/8.0),
-    REAL_CONST(61682.376105598312/8.0),
-    REAL_CONST(61703.389562429089/8.0),
-    REAL_CONST(61724.404808476691/8.0),
-    REAL_CONST(61745.42184343651/8.0),
-    REAL_CONST(61766.440667004063/8.0),
-    REAL_CONST(61787.461278874987/8.0),
-    REAL_CONST(61808.483678745069/8.0),
-    REAL_CONST(61829.507866310203/8.0),
-    REAL_CONST(61850.533841266435/8.0),
-    REAL_CONST(61871.561603309929/8.0),
-    REAL_CONST(61892.591152136971/8.0),
-    REAL_CONST(61913.622487443987/8.0),
-    REAL_CONST(61934.655608927525/8.0),
-    REAL_CONST(61955.690516284267/8.0),
-    REAL_CONST(61976.727209211022/8.0),
-    REAL_CONST(61997.765687404724/8.0),
-    REAL_CONST(62018.805950562448/8.0),
-    REAL_CONST(62039.847998381381/8.0),
-    REAL_CONST(62060.891830558845/8.0),
-    REAL_CONST(62081.93744679229/8.0),
-    REAL_CONST(62102.984846779298/8.0),
-    REAL_CONST(62124.034030217575/8.0),
-    REAL_CONST(62145.084996804966/8.0),
-    REAL_CONST(62166.137746239416/8.0),
-    REAL_CONST(62187.19227821903/8.0),
-    REAL_CONST(62208.248592442025/8.0),
-    REAL_CONST(62229.306688606739/8.0),
-    REAL_CONST(62250.366566411656/8.0),
-    REAL_CONST(62271.428225555377/8.0),
-    REAL_CONST(62292.491665736627/8.0),
-    REAL_CONST(62313.556886654267/8.0),
-    REAL_CONST(62334.623888007271/8.0),
-    REAL_CONST(62355.692669494762/8.0),
-    REAL_CONST(62376.763230815974/8.0),
-    REAL_CONST(62397.835571670272/8.0),
-    REAL_CONST(62418.909691757144/8.0),
-    REAL_CONST(62439.98559077621/8.0),
-    REAL_CONST(62461.063268427228/8.0),
-    REAL_CONST(62482.142724410049/8.0),
-    REAL_CONST(62503.223958424685/8.0),
-    REAL_CONST(62524.306970171267/8.0),
-    REAL_CONST(62545.39175935003/8.0),
-    REAL_CONST(62566.478325661366/8.0),
-    REAL_CONST(62587.566668805768/8.0),
-    REAL_CONST(62608.656788483881/8.0),
-    REAL_CONST(62629.748684396451/8.0),
-    REAL_CONST(62650.842356244357/8.0),
-    REAL_CONST(62671.937803728622/8.0),
-    REAL_CONST(62693.035026550366/8.0),
-    REAL_CONST(62714.134024410858/8.0),
-    REAL_CONST(62735.234797011479/8.0),
-    REAL_CONST(62756.337344053733/8.0),
-    REAL_CONST(62777.441665239276/8.0),
-    REAL_CONST(62798.547760269852/8.0),
-    REAL_CONST(62819.655628847358/8.0),
-    REAL_CONST(62840.765270673801/8.0),
-    REAL_CONST(62861.876685451323/8.0),
-    REAL_CONST(62882.989872882186/8.0),
-    REAL_CONST(62904.104832668774/8.0),
-    REAL_CONST(62925.221564513602/8.0),
-    REAL_CONST(62946.340068119309/8.0),
-    REAL_CONST(62967.460343188657/8.0),
-    REAL_CONST(62988.582389424526/8.0),
-    REAL_CONST(63009.70620652994/8.0),
-    REAL_CONST(63030.831794208025/8.0),
-    REAL_CONST(63051.959152162039/8.0),
-    REAL_CONST(63073.08828009537/8.0),
-    REAL_CONST(63094.219177711529/8.0),
-    REAL_CONST(63115.351844714154/8.0),
-    REAL_CONST(63136.486280806988/8.0),
-    REAL_CONST(63157.622485693922/8.0),
-    REAL_CONST(63178.760459078956/8.0),
-    REAL_CONST(63199.900200666219/8.0),
-    REAL_CONST(63221.041710159967/8.0),
-    REAL_CONST(63242.184987264569/8.0),
-    REAL_CONST(63263.330031684534/8.0),
-    REAL_CONST(63284.476843124474/8.0),
-    REAL_CONST(63305.625421289144/8.0),
-    REAL_CONST(63326.775765883409/8.0),
-    REAL_CONST(63347.927876612259/8.0),
-    REAL_CONST(63369.081753180813/8.0),
-    REAL_CONST(63390.237395294316/8.0),
-    REAL_CONST(63411.39480265812/8.0),
-    REAL_CONST(63432.553974977716/8.0),
-    REAL_CONST(63453.714911958712/8.0),
-    REAL_CONST(63474.877613306839/8.0),
-    REAL_CONST(63496.042078727944/8.0),
-    REAL_CONST(63517.208307927998/8.0),
-    REAL_CONST(63538.376300613119/8.0),
-    REAL_CONST(63559.546056489504/8.0),
-    REAL_CONST(63580.717575263516/8.0),
-    REAL_CONST(63601.890856641607/8.0),
-    REAL_CONST(63623.065900330374/8.0),
-    REAL_CONST(63644.242706036515/8.0),
-    REAL_CONST(63665.421273466869/8.0),
-    REAL_CONST(63686.601602328381/8.0),
-    REAL_CONST(63707.783692328136/8.0),
-    REAL_CONST(63728.967543173334/8.0),
-    REAL_CONST(63750.153154571279/8.0),
-    REAL_CONST(63771.340526229418/8.0),
-    REAL_CONST(63792.529657855317/8.0),
-    REAL_CONST(63813.720549156649/8.0),
-    REAL_CONST(63834.913199841227/8.0),
-    REAL_CONST(63856.107609616978/8.0),
-    REAL_CONST(63877.303778191941/8.0),
-    REAL_CONST(63898.501705274284/8.0),
-    REAL_CONST(63919.7013905723/8.0),
-    REAL_CONST(63940.902833794404/8.0),
-    REAL_CONST(63962.106034649114/8.0),
-    REAL_CONST(63983.310992845094/8.0),
-    REAL_CONST(64004.517708091109/8.0),
-    REAL_CONST(64025.726180096048/8.0),
-    REAL_CONST(64046.936408568938/8.0),
-    REAL_CONST(64068.1483932189/8.0),
-    REAL_CONST(64089.362133755196/8.0),
-    REAL_CONST(64110.577629887193/8.0),
-    REAL_CONST(64131.794881324393/8.0),
-    REAL_CONST(64153.013887776404/8.0),
-    REAL_CONST(64174.234648952966/8.0),
-    REAL_CONST(64195.457164563937/8.0),
-    REAL_CONST(64216.681434319289/8.0),
-    REAL_CONST(64237.907457929112/8.0),
-    REAL_CONST(64259.135235103626/8.0),
-    REAL_CONST(64280.36476555316/8.0),
-    REAL_CONST(64301.596048988169/8.0),
-    REAL_CONST(64322.829085119236/8.0),
-    REAL_CONST(64344.06387365704/8.0),
-    REAL_CONST(64365.300414312398/8.0),
-    REAL_CONST(64386.538706796251/8.0),
-    REAL_CONST(64407.778750819634/8.0),
-    REAL_CONST(64429.020546093721/8.0),
-    REAL_CONST(64450.26409232981/8.0),
-    REAL_CONST(64471.509389239291/8.0),
-    REAL_CONST(64492.756436533709/8.0),
-    REAL_CONST(64514.005233924705/8.0),
-    REAL_CONST(64535.255781124033/8.0),
-    REAL_CONST(64556.50807784358/8.0),
-    REAL_CONST(64577.762123795357/8.0),
-    REAL_CONST(64599.017918691468/8.0),
-    REAL_CONST(64620.275462244172/8.0),
-    REAL_CONST(64641.534754165805/8.0),
-    REAL_CONST(64662.795794168844/8.0),
-    REAL_CONST(64684.058581965895/8.0),
-    REAL_CONST(64705.323117269661/8.0),
-    REAL_CONST(64726.589399792974/8.0),
-    REAL_CONST(64747.857429248776/8.0),
-    REAL_CONST(64769.127205350138/8.0),
-    REAL_CONST(64790.398727810236/8.0),
-    REAL_CONST(64811.671996342375/8.0),
-    REAL_CONST(64832.947010659969/8.0),
-    REAL_CONST(64854.223770476558/8.0),
-    REAL_CONST(64875.502275505794/8.0),
-    REAL_CONST(64896.782525461451/8.0),
-    REAL_CONST(64918.064520057414/8.0),
-    REAL_CONST(64939.348259007682/8.0),
-    REAL_CONST(64960.633742026388/8.0),
-    REAL_CONST(64981.920968827762/8.0),
-    REAL_CONST(65003.209939126165/8.0),
-    REAL_CONST(65024.500652636067/8.0),
-    REAL_CONST(65045.793109072067/8.0),
-    REAL_CONST(65067.087308148861/8.0),
-    REAL_CONST(65088.383249581282/8.0),
-    REAL_CONST(65109.680933084259/8.0),
-    REAL_CONST(65130.980358372864/8.0),
-    REAL_CONST(65152.28152516226/8.0),
-    REAL_CONST(65173.584433167736/8.0),
-    REAL_CONST(65194.889082104703/8.0),
-    REAL_CONST(65216.195471688683/8.0),
-    REAL_CONST(65237.503601635319/8.0),
-    REAL_CONST(65258.813471660353/8.0),
-    REAL_CONST(65280.125081479666/8.0),
-    REAL_CONST(65301.438430809241/8.0),
-    REAL_CONST(65322.753519365178/8.0),
-    REAL_CONST(65344.070346863708/8.0),
-    REAL_CONST(65365.388913021146/8.0),
-    REAL_CONST(65386.709217553958/8.0),
-    REAL_CONST(65408.031260178701/8.0),
-    REAL_CONST(65429.355040612056/8.0),
-    REAL_CONST(65450.680558570821/8.0),
-    REAL_CONST(65472.00781377191/8.0),
-    REAL_CONST(65493.336805932355/8.0),
-    REAL_CONST(65514.66753476928/8.0),
-    REAL_CONST(65535.999999999956/8.0),
-    REAL_CONST(65557.334201341757/8.0),
-    REAL_CONST(65578.670138512171/8.0),
-    REAL_CONST(65600.007811228788/8.0),
-    REAL_CONST(65621.347219209332/8.0),
-    REAL_CONST(65642.688362171626/8.0),
-    REAL_CONST(65664.031239833639/8.0),
-    REAL_CONST(65685.375851913413/8.0),
-    REAL_CONST(65706.722198129137/8.0),
-    REAL_CONST(65728.070278199084/8.0),
-    REAL_CONST(65749.420091841661/8.0),
-    REAL_CONST(65770.771638775404/8.0),
-    REAL_CONST(65792.124918718939/8.0),
-    REAL_CONST(65813.479931391004/8.0),
-    REAL_CONST(65834.836676510458/8.0),
-    REAL_CONST(65856.195153796303/8.0),
-    REAL_CONST(65877.5553629676/8.0),
-    REAL_CONST(65898.917303743554/8.0),
-    REAL_CONST(65920.280975843489/8.0),
-    REAL_CONST(65941.646378986843/8.0),
-    REAL_CONST(65963.013512893158/8.0),
-    REAL_CONST(65984.382377282076/8.0),
-    REAL_CONST(66005.752971873386/8.0),
-    REAL_CONST(66027.125296386963/8.0),
-    REAL_CONST(66048.499350542799/8.0),
-    REAL_CONST(66069.875134061018/8.0),
-    REAL_CONST(66091.252646661844/8.0),
-    REAL_CONST(66112.631888065618/8.0),
-    REAL_CONST(66134.01285799277/8.0),
-    REAL_CONST(66155.395556163887/8.0),
-    REAL_CONST(66176.779982299631/8.0),
-    REAL_CONST(66198.166136120795/8.0),
-    REAL_CONST(66219.554017348273/8.0),
-    REAL_CONST(66240.943625703105/8.0),
-    REAL_CONST(66262.334960906388/8.0),
-    REAL_CONST(66283.728022679396/8.0),
-    REAL_CONST(66305.122810743444/8.0),
-    REAL_CONST(66326.519324820023/8.0),
-    REAL_CONST(66347.917564630698/8.0),
-    REAL_CONST(66369.317529897162/8.0),
-    REAL_CONST(66390.719220341227/8.0),
-    REAL_CONST(66412.122635684791/8.0),
-    REAL_CONST(66433.527775649884/8.0),
-    REAL_CONST(66454.934639958636/8.0),
-    REAL_CONST(66476.343228333324/8.0),
-    REAL_CONST(66497.753540496284/8.0),
-    REAL_CONST(66519.165576169995/8.0),
-    REAL_CONST(66540.57933507704/8.0),
-    REAL_CONST(66561.994816940118/8.0),
-    REAL_CONST(66583.412021482043/8.0),
-    REAL_CONST(66604.830948425733/8.0),
-    REAL_CONST(66626.251597494222/8.0),
-    REAL_CONST(66647.673968410629/8.0),
-    REAL_CONST(66669.098060898235/8.0),
-    REAL_CONST(66690.523874680381/8.0),
-    REAL_CONST(66711.951409480564/8.0),
-    REAL_CONST(66733.380665022371/8.0),
-    REAL_CONST(66754.811641029475/8.0),
-    REAL_CONST(66776.244337225711/8.0),
-    REAL_CONST(66797.678753334985/8.0),
-    REAL_CONST(66819.11488908132/8.0),
-    REAL_CONST(66840.552744188884/8.0),
-    REAL_CONST(66861.992318381905/8.0),
-    REAL_CONST(66883.433611384738/8.0),
-    REAL_CONST(66904.876622921889/8.0),
-    REAL_CONST(66926.321352717903/8.0),
-    REAL_CONST(66947.767800497502/8.0),
-    REAL_CONST(66969.215965985466/8.0),
-    REAL_CONST(66990.665848906734/8.0),
-    REAL_CONST(67012.117448986304/8.0),
-    REAL_CONST(67033.570765949335/8.0),
-    REAL_CONST(67055.025799521056/8.0),
-    REAL_CONST(67076.482549426815/8.0),
-    REAL_CONST(67097.941015392076/8.0),
-    REAL_CONST(67119.401197142433/8.0),
-    REAL_CONST(67140.863094403554/8.0),
-    REAL_CONST(67162.326706901222/8.0),
-    REAL_CONST(67183.792034361351/8.0),
-    REAL_CONST(67205.259076509959/8.0),
-    REAL_CONST(67226.72783307315/8.0),
-    REAL_CONST(67248.198303777172/8.0),
-    REAL_CONST(67269.670488348347/8.0),
-    REAL_CONST(67291.144386513144/8.0),
-    REAL_CONST(67312.619997998088/8.0),
-    REAL_CONST(67334.09732252988/8.0),
-    REAL_CONST(67355.576359835293/8.0),
-    REAL_CONST(67377.057109641188/8.0),
-    REAL_CONST(67398.53957167457/8.0),
-    REAL_CONST(67420.023745662547/8.0),
-    REAL_CONST(67441.50963133233/8.0),
-    REAL_CONST(67462.99722841123/8.0),
-    REAL_CONST(67484.486536626689/8.0),
-    REAL_CONST(67505.977555706224/8.0),
-    REAL_CONST(67527.470285377494/8.0),
-    REAL_CONST(67548.964725368263/8.0),
-    REAL_CONST(67570.460875406367/8.0),
-    REAL_CONST(67591.9587352198/8.0),
-    REAL_CONST(67613.458304536631/8.0),
-    REAL_CONST(67634.95958308503/8.0),
-    REAL_CONST(67656.462570593329/8.0),
-    REAL_CONST(67677.967266789899/8.0),
-    REAL_CONST(67699.473671403248/8.0),
-    REAL_CONST(67720.981784162024/8.0),
-    REAL_CONST(67742.491604794923/8.0),
-    REAL_CONST(67764.003133030797/8.0),
-    REAL_CONST(67785.516368598575/8.0),
-    REAL_CONST(67807.031311227314/8.0),
-    REAL_CONST(67828.547960646174/8.0),
-    REAL_CONST(67850.066316584402/8.0),
-    REAL_CONST(67871.58637877139/8.0),
-    REAL_CONST(67893.108146936589/8.0),
-    REAL_CONST(67914.63162080961/8.0),
-    REAL_CONST(67936.156800120138/8.0),
-    REAL_CONST(67957.683684597971/8.0),
-    REAL_CONST(67979.212273973011/8.0),
-    REAL_CONST(68000.742567975263/8.0),
-    REAL_CONST(68022.274566334876/8.0),
-    REAL_CONST(68043.808268782057/8.0),
-    REAL_CONST(68065.343675047145/8.0),
-    REAL_CONST(68086.880784860579/8.0),
-    REAL_CONST(68108.419597952918/8.0),
-    REAL_CONST(68129.960114054789/8.0),
-    REAL_CONST(68151.502332896969/8.0),
-    REAL_CONST(68173.04625421032/8.0),
-    REAL_CONST(68194.591877725834/8.0),
-    REAL_CONST(68216.139203174564/8.0),
-    REAL_CONST(68237.688230287706/8.0),
-    REAL_CONST(68259.238958796544/8.0),
-    REAL_CONST(68280.791388432481/8.0),
-    REAL_CONST(68302.345518927032/8.0),
-    REAL_CONST(68323.901350011787/8.0),
-    REAL_CONST(68345.458881418483/8.0),
-    REAL_CONST(68367.018112878912/8.0),
-    REAL_CONST(68388.579044125028/8.0),
-    REAL_CONST(68410.141674888844/8.0),
-    REAL_CONST(68431.706004902502/8.0),
-    REAL_CONST(68453.272033898262/8.0),
-    REAL_CONST(68474.839761608455/8.0),
-    REAL_CONST(68496.409187765545/8.0),
-    REAL_CONST(68517.980312102081/8.0),
-    REAL_CONST(68539.553134350732/8.0),
-    REAL_CONST(68561.127654244279/8.0),
-    REAL_CONST(68582.70387151558/8.0),
-    REAL_CONST(68604.281785897634/8.0),
-    REAL_CONST(68625.861397123503/8.0),
-    REAL_CONST(68647.44270492639/8.0),
-    REAL_CONST(68669.025709039604/8.0),
-    REAL_CONST(68690.610409196524/8.0),
-    REAL_CONST(68712.196805130661/8.0),
-    REAL_CONST(68733.784896575627/8.0),
-    REAL_CONST(68755.374683265123/8.0),
-    REAL_CONST(68776.966164932994/8.0),
-    REAL_CONST(68798.559341313128/8.0),
-    REAL_CONST(68820.154212139591/8.0),
-    REAL_CONST(68841.750777146473/8.0),
-    REAL_CONST(68863.349036068044/8.0),
-    REAL_CONST(68884.948988638629/8.0),
-    REAL_CONST(68906.550634592684/8.0),
-    REAL_CONST(68928.153973664739/8.0),
-    REAL_CONST(68949.75900558944/8.0),
-    REAL_CONST(68971.365730101577/8.0),
-    REAL_CONST(68992.974146935987/8.0),
-    REAL_CONST(69014.584255827634/8.0),
-    REAL_CONST(69036.196056511588/8.0),
-    REAL_CONST(69057.809548723017/8.0),
-    REAL_CONST(69079.424732197207/8.0),
-    REAL_CONST(69101.041606669532/8.0),
-    REAL_CONST(69122.660171875468/8.0),
-    REAL_CONST(69144.280427550606/8.0),
-    REAL_CONST(69165.902373430625/8.0),
-    REAL_CONST(69187.526009251334/8.0),
-    REAL_CONST(69209.151334748618/8.0),
-    REAL_CONST(69230.778349658474/8.0),
-    REAL_CONST(69252.40705371699/8.0),
-    REAL_CONST(69274.037446660412/8.0),
-    REAL_CONST(69295.669528225/8.0),
-    REAL_CONST(69317.303298147192/8.0),
-    REAL_CONST(69338.938756163494/8.0),
-    REAL_CONST(69360.575902010532/8.0),
-    REAL_CONST(69382.214735425005/8.0),
-    REAL_CONST(69403.855256143754/8.0),
-    REAL_CONST(69425.497463903681/8.0),
-    REAL_CONST(69447.141358441833/8.0),
-    REAL_CONST(69468.78693949533/8.0),
-    REAL_CONST(69490.434206801394/8.0),
-    REAL_CONST(69512.083160097391/8.0),
-    REAL_CONST(69533.733799120717/8.0),
-    REAL_CONST(69555.386123608929/8.0),
-    REAL_CONST(69577.04013329967/8.0),
-    REAL_CONST(69598.695827930685/8.0),
-    REAL_CONST(69620.353207239794/8.0),
-    REAL_CONST(69642.012270964973/8.0),
-    REAL_CONST(69663.67301884426/8.0),
-    REAL_CONST(69685.335450615792/8.0),
-    REAL_CONST(69706.999566017839/8.0),
-    REAL_CONST(69728.665364788743/8.0),
-    REAL_CONST(69750.332846666963/8.0),
-    REAL_CONST(69772.002011391058/8.0),
-    REAL_CONST(69793.672858699691/8.0),
-    REAL_CONST(69815.345388331611/8.0),
-    REAL_CONST(69837.019600025669/8.0),
-    REAL_CONST(69858.695493520849/8.0),
-    REAL_CONST(69880.373068556204/8.0),
-    REAL_CONST(69902.052324870907/8.0),
-    REAL_CONST(69923.733262204216/8.0),
-    REAL_CONST(69945.415880295492/8.0),
-    REAL_CONST(69967.100178884211/8.0),
-    REAL_CONST(69988.786157709939/8.0),
-    REAL_CONST(70010.473816512356/8.0),
-    REAL_CONST(70032.163155031216/8.0),
-    REAL_CONST(70053.854173006403/8.0),
-    REAL_CONST(70075.546870177874/8.0),
-    REAL_CONST(70097.241246285717/8.0),
-    REAL_CONST(70118.937301070109/8.0),
-    REAL_CONST(70140.635034271298/8.0),
-    REAL_CONST(70162.334445629691/8.0),
-    REAL_CONST(70184.035534885741/8.0),
-    REAL_CONST(70205.738301780017/8.0),
-    REAL_CONST(70227.442746053217/8.0),
-    REAL_CONST(70249.1488674461/8.0),
-    REAL_CONST(70270.856665699539/8.0),
-    REAL_CONST(70292.566140554511/8.0),
-    REAL_CONST(70314.277291752107/8.0),
-    REAL_CONST(70335.990119033493/8.0),
-    REAL_CONST(70357.704622139936/8.0),
-    REAL_CONST(70379.420800812819/8.0),
-    REAL_CONST(70401.138654793613/8.0),
-    REAL_CONST(70422.85818382389/8.0),
-    REAL_CONST(70444.579387645339/8.0),
-    REAL_CONST(70466.302265999722/8.0),
-    REAL_CONST(70488.026818628918/8.0),
-    REAL_CONST(70509.753045274876/8.0),
-    REAL_CONST(70531.480945679708/8.0),
-    REAL_CONST(70553.210519585555/8.0),
-    REAL_CONST(70574.941766734701/8.0),
-    REAL_CONST(70596.674686869505/8.0),
-    REAL_CONST(70618.409279732456/8.0),
-    REAL_CONST(70640.145545066101/8.0),
-    REAL_CONST(70661.883482613106/8.0),
-    REAL_CONST(70683.623092116264/8.0),
-    REAL_CONST(70705.364373318414/8.0),
-    REAL_CONST(70727.107325962526/8.0),
-    REAL_CONST(70748.851949791671/8.0),
-    REAL_CONST(70770.598244549008/8.0),
-    REAL_CONST(70792.346209977783/8.0),
-    REAL_CONST(70814.095845821372/8.0),
-    REAL_CONST(70835.847151823225/8.0),
-    REAL_CONST(70857.600127726895/8.0),
-    REAL_CONST(70879.354773276034/8.0),
-    REAL_CONST(70901.111088214413/8.0),
-    REAL_CONST(70922.869072285859/8.0),
-    REAL_CONST(70944.628725234332/8.0),
-    REAL_CONST(70966.390046803877/8.0),
-    REAL_CONST(70988.153036738629/8.0),
-    REAL_CONST(71009.917694782853/8.0),
-    REAL_CONST(71031.684020680885/8.0),
-    REAL_CONST(71053.45201417715/8.0),
-    REAL_CONST(71075.221675016204/8.0),
-    REAL_CONST(71096.993002942661/8.0),
-    REAL_CONST(71118.765997701266/8.0),
-    REAL_CONST(71140.540659036851/8.0),
-    REAL_CONST(71162.316986694335/8.0),
-    REAL_CONST(71184.09498041874/8.0),
-    REAL_CONST(71205.874639955218/8.0),
-    REAL_CONST(71227.655965048951/8.0),
-    REAL_CONST(71249.438955445294/8.0),
-    REAL_CONST(71271.223610889632/8.0),
-    REAL_CONST(71293.009931127483/8.0),
-    REAL_CONST(71314.797915904477/8.0),
-    REAL_CONST(71336.587564966307/8.0),
-    REAL_CONST(71358.378878058764/8.0),
-    REAL_CONST(71380.171854927772/8.0),
-    REAL_CONST(71401.966495319313/8.0),
-    REAL_CONST(71423.762798979486/8.0),
-    REAL_CONST(71445.560765654489/8.0),
-    REAL_CONST(71467.360395090596/8.0),
-    REAL_CONST(71489.161687034211/8.0),
-    REAL_CONST(71510.964641231811/8.0),
-    REAL_CONST(71532.769257429973/8.0),
-    REAL_CONST(71554.575535375348/8.0),
-    REAL_CONST(71576.383474814749/8.0),
-    REAL_CONST(71598.19307549503/8.0),
-    REAL_CONST(71620.004337163133/8.0),
-    REAL_CONST(71641.817259566145/8.0),
-    REAL_CONST(71663.631842451214/8.0),
-    REAL_CONST(71685.4480855656/8.0),
-    REAL_CONST(71707.26598865664/8.0),
-    REAL_CONST(71729.085551471784/8.0),
-    REAL_CONST(71750.906773758586/8.0),
-    REAL_CONST(71772.729655264673/8.0),
-    REAL_CONST(71794.554195737772/8.0),
-    REAL_CONST(71816.380394925713/8.0),
-    REAL_CONST(71838.208252576442/8.0),
-    REAL_CONST(71860.037768437964/8.0),
-    REAL_CONST(71881.868942258385/8.0),
-    REAL_CONST(71903.701773785942/8.0),
-    REAL_CONST(71925.536262768932/8.0),
-    REAL_CONST(71947.372408955751/8.0),
-    REAL_CONST(71969.210212094898/8.0),
-    REAL_CONST(71991.049671934976/8.0),
-    REAL_CONST(72012.890788224686/8.0),
-    REAL_CONST(72034.73356071279/8.0),
-    REAL_CONST(72056.577989148165/8.0),
-    REAL_CONST(72078.424073279821/8.0),
-    REAL_CONST(72100.271812856794/8.0),
-    REAL_CONST(72122.121207628254/8.0),
-    REAL_CONST(72143.97225734347/8.0),
-    REAL_CONST(72165.824961751801/8.0),
-    REAL_CONST(72187.679320602692/8.0),
-    REAL_CONST(72209.53533364569/8.0),
-    REAL_CONST(72231.393000630429/8.0),
-    REAL_CONST(72253.252321306645/8.0),
-    REAL_CONST(72275.113295424177/8.0),
-    REAL_CONST(72296.975922732949/8.0),
-    REAL_CONST(72318.840202982959/8.0),
-    REAL_CONST(72340.706135924338/8.0),
-    REAL_CONST(72362.573721307272/8.0),
-    REAL_CONST(72384.442958882093/8.0),
-    REAL_CONST(72406.313848399179/8.0),
-    REAL_CONST(72428.186389609036/8.0),
-    REAL_CONST(72450.060582262216/8.0),
-    REAL_CONST(72471.936426109431/8.0),
-    REAL_CONST(72493.813920901433/8.0),
-    REAL_CONST(72515.693066389096/8.0),
-    REAL_CONST(72537.573862323392/8.0),
-    REAL_CONST(72559.456308455352/8.0),
-    REAL_CONST(72581.340404536139/8.0),
-    REAL_CONST(72603.226150316987/8.0),
-    REAL_CONST(72625.113545549248/8.0),
-    REAL_CONST(72647.002589984331/8.0),
-    REAL_CONST(72668.893283373764/8.0),
-    REAL_CONST(72690.785625469172/8.0),
-    REAL_CONST(72712.679616022273/8.0),
-    REAL_CONST(72734.575254784853/8.0),
-    REAL_CONST(72756.472541508803/8.0),
-    REAL_CONST(72778.371475946144/8.0),
-    REAL_CONST(72800.272057848939/8.0),
-    REAL_CONST(72822.174286969355/8.0),
-    REAL_CONST(72844.07816305969/8.0),
-    REAL_CONST(72865.983685872285/8.0),
-    REAL_CONST(72887.890855159596/8.0),
-    REAL_CONST(72909.799670674183/8.0),
-    REAL_CONST(72931.710132168693/8.0),
-    REAL_CONST(72953.622239395845/8.0),
-    REAL_CONST(72975.535992108475/8.0),
-    REAL_CONST(72997.451390059519/8.0),
-    REAL_CONST(73019.368433001961/8.0),
-    REAL_CONST(73041.287120688925/8.0),
-    REAL_CONST(73063.207452873612/8.0),
-    REAL_CONST(73085.129429309294/8.0),
-    REAL_CONST(73107.053049749389/8.0),
-    REAL_CONST(73128.978313947344/8.0),
-    REAL_CONST(73150.905221656736/8.0),
-    REAL_CONST(73172.833772631217/8.0),
-    REAL_CONST(73194.763966624567/8.0),
-    REAL_CONST(73216.695803390612/8.0),
-    REAL_CONST(73238.62928268328/8.0),
-    REAL_CONST(73260.564404256627/8.0),
-    REAL_CONST(73282.501167864757/8.0),
-    REAL_CONST(73304.439573261901/8.0),
-    REAL_CONST(73326.379620202337/8.0),
-    REAL_CONST(73348.321308440485/8.0),
-    REAL_CONST(73370.264637730841/8.0),
-    REAL_CONST(73392.209607827957/8.0),
-    REAL_CONST(73414.156218486532/8.0),
-    REAL_CONST(73436.104469461323/8.0),
-    REAL_CONST(73458.054360507173/8.0),
-    REAL_CONST(73480.005891379056/8.0),
-    REAL_CONST(73501.959061831993/8.0),
-    REAL_CONST(73523.913871621116/8.0),
-    REAL_CONST(73545.870320501665/8.0),
-    REAL_CONST(73567.828408228932/8.0),
-    REAL_CONST(73589.78813455833/8.0),
-    REAL_CONST(73611.749499245358/8.0),
-    REAL_CONST(73633.712502045615/8.0),
-    REAL_CONST(73655.677142714747/8.0),
-    REAL_CONST(73677.643421008557/8.0),
-    REAL_CONST(73699.611336682879/8.0),
-    REAL_CONST(73721.580889493693/8.0),
-    REAL_CONST(73743.552079197019/8.0),
-    REAL_CONST(73765.524905548999/8.0),
-    REAL_CONST(73787.499368305856/8.0),
-    REAL_CONST(73809.475467223907/8.0),
-    REAL_CONST(73831.453202059551/8.0),
-    REAL_CONST(73853.432572569291/8.0),
-    REAL_CONST(73875.413578509717/8.0),
-    REAL_CONST(73897.396219637507/8.0),
-    REAL_CONST(73919.380495709411/8.0),
-    REAL_CONST(73941.36640648231/8.0),
-    REAL_CONST(73963.353951713143/8.0),
-    REAL_CONST(73985.343131158952/8.0),
-    REAL_CONST(74007.333944576865/8.0),
-    REAL_CONST(74029.326391724098/8.0),
-    REAL_CONST(74051.320472357969/8.0),
-    REAL_CONST(74073.316186235883/8.0),
-    REAL_CONST(74095.313533115303/8.0),
-    REAL_CONST(74117.312512753837/8.0),
-    REAL_CONST(74139.313124909138/8.0),
-    REAL_CONST(74161.315369338976/8.0),
-    REAL_CONST(74183.319245801191/8.0),
-    REAL_CONST(74205.324754053727/8.0),
-    REAL_CONST(74227.331893854629/8.0),
-    REAL_CONST(74249.340664961986/8.0),
-    REAL_CONST(74271.351067134034/8.0),
-    REAL_CONST(74293.363100129049/8.0),
-    REAL_CONST(74315.376763705441/8.0),
-    REAL_CONST(74337.392057621662/8.0),
-    REAL_CONST(74359.408981636298/8.0),
-    REAL_CONST(74381.427535508003/8.0),
-    REAL_CONST(74403.447718995507/8.0),
-    REAL_CONST(74425.469531857671/8.0),
-    REAL_CONST(74447.492973853383/8.0),
-    REAL_CONST(74469.518044741693/8.0),
-    REAL_CONST(74491.54474428168/8.0),
-    REAL_CONST(74513.573072232539/8.0),
-    REAL_CONST(74535.603028353551/8.0),
-    REAL_CONST(74557.634612404087/8.0),
-    REAL_CONST(74579.667824143602/8.0),
-    REAL_CONST(74601.702663331642/8.0),
-    REAL_CONST(74623.739129727837/8.0),
-    REAL_CONST(74645.777223091936/8.0),
-    REAL_CONST(74667.816943183716/8.0),
-    REAL_CONST(74689.858289763113/8.0),
-    REAL_CONST(74711.901262590094/8.0),
-    REAL_CONST(74733.945861424741/8.0),
-    REAL_CONST(74755.992086027225/8.0),
-    REAL_CONST(74778.039936157802/8.0),
-    REAL_CONST(74800.089411576817/8.0),
-    REAL_CONST(74822.140512044702/8.0),
-    REAL_CONST(74844.193237321961/8.0),
-    REAL_CONST(74866.24758716923/8.0),
-    REAL_CONST(74888.303561347187/8.0),
-    REAL_CONST(74910.36115961663/8.0),
-    REAL_CONST(74932.420381738411/8.0),
-    REAL_CONST(74954.481227473516/8.0),
-    REAL_CONST(74976.543696582972/8.0),
-    REAL_CONST(74998.607788827925/8.0),
-    REAL_CONST(75020.673503969607/8.0),
-    REAL_CONST(75042.740841769322/8.0),
-    REAL_CONST(75064.809801988464/8.0),
-    REAL_CONST(75086.88038438854/8.0),
-    REAL_CONST(75108.952588731103/8.0),
-    REAL_CONST(75131.026414777836/8.0),
-    REAL_CONST(75153.101862290467/8.0),
-    REAL_CONST(75175.178931030852/8.0),
-    REAL_CONST(75197.257620760924/8.0),
-    REAL_CONST(75219.33793124267/8.0),
-    REAL_CONST(75241.419862238225/8.0),
-    REAL_CONST(75263.503413509738/8.0),
-    REAL_CONST(75285.588584819503/8.0),
-    REAL_CONST(75307.675375929874/8.0),
-    REAL_CONST(75329.763786603318/8.0),
-    REAL_CONST(75351.853816602365/8.0),
-    REAL_CONST(75373.945465689612/8.0),
-    REAL_CONST(75396.038733627807/8.0),
-    REAL_CONST(75418.133620179724/8.0),
-    REAL_CONST(75440.230125108254/8.0),
-    REAL_CONST(75462.32824817636/8.0),
-    REAL_CONST(75484.427989147109/8.0),
-    REAL_CONST(75506.529347783653/8.0),
-    REAL_CONST(75528.63232384919/8.0),
-    REAL_CONST(75550.736917107075/8.0),
-    REAL_CONST(75572.843127320695/8.0),
-    REAL_CONST(75594.950954253538/8.0),
-    REAL_CONST(75617.060397669193/8.0),
-    REAL_CONST(75639.171457331307/8.0),
-    REAL_CONST(75661.284133003646/8.0),
-    REAL_CONST(75683.398424450032/8.0),
-    REAL_CONST(75705.514331434402/8.0),
-    REAL_CONST(75727.631853720741/8.0),
-    REAL_CONST(75749.750991073175/8.0),
-    REAL_CONST(75771.871743255862/8.0),
-    REAL_CONST(75793.994110033076/8.0),
-    REAL_CONST(75816.118091169177/8.0),
-    REAL_CONST(75838.243686428585/8.0),
-    REAL_CONST(75860.370895575848/8.0),
-    REAL_CONST(75882.499718375562/8.0),
-    REAL_CONST(75904.630154592422/8.0),
-    REAL_CONST(75926.762203991224/8.0),
-    REAL_CONST(75948.895866336825/8.0),
-    REAL_CONST(75971.031141394182/8.0),
-    REAL_CONST(75993.168028928325/8.0),
-    REAL_CONST(76015.306528704401/8.0),
-    REAL_CONST(76037.4466404876/8.0),
-    REAL_CONST(76059.588364043215/8.0),
-    REAL_CONST(76081.731699136653/8.0),
-    REAL_CONST(76103.876645533353/8.0),
-    REAL_CONST(76126.023202998884/8.0),
-    REAL_CONST(76148.171371298871/8.0),
-    REAL_CONST(76170.321150199044/8.0),
-    REAL_CONST(76192.472539465205/8.0),
-    REAL_CONST(76214.625538863256/8.0),
-    REAL_CONST(76236.780148159174/8.0),
-    REAL_CONST(76258.936367119008/8.0),
-    REAL_CONST(76281.094195508922/8.0),
-    REAL_CONST(76303.253633095141/8.0),
-    REAL_CONST(76325.414679643975/8.0),
-    REAL_CONST(76347.577334921851/8.0),
-    REAL_CONST(76369.741598695226/8.0),
-    REAL_CONST(76391.907470730686/8.0),
-    REAL_CONST(76414.074950794879/8.0),
-    REAL_CONST(76436.244038654564/8.0),
-    REAL_CONST(76458.414734076548/8.0),
-    REAL_CONST(76480.587036827754/8.0),
-    REAL_CONST(76502.760946675175/8.0),
-    REAL_CONST(76524.936463385893/8.0),
-    REAL_CONST(76547.11358672705/8.0),
-    REAL_CONST(76569.292316465915/8.0),
-    REAL_CONST(76591.472652369819/8.0),
-    REAL_CONST(76613.654594206164/8.0),
-    REAL_CONST(76635.838141742468/8.0),
-    REAL_CONST(76658.023294746308/8.0),
-    REAL_CONST(76680.210052985349/8.0),
-    REAL_CONST(76702.398416227341/8.0),
-    REAL_CONST(76724.588384240138/8.0),
-    REAL_CONST(76746.779956791637/8.0),
-    REAL_CONST(76768.973133649866/8.0),
-    REAL_CONST(76791.167914582897/8.0),
-    REAL_CONST(76813.364299358902/8.0),
-    REAL_CONST(76835.562287746157/8.0),
-    REAL_CONST(76857.761879512967/8.0),
-    REAL_CONST(76879.963074427797/8.0),
-    REAL_CONST(76902.165872259109/8.0),
-    REAL_CONST(76924.37027277553/8.0),
-    REAL_CONST(76946.576275745727/8.0),
-    REAL_CONST(76968.783880938441/8.0),
-    REAL_CONST(76990.993088122515/8.0),
-    REAL_CONST(77013.203897066895/8.0),
-    REAL_CONST(77035.416307540567/8.0),
-    REAL_CONST(77057.630319312622/8.0),
-    REAL_CONST(77079.845932152239/8.0),
-    REAL_CONST(77102.063145828695/8.0),
-    REAL_CONST(77124.281960111301/8.0),
-    REAL_CONST(77146.50237476948/8.0),
-    REAL_CONST(77168.724389572759/8.0),
-    REAL_CONST(77190.948004290723/8.0),
-    REAL_CONST(77213.173218693031/8.0),
-    REAL_CONST(77235.400032549442/8.0),
-    REAL_CONST(77257.628445629802/8.0),
-    REAL_CONST(77279.858457704031/8.0),
-    REAL_CONST(77302.090068542122/8.0),
-    REAL_CONST(77324.323277914169/8.0),
-    REAL_CONST(77346.558085590339/8.0),
-    REAL_CONST(77368.794491340886/8.0),
-    REAL_CONST(77391.032494936138/8.0),
-    REAL_CONST(77413.272096146524/8.0),
-    REAL_CONST(77435.51329474253/8.0),
-    REAL_CONST(77457.756090494731/8.0),
-    REAL_CONST(77480.000483173804/8.0),
-    REAL_CONST(77502.246472550498/8.0),
-    REAL_CONST(77524.494058395634/8.0),
-    REAL_CONST(77546.743240480107/8.0),
-    REAL_CONST(77568.994018574944/8.0),
-    REAL_CONST(77591.246392451198/8.0),
-    REAL_CONST(77613.500361880026/8.0),
-    REAL_CONST(77635.755926632657/8.0),
-    REAL_CONST(77658.013086480438/8.0),
-    REAL_CONST(77680.271841194757/8.0),
-    REAL_CONST(77702.532190547092/8.0),
-    REAL_CONST(77724.794134309021/8.0),
-    REAL_CONST(77747.057672252195/8.0),
-    REAL_CONST(77769.322804148323/8.0),
-    REAL_CONST(77791.589529769248/8.0),
-    REAL_CONST(77813.857848886837/8.0),
-    REAL_CONST(77836.127761273063/8.0),
-    REAL_CONST(77858.399266699998/8.0),
-    REAL_CONST(77880.67236493979/8.0),
-    REAL_CONST(77902.947055764627/8.0),
-    REAL_CONST(77925.223338946831/8.0),
-    REAL_CONST(77947.50121425878/8.0),
-    REAL_CONST(77969.780681472927/8.0),
-    REAL_CONST(77992.061740361838/8.0),
-    REAL_CONST(78014.344390698127/8.0),
-    REAL_CONST(78036.628632254491/8.0),
-    REAL_CONST(78058.914464803747/8.0),
-    REAL_CONST(78081.201888118725/8.0),
-    REAL_CONST(78103.490901972415/8.0),
-    REAL_CONST(78125.781506137821/8.0),
-    REAL_CONST(78148.073700388064/8.0),
-    REAL_CONST(78170.367484496339/8.0),
-    REAL_CONST(78192.662858235926/8.0),
-    REAL_CONST(78214.959821380166/8.0),
-    REAL_CONST(78237.258373702498/8.0),
-    REAL_CONST(78259.558514976452/8.0),
-    REAL_CONST(78281.860244975614/8.0),
-    REAL_CONST(78304.163563473659/8.0),
-    REAL_CONST(78326.468470244363/8.0),
-    REAL_CONST(78348.77496506153/8.0),
-    REAL_CONST(78371.083047699125/8.0),
-    REAL_CONST(78393.392717931114/8.0),
-    REAL_CONST(78415.703975531578/8.0),
-    REAL_CONST(78438.016820274701/8.0),
-    REAL_CONST(78460.331251934695/8.0),
-    REAL_CONST(78482.647270285903/8.0),
-    REAL_CONST(78504.964875102727/8.0),
-    REAL_CONST(78527.284066159627/8.0),
-    REAL_CONST(78549.604843231195/8.0),
-    REAL_CONST(78571.927206092048/8.0),
-    REAL_CONST(78594.251154516911/8.0),
-    REAL_CONST(78616.576688280606/8.0),
-    REAL_CONST(78638.903807157985/8.0),
-    REAL_CONST(78661.232510924034/8.0),
-    REAL_CONST(78683.562799353778/8.0),
-    REAL_CONST(78705.894672222363/8.0),
-    REAL_CONST(78728.228129304945/8.0),
-    REAL_CONST(78750.563170376859/8.0),
-    REAL_CONST(78772.899795213423/8.0),
-    REAL_CONST(78795.238003590101/8.0),
-    REAL_CONST(78817.577795282399/8.0),
-    REAL_CONST(78839.919170065928/8.0),
-    REAL_CONST(78862.262127716356/8.0),
-    REAL_CONST(78884.606668009452/8.0),
-    REAL_CONST(78906.952790721043/8.0),
-    REAL_CONST(78929.300495627045/8.0),
-    REAL_CONST(78951.64978250346/8.0),
-    REAL_CONST(78974.000651126378/8.0),
-    REAL_CONST(78996.353101271932/8.0),
-    REAL_CONST(79018.707132716358/8.0),
-    REAL_CONST(79041.062745235977/8.0),
-    REAL_CONST(79063.41993860717/8.0),
-    REAL_CONST(79085.778712606436/8.0),
-    REAL_CONST(79108.139067010285/8.0),
-    REAL_CONST(79130.501001595389/8.0),
-    REAL_CONST(79152.864516138419/8.0),
-    REAL_CONST(79175.22961041618/8.0),
-    REAL_CONST(79197.596284205531/8.0),
-    REAL_CONST(79219.96453728342/8.0),
-    REAL_CONST(79242.33436942687/8.0),
-    REAL_CONST(79264.705780412987/8.0),
-    REAL_CONST(79287.078770018954/8.0),
-    REAL_CONST(79309.453338022009/8.0),
-    REAL_CONST(79331.829484199508/8.0),
-    REAL_CONST(79354.207208328866/8.0),
-    REAL_CONST(79376.586510187582/8.0),
-    REAL_CONST(79398.967389553218/8.0),
-    REAL_CONST(79421.349846203433/8.0),
-    REAL_CONST(79443.733879915948/8.0),
-    REAL_CONST(79466.119490468584/8.0),
-    REAL_CONST(79488.50667763922/8.0),
-    REAL_CONST(79510.895441205823/8.0),
-    REAL_CONST(79533.285780946433/8.0),
-    REAL_CONST(79555.677696639163/8.0),
-    REAL_CONST(79578.071188062226/8.0),
-    REAL_CONST(79600.466254993895/8.0),
-    REAL_CONST(79622.862897212515/8.0),
-    REAL_CONST(79645.261114496549/8.0),
-    REAL_CONST(79667.660906624471/8.0),
-    REAL_CONST(79690.062273374875/8.0),
-    REAL_CONST(79712.465214526455/8.0),
-    REAL_CONST(79734.869729857935/8.0),
-    REAL_CONST(79757.275819148126/8.0),
-    REAL_CONST(79779.683482175955/8.0),
-    REAL_CONST(79802.092718720378/8.0),
-    REAL_CONST(79824.503528560454/8.0),
-    REAL_CONST(79846.915911475327/8.0),
-    REAL_CONST(79869.329867244203/8.0),
-    REAL_CONST(79891.745395646343/8.0),
-    REAL_CONST(79914.162496461155/8.0),
-    REAL_CONST(79936.581169468045/8.0),
-    REAL_CONST(79959.001414446553/8.0),
-    REAL_CONST(79981.423231176261/8.0),
-    REAL_CONST(80003.846619436852/8.0),
-    REAL_CONST(80026.271579008084/8.0),
-    REAL_CONST(80048.698109669771/8.0),
-    REAL_CONST(80071.12621120183/8.0),
-    REAL_CONST(80093.555883384237/8.0),
-    REAL_CONST(80115.987125997053/8.0),
-    REAL_CONST(80138.419938820414/8.0),
-    REAL_CONST(80160.854321634528/8.0),
-    REAL_CONST(80183.290274219689/8.0),
-    REAL_CONST(80205.727796356281/8.0),
-    REAL_CONST(80228.166887824715/8.0),
-    REAL_CONST(80250.607548405547/8.0),
-    REAL_CONST(80273.049777879336/8.0),
-    REAL_CONST(80295.493576026798/8.0),
-    REAL_CONST(80317.938942628651/8.0),
-    REAL_CONST(80340.385877465727/8.0),
-    REAL_CONST(80362.834380318949/8.0),
-    REAL_CONST(80385.28445096928/8.0),
-    REAL_CONST(80407.736089197788/8.0),
-    REAL_CONST(80430.189294785596/8.0),
-    REAL_CONST(80452.644067513917/8.0),
-    REAL_CONST(80475.100407164035/8.0),
-    REAL_CONST(80497.558313517322/8.0),
-    REAL_CONST(80520.017786355209/8.0),
-    REAL_CONST(80542.478825459213/8.0),
-    REAL_CONST(80564.941430610925/8.0),
-    REAL_CONST(80587.405601592007/8.0),
-    REAL_CONST(80609.871338184195/8.0),
-    REAL_CONST(80632.338640169342/8.0),
-    REAL_CONST(80654.8075073293/8.0),
-    REAL_CONST(80677.277939446067/8.0),
-    REAL_CONST(80699.749936301683/8.0),
-    REAL_CONST(80722.223497678278/8.0),
-    REAL_CONST(80744.698623358039/8.0),
-    REAL_CONST(80767.17531312324/8.0),
-    REAL_CONST(80789.653566756242/8.0),
-    REAL_CONST(80812.133384039465/8.0),
-    REAL_CONST(80834.614764755403/8.0),
-    REAL_CONST(80857.097708686648/8.0),
-    REAL_CONST(80879.582215615854/8.0),
-    REAL_CONST(80902.068285325731/8.0),
-    REAL_CONST(80924.555917599093/8.0),
-    REAL_CONST(80947.045112218824/8.0),
-    REAL_CONST(80969.535868967869/8.0),
-    REAL_CONST(80992.028187629272/8.0),
-    REAL_CONST(81014.522067986123/8.0),
-    REAL_CONST(81037.017509821613/8.0),
-    REAL_CONST(81059.514512919006/8.0),
-    REAL_CONST(81082.013077061609/8.0),
-    REAL_CONST(81104.513202032831/8.0),
-    REAL_CONST(81127.014887616184/8.0),
-    REAL_CONST(81149.518133595193/8.0),
-    REAL_CONST(81172.022939753486/8.0),
-    REAL_CONST(81194.529305874807/8.0),
-    REAL_CONST(81217.037231742899/8.0),
-    REAL_CONST(81239.546717141639/8.0),
-    REAL_CONST(81262.057761854958/8.0),
-    REAL_CONST(81284.570365666848/8.0),
-    REAL_CONST(81307.084528361403/8.0),
-    REAL_CONST(81329.600249722775/8.0),
-    REAL_CONST(81352.117529535186/8.0),
-    REAL_CONST(81374.636367582949/8.0),
-    REAL_CONST(81397.156763650448/8.0),
-    REAL_CONST(81419.678717522125/8.0),
-    REAL_CONST(81442.202228982511/8.0),
-    REAL_CONST(81464.727297816222/8.0),
-    REAL_CONST(81487.253923807933/8.0),
-    REAL_CONST(81509.782106742379/8.0),
-    REAL_CONST(81532.311846404409/8.0),
-    REAL_CONST(81554.843142578902/8.0),
-    REAL_CONST(81577.375995050839/8.0),
-    REAL_CONST(81599.910403605274/8.0),
-    REAL_CONST(81622.446368027333/8.0),
-    REAL_CONST(81644.983888102215/8.0),
-    REAL_CONST(81667.522963615178/8.0),
-    REAL_CONST(81690.063594351581/8.0),
-    REAL_CONST(81712.605780096841/8.0),
-    REAL_CONST(81735.149520636449/8.0),
-    REAL_CONST(81757.694815755967/8.0),
-    REAL_CONST(81780.241665241047/8.0),
-    REAL_CONST(81802.79006887741/8.0),
-    REAL_CONST(81825.340026450824/8.0),
-    REAL_CONST(81847.891537747171/8.0),
-    REAL_CONST(81870.444602552379/8.0),
-    REAL_CONST(81892.999220652477/8.0),
-    REAL_CONST(81915.555391833506/8.0),
-    REAL_CONST(81938.113115881672/8.0),
-    REAL_CONST(81960.672392583176/8.0),
-    REAL_CONST(81983.233221724338/8.0),
-    REAL_CONST(82005.795603091537/8.0),
-    REAL_CONST(82028.359536471224/8.0),
-    REAL_CONST(82050.925021649906/8.0),
-    REAL_CONST(82073.492058414209/8.0),
-    REAL_CONST(82096.060646550788/8.0),
-    REAL_CONST(82118.630785846399/8.0),
-    REAL_CONST(82141.202476087841/8.0),
-    REAL_CONST(82163.775717062032/8.0),
-    REAL_CONST(82186.35050855593/8.0),
-    REAL_CONST(82208.926850356569/8.0),
-    REAL_CONST(82231.504742251054/8.0),
-    REAL_CONST(82254.084184026578/8.0),
-    REAL_CONST(82276.665175470393/8.0),
-    REAL_CONST(82299.24771636985/8.0),
-    REAL_CONST(82321.831806512317/8.0),
-    REAL_CONST(82344.417445685307/8.0),
-    REAL_CONST(82367.004633676348/8.0),
-    REAL_CONST(82389.593370273054/8.0),
-    REAL_CONST(82412.183655263143/8.0),
-    REAL_CONST(82434.775488434374/8.0),
-    REAL_CONST(82457.368869574595/8.0),
-    REAL_CONST(82479.963798471697/8.0),
-    REAL_CONST(82502.560274913689/8.0),
-    REAL_CONST(82525.158298688606/8.0),
-    REAL_CONST(82547.757869584602/8.0),
-    REAL_CONST(82570.35898738986/8.0),
-    REAL_CONST(82592.961651892678/8.0),
-    REAL_CONST(82615.565862881398/8.0),
-    REAL_CONST(82638.171620144421/8.0),
-    REAL_CONST(82660.778923470265/8.0),
-    REAL_CONST(82683.387772647475/8.0),
-    REAL_CONST(82705.998167464713/8.0),
-    REAL_CONST(82728.610107710658/8.0),
-    REAL_CONST(82751.223593174116/8.0),
-    REAL_CONST(82773.83862364394/8.0),
-    REAL_CONST(82796.45519890904/8.0),
-    REAL_CONST(82819.073318758441/8.0),
-    REAL_CONST(82841.692982981185/8.0),
-    REAL_CONST(82864.314191366429/8.0),
-    REAL_CONST(82886.936943703375/8.0),
-    REAL_CONST(82909.561239781324/8.0),
-    REAL_CONST(82932.187079389638/8.0),
-    REAL_CONST(82954.814462317736/8.0),
-    REAL_CONST(82977.443388355125/8.0),
-    REAL_CONST(83000.073857291369/8.0),
-    REAL_CONST(83022.70586891612/8.0),
-    REAL_CONST(83045.339423019104/8.0),
-    REAL_CONST(83067.974519390089/8.0),
-    REAL_CONST(83090.611157818959/8.0),
-    REAL_CONST(83113.249338095629/8.0),
-    REAL_CONST(83135.8890600101/8.0),
-    REAL_CONST(83158.530323352461/8.0),
-    REAL_CONST(83181.173127912858/8.0),
-    REAL_CONST(83203.817473481497/8.0),
-    REAL_CONST(83226.463359848669/8.0),
-    REAL_CONST(83249.11078680474/8.0),
-    REAL_CONST(83271.759754140134/8.0),
-    REAL_CONST(83294.410261645375/8.0),
-    REAL_CONST(83317.062309111003/8.0),
-    REAL_CONST(83339.715896327703/8.0),
-    REAL_CONST(83362.371023086147/8.0),
-    REAL_CONST(83385.027689177165/8.0),
-    REAL_CONST(83407.685894391587/8.0),
-    REAL_CONST(83430.345638520361/8.0),
-    REAL_CONST(83453.006921354478/8.0),
-    REAL_CONST(83475.669742685001/8.0),
-    REAL_CONST(83498.334102303095/8.0),
-    REAL_CONST(83520.999999999942/8.0),
-    REAL_CONST(83543.667435566866/8.0),
-    REAL_CONST(83566.336408795192/8.0),
-    REAL_CONST(83589.006919476349/8.0),
-    REAL_CONST(83611.678967401851/8.0),
-    REAL_CONST(83634.352552363242/8.0),
-    REAL_CONST(83657.027674152167/8.0),
-    REAL_CONST(83679.704332560359/8.0),
-    REAL_CONST(83702.382527379552/8.0),
-    REAL_CONST(83725.062258401638/8.0),
-    REAL_CONST(83747.743525418511/8.0),
-    REAL_CONST(83770.42632822218/8.0),
-    REAL_CONST(83793.110666604684/8.0),
-    REAL_CONST(83815.796540358162/8.0),
-    REAL_CONST(83838.483949274829/8.0),
-    REAL_CONST(83861.172893146941/8.0),
-    REAL_CONST(83883.863371766842/8.0),
-    REAL_CONST(83906.555384926964/8.0),
-    REAL_CONST(83929.248932419752/8.0),
-    REAL_CONST(83951.944014037799/8.0),
-    REAL_CONST(83974.640629573696/8.0),
-    REAL_CONST(83997.338778820151/8.0),
-    REAL_CONST(84020.038461569929/8.0),
-    REAL_CONST(84042.739677615857/8.0),
-    REAL_CONST(84065.442426750829/8.0),
-    REAL_CONST(84088.146708767847/8.0),
-    REAL_CONST(84110.852523459922/8.0),
-    REAL_CONST(84133.559870620171/8.0),
-    REAL_CONST(84156.268750041796/8.0),
-    REAL_CONST(84178.979161518029/8.0),
-    REAL_CONST(84201.691104842204/8.0),
-    REAL_CONST(84224.404579807713/8.0),
-    REAL_CONST(84247.119586208006/8.0),
-    REAL_CONST(84269.83612383662/8.0),
-    REAL_CONST(84292.55419248715/8.0),
-    REAL_CONST(84315.273791953281/8.0),
-    REAL_CONST(84337.994922028738/8.0),
-    REAL_CONST(84360.717582507335/8.0),
-    REAL_CONST(84383.441773182945/8.0),
-    REAL_CONST(84406.167493849513/8.0),
-    REAL_CONST(84428.894744301069/8.0),
-    REAL_CONST(84451.623524331691/8.0),
-    REAL_CONST(84474.353833735542/8.0),
-    REAL_CONST(84497.085672306828/8.0),
-    REAL_CONST(84519.819039839858/8.0),
-    REAL_CONST(84542.553936128999/8.0),
-    REAL_CONST(84565.290360968676/8.0),
-    REAL_CONST(84588.028314153402/8.0),
-    REAL_CONST(84610.767795477717/8.0),
-    REAL_CONST(84633.508804736295/8.0),
-    REAL_CONST(84656.251341723822/8.0),
-    REAL_CONST(84678.995406235073/8.0),
-    REAL_CONST(84701.740998064924/8.0),
-    REAL_CONST(84724.488117008252/8.0),
-    REAL_CONST(84747.236762860062/8.0),
-    REAL_CONST(84769.986935415407/8.0),
-    REAL_CONST(84792.73863446941/8.0),
-    REAL_CONST(84815.491859817252/8.0),
-    REAL_CONST(84838.246611254188/8.0),
-    REAL_CONST(84861.002888575575/8.0),
-    REAL_CONST(84883.760691576768/8.0),
-    REAL_CONST(84906.520020053256/8.0),
-    REAL_CONST(84929.28087380057/8.0),
-    REAL_CONST(84952.043252614312/8.0),
-    REAL_CONST(84974.807156290146/8.0),
-    REAL_CONST(84997.572584623806/8.0),
-    REAL_CONST(85020.339537411113/8.0),
-    REAL_CONST(85043.108014447949/8.0),
-    REAL_CONST(85065.878015530237/8.0),
-    REAL_CONST(85088.649540453989/8.0),
-    REAL_CONST(85111.422589015303/8.0),
-    REAL_CONST(85134.197161010321/8.0),
-    REAL_CONST(85156.973256235244/8.0),
-    REAL_CONST(85179.750874486374/8.0),
-    REAL_CONST(85202.530015560071/8.0),
-    REAL_CONST(85225.310679252725/8.0),
-    REAL_CONST(85248.092865360857/8.0),
-    REAL_CONST(85270.876573681016/8.0),
-    REAL_CONST(85293.661804009811/8.0),
-    REAL_CONST(85316.448556143951/8.0),
-    REAL_CONST(85339.236829880188/8.0),
-    REAL_CONST(85362.026625015351/8.0),
-    REAL_CONST(85384.817941346351/8.0),
-    REAL_CONST(85407.610778670132/8.0),
-    REAL_CONST(85430.405136783724/8.0),
-    REAL_CONST(85453.201015484257/8.0),
-    REAL_CONST(85475.998414568865/8.0),
-    REAL_CONST(85498.797333834795/8.0),
-    REAL_CONST(85521.597773079353/8.0),
-    REAL_CONST(85544.399732099904/8.0),
-    REAL_CONST(85567.203210693886/8.0),
-    REAL_CONST(85590.008208658808/8.0),
-    REAL_CONST(85612.814725792239/8.0),
-    REAL_CONST(85635.62276189182/8.0),
-    REAL_CONST(85658.432316755265/8.0),
-    REAL_CONST(85681.243390180331/8.0),
-    REAL_CONST(85704.055981964877/8.0),
-    REAL_CONST(85726.870091906807/8.0),
-    REAL_CONST(85749.685719804082/8.0),
-    REAL_CONST(85772.502865454764/8.0),
-    REAL_CONST(85795.321528656961/8.0),
-    REAL_CONST(85818.141709208852/8.0),
-    REAL_CONST(85840.963406908675/8.0),
-    REAL_CONST(85863.78662155474/8.0),
-    REAL_CONST(85886.611352945445/8.0),
-    REAL_CONST(85909.437600879217/8.0),
-    REAL_CONST(85932.26536515457/8.0),
-    REAL_CONST(85955.094645570091/8.0),
-    REAL_CONST(85977.92544192441/8.0),
-    REAL_CONST(86000.757754016275/8.0),
-    REAL_CONST(86023.591581644432/8.0),
-    REAL_CONST(86046.426924607746/8.0),
-    REAL_CONST(86069.263782705122/8.0),
-    REAL_CONST(86092.102155735556/8.0),
-    REAL_CONST(86114.942043498071/8.0),
-    REAL_CONST(86137.783445791807/8.0),
-    REAL_CONST(86160.626362415918/8.0),
-    REAL_CONST(86183.470793169676/8.0),
-    REAL_CONST(86206.316737852379/8.0),
-    REAL_CONST(86229.164196263402/8.0),
-    REAL_CONST(86252.013168202204/8.0),
-    REAL_CONST(86274.863653468303/8.0),
-    REAL_CONST(86297.715651861261/8.0),
-    REAL_CONST(86320.569163180728/8.0),
-    REAL_CONST(86343.424187226425/8.0),
-    REAL_CONST(86366.280723798132/8.0),
-    REAL_CONST(86389.138772695675/8.0),
-    REAL_CONST(86411.998333718977/8.0),
-    REAL_CONST(86434.859406668009/8.0),
-    REAL_CONST(86457.721991342827/8.0),
-    REAL_CONST(86480.586087543532/8.0),
-    REAL_CONST(86503.451695070296/8.0),
-    REAL_CONST(86526.318813723352/8.0),
-    REAL_CONST(86549.187443303032/8.0),
-    REAL_CONST(86572.057583609683/8.0),
-    REAL_CONST(86594.929234443756/8.0),
-    REAL_CONST(86617.802395605773/8.0),
-    REAL_CONST(86640.677066896271/8.0),
-    REAL_CONST(86663.553248115903/8.0),
-    REAL_CONST(86686.43093906538/8.0),
-    REAL_CONST(86709.310139545443/8.0),
-    REAL_CONST(86732.190849356964/8.0),
-    REAL_CONST(86755.073068300815/8.0),
-    REAL_CONST(86777.956796177954/8.0),
-    REAL_CONST(86800.842032789442/8.0),
-    REAL_CONST(86823.728777936354/8.0),
-    REAL_CONST(86846.617031419853/8.0),
-    REAL_CONST(86869.506793041175/8.0),
-    REAL_CONST(86892.398062601613/8.0),
-    REAL_CONST(86915.290839902518/8.0),
-    REAL_CONST(86938.185124745316/8.0),
-    REAL_CONST(86961.080916931489/8.0),
-    REAL_CONST(86983.978216262592/8.0),
-    REAL_CONST(87006.87702254027/8.0),
-    REAL_CONST(87029.777335566177/8.0),
-    REAL_CONST(87052.67915514209/8.0),
-    REAL_CONST(87075.582481069796/8.0),
-    REAL_CONST(87098.487313151185/8.0),
-    REAL_CONST(87121.39365118822/8.0),
-    REAL_CONST(87144.301494982894/8.0),
-    REAL_CONST(87167.210844337285/8.0),
-    REAL_CONST(87190.121699053532/8.0),
-    REAL_CONST(87213.034058933845/8.0),
-    REAL_CONST(87235.947923780506/8.0),
-    REAL_CONST(87258.863293395829/8.0),
-    REAL_CONST(87281.780167582241/8.0),
-    REAL_CONST(87304.698546142172/8.0),
-    REAL_CONST(87327.618428878181/8.0),
-    REAL_CONST(87350.539815592856/8.0),
-    REAL_CONST(87373.462706088845/8.0),
-    REAL_CONST(87396.387100168897/8.0),
-    REAL_CONST(87419.312997635774/8.0),
-    REAL_CONST(87442.240398292357/8.0),
-    REAL_CONST(87465.16930194154/8.0),
-    REAL_CONST(87488.099708386319/8.0),
-    REAL_CONST(87511.031617429733/8.0),
-    REAL_CONST(87533.965028874911/8.0),
-    REAL_CONST(87556.899942525008/8.0),
-    REAL_CONST(87579.836358183282/8.0),
-    REAL_CONST(87602.774275653021/8.0),
-    REAL_CONST(87625.713694737613/8.0),
-    REAL_CONST(87648.654615240492/8.0),
-    REAL_CONST(87671.597036965148/8.0),
-    REAL_CONST(87694.540959715145/8.0),
-    REAL_CONST(87717.486383294105/8.0),
-    REAL_CONST(87740.433307505737/8.0),
-    REAL_CONST(87763.381732153779/8.0),
-    REAL_CONST(87786.331657042057/8.0),
-    REAL_CONST(87809.283081974456/8.0),
-    REAL_CONST(87832.236006754916/8.0),
-    REAL_CONST(87855.190431187453/8.0),
-    REAL_CONST(87878.146355076155/8.0),
-    REAL_CONST(87901.103778225151/8.0),
-    REAL_CONST(87924.062700438633/8.0),
-    REAL_CONST(87947.023121520891/8.0),
-    REAL_CONST(87969.985041276246/8.0),
-    REAL_CONST(87992.948459509105/8.0),
-    REAL_CONST(88015.913376023906/8.0),
-    REAL_CONST(88038.879790625171/8.0),
-    REAL_CONST(88061.847703117513/8.0),
-    REAL_CONST(88084.817113305573/8.0),
-    REAL_CONST(88107.788020994049/8.0),
-    REAL_CONST(88130.760425987726/8.0),
-    REAL_CONST(88153.734328091465/8.0),
-    REAL_CONST(88176.709727110137/8.0),
-    REAL_CONST(88199.686622848749/8.0),
-    REAL_CONST(88222.665015112303/8.0),
-    REAL_CONST(88245.644903705906/8.0),
-    REAL_CONST(88268.626288434709/8.0),
-    REAL_CONST(88291.609169103947/8.0),
-    REAL_CONST(88314.593545518903/8.0),
-    REAL_CONST(88337.579417484914/8.0),
-    REAL_CONST(88360.566784807408/8.0),
-    REAL_CONST(88383.555647291854/8.0),
-    REAL_CONST(88406.546004743795/8.0),
-    REAL_CONST(88429.537856968818/8.0),
-    REAL_CONST(88452.531203772611/8.0),
-    REAL_CONST(88475.52604496089/8.0),
-    REAL_CONST(88498.522380339447/8.0),
-    REAL_CONST(88521.52020971413/8.0),
-    REAL_CONST(88544.519532890874/8.0),
-    REAL_CONST(88567.520349675644/8.0),
-    REAL_CONST(88590.522659874507/8.0),
-    REAL_CONST(88613.526463293543/8.0),
-    REAL_CONST(88636.531759738922/8.0),
-    REAL_CONST(88659.538549016899/8.0),
-    REAL_CONST(88682.546830933745/8.0),
-    REAL_CONST(88705.556605295846/8.0),
-    REAL_CONST(88728.567871909589/8.0),
-    REAL_CONST(88751.580630581491/8.0),
-    REAL_CONST(88774.594881118086/8.0),
-    REAL_CONST(88797.610623325963/8.0),
-    REAL_CONST(88820.62785701183/8.0),
-    REAL_CONST(88843.646581982393/8.0),
-    REAL_CONST(88866.666798044462/8.0),
-    REAL_CONST(88889.688505004888/8.0),
-    REAL_CONST(88912.711702670611/8.0),
-    REAL_CONST(88935.7363908486/8.0),
-    REAL_CONST(88958.762569345898/8.0),
-    REAL_CONST(88981.790237969632/8.0),
-    REAL_CONST(89004.81939652696/8.0),
-    REAL_CONST(89027.850044825114/8.0),
-    REAL_CONST(89050.882182671412/8.0),
-    REAL_CONST(89073.9158098732/8.0),
-    REAL_CONST(89096.950926237885/8.0),
-    REAL_CONST(89119.987531572973/8.0),
-    REAL_CONST(89143.025625686001/8.0),
-    REAL_CONST(89166.065208384563/8.0),
-    REAL_CONST(89189.106279476357/8.0),
-    REAL_CONST(89212.148838769106/8.0),
-    REAL_CONST(89235.192886070581/8.0),
-    REAL_CONST(89258.238421188667/8.0),
-    REAL_CONST(89281.285443931265/8.0),
-    REAL_CONST(89304.333954106376/8.0),
-    REAL_CONST(89327.383951522017/8.0),
-    REAL_CONST(89350.435435986306/8.0),
-    REAL_CONST(89373.488407307406/8.0),
-    REAL_CONST(89396.542865293537/8.0),
-    REAL_CONST(89419.598809753006/8.0),
-    REAL_CONST(89442.656240494165/8.0),
-    REAL_CONST(89465.715157325409/8.0),
-    REAL_CONST(89488.775560055219/8.0),
-    REAL_CONST(89511.837448492137/8.0),
-    REAL_CONST(89534.900822444746/8.0),
-    REAL_CONST(89557.965681721733/8.0),
-    REAL_CONST(89581.032026131812/8.0),
-    REAL_CONST(89604.099855483742/8.0),
-    REAL_CONST(89627.169169586399/8.0),
-    REAL_CONST(89650.239968248672/8.0),
-    REAL_CONST(89673.312251279538/8.0),
-    REAL_CONST(89696.386018488018/8.0),
-    REAL_CONST(89719.461269683205/8.0),
-    REAL_CONST(89742.53800467425/8.0),
-    REAL_CONST(89765.616223270365/8.0),
-    REAL_CONST(89788.69592528083/8.0),
-    REAL_CONST(89811.777110514988/8.0),
-    REAL_CONST(89834.859778782207/8.0),
-    REAL_CONST(89857.943929891975/8.0),
-    REAL_CONST(89881.029563653807/8.0),
-    REAL_CONST(89904.116679877261/8.0),
-    REAL_CONST(89927.205278372014/8.0),
-    REAL_CONST(89950.29535894774/8.0),
-    REAL_CONST(89973.386921414218/8.0),
-    REAL_CONST(89996.479965581268/8.0),
-    REAL_CONST(90019.574491258769/8.0),
-    REAL_CONST(90042.670498256688/8.0),
-    REAL_CONST(90065.767986385021/8.0),
-    REAL_CONST(90088.866955453836/8.0),
-    REAL_CONST(90111.967405273259/8.0),
-    REAL_CONST(90135.069335653476/8.0),
-    REAL_CONST(90158.172746404758/8.0),
-    REAL_CONST(90181.277637337407/8.0),
-    REAL_CONST(90204.384008261797/8.0),
-    REAL_CONST(90227.49185898836/8.0),
-    REAL_CONST(90250.601189327586/8.0),
-    REAL_CONST(90273.711999090039/8.0),
-    REAL_CONST(90296.824288086325/8.0),
-    REAL_CONST(90319.938056127125/8.0),
-    REAL_CONST(90343.053303023189/8.0),
-    REAL_CONST(90366.170028585286/8.0),
-    REAL_CONST(90389.288232624298/8.0),
-    REAL_CONST(90412.407914951138/8.0),
-    REAL_CONST(90435.529075376777/8.0),
-    REAL_CONST(90458.651713712257/8.0),
-    REAL_CONST(90481.775829768681/8.0),
-    REAL_CONST(90504.901423357209/8.0),
-    REAL_CONST(90528.028494289058/8.0),
-    REAL_CONST(90551.157042375504/8.0),
-    REAL_CONST(90574.287067427911/8.0),
-    REAL_CONST(90597.418569257643/8.0),
-    REAL_CONST(90620.551547676194/8.0),
-    REAL_CONST(90643.686002495073/8.0),
-    REAL_CONST(90666.821933525847/8.0),
-    REAL_CONST(90689.959340580186/8.0),
-    REAL_CONST(90713.098223469773/8.0),
-    REAL_CONST(90736.238582006365/8.0),
-    REAL_CONST(90759.380416001804/8.0),
-    REAL_CONST(90782.523725267951/8.0),
-    REAL_CONST(90805.668509616764/8.0),
-    REAL_CONST(90828.814768860233/8.0),
-    REAL_CONST(90851.962502810435/8.0),
-    REAL_CONST(90875.11171127946/8.0),
-    REAL_CONST(90898.262394079517/8.0),
-    REAL_CONST(90921.414551022855/8.0),
-    REAL_CONST(90944.568181921743/8.0),
-    REAL_CONST(90967.72328658856/8.0),
-    REAL_CONST(90990.879864835719/8.0),
-    REAL_CONST(91014.037916475718/8.0),
-    REAL_CONST(91037.19744132107/8.0),
-    REAL_CONST(91060.358439184391/8.0),
-    REAL_CONST(91083.520909878338/8.0),
-    REAL_CONST(91106.684853215629/8.0),
-    REAL_CONST(91129.850269009039/8.0),
-    REAL_CONST(91153.017157071401/8.0),
-    REAL_CONST(91176.185517215621/8.0),
-    REAL_CONST(91199.355349254649/8.0),
-    REAL_CONST(91222.526653001492/8.0),
-    REAL_CONST(91245.699428269247/8.0),
-    REAL_CONST(91268.873674871036/8.0),
-    REAL_CONST(91292.049392620058/8.0),
-    REAL_CONST(91315.226581329553/8.0),
-    REAL_CONST(91338.405240812834/8.0),
-    REAL_CONST(91361.585370883287/8.0),
-    REAL_CONST(91384.766971354344/8.0),
-    REAL_CONST(91407.950042039476/8.0),
-    REAL_CONST(91431.134582752245/8.0),
-    REAL_CONST(91454.320593306256/8.0),
-    REAL_CONST(91477.508073515171/8.0),
-    REAL_CONST(91500.697023192712/8.0),
-    REAL_CONST(91523.887442152685/8.0),
-    REAL_CONST(91547.07933020893/8.0),
-    REAL_CONST(91570.272687175326/8.0),
-    REAL_CONST(91593.467512865856/8.0),
-    REAL_CONST(91616.663807094534/8.0),
-    REAL_CONST(91639.861569675442/8.0),
-    REAL_CONST(91663.060800422725/8.0),
-    REAL_CONST(91686.261499150554/8.0),
-    REAL_CONST(91709.463665673218/8.0),
-    REAL_CONST(91732.66729980502/8.0),
-    REAL_CONST(91755.872401360321/8.0),
-    REAL_CONST(91779.078970153569/8.0),
-    REAL_CONST(91802.287005999257/8.0),
-    REAL_CONST(91825.49650871192/8.0),
-    REAL_CONST(91848.707478106167/8.0),
-    REAL_CONST(91871.91991399668/8.0),
-    REAL_CONST(91895.133816198169/8.0),
-    REAL_CONST(91918.349184525418/8.0),
-    REAL_CONST(91941.566018793281/8.0),
-    REAL_CONST(91964.784318816659/8.0),
-    REAL_CONST(91988.004084410495/8.0),
-    REAL_CONST(92011.22531538982/8.0),
-    REAL_CONST(92034.448011569708/8.0),
-    REAL_CONST(92057.672172765277/8.0),
-    REAL_CONST(92080.897798791746/8.0),
-    REAL_CONST(92104.124889464365/8.0),
-    REAL_CONST(92127.353444598411/8.0),
-    REAL_CONST(92150.58346400928/8.0),
-    REAL_CONST(92173.814947512379/8.0),
-    REAL_CONST(92197.04789492322/8.0),
-    REAL_CONST(92220.282306057314/8.0),
-    REAL_CONST(92243.518180730272/8.0),
-    REAL_CONST(92266.755518757753/8.0),
-    REAL_CONST(92289.994319955469/8.0),
-    REAL_CONST(92313.234584139194/8.0),
-    REAL_CONST(92336.476311124774/8.0),
-    REAL_CONST(92359.719500728082/8.0),
-    REAL_CONST(92382.964152765067/8.0),
-    REAL_CONST(92406.210267051734/8.0),
-    REAL_CONST(92429.457843404161/8.0),
-    REAL_CONST(92452.706881638471/8.0),
-    REAL_CONST(92475.957381570814/8.0),
-    REAL_CONST(92499.209343017443/8.0),
-    REAL_CONST(92522.462765794655/8.0),
-    REAL_CONST(92545.717649718805/8.0),
-    REAL_CONST(92568.973994606305/8.0),
-    REAL_CONST(92592.231800273614/8.0),
-    REAL_CONST(92615.491066537259/8.0),
-    REAL_CONST(92638.751793213814/8.0),
-    REAL_CONST(92662.01398011994/8.0),
-    REAL_CONST(92685.277627072326/8.0),
-    REAL_CONST(92708.54273388772/8.0),
-    REAL_CONST(92731.809300382942/8.0),
-    REAL_CONST(92755.077326374871/8.0),
-    REAL_CONST(92778.346811680414/8.0),
-    REAL_CONST(92801.617756116568/8.0),
-    REAL_CONST(92824.890159500384/8.0),
-    REAL_CONST(92848.164021648947/8.0),
-    REAL_CONST(92871.439342379424/8.0),
-    REAL_CONST(92894.716121509016/8.0),
-    REAL_CONST(92917.994358855023/8.0),
-    REAL_CONST(92941.274054234746/8.0),
-    REAL_CONST(92964.555207465572/8.0),
-    REAL_CONST(92987.837818364962/8.0),
-    REAL_CONST(93011.121886750407/8.0),
-    REAL_CONST(93034.407412439468/8.0),
-    REAL_CONST(93057.694395249753/8.0),
-    REAL_CONST(93080.982834998955/8.0),
-    REAL_CONST(93104.272731504767/8.0),
-    REAL_CONST(93127.564084584999/8.0),
-    REAL_CONST(93150.856894057491/8.0),
-    REAL_CONST(93174.15115974014/8.0),
-    REAL_CONST(93197.446881450916/8.0),
-    REAL_CONST(93220.744059007804/8.0),
-    REAL_CONST(93244.04269222889/8.0),
-    REAL_CONST(93267.342780932304/8.0),
-    REAL_CONST(93290.644324936235/8.0),
-    REAL_CONST(93313.947324058914/8.0),
-    REAL_CONST(93337.251778118633/8.0),
-    REAL_CONST(93360.557686933767/8.0),
-    REAL_CONST(93383.865050322696/8.0),
-    REAL_CONST(93407.173868103928/8.0),
-    REAL_CONST(93430.484140095941/8.0),
-    REAL_CONST(93453.795866117362/8.0),
-    REAL_CONST(93477.109045986799/8.0),
-    REAL_CONST(93500.423679522952/8.0),
-    REAL_CONST(93523.739766544561/8.0),
-    REAL_CONST(93547.057306870454/8.0),
-    REAL_CONST(93570.376300319491/8.0),
-    REAL_CONST(93593.696746710571/8.0),
-    REAL_CONST(93617.018645862699/8.0),
-    REAL_CONST(93640.341997594893/8.0),
-    REAL_CONST(93663.666801726242/8.0),
-    REAL_CONST(93686.993058075881/8.0),
-    REAL_CONST(93710.320766463032/8.0),
-    REAL_CONST(93733.64992670693/8.0),
-    REAL_CONST(93756.980538626914/8.0),
-    REAL_CONST(93780.312602042337/8.0),
-    REAL_CONST(93803.646116772637/8.0),
-    REAL_CONST(93826.981082637285/8.0),
-    REAL_CONST(93850.317499455836/8.0),
-    REAL_CONST(93873.655367047861/8.0),
-    REAL_CONST(93896.994685233032/8.0),
-    REAL_CONST(93920.335453831038/8.0),
-    REAL_CONST(93943.677672661666/8.0),
-    REAL_CONST(93967.021341544707/8.0),
-    REAL_CONST(93990.366460300051/8.0),
-    REAL_CONST(94013.713028747632/8.0),
-    REAL_CONST(94037.061046707429/8.0),
-    REAL_CONST(94060.410513999494/8.0),
-    REAL_CONST(94083.761430443905/8.0),
-    REAL_CONST(94107.113795860845/8.0),
-    REAL_CONST(94130.467610070496/8.0),
-    REAL_CONST(94153.822872893157/8.0),
-    REAL_CONST(94177.179584149111/8.0),
-    REAL_CONST(94200.537743658759/8.0),
-    REAL_CONST(94223.897351242529/8.0),
-    REAL_CONST(94247.25840672091/8.0),
-    REAL_CONST(94270.620909914433/8.0),
-    REAL_CONST(94293.98486064373/8.0),
-    REAL_CONST(94317.350258729421/8.0),
-    REAL_CONST(94340.71710399224/8.0),
-    REAL_CONST(94364.085396252936/8.0),
-    REAL_CONST(94387.455135332348/8.0),
-    REAL_CONST(94410.82632105134/8.0),
-    REAL_CONST(94434.198953230851/8.0),
-    REAL_CONST(94457.573031691878/8.0),
-    REAL_CONST(94480.948556255447/8.0),
-    REAL_CONST(94504.325526742658/8.0),
-    REAL_CONST(94527.70394297468/8.0),
-    REAL_CONST(94551.083804772716/8.0),
-    REAL_CONST(94574.465111958023/8.0),
-    REAL_CONST(94597.847864351934/8.0),
-    REAL_CONST(94621.232061775823/8.0),
-    REAL_CONST(94644.617704051096/8.0),
-    REAL_CONST(94668.004790999272/8.0),
-    REAL_CONST(94691.393322441872/8.0),
-    REAL_CONST(94714.783298200506/8.0),
-    REAL_CONST(94738.174718096794/8.0),
-    REAL_CONST(94761.567581952477/8.0),
-    REAL_CONST(94784.961889589307/8.0),
-    REAL_CONST(94808.357640829097/8.0),
-    REAL_CONST(94831.754835493703/8.0),
-    REAL_CONST(94855.153473405066/8.0),
-    REAL_CONST(94878.553554385173/8.0),
-    REAL_CONST(94901.955078256055/8.0),
-    REAL_CONST(94925.358044839784/8.0),
-    REAL_CONST(94948.762453958523/8.0),
-    REAL_CONST(94972.168305434476/8.0),
-    REAL_CONST(94995.575599089891/8.0),
-    REAL_CONST(95018.984334747074/8.0),
-    REAL_CONST(95042.394512228391/8.0),
-    REAL_CONST(95065.806131356265/8.0),
-    REAL_CONST(95089.219191953176/8.0),
-    REAL_CONST(95112.633693841635/8.0),
-    REAL_CONST(95136.04963684424/8.0),
-    REAL_CONST(95159.467020783617/8.0),
-    REAL_CONST(95182.885845482466/8.0),
-    REAL_CONST(95206.306110763529/8.0),
-    REAL_CONST(95229.727816449609/8.0),
-    REAL_CONST(95253.150962363579/8.0),
-    REAL_CONST(95276.575548328314/8.0),
-    REAL_CONST(95300.001574166803/8.0),
-    REAL_CONST(95323.429039702052/8.0),
-    REAL_CONST(95346.857944757154/8.0),
-    REAL_CONST(95370.288289155214/8.0),
-    REAL_CONST(95393.720072719429/8.0),
-    REAL_CONST(95417.153295273019/8.0),
-    REAL_CONST(95440.587956639298/8.0),
-    REAL_CONST(95464.024056641589/8.0),
-    REAL_CONST(95487.461595103305/8.0),
-    REAL_CONST(95510.900571847902/8.0),
-    REAL_CONST(95534.340986698866/8.0),
-    REAL_CONST(95557.782839479783/8.0),
-    REAL_CONST(95581.226130014256/8.0),
-    REAL_CONST(95604.670858125959/8.0),
-    REAL_CONST(95628.117023638595/8.0),
-    REAL_CONST(95651.564626375985/8.0),
-    REAL_CONST(95675.013666161918/8.0),
-    REAL_CONST(95698.464142820303/8.0),
-    REAL_CONST(95721.916056175076/8.0),
-    REAL_CONST(95745.369406050231/8.0),
-    REAL_CONST(95768.824192269807/8.0),
-    REAL_CONST(95792.280414657915/8.0),
-    REAL_CONST(95815.738073038709/8.0),
-    REAL_CONST(95839.197167236387/8.0),
-    REAL_CONST(95862.657697075221/8.0),
-    REAL_CONST(95886.11966237954/8.0),
-    REAL_CONST(95909.583062973688/8.0),
-    REAL_CONST(95933.047898682111/8.0),
-    REAL_CONST(95956.514169329268/8.0),
-    REAL_CONST(95979.981874739708/8.0),
-    REAL_CONST(96003.451014738006/8.0),
-    REAL_CONST(96026.921589148798/8.0),
-    REAL_CONST(96050.393597796792/8.0),
-    REAL_CONST(96073.867040506724/8.0),
-    REAL_CONST(96097.341917103375/8.0),
-    REAL_CONST(96120.818227411626/8.0),
-    REAL_CONST(96144.295971256375/8.0),
-    REAL_CONST(96167.775148462577/8.0),
-    REAL_CONST(96191.255758855244/8.0),
-    REAL_CONST(96214.737802259449/8.0),
-    REAL_CONST(96238.221278500292/8.0),
-    REAL_CONST(96261.70618740299/8.0),
-    REAL_CONST(96285.192528792715/8.0),
-    REAL_CONST(96308.680302494788/8.0),
-    REAL_CONST(96332.169508334526/8.0),
-    REAL_CONST(96355.660146137321/8.0),
-    REAL_CONST(96379.152215728609/8.0),
-    REAL_CONST(96402.645716933868/8.0),
-    REAL_CONST(96426.14064957868/8.0),
-    REAL_CONST(96449.637013488609/8.0),
-    REAL_CONST(96473.134808489311/8.0),
-    REAL_CONST(96496.63403440651/8.0),
-    REAL_CONST(96520.134691065963/8.0),
-    REAL_CONST(96543.636778293469/8.0),
-    REAL_CONST(96567.140295914898/8.0),
-    REAL_CONST(96590.645243756153/8.0),
-    REAL_CONST(96614.151621643221/8.0),
-    REAL_CONST(96637.659429402134/8.0),
-    REAL_CONST(96661.168666858954/8.0),
-    REAL_CONST(96684.679333839798/8.0),
-    REAL_CONST(96708.191430170875/8.0),
-    REAL_CONST(96731.70495567839/8.0),
-    REAL_CONST(96755.219910188665/8.0),
-    REAL_CONST(96778.736293528011/8.0),
-    REAL_CONST(96802.254105522836/8.0),
-    REAL_CONST(96825.77334599958/8.0),
-    REAL_CONST(96849.29401478474/8.0),
-    REAL_CONST(96872.816111704873/8.0),
-    REAL_CONST(96896.339636586577/8.0),
-    REAL_CONST(96919.864589256511/8.0),
-    REAL_CONST(96943.390969541389/8.0),
-    REAL_CONST(96966.918777267958/8.0),
-    REAL_CONST(96990.448012263048/8.0),
-    REAL_CONST(97013.978674353522/8.0),
-    REAL_CONST(97037.510763366285/8.0),
-    REAL_CONST(97061.044279128328/8.0),
-    REAL_CONST(97084.579221466673/8.0),
-    REAL_CONST(97108.115590208385/8.0),
-    REAL_CONST(97131.653385180587/8.0),
-    REAL_CONST(97155.19260621049/8.0),
-    REAL_CONST(97178.733253125291/8.0),
-    REAL_CONST(97202.2753257523/8.0),
-    REAL_CONST(97225.81882391886/8.0),
-    REAL_CONST(97249.363747452342/8.0),
-    REAL_CONST(97272.910096180189/8.0),
-    REAL_CONST(97296.457869929916/8.0),
-    REAL_CONST(97320.007068529041/8.0),
-    REAL_CONST(97343.557691805196/8.0),
-    REAL_CONST(97367.109739586012/8.0),
-    REAL_CONST(97390.663211699197/8.0),
-    REAL_CONST(97414.218107972498/8.0),
-    REAL_CONST(97437.774428233737/8.0),
-    REAL_CONST(97461.332172310766/8.0),
-    REAL_CONST(97484.891340031507/8.0),
-    REAL_CONST(97508.451931223899/8.0),
-    REAL_CONST(97532.013945715982/8.0),
-    REAL_CONST(97555.577383335811/8.0),
-    REAL_CONST(97579.142243911512/8.0),
-    REAL_CONST(97602.708527271257/8.0),
-    REAL_CONST(97626.276233243261/8.0),
-    REAL_CONST(97649.845361655811/8.0),
-    REAL_CONST(97673.415912337223/8.0),
-    REAL_CONST(97696.987885115886/8.0),
-    REAL_CONST(97720.561279820206/8.0),
-    REAL_CONST(97744.1360962787/8.0),
-    REAL_CONST(97767.712334319876/8.0),
-    REAL_CONST(97791.289993772341/8.0),
-    REAL_CONST(97814.869074464703/8.0),
-    REAL_CONST(97838.449576225685/8.0),
-    REAL_CONST(97862.031498883996/8.0),
-    REAL_CONST(97885.614842268449/8.0),
-    REAL_CONST(97909.199606207883/8.0),
-    REAL_CONST(97932.785790531183/8.0),
-    REAL_CONST(97956.37339506732/8.0),
-    REAL_CONST(97979.962419645264/8.0),
-    REAL_CONST(98003.552864094076/8.0),
-    REAL_CONST(98027.144728242856/8.0),
-    REAL_CONST(98050.738011920766/8.0),
-    REAL_CONST(98074.332714956996/8.0),
-    REAL_CONST(98097.928837180807/8.0),
-    REAL_CONST(98121.526378421506/8.0),
-    REAL_CONST(98145.125338508456/8.0),
-    REAL_CONST(98168.725717271067/8.0),
-    REAL_CONST(98192.327514538789/8.0),
-    REAL_CONST(98215.930730141132/8.0),
-    REAL_CONST(98239.535363907664/8.0),
-    REAL_CONST(98263.141415668011/8.0),
-    REAL_CONST(98286.748885251814/8.0),
-    REAL_CONST(98310.357772488816/8.0),
-    REAL_CONST(98333.968077208759/8.0),
-    REAL_CONST(98357.579799241488/8.0),
-    REAL_CONST(98381.192938416847/8.0),
-    REAL_CONST(98404.807494564782/8.0),
-    REAL_CONST(98428.42346751524/8.0),
-    REAL_CONST(98452.040857098269/8.0),
-    REAL_CONST(98475.659663143917/8.0),
-    REAL_CONST(98499.27988548232/8.0),
-    REAL_CONST(98522.901523943656/8.0),
-    REAL_CONST(98546.524578358163/8.0),
-    REAL_CONST(98570.149048556093/8.0),
-    REAL_CONST(98593.774934367786/8.0),
-    REAL_CONST(98617.402235623624/8.0),
-    REAL_CONST(98641.030952154048/8.0),
-    REAL_CONST(98664.661083789513/8.0),
-    REAL_CONST(98688.292630360564/8.0),
-    REAL_CONST(98711.925591697771/8.0),
-    REAL_CONST(98735.559967631794/8.0),
-    REAL_CONST(98759.195757993293/8.0),
-    REAL_CONST(98782.832962613014/8.0),
-    REAL_CONST(98806.471581321734/8.0),
-    REAL_CONST(98830.111613950285/8.0),
-    REAL_CONST(98853.753060329575/8.0),
-    REAL_CONST(98877.39592029051/8.0),
-    REAL_CONST(98901.040193664099/8.0),
-    REAL_CONST(98924.68588028138/8.0),
-    REAL_CONST(98948.33297997342/8.0),
-    REAL_CONST(98971.981492571387/8.0),
-    REAL_CONST(98995.63141790645/8.0),
-    REAL_CONST(99019.282755809851/8.0),
-    REAL_CONST(99042.935506112874/8.0),
-    REAL_CONST(99066.589668646877/8.0),
-    REAL_CONST(99090.245243243233/8.0),
-    REAL_CONST(99113.902229733401/8.0),
-    REAL_CONST(99137.560627948857/8.0),
-    REAL_CONST(99161.220437721131/8.0),
-    REAL_CONST(99184.881658881859/8.0),
-    REAL_CONST(99208.544291262631/8.0),
-    REAL_CONST(99232.208334695169/8.0),
-    REAL_CONST(99255.87378901121/8.0),
-    REAL_CONST(99279.540654042547/8.0),
-    REAL_CONST(99303.208929621018/8.0),
-    REAL_CONST(99326.878615578535/8.0),
-    REAL_CONST(99350.549711746993/8.0),
-    REAL_CONST(99374.222217958435/8.0),
-    REAL_CONST(99397.896134044888/8.0),
-    REAL_CONST(99421.571459838422/8.0),
-    REAL_CONST(99445.248195171211/8.0),
-    REAL_CONST(99468.926339875441/8.0),
-    REAL_CONST(99492.605893783344/8.0),
-    REAL_CONST(99516.286856727209/8.0),
-    REAL_CONST(99539.969228539398/8.0),
-    REAL_CONST(99563.653009052287/8.0),
-    REAL_CONST(99587.338198098325/8.0),
-    REAL_CONST(99611.024795510006/8.0),
-    REAL_CONST(99634.712801119866/8.0),
-    REAL_CONST(99658.402214760499/8.0),
-    REAL_CONST(99682.093036264545/8.0),
-    REAL_CONST(99705.785265464699/8.0),
-    REAL_CONST(99729.478902193689/8.0),
-    REAL_CONST(99753.173946284325/8.0),
-    REAL_CONST(99776.870397569437/8.0),
-    REAL_CONST(99800.56825588191/8.0),
-    REAL_CONST(99824.267521054688/8.0),
-    REAL_CONST(99847.968192920773/8.0),
-    REAL_CONST(99871.670271313182/8.0),
-    REAL_CONST(99895.373756065004/8.0),
-    REAL_CONST(99919.078647009388/8.0),
-    REAL_CONST(99942.78494397951/8.0),
-    REAL_CONST(99966.492646808634/8.0),
-    REAL_CONST(99990.20175533001/8.0),
-    REAL_CONST(100013.91226937699/8.0),
-    REAL_CONST(100037.62418878295/8.0),
-    REAL_CONST(100061.33751338134/8.0),
-    REAL_CONST(100085.05224300563/8.0),
-    REAL_CONST(100108.76837748935/8.0),
-    REAL_CONST(100132.4859166661/8.0),
-    REAL_CONST(100156.2048603695/8.0),
-    REAL_CONST(100179.92520843323/8.0),
-    REAL_CONST(100203.64696069101/8.0),
-    REAL_CONST(100227.37011697664/8.0),
-    REAL_CONST(100251.09467712394/8.0),
-    REAL_CONST(100274.82064096678/8.0),
-    REAL_CONST(100298.54800833909/8.0),
-    REAL_CONST(100322.27677907483/8.0),
-    REAL_CONST(100346.00695300807/8.0),
-    REAL_CONST(100369.73852997283/8.0),
-    REAL_CONST(100393.47150980328/8.0),
-    REAL_CONST(100417.20589233354/8.0),
-    REAL_CONST(100440.94167739789/8.0),
-    REAL_CONST(100464.67886483055/8.0),
-    REAL_CONST(100488.41745446586/8.0),
-    REAL_CONST(100512.1574461382/8.0),
-    REAL_CONST(100535.89883968196/8.0),
-    REAL_CONST(100559.64163493161/8.0),
-    REAL_CONST(100583.38583172169/8.0),
-    REAL_CONST(100607.13142988674/8.0),
-    REAL_CONST(100630.87842926137/8.0),
-    REAL_CONST(100654.62682968024/8.0),
-    REAL_CONST(100678.37663097809/8.0),
-    REAL_CONST(100702.12783298964/8.0),
-    REAL_CONST(100725.88043554971/8.0),
-    REAL_CONST(100749.63443849317/8.0),
-    REAL_CONST(100773.38984165489/8.0),
-    REAL_CONST(100797.14664486986/8.0),
-    REAL_CONST(100820.90484797307/8.0),
-    REAL_CONST(100844.66445079957/8.0),
-    REAL_CONST(100868.42545318443/8.0),
-    REAL_CONST(100892.18785496285/8.0),
-    REAL_CONST(100915.95165596998/8.0),
-    REAL_CONST(100939.71685604109/8.0),
-    REAL_CONST(100963.48345501146/8.0),
-    REAL_CONST(100987.25145271645/8.0),
-    REAL_CONST(101011.02084899142/8.0),
-    REAL_CONST(101034.79164367182/8.0),
-    REAL_CONST(101058.56383659317/8.0),
-    REAL_CONST(101082.33742759094/8.0),
-    REAL_CONST(101106.11241650078/8.0),
-    REAL_CONST(101129.88880315828/8.0),
-    REAL_CONST(101153.66658739912/8.0),
-    REAL_CONST(101177.44576905905/8.0),
-    REAL_CONST(101201.22634797383/8.0),
-    REAL_CONST(101225.00832397929/8.0),
-    REAL_CONST(101248.7916969113/8.0),
-    REAL_CONST(101272.57646660579/8.0),
-    REAL_CONST(101296.36263289873/8.0),
-    REAL_CONST(101320.15019562612/8.0),
-    REAL_CONST(101343.93915462404/8.0),
-    REAL_CONST(101367.7295097286/8.0),
-    REAL_CONST(101391.52126077596/8.0),
-    REAL_CONST(101415.31440760233/8.0),
-    REAL_CONST(101439.10895004397/8.0),
-    REAL_CONST(101462.9048879372/8.0),
-    REAL_CONST(101486.70222111834/8.0),
-    REAL_CONST(101510.50094942382/8.0),
-    REAL_CONST(101534.30107269008/8.0),
-    REAL_CONST(101558.10259075361/8.0),
-    REAL_CONST(101581.90550345098/8.0),
-    REAL_CONST(101605.70981061876/8.0),
-    REAL_CONST(101629.5155120936/8.0),
-    REAL_CONST(101653.32260771218/8.0),
-    REAL_CONST(101677.13109731126/8.0),
-    REAL_CONST(101700.9409807276/8.0),
-    REAL_CONST(101724.75225779804/8.0),
-    REAL_CONST(101748.56492835947/8.0),
-    REAL_CONST(101772.37899224881/8.0),
-    REAL_CONST(101796.19444930303/8.0),
-    REAL_CONST(101820.01129935916/8.0),
-    REAL_CONST(101843.82954225427/8.0),
-    REAL_CONST(101867.64917782549/8.0),
-    REAL_CONST(101891.47020590997/8.0),
-    REAL_CONST(101915.29262634492/8.0),
-    REAL_CONST(101939.11643896763/8.0),
-    REAL_CONST(101962.94164361537/8.0),
-    REAL_CONST(101986.76824012553/8.0),
-    REAL_CONST(102010.59622833549/8.0),
-    REAL_CONST(102034.42560808272/8.0),
-    REAL_CONST(102058.25637920471/8.0),
-    REAL_CONST(102082.08854153901/8.0),
-    REAL_CONST(102105.9220949232/8.0),
-    REAL_CONST(102129.75703919494/8.0),
-    REAL_CONST(102153.59337419191/8.0),
-    REAL_CONST(102177.43109975185/8.0),
-    REAL_CONST(102201.27021571253/8.0),
-    REAL_CONST(102225.1107219118/8.0),
-    REAL_CONST(102248.95261818753/8.0),
-    REAL_CONST(102272.79590437764/8.0),
-    REAL_CONST(102296.64058032009/8.0),
-    REAL_CONST(102320.48664585294/8.0),
-    REAL_CONST(102344.33410081422/8.0),
-    REAL_CONST(102368.18294504205/8.0),
-    REAL_CONST(102392.03317837461/8.0),
-    REAL_CONST(102415.88480065008/8.0),
-    REAL_CONST(102439.73781170673/8.0),
-    REAL_CONST(102463.59221138287/8.0),
-    REAL_CONST(102487.44799951684/8.0),
-    REAL_CONST(102511.30517594704/8.0),
-    REAL_CONST(102535.1637405119/8.0),
-    REAL_CONST(102559.02369304992/8.0),
-    REAL_CONST(102582.88503339965/8.0),
-    REAL_CONST(102606.74776139967/8.0),
-    REAL_CONST(102630.61187688859/8.0),
-    REAL_CONST(102654.4773797051/8.0),
-    REAL_CONST(102678.34426968795/8.0),
-    REAL_CONST(102702.21254667587/8.0),
-    REAL_CONST(102726.08221050771/8.0),
-    REAL_CONST(102749.95326102231/8.0),
-    REAL_CONST(102773.8256980586/8.0),
-    REAL_CONST(102797.69952145554/8.0),
-    REAL_CONST(102821.57473105213/8.0),
-    REAL_CONST(102845.45132668741/8.0),
-    REAL_CONST(102869.32930820051/8.0),
-    REAL_CONST(102893.20867543056/8.0),
-    REAL_CONST(102917.08942821674/8.0),
-    REAL_CONST(102940.97156639832/8.0),
-    REAL_CONST(102964.85508981455/8.0),
-    REAL_CONST(102988.73999830478/8.0),
-    REAL_CONST(103012.6262917084/8.0),
-    REAL_CONST(103036.51396986481/8.0),
-    REAL_CONST(103060.40303261351/8.0),
-    REAL_CONST(103084.293479794/8.0),
-    REAL_CONST(103108.18531124585/8.0),
-    REAL_CONST(103132.07852680866/8.0),
-    REAL_CONST(103155.97312632212/8.0),
-    REAL_CONST(103179.8691096259/8.0),
-    REAL_CONST(103203.76647655977/8.0),
-    REAL_CONST(103227.66522696352/8.0),
-    REAL_CONST(103251.56536067701/8.0),
-    REAL_CONST(103275.46687754011/8.0),
-    REAL_CONST(103299.36977739276/8.0),
-    REAL_CONST(103323.27406007495/8.0),
-    REAL_CONST(103347.1797254267/8.0),
-    REAL_CONST(103371.0867732881/8.0),
-    REAL_CONST(103394.99520349925/8.0),
-    REAL_CONST(103418.90501590034/8.0),
-    REAL_CONST(103442.81621033157/8.0),
-    REAL_CONST(103466.72878663319/8.0),
-    REAL_CONST(103490.64274464553/8.0),
-    REAL_CONST(103514.55808420894/8.0),
-    REAL_CONST(103538.4748051638/8.0),
-    REAL_CONST(103562.39290735057/8.0),
-    REAL_CONST(103586.31239060973/8.0),
-    REAL_CONST(103610.23325478184/8.0),
-    REAL_CONST(103634.15549970744/8.0),
-    REAL_CONST(103658.07912522719/8.0),
-    REAL_CONST(103682.00413118176/8.0),
-    REAL_CONST(103705.93051741188/8.0),
-    REAL_CONST(103729.85828375829/8.0),
-    REAL_CONST(103753.78743006183/8.0),
-    REAL_CONST(103777.71795616332/8.0),
-    REAL_CONST(103801.64986190372/8.0),
-    REAL_CONST(103825.58314712394/8.0),
-    REAL_CONST(103849.51781166498/8.0),
-    REAL_CONST(103873.4538553679/8.0),
-    REAL_CONST(103897.39127807376/8.0),
-    REAL_CONST(103921.33007962372/8.0),
-    REAL_CONST(103945.27025985894/8.0),
-    REAL_CONST(103969.21181862066/8.0),
-    REAL_CONST(103993.15475575015/8.0),
-    REAL_CONST(104017.0990710887/8.0),
-    REAL_CONST(104041.0447644777/8.0),
-    REAL_CONST(104064.99183575854/8.0),
-    REAL_CONST(104088.94028477269/8.0),
-    REAL_CONST(104112.89011136163/8.0),
-    REAL_CONST(104136.84131536692/8.0),
-    REAL_CONST(104160.79389663014/8.0),
-    REAL_CONST(104184.74785499295/8.0),
-    REAL_CONST(104208.70319029699/8.0),
-    REAL_CONST(104232.65990238401/8.0),
-    REAL_CONST(104256.61799109577/8.0),
-    REAL_CONST(104280.57745627411/8.0),
-    REAL_CONST(104304.53829776087/8.0),
-    REAL_CONST(104328.50051539797/8.0),
-    REAL_CONST(104352.46410902737/8.0),
-    REAL_CONST(104376.42907849104/8.0),
-    REAL_CONST(104400.39542363105/8.0),
-    REAL_CONST(104424.36314428948/8.0),
-    REAL_CONST(104448.33224030846/8.0),
-    REAL_CONST(104472.3027115302/8.0),
-    REAL_CONST(104496.27455779689/8.0),
-    REAL_CONST(104520.24777895081/8.0),
-    REAL_CONST(104544.22237483428/8.0),
-    REAL_CONST(104568.19834528965/8.0),
-    REAL_CONST(104592.17569015936/8.0),
-    REAL_CONST(104616.15440928582/8.0),
-    REAL_CONST(104640.13450251156/8.0),
-    REAL_CONST(104664.1159696791/8.0),
-    REAL_CONST(104688.09881063103/8.0),
-    REAL_CONST(104712.08302520998/8.0),
-    REAL_CONST(104736.06861325864/8.0),
-    REAL_CONST(104760.05557461972/8.0),
-    REAL_CONST(104784.043909136/8.0),
-    REAL_CONST(104808.03361665027/8.0),
-    REAL_CONST(104832.0246970054/8.0),
-    REAL_CONST(104856.01715004431/8.0),
-    REAL_CONST(104880.01097560991/8.0),
-    REAL_CONST(104904.00617354522/8.0),
-    REAL_CONST(104928.00274369326/8.0),
-    REAL_CONST(104952.00068589712/8.0),
-    REAL_CONST(104975.99999999993/8.0),
-    REAL_CONST(105000.00068584486/8.0),
-    REAL_CONST(105024.00274327511/8.0),
-    REAL_CONST(105048.00617213396/8.0),
-    REAL_CONST(105072.0109722647/8.0),
-    REAL_CONST(105096.0171435107/8.0),
-    REAL_CONST(105120.02468571534/8.0),
-    REAL_CONST(105144.03359872208/8.0),
-    REAL_CONST(105168.04388237436/8.0),
-    REAL_CONST(105192.05553651576/8.0),
-    REAL_CONST(105216.06856098982/8.0),
-    REAL_CONST(105240.08295564017/8.0),
-    REAL_CONST(105264.09872031047/8.0),
-    REAL_CONST(105288.11585484444/8.0),
-    REAL_CONST(105312.13435908582/8.0),
-    REAL_CONST(105336.1542328784/8.0),
-    REAL_CONST(105360.17547606604/8.0),
-    REAL_CONST(105384.19808849262/8.0),
-    REAL_CONST(105408.22207000206/8.0),
-    REAL_CONST(105432.24742043833/8.0),
-    REAL_CONST(105456.27413964548/8.0),
-    REAL_CONST(105480.30222746753/8.0),
-    REAL_CONST(105504.33168374863/8.0),
-    REAL_CONST(105528.36250833291/8.0),
-    REAL_CONST(105552.39470106458/8.0),
-    REAL_CONST(105576.42826178786/8.0),
-    REAL_CONST(105600.46319034706/8.0),
-    REAL_CONST(105624.49948658649/8.0),
-    REAL_CONST(105648.53715035053/8.0),
-    REAL_CONST(105672.5761814836/8.0),
-    REAL_CONST(105696.61657983017/8.0),
-    REAL_CONST(105720.65834523473/8.0),
-    REAL_CONST(105744.70147754184/8.0),
-    REAL_CONST(105768.7459765961/8.0),
-    REAL_CONST(105792.79184224214/8.0),
-    REAL_CONST(105816.83907432464/8.0),
-    REAL_CONST(105840.88767268835/8.0),
-    REAL_CONST(105864.93763717801/8.0),
-    REAL_CONST(105888.98896763846/8.0),
-    REAL_CONST(105913.04166391456/8.0),
-    REAL_CONST(105937.09572585119/8.0),
-    REAL_CONST(105961.15115329332/8.0),
-    REAL_CONST(105985.20794608595/8.0),
-    REAL_CONST(106009.26610407409/8.0),
-    REAL_CONST(106033.32562710284/8.0),
-    REAL_CONST(106057.38651501729/8.0),
-    REAL_CONST(106081.44876766266/8.0),
-    REAL_CONST(106105.51238488412/8.0),
-    REAL_CONST(106129.57736652695/8.0),
-    REAL_CONST(106153.64371243643/8.0),
-    REAL_CONST(106177.71142245791/8.0),
-    REAL_CONST(106201.78049643678/8.0),
-    REAL_CONST(106225.85093421848/8.0),
-    REAL_CONST(106249.92273564848/8.0),
-    REAL_CONST(106273.99590057228/8.0),
-    REAL_CONST(106298.07042883546/8.0),
-    REAL_CONST(106322.14632028362/8.0),
-    REAL_CONST(106346.22357476239/8.0),
-    REAL_CONST(106370.30219211751/8.0),
-    REAL_CONST(106394.38217219469/8.0),
-    REAL_CONST(106418.46351483969/8.0),
-    REAL_CONST(106442.54621989837/8.0),
-    REAL_CONST(106466.63028721658/8.0),
-    REAL_CONST(106490.71571664025/8.0),
-    REAL_CONST(106514.80250801529/8.0),
-    REAL_CONST(106538.89066118775/8.0),
-    REAL_CONST(106562.98017600364/8.0),
-    REAL_CONST(106587.07105230905/8.0),
-    REAL_CONST(106611.16328995011/8.0),
-    REAL_CONST(106635.25688877302/8.0),
-    REAL_CONST(106659.35184862395/8.0),
-    REAL_CONST(106683.44816934918/8.0),
-    REAL_CONST(106707.54585079502/8.0),
-    REAL_CONST(106731.64489280782/8.0),
-    REAL_CONST(106755.74529523395/8.0),
-    REAL_CONST(106779.84705791986/8.0),
-    REAL_CONST(106803.95018071201/8.0),
-    REAL_CONST(106828.05466345693/8.0),
-    REAL_CONST(106852.16050600118/8.0),
-    REAL_CONST(106876.26770819137/8.0),
-    REAL_CONST(106900.37626987413/8.0),
-    REAL_CONST(106924.48619089619/8.0),
-    REAL_CONST(106948.59747110425/8.0),
-    REAL_CONST(106972.71011034511/8.0),
-    REAL_CONST(106996.82410846559/8.0),
-    REAL_CONST(107020.93946531253/8.0),
-    REAL_CONST(107045.05618073288/8.0),
-    REAL_CONST(107069.17425457356/8.0),
-    REAL_CONST(107093.29368668159/8.0),
-    REAL_CONST(107117.41447690397/8.0),
-    REAL_CONST(107141.53662508781/8.0),
-    REAL_CONST(107165.66013108024/8.0),
-    REAL_CONST(107189.7849947284/8.0),
-    REAL_CONST(107213.91121587952/8.0),
-    REAL_CONST(107238.03879438085/8.0),
-    REAL_CONST(107262.16773007967/8.0),
-    REAL_CONST(107286.29802282334/8.0),
-    REAL_CONST(107310.42967245923/8.0),
-    REAL_CONST(107334.56267883476/8.0),
-    REAL_CONST(107358.69704179741/8.0),
-    REAL_CONST(107382.83276119467/8.0),
-    REAL_CONST(107406.96983687414/8.0),
-    REAL_CONST(107431.10826868335/8.0),
-    REAL_CONST(107455.24805646999/8.0),
-    REAL_CONST(107479.38920008171/8.0),
-    REAL_CONST(107503.53169936626/8.0),
-    REAL_CONST(107527.67555417139/8.0),
-    REAL_CONST(107551.82076434491/8.0),
-    REAL_CONST(107575.96732973469/8.0),
-    REAL_CONST(107600.11525018861/8.0),
-    REAL_CONST(107624.26452555459/8.0),
-    REAL_CONST(107648.41515568066/8.0),
-    REAL_CONST(107672.56714041479/8.0),
-    REAL_CONST(107696.72047960508/8.0),
-    REAL_CONST(107720.87517309963/8.0),
-    REAL_CONST(107745.03122074658/8.0),
-    REAL_CONST(107769.18862239413/8.0),
-    REAL_CONST(107793.34737789053/8.0),
-    REAL_CONST(107817.50748708403/8.0),
-    REAL_CONST(107841.66894982298/8.0),
-    REAL_CONST(107865.83176595572/8.0),
-    REAL_CONST(107889.99593533068/8.0),
-    REAL_CONST(107914.16145779629/8.0),
-    REAL_CONST(107938.32833320105/8.0),
-    REAL_CONST(107962.49656139348/8.0),
-    REAL_CONST(107986.66614222217/8.0),
-    REAL_CONST(108010.83707553572/8.0),
-    REAL_CONST(108035.00936118282/8.0),
-    REAL_CONST(108059.18299901215/8.0),
-    REAL_CONST(108083.35798887245/8.0),
-    REAL_CONST(108107.53433061253/8.0),
-    REAL_CONST(108131.71202408121/8.0),
-    REAL_CONST(108155.89106912735/8.0),
-    REAL_CONST(108180.07146559987/8.0),
-    REAL_CONST(108204.25321334775/8.0),
-    REAL_CONST(108228.43631221994/8.0),
-    REAL_CONST(108252.62076206553/8.0),
-    REAL_CONST(108276.80656273357/8.0),
-    REAL_CONST(108300.99371407321/8.0),
-    REAL_CONST(108325.18221593359/8.0),
-    REAL_CONST(108349.37206816394/8.0),
-    REAL_CONST(108373.56327061349/8.0),
-    REAL_CONST(108397.75582313156/8.0),
-    REAL_CONST(108421.94972556747/8.0),
-    REAL_CONST(108446.1449777706/8.0),
-    REAL_CONST(108470.34157959036/8.0),
-    REAL_CONST(108494.53953087622/8.0),
-    REAL_CONST(108518.73883147769/8.0),
-    REAL_CONST(108542.93948124432/8.0),
-    REAL_CONST(108567.14148002568/8.0),
-    REAL_CONST(108591.34482767139/8.0),
-    REAL_CONST(108615.54952403114/8.0),
-    REAL_CONST(108639.75556895464/8.0),
-    REAL_CONST(108663.96296229165/8.0),
-    REAL_CONST(108688.17170389196/8.0),
-    REAL_CONST(108712.38179360541/8.0),
-    REAL_CONST(108736.59323128188/8.0),
-    REAL_CONST(108760.80601677128/8.0),
-    REAL_CONST(108785.02014992358/8.0),
-    REAL_CONST(108809.23563058881/8.0),
-    REAL_CONST(108833.45245861699/8.0),
-    REAL_CONST(108857.67063385822/8.0),
-    REAL_CONST(108881.89015616261/8.0),
-    REAL_CONST(108906.11102538036/8.0),
-    REAL_CONST(108930.33324136167/8.0),
-    REAL_CONST(108954.55680395682/8.0),
-    REAL_CONST(108978.78171301607/8.0),
-    REAL_CONST(109003.00796838976/8.0),
-    REAL_CONST(109027.23556992831/8.0),
-    REAL_CONST(109051.46451748211/8.0),
-    REAL_CONST(109075.69481090162/8.0),
-    REAL_CONST(109099.92645003737/8.0),
-    REAL_CONST(109124.15943473989/8.0),
-    REAL_CONST(109148.39376485976/8.0),
-    REAL_CONST(109172.62944024763/8.0),
-    REAL_CONST(109196.86646075416/8.0),
-    REAL_CONST(109221.10482623006/8.0),
-    REAL_CONST(109245.34453652608/8.0),
-    REAL_CONST(109269.58559149304/8.0),
-    REAL_CONST(109293.82799098175/8.0),
-    REAL_CONST(109318.07173484311/8.0),
-    REAL_CONST(109342.31682292801/8.0),
-    REAL_CONST(109366.56325508743/8.0),
-    REAL_CONST(109390.81103117237/8.0),
-    REAL_CONST(109415.06015103387/8.0),
-    REAL_CONST(109439.31061452301/8.0),
-    REAL_CONST(109463.56242149093/8.0),
-    REAL_CONST(109487.8155717888/8.0),
-    REAL_CONST(109512.07006526781/8.0),
-    REAL_CONST(109536.3259017792/8.0),
-    REAL_CONST(109560.58308117429/8.0),
-    REAL_CONST(109584.8416033044/8.0),
-    REAL_CONST(109609.1014680209/8.0),
-    REAL_CONST(109633.36267517522/8.0),
-    REAL_CONST(109657.62522461878/8.0),
-    REAL_CONST(109681.88911620311/8.0),
-    REAL_CONST(109706.15434977971/8.0),
-    REAL_CONST(109730.4209252002/8.0),
-    REAL_CONST(109754.68884231619/8.0),
-    REAL_CONST(109778.95810097932/8.0),
-    REAL_CONST(109803.22870104131/8.0),
-    REAL_CONST(109827.50064235389/8.0),
-    REAL_CONST(109851.77392476884/8.0),
-    REAL_CONST(109876.04854813802/8.0),
-    REAL_CONST(109900.32451231324/8.0),
-    REAL_CONST(109924.60181714644/8.0),
-    REAL_CONST(109948.88046248957/8.0),
-    REAL_CONST(109973.1604481946/8.0),
-    REAL_CONST(109997.44177411357/8.0),
-    REAL_CONST(110021.72444009855/8.0),
-    REAL_CONST(110046.00844600165/8.0),
-    REAL_CONST(110070.29379167501/8.0),
-    REAL_CONST(110094.58047697082/8.0),
-    REAL_CONST(110118.86850174134/8.0),
-    REAL_CONST(110143.15786583882/8.0),
-    REAL_CONST(110167.44856911557/8.0),
-    REAL_CONST(110191.74061142397/8.0),
-    REAL_CONST(110216.03399261639/8.0),
-    REAL_CONST(110240.32871254528/8.0),
-    REAL_CONST(110264.62477106311/8.0),
-    REAL_CONST(110288.9221680224/8.0),
-    REAL_CONST(110313.22090327571/8.0),
-    REAL_CONST(110337.52097667565/8.0),
-    REAL_CONST(110361.82238807483/8.0),
-    REAL_CONST(110386.12513732594/8.0),
-    REAL_CONST(110410.42922428172/8.0),
-    REAL_CONST(110434.73464879491/8.0),
-    REAL_CONST(110459.04141071832/8.0),
-    REAL_CONST(110483.34950990479/8.0),
-    REAL_CONST(110507.6589462072/8.0),
-    REAL_CONST(110531.96971947847/8.0),
-    REAL_CONST(110556.28182957157/8.0),
-    REAL_CONST(110580.5952763395/8.0),
-    REAL_CONST(110604.91005963532/8.0),
-    REAL_CONST(110629.22617931209/8.0),
-    REAL_CONST(110653.54363522294/8.0),
-    REAL_CONST(110677.86242722106/8.0),
-    REAL_CONST(110702.18255515963/8.0),
-    REAL_CONST(110726.50401889188/8.0),
-    REAL_CONST(110750.82681827113/8.0),
-    REAL_CONST(110775.1509531507/8.0),
-    REAL_CONST(110799.47642338395/8.0),
-    REAL_CONST(110823.80322882428/8.0),
-    REAL_CONST(110848.13136932514/8.0),
-    REAL_CONST(110872.46084474004/8.0),
-    REAL_CONST(110896.79165492248/8.0),
-    REAL_CONST(110921.12379972603/8.0),
-    REAL_CONST(110945.4572790043/8.0),
-    REAL_CONST(110969.79209261097/8.0),
-    REAL_CONST(110994.12824039967/8.0),
-    REAL_CONST(111018.46572222417/8.0),
-    REAL_CONST(111042.80453793822/8.0),
-    REAL_CONST(111067.14468739564/8.0),
-    REAL_CONST(111091.48617045028/8.0),
-    REAL_CONST(111115.82898695602/8.0),
-    REAL_CONST(111140.1731367668/8.0),
-    REAL_CONST(111164.51861973655/8.0),
-    REAL_CONST(111188.86543571933/8.0),
-    REAL_CONST(111213.21358456917/8.0),
-    REAL_CONST(111237.56306614014/8.0),
-    REAL_CONST(111261.91388028639/8.0),
-    REAL_CONST(111286.26602686207/8.0),
-    REAL_CONST(111310.61950572141/8.0),
-    REAL_CONST(111334.97431671864/8.0),
-    REAL_CONST(111359.33045970804/8.0),
-    REAL_CONST(111383.68793454397/8.0),
-    REAL_CONST(111408.04674108078/8.0),
-    REAL_CONST(111432.40687917286/8.0),
-    REAL_CONST(111456.76834867468/8.0),
-    REAL_CONST(111481.13114944073/8.0),
-    REAL_CONST(111505.49528132551/8.0),
-    REAL_CONST(111529.86074418361/8.0),
-    REAL_CONST(111554.22753786964/8.0),
-    REAL_CONST(111578.59566223821/8.0),
-    REAL_CONST(111602.96511714405/8.0),
-    REAL_CONST(111627.33590244185/8.0),
-    REAL_CONST(111651.7080179864/8.0),
-    REAL_CONST(111676.08146363248/8.0),
-    REAL_CONST(111700.45623923496/8.0),
-    REAL_CONST(111724.8323446487/8.0),
-    REAL_CONST(111749.20977972864/8.0),
-    REAL_CONST(111773.58854432974/8.0),
-    REAL_CONST(111797.96863830699/8.0),
-    REAL_CONST(111822.35006151545/8.0),
-    REAL_CONST(111846.73281381019/8.0),
-    REAL_CONST(111871.11689504632/8.0),
-    REAL_CONST(111895.50230507903/8.0),
-    REAL_CONST(111919.8890437635/8.0),
-    REAL_CONST(111944.27711095495/8.0),
-    REAL_CONST(111968.6665065087/8.0),
-    REAL_CONST(111993.05723028004/8.0),
-    REAL_CONST(112017.44928212435/8.0),
-    REAL_CONST(112041.842661897/8.0),
-    REAL_CONST(112066.23736945343/8.0),
-    REAL_CONST(112090.63340464912/8.0),
-    REAL_CONST(112115.03076733962/8.0),
-    REAL_CONST(112139.42945738042/8.0),
-    REAL_CONST(112163.82947462716/8.0),
-    REAL_CONST(112188.23081893545/8.0),
-    REAL_CONST(112212.63349016097/8.0),
-    REAL_CONST(112237.03748815943/8.0),
-    REAL_CONST(112261.44281278658/8.0),
-    REAL_CONST(112285.84946389822/8.0),
-    REAL_CONST(112310.25744135017/8.0),
-    REAL_CONST(112334.66674499828/8.0),
-    REAL_CONST(112359.07737469849/8.0),
-    REAL_CONST(112383.48933030672/8.0),
-    REAL_CONST(112407.90261167898/8.0),
-    REAL_CONST(112432.31721867126/8.0),
-    REAL_CONST(112456.73315113965/8.0),
-    REAL_CONST(112481.15040894024/8.0),
-    REAL_CONST(112505.56899192919/8.0),
-    REAL_CONST(112529.98889996267/8.0),
-    REAL_CONST(112554.41013289688/8.0),
-    REAL_CONST(112578.8326905881/8.0),
-    REAL_CONST(112603.25657289263/8.0),
-    REAL_CONST(112627.68177966679/8.0),
-    REAL_CONST(112652.10831076698/8.0),
-    REAL_CONST(112676.53616604958/8.0),
-    REAL_CONST(112700.96534537108/8.0),
-    REAL_CONST(112725.39584858794/8.0),
-    REAL_CONST(112749.82767555672/8.0),
-    REAL_CONST(112774.26082613398/8.0),
-    REAL_CONST(112798.6953001763/8.0),
-    REAL_CONST(112823.13109754038/8.0),
-    REAL_CONST(112847.56821808286/8.0),
-    REAL_CONST(112872.00666166049/8.0),
-    REAL_CONST(112896.44642813003/8.0),
-    REAL_CONST(112920.88751734827/8.0),
-    REAL_CONST(112945.32992917208/8.0),
-    REAL_CONST(112969.77366345831/8.0),
-    REAL_CONST(112994.21872006389/8.0),
-    REAL_CONST(113018.66509884578/8.0),
-    REAL_CONST(113043.11279966099/8.0),
-    REAL_CONST(113067.56182236652/8.0),
-    REAL_CONST(113092.01216681948/8.0),
-    REAL_CONST(113116.46383287695/8.0),
-    REAL_CONST(113140.9168203961/8.0),
-    REAL_CONST(113165.37112923413/8.0),
-    REAL_CONST(113189.82675924824/8.0),
-    REAL_CONST(113214.28371029573/8.0),
-    REAL_CONST(113238.74198223387/8.0),
-    REAL_CONST(113263.20157492002/8.0),
-    REAL_CONST(113287.66248821157/8.0),
-    REAL_CONST(113312.12472196593/8.0),
-    REAL_CONST(113336.58827604055/8.0),
-    REAL_CONST(113361.05315029295/8.0),
-    REAL_CONST(113385.51934458067/8.0),
-    REAL_CONST(113409.98685876124/8.0),
-    REAL_CONST(113434.45569269233/8.0),
-    REAL_CONST(113458.92584623155/8.0),
-    REAL_CONST(113483.39731923661/8.0),
-    REAL_CONST(113507.87011156522/8.0),
-    REAL_CONST(113532.34422307517/8.0),
-    REAL_CONST(113556.81965362425/8.0),
-    REAL_CONST(113581.2964030703/8.0),
-    REAL_CONST(113605.77447127122/8.0),
-    REAL_CONST(113630.25385808491/8.0),
-    REAL_CONST(113654.73456336933/8.0),
-    REAL_CONST(113679.2165869825/8.0),
-    REAL_CONST(113703.69992878241/8.0),
-    REAL_CONST(113728.18458862718/8.0),
-    REAL_CONST(113752.67056637487/8.0),
-    REAL_CONST(113777.15786188368/8.0),
-    REAL_CONST(113801.64647501177/8.0),
-    REAL_CONST(113826.13640561736/8.0),
-    REAL_CONST(113850.62765355874/8.0),
-    REAL_CONST(113875.12021869418/8.0),
-    REAL_CONST(113899.61410088204/8.0),
-    REAL_CONST(113924.1092999807/8.0),
-    REAL_CONST(113948.60581584855/8.0),
-    REAL_CONST(113973.10364834407/8.0),
-    REAL_CONST(113997.60279732574/8.0),
-    REAL_CONST(114022.1032626521/8.0),
-    REAL_CONST(114046.60504418171/8.0),
-    REAL_CONST(114071.10814177318/8.0),
-    REAL_CONST(114095.61255528514/8.0),
-    REAL_CONST(114120.11828457628/8.0),
-    REAL_CONST(114144.62532950533/8.0),
-    REAL_CONST(114169.13368993104/8.0),
-    REAL_CONST(114193.6433657122/8.0),
-    REAL_CONST(114218.15435670764/8.0),
-    REAL_CONST(114242.66666277625/8.0),
-    REAL_CONST(114267.18028377694/8.0),
-    REAL_CONST(114291.69521956862/8.0),
-    REAL_CONST(114316.21147001031/8.0),
-    REAL_CONST(114340.72903496103/8.0),
-    REAL_CONST(114365.24791427983/8.0),
-    REAL_CONST(114389.7681078258/8.0),
-    REAL_CONST(114414.2896154581/8.0),
-    REAL_CONST(114438.81243703589/8.0),
-    REAL_CONST(114463.33657241837/8.0),
-    REAL_CONST(114487.8620214648/8.0),
-    REAL_CONST(114512.38878403447/8.0),
-    REAL_CONST(114536.91685998671/8.0),
-    REAL_CONST(114561.44624918087/8.0),
-    REAL_CONST(114585.97695147636/8.0),
-    REAL_CONST(114610.5089667326/8.0),
-    REAL_CONST(114635.04229480909/8.0),
-    REAL_CONST(114659.57693556532/8.0),
-    REAL_CONST(114684.11288886084/8.0),
-    REAL_CONST(114708.65015455526/8.0),
-    REAL_CONST(114733.18873250818/8.0),
-    REAL_CONST(114757.72862257928/8.0),
-    REAL_CONST(114782.26982462825/8.0),
-    REAL_CONST(114806.81233851484/8.0),
-    REAL_CONST(114831.35616409882/8.0),
-    REAL_CONST(114855.90130123998/8.0),
-    REAL_CONST(114880.44774979822/8.0),
-    REAL_CONST(114904.99550963337/8.0),
-    REAL_CONST(114929.5445806054/8.0),
-    REAL_CONST(114954.09496257425/8.0),
-    REAL_CONST(114978.64665539992/8.0),
-    REAL_CONST(115003.19965894247/8.0),
-    REAL_CONST(115027.75397306195/8.0),
-    REAL_CONST(115052.30959761847/8.0),
-    REAL_CONST(115076.86653247218/8.0),
-    REAL_CONST(115101.42477748329/8.0),
-    REAL_CONST(115125.984332512/8.0),
-    REAL_CONST(115150.54519741859/8.0),
-    REAL_CONST(115175.10737206334/8.0),
-    REAL_CONST(115199.67085630659/8.0),
-    REAL_CONST(115224.23565000873/8.0),
-    REAL_CONST(115248.80175303014/8.0),
-    REAL_CONST(115273.3691652313/8.0),
-    REAL_CONST(115297.93788647266/8.0),
-    REAL_CONST(115322.50791661476/8.0),
-    REAL_CONST(115347.07925551817/8.0),
-    REAL_CONST(115371.65190304347/8.0),
-    REAL_CONST(115396.22585905129/8.0),
-    REAL_CONST(115420.80112340231/8.0),
-    REAL_CONST(115445.37769595724/8.0),
-    REAL_CONST(115469.95557657682/8.0),
-    REAL_CONST(115494.53476512182/8.0),
-    REAL_CONST(115519.11526145306/8.0),
-    REAL_CONST(115543.69706543141/8.0),
-    REAL_CONST(115568.28017691776/8.0),
-    REAL_CONST(115592.86459577303/8.0),
-    REAL_CONST(115617.4503218582/8.0),
-    REAL_CONST(115642.03735503425/8.0),
-    REAL_CONST(115666.62569516223/8.0),
-    REAL_CONST(115691.21534210323/8.0),
-    REAL_CONST(115715.80629571836/8.0),
-    REAL_CONST(115740.39855586876/8.0),
-    REAL_CONST(115764.99212241563/8.0),
-    REAL_CONST(115789.58699522018/8.0),
-    REAL_CONST(115814.18317414368/8.0),
-    REAL_CONST(115838.78065904744/8.0),
-    REAL_CONST(115863.37944979276/8.0),
-    REAL_CONST(115887.97954624105/8.0),
-    REAL_CONST(115912.5809482537/8.0),
-    REAL_CONST(115937.18365569216/8.0),
-    REAL_CONST(115961.78766841792/8.0),
-    REAL_CONST(115986.39298629249/8.0),
-    REAL_CONST(116010.99960917742/8.0),
-    REAL_CONST(116035.60753693432/8.0),
-    REAL_CONST(116060.21676942479/8.0),
-    REAL_CONST(116084.82730651053/8.0),
-    REAL_CONST(116109.43914805322/8.0),
-    REAL_CONST(116134.0522939146/8.0),
-    REAL_CONST(116158.66674395646/8.0),
-    REAL_CONST(116183.2824980406/8.0),
-    REAL_CONST(116207.89955602887/8.0),
-    REAL_CONST(116232.51791778316/8.0),
-    REAL_CONST(116257.13758316539/8.0),
-    REAL_CONST(116281.75855203751/8.0),
-    REAL_CONST(116306.38082426153/8.0),
-    REAL_CONST(116331.00439969949/8.0),
-    REAL_CONST(116355.62927821343/8.0),
-    REAL_CONST(116380.25545966547/8.0),
-    REAL_CONST(116404.88294391775/8.0),
-    REAL_CONST(116429.51173083246/8.0),
-    REAL_CONST(116454.14182027178/8.0),
-    REAL_CONST(116478.77321209799/8.0),
-    REAL_CONST(116503.40590617337/8.0),
-    REAL_CONST(116528.03990236025/8.0),
-    REAL_CONST(116552.67520052097/8.0),
-    REAL_CONST(116577.31180051794/8.0),
-    REAL_CONST(116601.94970221359/8.0),
-    REAL_CONST(116626.5889054704/8.0),
-    REAL_CONST(116651.22941015086/8.0),
-    REAL_CONST(116675.87121611751/8.0),
-    REAL_CONST(116700.51432323294/8.0),
-    REAL_CONST(116725.15873135976/8.0),
-    REAL_CONST(116749.8044403606/8.0),
-    REAL_CONST(116774.45145009817/8.0),
-    REAL_CONST(116799.0997604352/8.0),
-    REAL_CONST(116823.74937123443/8.0),
-    REAL_CONST(116848.40028235866/8.0),
-    REAL_CONST(116873.05249367072/8.0),
-    REAL_CONST(116897.70600503348/8.0),
-    REAL_CONST(116922.36081630984/8.0),
-    REAL_CONST(116947.01692736275/8.0),
-    REAL_CONST(116971.67433805518/8.0),
-    REAL_CONST(116996.33304825013/8.0),
-    REAL_CONST(117020.99305781067/8.0),
-    REAL_CONST(117045.65436659988/8.0),
-    REAL_CONST(117070.31697448085/8.0),
-    REAL_CONST(117094.98088131678/8.0),
-    REAL_CONST(117119.64608697082/8.0),
-    REAL_CONST(117144.31259130624/8.0),
-    REAL_CONST(117168.98039418629/8.0),
-    REAL_CONST(117193.64949547425/8.0),
-    REAL_CONST(117218.31989503348/8.0),
-    REAL_CONST(117242.99159272734/8.0),
-    REAL_CONST(117267.66458841923/8.0),
-    REAL_CONST(117292.33888197262/8.0),
-    REAL_CONST(117317.01447325097/8.0),
-    REAL_CONST(117341.6913621178/8.0),
-    REAL_CONST(117366.36954843666/8.0),
-    REAL_CONST(117391.04903207115/8.0),
-    REAL_CONST(117415.72981288488/8.0),
-    REAL_CONST(117440.41189074152/8.0),
-    REAL_CONST(117465.09526550474/8.0),
-    REAL_CONST(117489.77993703831/8.0),
-    REAL_CONST(117514.46590520597/8.0),
-    REAL_CONST(117539.15316987153/8.0),
-    REAL_CONST(117563.84173089883/8.0),
-    REAL_CONST(117588.53158815173/8.0),
-    REAL_CONST(117613.22274149416/8.0),
-    REAL_CONST(117637.91519079007/8.0),
-    REAL_CONST(117662.60893590341/8.0),
-    REAL_CONST(117687.30397669821/8.0),
-    REAL_CONST(117712.00031303853/8.0),
-    REAL_CONST(117736.69794478847/8.0),
-    REAL_CONST(117761.39687181212/8.0),
-    REAL_CONST(117786.09709397367/8.0),
-    REAL_CONST(117810.7986111373/8.0),
-    REAL_CONST(117835.50142316725/8.0),
-    REAL_CONST(117860.20552992777/8.0),
-    REAL_CONST(117884.91093128319/8.0),
-    REAL_CONST(117909.6176270978/8.0),
-    REAL_CONST(117934.32561723603/8.0),
-    REAL_CONST(117959.03490156225/8.0),
-    REAL_CONST(117983.74547994092/8.0),
-    REAL_CONST(118008.45735223651/8.0),
-    REAL_CONST(118033.17051831353/8.0),
-    REAL_CONST(118057.88497803656/8.0),
-    REAL_CONST(118082.60073127014/8.0),
-    REAL_CONST(118107.31777787894/8.0),
-    REAL_CONST(118132.03611772758/8.0),
-    REAL_CONST(118156.75575068076/8.0),
-    REAL_CONST(118181.47667660323/8.0),
-    REAL_CONST(118206.19889535972/8.0),
-    REAL_CONST(118230.92240681504/8.0),
-    REAL_CONST(118255.64721083404/8.0),
-    REAL_CONST(118280.37330728157/8.0),
-    REAL_CONST(118305.10069602253/8.0),
-    REAL_CONST(118329.82937692189/8.0),
-    REAL_CONST(118354.55934984458/8.0),
-    REAL_CONST(118379.29061465565/8.0),
-    REAL_CONST(118404.02317122012/8.0),
-    REAL_CONST(118428.75701940308/8.0),
-    REAL_CONST(118453.49215906965/8.0),
-    REAL_CONST(118478.22859008498/8.0),
-    REAL_CONST(118502.96631231424/8.0),
-    REAL_CONST(118527.70532562268/8.0),
-    REAL_CONST(118552.44562987552/8.0),
-    REAL_CONST(118577.18722493808/8.0),
-    REAL_CONST(118601.93011067568/8.0),
-    REAL_CONST(118626.67428695368/8.0),
-    REAL_CONST(118651.41975363747/8.0),
-    REAL_CONST(118676.16651059251/8.0),
-    REAL_CONST(118700.91455768423/8.0),
-    REAL_CONST(118725.66389477813/8.0),
-    REAL_CONST(118750.41452173979/8.0),
-    REAL_CONST(118775.16643843475/8.0),
-    REAL_CONST(118799.91964472862/8.0),
-    REAL_CONST(118824.67414048707/8.0),
-    REAL_CONST(118849.42992557574/8.0),
-    REAL_CONST(118874.18699986035/8.0),
-    REAL_CONST(118898.94536320666/8.0),
-    REAL_CONST(118923.70501548045/8.0),
-    REAL_CONST(118948.46595654752/8.0),
-    REAL_CONST(118973.22818627374/8.0),
-    REAL_CONST(118997.99170452499/8.0),
-    REAL_CONST(119022.7565111672/8.0),
-    REAL_CONST(119047.52260606633/8.0),
-    REAL_CONST(119072.28998908834/8.0),
-    REAL_CONST(119097.0586600993/8.0),
-    REAL_CONST(119121.82861896523/8.0),
-    REAL_CONST(119146.59986555226/8.0),
-    REAL_CONST(119171.3723997265/8.0),
-    REAL_CONST(119196.14622135412/8.0),
-    REAL_CONST(119220.92133030134/8.0),
-    REAL_CONST(119245.69772643436/8.0),
-    REAL_CONST(119270.47540961947/8.0),
-    REAL_CONST(119295.25437972297/8.0),
-    REAL_CONST(119320.03463661121/8.0),
-    REAL_CONST(119344.81618015055/8.0),
-    REAL_CONST(119369.5990102074/8.0),
-    REAL_CONST(119394.38312664822/8.0),
-    REAL_CONST(119419.16852933947/8.0),
-    REAL_CONST(119443.95521814766/8.0),
-    REAL_CONST(119468.74319293935/8.0),
-    REAL_CONST(119493.53245358112/8.0),
-    REAL_CONST(119518.32299993958/8.0),
-    REAL_CONST(119543.11483188139/8.0),
-    REAL_CONST(119567.90794927324/8.0),
-    REAL_CONST(119592.70235198183/8.0),
-    REAL_CONST(119617.49803987393/8.0),
-    REAL_CONST(119642.29501281632/8.0),
-    REAL_CONST(119667.09327067583/8.0),
-    REAL_CONST(119691.89281331931/8.0),
-    REAL_CONST(119716.69364061367/8.0),
-    REAL_CONST(119741.49575242582/8.0),
-    REAL_CONST(119766.29914862274/8.0),
-    REAL_CONST(119791.10382907141/8.0),
-    REAL_CONST(119815.90979363887/8.0),
-    REAL_CONST(119840.71704219218/8.0),
-    REAL_CONST(119865.52557459843/8.0),
-    REAL_CONST(119890.33539072477/8.0),
-    REAL_CONST(119915.14649043836/8.0),
-    REAL_CONST(119939.95887360642/8.0),
-    REAL_CONST(119964.77254009615/8.0),
-    REAL_CONST(119989.58748977486/8.0),
-    REAL_CONST(120014.40372250983/8.0),
-    REAL_CONST(120039.22123816841/8.0),
-    REAL_CONST(120064.04003661797/8.0),
-    REAL_CONST(120088.86011772591/8.0),
-    REAL_CONST(120113.6814813597/8.0),
-    REAL_CONST(120138.5041273868/8.0),
-    REAL_CONST(120163.3280556747/8.0),
-    REAL_CONST(120188.15326609099/8.0),
-    REAL_CONST(120212.97975850321/8.0),
-    REAL_CONST(120237.807532779/8.0),
-    REAL_CONST(120262.63658878599/8.0),
-    REAL_CONST(120287.46692639188/8.0),
-    REAL_CONST(120312.29854546436/8.0),
-    REAL_CONST(120337.13144587121/8.0),
-    REAL_CONST(120361.9656274802/8.0),
-    REAL_CONST(120386.80109015915/8.0),
-    REAL_CONST(120411.63783377589/8.0),
-    REAL_CONST(120436.47585819835/8.0),
-    REAL_CONST(120461.31516329442/8.0),
-    REAL_CONST(120486.15574893207/8.0),
-    REAL_CONST(120510.99761497928/8.0),
-    REAL_CONST(120535.84076130406/8.0),
-    REAL_CONST(120560.68518777451/8.0),
-    REAL_CONST(120585.53089425867/8.0),
-    REAL_CONST(120610.3778806247/8.0),
-    REAL_CONST(120635.22614674074/8.0),
-    REAL_CONST(120660.07569247499/8.0),
-    REAL_CONST(120684.92651769568/8.0),
-    REAL_CONST(120709.77862227106/8.0),
-    REAL_CONST(120734.63200606944/8.0),
-    REAL_CONST(120759.48666895913/8.0),
-    REAL_CONST(120784.3426108085/8.0),
-    REAL_CONST(120809.19983148595/8.0),
-    REAL_CONST(120834.05833085992/8.0),
-    REAL_CONST(120858.91810879884/8.0),
-    REAL_CONST(120883.77916517125/8.0),
-    REAL_CONST(120908.64149984565/8.0),
-    REAL_CONST(120933.5051126906/8.0),
-    REAL_CONST(120958.37000357473/8.0),
-    REAL_CONST(120983.23617236665/8.0),
-    REAL_CONST(121008.10361893504/8.0),
-    REAL_CONST(121032.97234314861/8.0),
-    REAL_CONST(121057.84234487606/8.0),
-    REAL_CONST(121082.71362398617/8.0),
-    REAL_CONST(121107.58618034775/8.0),
-    REAL_CONST(121132.46001382964/8.0),
-    REAL_CONST(121157.33512430069/8.0),
-    REAL_CONST(121182.21151162982/8.0),
-    REAL_CONST(121207.08917568595/8.0),
-    REAL_CONST(121231.96811633807/8.0),
-    REAL_CONST(121256.84833345517/8.0),
-    REAL_CONST(121281.72982690629/8.0),
-    REAL_CONST(121306.61259656049/8.0),
-    REAL_CONST(121331.49664228689/8.0),
-    REAL_CONST(121356.38196395461/8.0),
-    REAL_CONST(121381.26856143285/8.0),
-    REAL_CONST(121406.15643459078/8.0),
-    REAL_CONST(121431.04558329767/8.0),
-    REAL_CONST(121455.93600742276/8.0),
-    REAL_CONST(121480.82770683538/8.0),
-    REAL_CONST(121505.72068140487/8.0),
-    REAL_CONST(121530.61493100057/8.0),
-    REAL_CONST(121555.51045549192/8.0),
-    REAL_CONST(121580.40725474835/8.0),
-    REAL_CONST(121605.30532863933/8.0),
-    REAL_CONST(121630.20467703436/8.0),
-    REAL_CONST(121655.10529980299/8.0),
-    REAL_CONST(121680.00719681478/8.0),
-    REAL_CONST(121704.91036793934/8.0),
-    REAL_CONST(121729.81481304632/8.0),
-    REAL_CONST(121754.72053200539/8.0),
-    REAL_CONST(121779.62752468624/8.0),
-    REAL_CONST(121804.53579095862/8.0),
-    REAL_CONST(121829.44533069231/8.0),
-    REAL_CONST(121854.3561437571/8.0),
-    REAL_CONST(121879.26823002285/8.0),
-    REAL_CONST(121904.1815893594/8.0),
-    REAL_CONST(121929.09622163669/8.0),
-    REAL_CONST(121954.01212672464/8.0),
-    REAL_CONST(121978.92930449323/8.0),
-    REAL_CONST(122003.84775481246/8.0),
-    REAL_CONST(122028.76747755238/8.0),
-    REAL_CONST(122053.68847258303/8.0),
-    REAL_CONST(122078.61073977455/8.0),
-    REAL_CONST(122103.53427899707/8.0),
-    REAL_CONST(122128.45909012076/8.0),
-    REAL_CONST(122153.38517301581/8.0),
-    REAL_CONST(122178.31252755247/8.0),
-    REAL_CONST(122203.24115360099/8.0),
-    REAL_CONST(122228.17105103172/8.0),
-    REAL_CONST(122253.10221971494/8.0),
-    REAL_CONST(122278.03465952107/8.0),
-    REAL_CONST(122302.96837032049/8.0),
-    REAL_CONST(122327.90335198362/8.0),
-    REAL_CONST(122352.83960438096/8.0),
-    REAL_CONST(122377.777127383/8.0),
-    REAL_CONST(122402.71592086025/8.0),
-    REAL_CONST(122427.65598468333/8.0),
-    REAL_CONST(122452.59731872278/8.0),
-    REAL_CONST(122477.53992284928/8.0),
-    REAL_CONST(122502.48379693348/8.0),
-    REAL_CONST(122527.42894084606/8.0),
-    REAL_CONST(122552.37535445779/8.0),
-    REAL_CONST(122577.32303763942/8.0),
-    REAL_CONST(122602.27199026172/8.0),
-    REAL_CONST(122627.22221219557/8.0),
-    REAL_CONST(122652.17370331181/8.0),
-    REAL_CONST(122677.12646348133/8.0),
-    REAL_CONST(122702.08049257506/8.0),
-    REAL_CONST(122727.03579046397/8.0),
-    REAL_CONST(122751.99235701906/8.0),
-    REAL_CONST(122776.95019211136/8.0),
-    REAL_CONST(122801.9092956119/8.0),
-    REAL_CONST(122826.8696673918/8.0),
-    REAL_CONST(122851.83130732219/8.0),
-    REAL_CONST(122876.79421527422/8.0),
-    REAL_CONST(122901.75839111909/8.0),
-    REAL_CONST(122926.72383472799/8.0),
-    REAL_CONST(122951.69054597223/8.0),
-    REAL_CONST(122976.65852472307/8.0),
-    REAL_CONST(123001.62777085182/8.0),
-    REAL_CONST(123026.59828422987/8.0),
-    REAL_CONST(123051.57006472857/8.0),
-    REAL_CONST(123076.54311221937/8.0),
-    REAL_CONST(123101.5174265737/8.0),
-    REAL_CONST(123126.49300766307/8.0),
-    REAL_CONST(123151.46985535898/8.0),
-    REAL_CONST(123176.44796953299/8.0),
-    REAL_CONST(123201.42735005668/8.0),
-    REAL_CONST(123226.40799680166/8.0),
-    REAL_CONST(123251.38990963959/8.0),
-    REAL_CONST(123276.37308844214/8.0),
-    REAL_CONST(123301.35753308103/8.0),
-    REAL_CONST(123326.343243428/8.0),
-    REAL_CONST(123351.33021935483/8.0),
-    REAL_CONST(123376.31846073334/8.0),
-    REAL_CONST(123401.30796743535/8.0),
-    REAL_CONST(123426.29873933276/8.0),
-    REAL_CONST(123451.29077629748/8.0),
-    REAL_CONST(123476.28407820144/8.0),
-    REAL_CONST(123501.2786449166/8.0),
-    REAL_CONST(123526.27447631498/8.0),
-    REAL_CONST(123551.27157226863/8.0),
-    REAL_CONST(123576.26993264959/8.0),
-    REAL_CONST(123601.26955732999/8.0),
-    REAL_CONST(123626.27044618195/8.0),
-    REAL_CONST(123651.27259907764/8.0),
-    REAL_CONST(123676.27601588926/8.0),
-    REAL_CONST(123701.28069648903/8.0),
-    REAL_CONST(123726.28664074924/8.0),
-    REAL_CONST(123751.29384854218/8.0),
-    REAL_CONST(123776.30231974016/8.0),
-    REAL_CONST(123801.31205421555/8.0),
-    REAL_CONST(123826.32305184075/8.0),
-    REAL_CONST(123851.33531248817/8.0),
-    REAL_CONST(123876.34883603029/8.0),
-    REAL_CONST(123901.36362233957/8.0),
-    REAL_CONST(123926.37967128855/8.0),
-    REAL_CONST(123951.39698274979/8.0),
-    REAL_CONST(123976.41555659588/8.0),
-    REAL_CONST(124001.43539269941/8.0),
-    REAL_CONST(124026.45649093305/8.0),
-    REAL_CONST(124051.47885116948/8.0),
-    REAL_CONST(124076.50247328142/8.0),
-    REAL_CONST(124101.5273571416/8.0),
-    REAL_CONST(124126.55350262282/8.0),
-    REAL_CONST(124151.58090959788/8.0),
-    REAL_CONST(124176.60957793961/8.0),
-    REAL_CONST(124201.63950752091/8.0),
-    REAL_CONST(124226.67069821467/8.0),
-    REAL_CONST(124251.70314989384/8.0),
-    REAL_CONST(124276.73686243138/8.0),
-    REAL_CONST(124301.7718357003/8.0),
-    REAL_CONST(124326.80806957364/8.0),
-    REAL_CONST(124351.84556392446/8.0),
-    REAL_CONST(124376.88431862585/8.0),
-    REAL_CONST(124401.92433355095/8.0),
-    REAL_CONST(124426.96560857294/8.0),
-    REAL_CONST(124452.00814356498/8.0),
-    REAL_CONST(124477.05193840031/8.0),
-    REAL_CONST(124502.0969929522/8.0),
-    REAL_CONST(124527.14330709392/8.0),
-    REAL_CONST(124552.19088069882/8.0),
-    REAL_CONST(124577.23971364023/8.0),
-    REAL_CONST(124602.28980579154/8.0),
-    REAL_CONST(124627.34115702618/8.0),
-    REAL_CONST(124652.3937672176/8.0),
-    REAL_CONST(124677.44763623926/8.0),
-    REAL_CONST(124702.50276396469/8.0),
-    REAL_CONST(124727.55915026742/8.0),
-    REAL_CONST(124752.61679502104/8.0),
-    REAL_CONST(124777.67569809916/8.0),
-    REAL_CONST(124802.73585937542/8.0),
-    REAL_CONST(124827.79727872348/8.0),
-    REAL_CONST(124852.85995601704/8.0),
-    REAL_CONST(124877.92389112986/8.0),
-    REAL_CONST(124902.98908393568/8.0),
-    REAL_CONST(124928.05553430831/8.0),
-    REAL_CONST(124953.1232421216/8.0),
-    REAL_CONST(124978.19220724938/8.0),
-    REAL_CONST(125003.26242956554/8.0),
-    REAL_CONST(125028.33390894404/8.0),
-    REAL_CONST(125053.40664525882/8.0),
-    REAL_CONST(125078.48063838384/8.0),
-    REAL_CONST(125103.55588819318/8.0),
-    REAL_CONST(125128.63239456083/8.0),
-    REAL_CONST(125153.71015736091/8.0),
-    REAL_CONST(125178.78917646752/8.0),
-    REAL_CONST(125203.86945175481/8.0),
-    REAL_CONST(125228.95098309696/8.0),
-    REAL_CONST(125254.03377036817/8.0),
-    REAL_CONST(125279.1178134427/8.0),
-    REAL_CONST(125304.20311219479/8.0),
-    REAL_CONST(125329.28966649878/8.0),
-    REAL_CONST(125354.37747622898/8.0),
-    REAL_CONST(125379.46654125977/8.0),
-    REAL_CONST(125404.55686146552/8.0),
-    REAL_CONST(125429.6484367207/8.0),
-    REAL_CONST(125454.74126689974/8.0),
-    REAL_CONST(125479.83535187715/8.0),
-    REAL_CONST(125504.93069152744/8.0),
-    REAL_CONST(125530.02728572517/8.0),
-    REAL_CONST(125555.12513434493/8.0),
-    REAL_CONST(125580.22423726133/8.0),
-    REAL_CONST(125605.32459434902/8.0),
-    REAL_CONST(125630.4262054827/8.0),
-    REAL_CONST(125655.52907053704/8.0),
-    REAL_CONST(125680.63318938682/8.0),
-    REAL_CONST(125705.73856190679/8.0),
-    REAL_CONST(125730.84518797178/8.0),
-    REAL_CONST(125755.9530674566/8.0),
-    REAL_CONST(125781.06220023613/8.0),
-    REAL_CONST(125806.17258618528/8.0),
-    REAL_CONST(125831.28422517896/8.0),
-    REAL_CONST(125856.39711709213/8.0),
-    REAL_CONST(125881.51126179981/8.0),
-    REAL_CONST(125906.62665917698/8.0),
-    REAL_CONST(125931.74330909875/8.0),
-    REAL_CONST(125956.86121144016/8.0),
-    REAL_CONST(125981.98036607634/8.0),
-    REAL_CONST(126007.10077288245/8.0),
-    REAL_CONST(126032.22243173365/8.0),
-    REAL_CONST(126057.34534250517/8.0),
-    REAL_CONST(126082.46950507225/8.0),
-    REAL_CONST(126107.59491931014/8.0),
-    REAL_CONST(126132.72158509417/8.0),
-    REAL_CONST(126157.84950229966/8.0),
-    REAL_CONST(126182.97867080198/8.0),
-    REAL_CONST(126208.10909047653/8.0),
-    REAL_CONST(126233.24076119871/8.0),
-    REAL_CONST(126258.37368284403/8.0),
-    REAL_CONST(126283.50785528794/8.0),
-    REAL_CONST(126308.64327840599/8.0),
-    REAL_CONST(126333.77995207369/8.0),
-    REAL_CONST(126358.91787616667/8.0),
-    REAL_CONST(126384.0570505605/8.0),
-    REAL_CONST(126409.19747513086/8.0),
-    REAL_CONST(126434.3391497534/8.0),
-    REAL_CONST(126459.48207430386/8.0),
-    REAL_CONST(126484.62624865794/8.0),
-    REAL_CONST(126509.77167269142/8.0),
-    REAL_CONST(126534.9183462801/8.0),
-    REAL_CONST(126560.06626929982/8.0),
-    REAL_CONST(126585.21544162642/8.0),
-    REAL_CONST(126610.36586313581/8.0),
-    REAL_CONST(126635.51753370393/8.0),
-    REAL_CONST(126660.67045320668/8.0),
-    REAL_CONST(126685.82462152008/8.0),
-    REAL_CONST(126710.98003852014/8.0),
-    REAL_CONST(126736.13670408291/8.0),
-    REAL_CONST(126761.29461808444/8.0),
-    REAL_CONST(126786.45378040087/8.0),
-    REAL_CONST(126811.61419090834/8.0),
-    REAL_CONST(126836.77584948298/8.0),
-    REAL_CONST(126861.93875600102/8.0),
-    REAL_CONST(126887.10291033868/8.0),
-    REAL_CONST(126912.26831237224/8.0),
-    REAL_CONST(126937.43496197795/8.0),
-    REAL_CONST(126962.60285903217/8.0),
-    REAL_CONST(126987.77200341123/8.0),
-    REAL_CONST(127012.94239499152/8.0),
-    REAL_CONST(127038.11403364947/8.0),
-    REAL_CONST(127063.2869192615/8.0),
-    REAL_CONST(127088.46105170409/8.0),
-    REAL_CONST(127113.63643085376/8.0),
-    REAL_CONST(127138.81305658702/8.0),
-    REAL_CONST(127163.99092878048/8.0),
-    REAL_CONST(127189.17004731069/8.0),
-    REAL_CONST(127214.35041205429/8.0),
-    REAL_CONST(127239.53202288797/8.0),
-    REAL_CONST(127264.71487968838/8.0),
-    REAL_CONST(127289.89898233226/8.0),
-    REAL_CONST(127315.08433069635/8.0),
-    REAL_CONST(127340.27092465744/8.0),
-    REAL_CONST(127365.45876409234/8.0),
-    REAL_CONST(127390.64784887788/8.0),
-    REAL_CONST(127415.83817889093/8.0),
-    REAL_CONST(127441.02975400841/8.0),
-    REAL_CONST(127466.22257410725/8.0),
-    REAL_CONST(127491.41663906439/8.0),
-    REAL_CONST(127516.61194875685/8.0),
-    REAL_CONST(127541.80850306165/8.0),
-    REAL_CONST(127567.00630185583/8.0),
-    REAL_CONST(127592.20534501647/8.0),
-    REAL_CONST(127617.4056324207/8.0),
-    REAL_CONST(127642.60716394568/8.0),
-    REAL_CONST(127667.80993946856/8.0),
-    REAL_CONST(127693.01395886653/8.0),
-    REAL_CONST(127718.21922201688/8.0),
-    REAL_CONST(127743.42572879682/8.0),
-    REAL_CONST(127768.63347908368/8.0),
-    REAL_CONST(127793.84247275478/8.0),
-    REAL_CONST(127819.05270968749/8.0),
-    REAL_CONST(127844.26418975917/8.0),
-    REAL_CONST(127869.47691284724/8.0),
-    REAL_CONST(127894.69087882918/8.0),
-    REAL_CONST(127919.90608758242/8.0),
-    REAL_CONST(127945.12253898452/8.0),
-    REAL_CONST(127970.34023291297/8.0),
-    REAL_CONST(127995.55916924537/8.0),
-    REAL_CONST(128020.77934785932/8.0),
-    REAL_CONST(128046.00076863244/8.0),
-    REAL_CONST(128071.22343144237/8.0),
-    REAL_CONST(128096.44733616684/8.0),
-    REAL_CONST(128121.67248268353/8.0),
-    REAL_CONST(128146.89887087021/8.0),
-    REAL_CONST(128172.12650060465/8.0),
-    REAL_CONST(128197.35537176467/8.0),
-    REAL_CONST(128222.5854842281/8.0),
-    REAL_CONST(128247.81683787282/8.0),
-    REAL_CONST(128273.04943257671/8.0),
-    REAL_CONST(128298.28326821771/8.0),
-    REAL_CONST(128323.51834467379/8.0),
-    REAL_CONST(128348.75466182294/8.0),
-    REAL_CONST(128373.99221954317/8.0),
-    REAL_CONST(128399.23101771252/8.0),
-    REAL_CONST(128424.47105620909/8.0),
-    REAL_CONST(128449.71233491098/8.0),
-    REAL_CONST(128474.95485369631/8.0),
-    REAL_CONST(128500.19861244329/8.0),
-    REAL_CONST(128525.44361103009/8.0),
-    REAL_CONST(128550.68984933494/8.0),
-    REAL_CONST(128575.93732723613/8.0),
-    REAL_CONST(128601.18604461191/8.0),
-    REAL_CONST(128626.43600134061/8.0),
-    REAL_CONST(128651.68719730059/8.0),
-    REAL_CONST(128676.93963237021/8.0),
-    REAL_CONST(128702.1933064279/8.0),
-    REAL_CONST(128727.44821935208/8.0),
-    REAL_CONST(128752.70437102125/8.0),
-    REAL_CONST(128777.96176131385/8.0),
-    REAL_CONST(128803.22039010846/8.0),
-    REAL_CONST(128828.48025728362/8.0),
-    REAL_CONST(128853.74136271792/8.0),
-    REAL_CONST(128879.00370628996/8.0),
-    REAL_CONST(128904.26728787841/8.0),
-    REAL_CONST(128929.53210736193/8.0),
-    REAL_CONST(128954.79816461923/8.0),
-    REAL_CONST(128980.06545952905/8.0),
-    REAL_CONST(129005.33399197015/8.0),
-    REAL_CONST(129030.60376182134/8.0),
-    REAL_CONST(129055.87476896142/8.0),
-    REAL_CONST(129081.14701326926/8.0),
-    REAL_CONST(129106.42049462376/8.0),
-    REAL_CONST(129131.6952129038/8.0),
-    REAL_CONST(129156.97116798835/8.0),
-    REAL_CONST(129182.24835975636/8.0),
-    REAL_CONST(129207.52678808685/8.0),
-    REAL_CONST(129232.80645285884/8.0),
-    REAL_CONST(129258.08735395141/8.0),
-    REAL_CONST(129283.36949124365/8.0),
-    REAL_CONST(129308.65286461466/8.0),
-    REAL_CONST(129333.9374739436/8.0),
-    REAL_CONST(129359.22331910966/8.0),
-    REAL_CONST(129384.51039999202/8.0),
-    REAL_CONST(129409.79871646997/8.0),
-    REAL_CONST(129435.08826842274/8.0),
-    REAL_CONST(129460.37905572963/8.0),
-    REAL_CONST(129485.67107826998/8.0),
-    REAL_CONST(129510.96433592314/8.0),
-    REAL_CONST(129536.25882856851/8.0),
-    REAL_CONST(129561.55455608548/8.0),
-    REAL_CONST(129586.85151835352/8.0),
-    REAL_CONST(129612.14971525209/8.0),
-    REAL_CONST(129637.4491466607/8.0),
-    REAL_CONST(129662.74981245887/8.0),
-    REAL_CONST(129688.0517125262/8.0),
-    REAL_CONST(129713.35484674224/8.0),
-    REAL_CONST(129738.65921498663/8.0),
-    REAL_CONST(129763.96481713903/8.0),
-    REAL_CONST(129789.27165307909/8.0),
-    REAL_CONST(129814.57972268655/8.0),
-    REAL_CONST(129839.88902584116/8.0),
-    REAL_CONST(129865.19956242264/8.0),
-    REAL_CONST(129890.51133231082/8.0),
-    REAL_CONST(129915.82433538554/8.0),
-    REAL_CONST(129941.13857152662/8.0),
-    REAL_CONST(129966.45404061397/8.0),
-    REAL_CONST(129991.7707425275/8.0),
-    REAL_CONST(130017.08867714716/8.0),
-    REAL_CONST(130042.4078443529/8.0),
-    REAL_CONST(130067.72824402474/8.0),
-    REAL_CONST(130093.04987604271/8.0),
-    REAL_CONST(130118.37274028687/8.0),
-    REAL_CONST(130143.69683663732/8.0),
-    REAL_CONST(130169.02216497416/8.0),
-    REAL_CONST(130194.34872517755/8.0),
-    REAL_CONST(130219.67651712766/8.0),
-    REAL_CONST(130245.0055407047/8.0),
-    REAL_CONST(130270.33579578891/8.0),
-    REAL_CONST(130295.66728226055/8.0),
-    REAL_CONST(130320.99999999991/8.0),
-    REAL_CONST(130346.33394888733/8.0),
-    REAL_CONST(130371.66912880314/8.0),
-    REAL_CONST(130397.00553962773/8.0),
-    REAL_CONST(130422.34318124152/8.0),
-    REAL_CONST(130447.68205352494/8.0),
-    REAL_CONST(130473.02215635845/8.0),
-    REAL_CONST(130498.36348962256/8.0),
-    REAL_CONST(130523.70605319779/8.0),
-    REAL_CONST(130549.0498469647/8.0),
-    REAL_CONST(130574.39487080388/8.0),
-    REAL_CONST(130599.74112459592/8.0),
-    REAL_CONST(130625.08860822149/8.0),
-    REAL_CONST(130650.43732156123/8.0),
-    REAL_CONST(130675.78726449587/8.0),
-    REAL_CONST(130701.13843690613/8.0),
-    REAL_CONST(130726.49083867275/8.0),
-    REAL_CONST(130751.84446967654/8.0),
-    REAL_CONST(130777.19932979831/8.0),
-    REAL_CONST(130802.5554189189/8.0),
-    REAL_CONST(130827.91273691918/8.0),
-    REAL_CONST(130853.27128368006/8.0),
-    REAL_CONST(130878.63105908247/8.0),
-    REAL_CONST(130903.99206300738/8.0),
-    REAL_CONST(130929.35429533575/8.0),
-    REAL_CONST(130954.71775594862/8.0),
-    REAL_CONST(130980.08244472703/8.0),
-    REAL_CONST(131005.44836155206/8.0),
-    REAL_CONST(131030.81550630482/8.0),
-    REAL_CONST(131056.18387886642/8.0),
-    REAL_CONST(131081.55347911804/8.0),
-    REAL_CONST(131106.92430694087/8.0),
-    REAL_CONST(131132.29636221612/8.0),
-    REAL_CONST(131157.66964482504/8.0),
-    REAL_CONST(131183.0441546489/8.0),
-    REAL_CONST(131208.41989156904/8.0),
-    REAL_CONST(131233.79685546676/8.0),
-    REAL_CONST(131259.17504622342/8.0),
-    REAL_CONST(131284.55446372041/8.0),
-    REAL_CONST(131309.93510783918/8.0),
-    REAL_CONST(131335.31697846117/8.0),
-    REAL_CONST(131360.70007546784/8.0),
-    REAL_CONST(131386.0843987407/8.0),
-    REAL_CONST(131411.46994816128/8.0),
-    REAL_CONST(131436.85672361116/8.0),
-    REAL_CONST(131462.24472497194/8.0),
-    REAL_CONST(131487.63395212521/8.0),
-    REAL_CONST(131513.02440495262/8.0),
-    REAL_CONST(131538.41608333588/8.0),
-    REAL_CONST(131563.80898715663/8.0),
-    REAL_CONST(131589.2031162967/8.0),
-    REAL_CONST(131614.59847063778/8.0),
-    REAL_CONST(131639.9950500617/8.0),
-    REAL_CONST(131665.39285445024/8.0),
-    REAL_CONST(131690.79188368531/8.0),
-    REAL_CONST(131716.19213764873/8.0),
-    REAL_CONST(131741.59361622241/8.0),
-    REAL_CONST(131766.99631928833/8.0),
-    REAL_CONST(131792.40024672839/8.0),
-    REAL_CONST(131817.80539842462/8.0),
-    REAL_CONST(131843.21177425905/8.0),
-    REAL_CONST(131868.61937411371/8.0),
-    REAL_CONST(131894.02819787065/8.0),
-    REAL_CONST(131919.43824541202/8.0),
-    REAL_CONST(131944.84951661993/8.0),
-    REAL_CONST(131970.26201137656/8.0),
-    REAL_CONST(131995.67572956407/8.0),
-    REAL_CONST(132021.09067106468/8.0),
-    REAL_CONST(132046.50683576067/8.0),
-    REAL_CONST(132071.9242235343/8.0),
-    REAL_CONST(132097.34283426782/8.0),
-    REAL_CONST(132122.76266784366/8.0),
-    REAL_CONST(132148.1837241441/8.0),
-    REAL_CONST(132173.60600305157/8.0),
-    REAL_CONST(132199.02950444847/8.0),
-    REAL_CONST(132224.45422821722/8.0),
-    REAL_CONST(132249.88017424036/8.0),
-    REAL_CONST(132275.30734240031/8.0),
-    REAL_CONST(132300.73573257966/8.0),
-    REAL_CONST(132326.16534466096/8.0),
-    REAL_CONST(132351.59617852676/8.0),
-    REAL_CONST(132377.02823405969/8.0),
-    REAL_CONST(132402.46151114244/8.0),
-    REAL_CONST(132427.89600965759/8.0),
-    REAL_CONST(132453.33172948789/8.0),
-    REAL_CONST(132478.76867051609/8.0),
-    REAL_CONST(132504.20683262491/8.0),
-    REAL_CONST(132529.64621569714/8.0),
-    REAL_CONST(132555.08681961559/8.0),
-    REAL_CONST(132580.5286442631/8.0),
-    REAL_CONST(132605.97168952253/8.0),
-    REAL_CONST(132631.41595527678/8.0),
-    REAL_CONST(132656.86144140881/8.0),
-    REAL_CONST(132682.30814780149/8.0),
-    REAL_CONST(132707.75607433787/8.0),
-    REAL_CONST(132733.20522090094/8.0),
-    REAL_CONST(132758.65558737374/8.0),
-    REAL_CONST(132784.10717363929/8.0),
-    REAL_CONST(132809.55997958075/8.0),
-    REAL_CONST(132835.01400508118/8.0),
-    REAL_CONST(132860.46925002377/8.0),
-    REAL_CONST(132885.92571429166/8.0),
-    REAL_CONST(132911.38339776811/8.0),
-    REAL_CONST(132936.84230033628/8.0),
-    REAL_CONST(132962.30242187946/8.0),
-    REAL_CONST(132987.76376228096/8.0),
-    REAL_CONST(133013.22632142407/8.0),
-    REAL_CONST(133038.69009919214/8.0),
-    REAL_CONST(133064.15509546854/8.0),
-    REAL_CONST(133089.62131013666/8.0),
-    REAL_CONST(133115.08874307995/8.0),
-    REAL_CONST(133140.55739418184/8.0),
-    REAL_CONST(133166.02726332581/8.0),
-    REAL_CONST(133191.49835039541/8.0),
-    REAL_CONST(133216.97065527414/8.0),
-    REAL_CONST(133242.44417784561/8.0),
-    REAL_CONST(133267.91891799335/8.0),
-    REAL_CONST(133293.39487560102/8.0),
-    REAL_CONST(133318.87205055228/8.0),
-    REAL_CONST(133344.35044273079/8.0),
-    REAL_CONST(133369.83005202023/8.0),
-    REAL_CONST(133395.31087830439/8.0),
-    REAL_CONST(133420.79292146701/8.0),
-    REAL_CONST(133446.27618139185/8.0),
-    REAL_CONST(133471.76065796276/8.0),
-    REAL_CONST(133497.24635106357/8.0),
-    REAL_CONST(133522.73326057816/8.0),
-    REAL_CONST(133548.22138639039/8.0),
-    REAL_CONST(133573.71072838426/8.0),
-    REAL_CONST(133599.20128644365/8.0),
-    REAL_CONST(133624.69306045261/8.0),
-    REAL_CONST(133650.1860502951/8.0),
-    REAL_CONST(133675.68025585517/8.0),
-    REAL_CONST(133701.1756770169/8.0),
-    REAL_CONST(133726.67231366437/8.0),
-    REAL_CONST(133752.17016568172/8.0),
-    REAL_CONST(133777.66923295305/8.0),
-    REAL_CONST(133803.16951536259/8.0),
-    REAL_CONST(133828.67101279454/8.0),
-    REAL_CONST(133854.17372513309/8.0),
-    REAL_CONST(133879.67765226253/8.0),
-    REAL_CONST(133905.18279406714/8.0),
-    REAL_CONST(133930.68915043125/8.0),
-    REAL_CONST(133956.19672123916/8.0),
-    REAL_CONST(133981.70550637526/8.0),
-    REAL_CONST(134007.21550572399/8.0),
-    REAL_CONST(134032.7267191697/8.0),
-    REAL_CONST(134058.23914659687/8.0),
-    REAL_CONST(134083.75278789/8.0),
-    REAL_CONST(134109.26764293358/8.0),
-    REAL_CONST(134134.78371161217/8.0),
-    REAL_CONST(134160.30099381026/8.0),
-    REAL_CONST(134185.8194894125/8.0),
-    REAL_CONST(134211.33919830353/8.0),
-    REAL_CONST(134236.8601203679/8.0),
-    REAL_CONST(134262.38225549037/8.0),
-    REAL_CONST(134287.90560355558/8.0),
-    REAL_CONST(134313.43016444831/8.0),
-    REAL_CONST(134338.95593805326/8.0),
-    REAL_CONST(134364.48292425525/8.0),
-    REAL_CONST(134390.01112293909/8.0),
-    REAL_CONST(134415.54053398955/8.0),
-    REAL_CONST(134441.07115729159/8.0),
-    REAL_CONST(134466.60299273001/8.0),
-    REAL_CONST(134492.1360401898/8.0),
-    REAL_CONST(134517.67029955584/8.0),
-    REAL_CONST(134543.20577071316/8.0),
-    REAL_CONST(134568.74245354676/8.0),
-    REAL_CONST(134594.28034794159/8.0),
-    REAL_CONST(134619.81945378278/8.0),
-    REAL_CONST(134645.35977095537/8.0),
-    REAL_CONST(134670.90129934452/8.0),
-    REAL_CONST(134696.4440388353/8.0),
-    REAL_CONST(134721.98798931291/8.0),
-    REAL_CONST(134747.53315066252/8.0),
-    REAL_CONST(134773.07952276937/8.0),
-    REAL_CONST(134798.62710551871/8.0),
-    REAL_CONST(134824.17589879577/8.0),
-    REAL_CONST(134849.72590248589/8.0),
-    REAL_CONST(134875.27711647438/8.0),
-    REAL_CONST(134900.82954064661/8.0),
-    REAL_CONST(134926.38317488792/8.0),
-    REAL_CONST(134951.93801908373/8.0),
-    REAL_CONST(134977.49407311951/8.0),
-    REAL_CONST(135003.05133688069/8.0),
-    REAL_CONST(135028.60981025276/8.0),
-    REAL_CONST(135054.16949312127/8.0),
-    REAL_CONST(135079.73038537172/8.0),
-    REAL_CONST(135105.29248688967/8.0),
-    REAL_CONST(135130.85579756077/8.0),
-    REAL_CONST(135156.42031727062/8.0),
-    REAL_CONST(135181.98604590484/8.0),
-    REAL_CONST(135207.55298334916/8.0),
-    REAL_CONST(135233.12112948924/8.0),
-    REAL_CONST(135258.69048421088/8.0),
-    REAL_CONST(135284.26104739975/8.0),
-    REAL_CONST(135309.83281894168/8.0),
-    REAL_CONST(135335.4057987225/8.0),
-    REAL_CONST(135360.97998662802/8.0),
-    REAL_CONST(135386.55538254412/8.0),
-    REAL_CONST(135412.13198635669/8.0),
-    REAL_CONST(135437.70979795168/8.0),
-    REAL_CONST(135463.28881721498/8.0),
-    REAL_CONST(135488.86904403262/8.0),
-    REAL_CONST(135514.45047829056/8.0),
-    REAL_CONST(135540.03311987486/8.0),
-    REAL_CONST(135565.61696867159/8.0),
-    REAL_CONST(135591.20202456677/8.0),
-    REAL_CONST(135616.78828744654/8.0),
-    REAL_CONST(135642.37575719706/8.0),
-    REAL_CONST(135667.96443370447/8.0),
-    REAL_CONST(135693.55431685498/8.0),
-    REAL_CONST(135719.14540653475/8.0),
-    REAL_CONST(135744.73770263011/8.0),
-    REAL_CONST(135770.33120502727/8.0),
-    REAL_CONST(135795.92591361253/8.0),
-    REAL_CONST(135821.52182827223/8.0),
-    REAL_CONST(135847.11894889272/8.0),
-    REAL_CONST(135872.7172753604/8.0),
-    REAL_CONST(135898.31680756161/8.0),
-    REAL_CONST(135923.91754538284/8.0),
-    REAL_CONST(135949.51948871053/8.0),
-    REAL_CONST(135975.12263743114/8.0),
-    REAL_CONST(136000.72699143123/8.0),
-    REAL_CONST(136026.33255059729/8.0),
-    REAL_CONST(136051.93931481591/8.0),
-    REAL_CONST(136077.54728397369/8.0),
-    REAL_CONST(136103.15645795723/8.0),
-    REAL_CONST(136128.76683665317/8.0),
-    REAL_CONST(136154.37841994822/8.0),
-    REAL_CONST(136179.99120772901/8.0),
-    REAL_CONST(136205.60519988232/8.0),
-    REAL_CONST(136231.2203962949/8.0),
-    REAL_CONST(136256.83679685349/8.0),
-    REAL_CONST(136282.45440144493/8.0),
-    REAL_CONST(136308.07320995603/8.0),
-    REAL_CONST(136333.69322227367/8.0),
-    REAL_CONST(136359.31443828469/8.0),
-    REAL_CONST(136384.93685787608/8.0),
-    REAL_CONST(136410.56048093468/8.0),
-    REAL_CONST(136436.18530734754/8.0),
-    REAL_CONST(136461.81133700156/8.0),
-    REAL_CONST(136487.43856978384/8.0),
-    REAL_CONST(136513.06700558143/8.0),
-    REAL_CONST(136538.6966442813/8.0),
-    REAL_CONST(136564.32748577066/8.0),
-    REAL_CONST(136589.95952993655/8.0),
-    REAL_CONST(136615.59277666616/8.0),
-    REAL_CONST(136641.22722584667/8.0),
-    REAL_CONST(136666.86287736523/8.0),
-    REAL_CONST(136692.49973110916/8.0),
-    REAL_CONST(136718.13778696564/8.0),
-    REAL_CONST(136743.77704482197/8.0),
-    REAL_CONST(136769.41750456547/8.0),
-    REAL_CONST(136795.05916608346/8.0),
-    REAL_CONST(136820.70202926331/8.0),
-    REAL_CONST(136846.34609399244/8.0),
-    REAL_CONST(136871.99136015819/8.0),
-    REAL_CONST(136897.63782764805/8.0),
-    REAL_CONST(136923.28549634948/8.0),
-    REAL_CONST(136948.93436614997/8.0),
-    REAL_CONST(136974.58443693706/8.0),
-    REAL_CONST(137000.23570859825/8.0),
-    REAL_CONST(137025.88818102115/8.0),
-    REAL_CONST(137051.54185409332/8.0),
-    REAL_CONST(137077.19672770242/8.0),
-    REAL_CONST(137102.85280173609/8.0),
-    REAL_CONST(137128.51007608202/8.0),
-    REAL_CONST(137154.16855062786/8.0),
-    REAL_CONST(137179.82822526142/8.0),
-    REAL_CONST(137205.48909987041/8.0),
-    REAL_CONST(137231.15117434258/8.0),
-    REAL_CONST(137256.8144485658/8.0),
-    REAL_CONST(137282.47892242789/8.0),
-    REAL_CONST(137308.14459581667/8.0),
-    REAL_CONST(137333.81146862009/8.0),
-    REAL_CONST(137359.47954072602/8.0),
-    REAL_CONST(137385.14881202241/8.0),
-    REAL_CONST(137410.81928239719/8.0),
-    REAL_CONST(137436.49095173844/8.0),
-    REAL_CONST(137462.16381993407/8.0),
-    REAL_CONST(137487.83788687221/8.0),
-    REAL_CONST(137513.51315244089/8.0),
-    REAL_CONST(137539.18961652822/8.0),
-    REAL_CONST(137564.86727902229/8.0),
-    REAL_CONST(137590.54613981131/8.0),
-    REAL_CONST(137616.22619878338/8.0),
-    REAL_CONST(137641.90745582676/8.0),
-    REAL_CONST(137667.58991082967/8.0),
-    REAL_CONST(137693.27356368033/8.0),
-    REAL_CONST(137718.95841426702/8.0),
-    REAL_CONST(137744.64446247809/8.0),
-    REAL_CONST(137770.33170820182/8.0),
-    REAL_CONST(137796.02015132661/8.0),
-    REAL_CONST(137821.70979174081/8.0),
-    REAL_CONST(137847.40062933284/8.0),
-    REAL_CONST(137873.09266399115/8.0),
-    REAL_CONST(137898.78589560417/8.0),
-    REAL_CONST(137924.48032406042/8.0),
-    REAL_CONST(137950.17594924837/8.0),
-    REAL_CONST(137975.8727710566/8.0),
-    REAL_CONST(138001.57078937365/8.0),
-    REAL_CONST(138027.27000408815/8.0),
-    REAL_CONST(138052.97041508864/8.0),
-    REAL_CONST(138078.67202226384/8.0),
-    REAL_CONST(138104.3748255024/8.0),
-    REAL_CONST(138130.07882469296/8.0),
-    REAL_CONST(138155.78401972432/8.0),
-    REAL_CONST(138181.49041048516/8.0),
-    REAL_CONST(138207.1979968643/8.0),
-    REAL_CONST(138232.9067787505/8.0),
-    REAL_CONST(138258.61675603263/8.0),
-    REAL_CONST(138284.32792859949/8.0),
-    REAL_CONST(138310.04029633995/8.0),
-    REAL_CONST(138335.75385914298/8.0),
-    REAL_CONST(138361.46861689744/8.0),
-    REAL_CONST(138387.18456949232/8.0),
-    REAL_CONST(138412.90171681659/8.0),
-    REAL_CONST(138438.62005875923/8.0),
-    REAL_CONST(138464.33959520931/8.0),
-    REAL_CONST(138490.06032605586/8.0),
-    REAL_CONST(138515.78225118798/8.0),
-    REAL_CONST(138541.50537049473/8.0),
-    REAL_CONST(138567.2296838653/8.0),
-    REAL_CONST(138592.95519118884/8.0),
-    REAL_CONST(138618.68189235451/8.0),
-    REAL_CONST(138644.40978725153/8.0),
-    REAL_CONST(138670.13887576913/8.0),
-    REAL_CONST(138695.86915779658/8.0),
-    REAL_CONST(138721.60063322316/8.0),
-    REAL_CONST(138747.33330193823/8.0),
-    REAL_CONST(138773.06716383106/8.0),
-    REAL_CONST(138798.80221879104/8.0),
-    REAL_CONST(138824.53846670757/8.0),
-    REAL_CONST(138850.27590747006/8.0),
-    REAL_CONST(138876.01454096794/8.0),
-    REAL_CONST(138901.7543670907/8.0),
-    REAL_CONST(138927.49538572782/8.0),
-    REAL_CONST(138953.2375967688/8.0),
-    REAL_CONST(138978.9810001032/8.0),
-    REAL_CONST(139004.72559562061/8.0),
-    REAL_CONST(139030.47138321059/8.0),
-    REAL_CONST(139056.2183627628/8.0),
-    REAL_CONST(139081.96653416683/8.0),
-    REAL_CONST(139107.71589731239/8.0),
-    REAL_CONST(139133.46645208917/8.0),
-    REAL_CONST(139159.21819838689/8.0),
-    REAL_CONST(139184.97113609532/8.0),
-    REAL_CONST(139210.72526510421/8.0),
-    REAL_CONST(139236.48058530336/8.0),
-    REAL_CONST(139262.23709658257/8.0),
-    REAL_CONST(139287.99479883176/8.0),
-    REAL_CONST(139313.75369194071/8.0),
-    REAL_CONST(139339.51377579942/8.0),
-    REAL_CONST(139365.27505029776/8.0),
-    REAL_CONST(139391.03751532568/8.0),
-    REAL_CONST(139416.80117077316/8.0),
-    REAL_CONST(139442.56601653024/8.0),
-    REAL_CONST(139468.33205248689/8.0),
-    REAL_CONST(139494.09927853322/8.0),
-    REAL_CONST(139519.86769455927/8.0),
-    REAL_CONST(139545.63730045516/8.0),
-    REAL_CONST(139571.408096111/8.0),
-    REAL_CONST(139597.18008141697/8.0),
-    REAL_CONST(139622.95325626322/8.0),
-    REAL_CONST(139648.72762054001/8.0),
-    REAL_CONST(139674.5031741375/8.0),
-    REAL_CONST(139700.27991694602/8.0),
-    REAL_CONST(139726.05784885579/8.0),
-    REAL_CONST(139751.83696975713/8.0),
-    REAL_CONST(139777.61727954043/8.0),
-    REAL_CONST(139803.39877809596/8.0),
-    REAL_CONST(139829.18146531415/8.0),
-    REAL_CONST(139854.96534108539/8.0),
-    REAL_CONST(139880.75040530015/8.0),
-    REAL_CONST(139906.53665784886/8.0),
-    REAL_CONST(139932.32409862199/8.0),
-    REAL_CONST(139958.11272751007/8.0),
-    REAL_CONST(139983.90254440365/8.0),
-    REAL_CONST(140009.69354919327/8.0),
-    REAL_CONST(140035.48574176949/8.0),
-    REAL_CONST(140061.27912202294/8.0),
-    REAL_CONST(140087.07368984428/8.0),
-    REAL_CONST(140112.86944512415/8.0),
-    REAL_CONST(140138.66638775321/8.0),
-    REAL_CONST(140164.4645176222/8.0),
-    REAL_CONST(140190.26383462184/8.0),
-    REAL_CONST(140216.06433864293/8.0),
-    REAL_CONST(140241.86602957622/8.0),
-    REAL_CONST(140267.66890731253/8.0),
-    REAL_CONST(140293.47297174268/8.0),
-    REAL_CONST(140319.27822275754/8.0),
-    REAL_CONST(140345.08466024802/8.0),
-    REAL_CONST(140370.89228410498/8.0),
-    REAL_CONST(140396.70109421943/8.0),
-    REAL_CONST(140422.51109048226/8.0),
-    REAL_CONST(140448.32227278448/8.0),
-    REAL_CONST(140474.13464101712/8.0),
-    REAL_CONST(140499.94819507122/8.0),
-    REAL_CONST(140525.76293483781/8.0),
-    REAL_CONST(140551.57886020801/8.0),
-    REAL_CONST(140577.3959710729/8.0),
-    REAL_CONST(140603.21426732364/8.0),
-    REAL_CONST(140629.03374885136/8.0),
-    REAL_CONST(140654.85441554731/8.0),
-    REAL_CONST(140680.67626730262/8.0),
-    REAL_CONST(140706.49930400858/8.0),
-    REAL_CONST(140732.32352555645/8.0),
-    REAL_CONST(140758.1489318375/8.0),
-    REAL_CONST(140783.97552274304/8.0),
-    REAL_CONST(140809.80329816442/8.0),
-    REAL_CONST(140835.63225799298/8.0),
-    REAL_CONST(140861.46240212015/8.0),
-    REAL_CONST(140887.29373043729/8.0),
-    REAL_CONST(140913.12624283586/8.0),
-    REAL_CONST(140938.95993920733/8.0),
-    REAL_CONST(140964.79481944317/8.0),
-    REAL_CONST(140990.63088343487/8.0),
-    REAL_CONST(141016.46813107401/8.0),
-    REAL_CONST(141042.30656225214/8.0),
-    REAL_CONST(141068.14617686081/8.0),
-    REAL_CONST(141093.98697479168/8.0),
-    REAL_CONST(141119.82895593636/8.0),
-    REAL_CONST(141145.6721201865/8.0),
-    REAL_CONST(141171.51646743377/8.0),
-    REAL_CONST(141197.36199756994/8.0),
-    REAL_CONST(141223.20871048668/8.0),
-    REAL_CONST(141249.05660607578/8.0),
-    REAL_CONST(141274.90568422904/8.0),
-    REAL_CONST(141300.75594483822/8.0),
-    REAL_CONST(141326.6073877952/8.0),
-    REAL_CONST(141352.4600129918/8.0),
-    REAL_CONST(141378.31382031992/8.0),
-    REAL_CONST(141404.16880967148/8.0),
-    REAL_CONST(141430.02498093838/8.0),
-    REAL_CONST(141455.8823340126/8.0),
-    REAL_CONST(141481.74086878612/8.0),
-    REAL_CONST(141507.60058515094/8.0),
-    REAL_CONST(141533.46148299909/8.0),
-    REAL_CONST(141559.32356222265/8.0),
-    REAL_CONST(141585.18682271364/8.0),
-    REAL_CONST(141611.05126436421/8.0),
-    REAL_CONST(141636.9168870665/8.0),
-    REAL_CONST(141662.78369071262/8.0),
-    REAL_CONST(141688.65167519479/8.0),
-    REAL_CONST(141714.5208404052/8.0),
-    REAL_CONST(141740.39118623605/8.0),
-    REAL_CONST(141766.26271257963/8.0),
-    REAL_CONST(141792.1354193282/8.0),
-    REAL_CONST(141818.00930637406/8.0),
-    REAL_CONST(141843.88437360956/8.0),
-    REAL_CONST(141869.760620927/8.0),
-    REAL_CONST(141895.6380482188/8.0),
-    REAL_CONST(141921.51665537735/8.0),
-    REAL_CONST(141947.39644229505/8.0),
-    REAL_CONST(141973.27740886438/8.0),
-    REAL_CONST(141999.15955497778/8.0),
-    REAL_CONST(142025.04288052776/8.0),
-    REAL_CONST(142050.92738540689/8.0),
-    REAL_CONST(142076.81306950765/8.0),
-    REAL_CONST(142102.69993272264/8.0),
-    REAL_CONST(142128.58797494444/8.0),
-    REAL_CONST(142154.47719606571/8.0),
-    REAL_CONST(142180.36759597904/8.0),
-    REAL_CONST(142206.25917457714/8.0),
-    REAL_CONST(142232.15193175265/8.0),
-    REAL_CONST(142258.04586739838/8.0),
-    REAL_CONST(142283.94098140698/8.0),
-    REAL_CONST(142309.83727367126/8.0),
-    REAL_CONST(142335.73474408401/8.0),
-    REAL_CONST(142361.63339253806/8.0),
-    REAL_CONST(142387.5332189262/8.0),
-    REAL_CONST(142413.43422314132/8.0),
-    REAL_CONST(142439.33640507635/8.0),
-    REAL_CONST(142465.23976462413/8.0),
-    REAL_CONST(142491.14430167765/8.0),
-    REAL_CONST(142517.05001612983/8.0),
-    REAL_CONST(142542.95690787368/8.0),
-    REAL_CONST(142568.86497680223/8.0),
-    REAL_CONST(142594.77422280848/8.0),
-    REAL_CONST(142620.68464578551/8.0),
-    REAL_CONST(142646.5962456264/8.0),
-    REAL_CONST(142672.50902222423/8.0),
-    REAL_CONST(142698.42297547215/8.0),
-    REAL_CONST(142724.33810526333/8.0),
-    REAL_CONST(142750.25441149093/8.0),
-    REAL_CONST(142776.17189404817/8.0),
-    REAL_CONST(142802.09055282827/8.0),
-    REAL_CONST(142828.01038772447/8.0),
-    REAL_CONST(142853.93139863008/8.0),
-    REAL_CONST(142879.85358543837/8.0),
-    REAL_CONST(142905.77694804268/8.0),
-    REAL_CONST(142931.70148633636/8.0),
-    REAL_CONST(142957.62720021277/8.0),
-    REAL_CONST(142983.55408956532/8.0),
-    REAL_CONST(143009.48215428743/8.0),
-    REAL_CONST(143035.41139427255/8.0),
-    REAL_CONST(143061.34180941415/8.0),
-    REAL_CONST(143087.27339960571/8.0),
-    REAL_CONST(143113.20616474075/8.0),
-    REAL_CONST(143139.14010471283/8.0),
-    REAL_CONST(143165.07521941551/8.0),
-    REAL_CONST(143191.01150874238/8.0),
-    REAL_CONST(143216.94897258704/8.0),
-    REAL_CONST(143242.88761084314/8.0),
-    REAL_CONST(143268.82742340435/8.0),
-    REAL_CONST(143294.76841016437/8.0),
-    REAL_CONST(143320.71057101688/8.0),
-    REAL_CONST(143346.65390585564/8.0),
-    REAL_CONST(143372.59841457437/8.0),
-    REAL_CONST(143398.54409706692/8.0),
-    REAL_CONST(143424.49095322701/8.0),
-    REAL_CONST(143450.43898294857/8.0),
-    REAL_CONST(143476.38818612538/8.0),
-    REAL_CONST(143502.33856265133/8.0),
-    REAL_CONST(143528.29011242036/8.0),
-    REAL_CONST(143554.24283532638/8.0),
-    REAL_CONST(143580.19673126334/8.0),
-    REAL_CONST(143606.1518001252/8.0),
-    REAL_CONST(143632.10804180597/8.0),
-    REAL_CONST(143658.06545619969/8.0),
-    REAL_CONST(143684.02404320039/8.0),
-    REAL_CONST(143709.98380270213/8.0),
-    REAL_CONST(143735.944734599/8.0),
-    REAL_CONST(143761.90683878519/8.0),
-    REAL_CONST(143787.87011515474/8.0),
-    REAL_CONST(143813.83456360188/8.0),
-    REAL_CONST(143839.8001840208/8.0),
-    REAL_CONST(143865.76697630569/8.0),
-    REAL_CONST(143891.73494035081/8.0),
-    REAL_CONST(143917.7040760504/8.0),
-    REAL_CONST(143943.67438329876/8.0),
-    REAL_CONST(143969.6458619902/8.0),
-    REAL_CONST(143995.61851201905/8.0),
-    REAL_CONST(144021.59233327967/8.0),
-    REAL_CONST(144047.56732566646/8.0),
-    REAL_CONST(144073.54348907378/8.0),
-    REAL_CONST(144099.52082339607/8.0),
-    REAL_CONST(144125.49932852783/8.0),
-    REAL_CONST(144151.4790043635/8.0),
-    REAL_CONST(144177.45985079758/8.0),
-    REAL_CONST(144203.44186772458/8.0),
-    REAL_CONST(144229.42505503909/8.0),
-    REAL_CONST(144255.40941263564/8.0),
-    REAL_CONST(144281.39494040885/8.0),
-    REAL_CONST(144307.38163825331/8.0),
-    REAL_CONST(144333.36950606373/8.0),
-    REAL_CONST(144359.35854373468/8.0),
-    REAL_CONST(144385.34875116093/8.0),
-    REAL_CONST(144411.34012823718/8.0),
-    REAL_CONST(144437.33267485813/8.0),
-    REAL_CONST(144463.32639091855/8.0),
-    REAL_CONST(144489.32127631325/8.0),
-    REAL_CONST(144515.31733093705/8.0),
-    REAL_CONST(144541.31455468474/8.0),
-    REAL_CONST(144567.3129474512/8.0),
-    REAL_CONST(144593.3125091313/8.0),
-    REAL_CONST(144619.31323961995/8.0),
-    REAL_CONST(144645.31513881206/8.0),
-    REAL_CONST(144671.31820660262/8.0),
-    REAL_CONST(144697.32244288657/8.0),
-    REAL_CONST(144723.32784755889/8.0),
-    REAL_CONST(144749.33442051467/8.0),
-    REAL_CONST(144775.34216164888/8.0),
-    REAL_CONST(144801.35107085665/8.0),
-    REAL_CONST(144827.36114803303/8.0),
-    REAL_CONST(144853.37239307314/8.0),
-    REAL_CONST(144879.38480587213/8.0),
-    REAL_CONST(144905.39838632516/8.0),
-    REAL_CONST(144931.41313432742/8.0),
-    REAL_CONST(144957.4290497741/8.0),
-    REAL_CONST(144983.44613256046/8.0),
-    REAL_CONST(145009.46438258173/8.0),
-    REAL_CONST(145035.48379973322/8.0),
-    REAL_CONST(145061.50438391021/8.0),
-    REAL_CONST(145087.52613500805/8.0),
-    REAL_CONST(145113.54905292206/8.0),
-    REAL_CONST(145139.57313754765/8.0),
-    REAL_CONST(145165.59838878017/8.0),
-    REAL_CONST(145191.62480651509/8.0),
-    REAL_CONST(145217.65239064783/8.0),
-    REAL_CONST(145243.68114107384/8.0),
-    REAL_CONST(145269.71105768863/8.0),
-    REAL_CONST(145295.74214038774/8.0),
-    REAL_CONST(145321.77438906668/8.0),
-    REAL_CONST(145347.80780362099/8.0),
-    REAL_CONST(145373.84238394629/8.0),
-    REAL_CONST(145399.87812993818/8.0),
-    REAL_CONST(145425.91504149229/8.0),
-    REAL_CONST(145451.95311850426/8.0),
-    REAL_CONST(145477.9923608698/8.0),
-    REAL_CONST(145504.03276848458/8.0),
-    REAL_CONST(145530.07434124436/8.0),
-    REAL_CONST(145556.11707904484/8.0),
-    REAL_CONST(145582.16098178181/8.0),
-    REAL_CONST(145608.20604935108/8.0),
-    REAL_CONST(145634.25228164849/8.0),
-    REAL_CONST(145660.29967856981/8.0),
-    REAL_CONST(145686.34824001096/8.0),
-    REAL_CONST(145712.39796586783/8.0),
-    REAL_CONST(145738.4488560363/8.0),
-    REAL_CONST(145764.50091041232/8.0),
-    REAL_CONST(145790.55412889185/8.0),
-    REAL_CONST(145816.60851137087/8.0),
-    REAL_CONST(145842.66405774537/8.0),
-    REAL_CONST(145868.72076791141/8.0),
-    REAL_CONST(145894.77864176501/8.0),
-    REAL_CONST(145920.83767920226/8.0),
-    REAL_CONST(145946.89788011924/8.0),
-    REAL_CONST(145972.95924441208/8.0),
-    REAL_CONST(145999.02177197693/8.0),
-    REAL_CONST(146025.08546270995/8.0),
-    REAL_CONST(146051.15031650732/8.0),
-    REAL_CONST(146077.21633326527/8.0),
-    REAL_CONST(146103.28351288004/8.0),
-    REAL_CONST(146129.35185524789/8.0),
-    REAL_CONST(146155.42136026506/8.0),
-    REAL_CONST(146181.49202782792/8.0),
-    REAL_CONST(146207.56385783272/8.0),
-    REAL_CONST(146233.63685017588/8.0),
-    REAL_CONST(146259.71100475377/8.0),
-    REAL_CONST(146285.78632146274/8.0),
-    REAL_CONST(146311.86280019928/8.0),
-    REAL_CONST(146337.94044085976/8.0),
-    REAL_CONST(146364.01924334071/8.0),
-    REAL_CONST(146390.09920753856/8.0),
-    REAL_CONST(146416.18033334985/8.0),
-    REAL_CONST(146442.26262067116/8.0),
-    REAL_CONST(146468.34606939898/8.0),
-    REAL_CONST(146494.43067942993/8.0),
-    REAL_CONST(146520.51645066062/8.0),
-    REAL_CONST(146546.60338298764/8.0),
-    REAL_CONST(146572.69147630769/8.0),
-    REAL_CONST(146598.78073051744/8.0),
-    REAL_CONST(146624.87114551352/8.0),
-    REAL_CONST(146650.96272119274/8.0),
-    REAL_CONST(146677.05545745179/8.0),
-    REAL_CONST(146703.14935418745/8.0),
-    REAL_CONST(146729.2444112965/8.0),
-    REAL_CONST(146755.34062867577/8.0),
-    REAL_CONST(146781.43800622207/8.0),
-    REAL_CONST(146807.53654383228/8.0),
-    REAL_CONST(146833.63624140329/8.0),
-    REAL_CONST(146859.73709883197/8.0),
-    REAL_CONST(146885.83911601527/8.0),
-    REAL_CONST(146911.94229285014/8.0),
-    REAL_CONST(146938.04662923355/8.0),
-    REAL_CONST(146964.15212506248/8.0),
-    REAL_CONST(146990.25878023397/8.0),
-    REAL_CONST(147016.36659464505/8.0),
-    REAL_CONST(147042.47556819281/8.0),
-    REAL_CONST(147068.58570077427/8.0),
-    REAL_CONST(147094.6969922866/8.0),
-    REAL_CONST(147120.80944262692/8.0),
-    REAL_CONST(147146.92305169237/8.0),
-    REAL_CONST(147173.03781938017/8.0),
-    REAL_CONST(147199.15374558745/8.0),
-    REAL_CONST(147225.27083021149/8.0),
-    REAL_CONST(147251.38907314953/8.0),
-    REAL_CONST(147277.50847429881/8.0),
-    REAL_CONST(147303.62903355664/8.0),
-    REAL_CONST(147329.75075082036/8.0),
-    REAL_CONST(147355.87362598727/8.0),
-    REAL_CONST(147381.99765895473/8.0),
-    REAL_CONST(147408.12284962015/8.0),
-    REAL_CONST(147434.24919788091/8.0),
-    REAL_CONST(147460.37670363448/8.0),
-    REAL_CONST(147486.50536677826/8.0),
-    REAL_CONST(147512.63518720976/8.0),
-    REAL_CONST(147538.76616482646/8.0),
-    REAL_CONST(147564.89829952587/8.0),
-    REAL_CONST(147591.03159120557/8.0),
-    REAL_CONST(147617.16603976308/8.0),
-    REAL_CONST(147643.30164509601/8.0),
-    REAL_CONST(147669.43840710199/8.0),
-    REAL_CONST(147695.57632567859/8.0),
-    REAL_CONST(147721.71540072354/8.0),
-    REAL_CONST(147747.85563213445/8.0),
-    REAL_CONST(147773.99701980909/8.0),
-    REAL_CONST(147800.13956364512/8.0),
-    REAL_CONST(147826.28326354033/8.0),
-    REAL_CONST(147852.42811939248/8.0),
-    REAL_CONST(147878.57413109933/8.0),
-    REAL_CONST(147904.72129855872/8.0),
-    REAL_CONST(147930.86962166851/8.0),
-    REAL_CONST(147957.01910032652/8.0),
-    REAL_CONST(147983.16973443062/8.0),
-    REAL_CONST(148009.32152387875/8.0),
-    REAL_CONST(148035.47446856883/8.0),
-    REAL_CONST(148061.62856839882/8.0),
-    REAL_CONST(148087.78382326665/8.0),
-    REAL_CONST(148113.94023307035/8.0),
-    REAL_CONST(148140.09779770792/8.0),
-    REAL_CONST(148166.25651707739/8.0),
-    REAL_CONST(148192.41639107687/8.0),
-    REAL_CONST(148218.57741960438/8.0),
-    REAL_CONST(148244.73960255808/8.0),
-    REAL_CONST(148270.90293983606/8.0),
-    REAL_CONST(148297.0674313365/8.0),
-    REAL_CONST(148323.23307695755/8.0),
-    REAL_CONST(148349.39987659742/8.0),
-    REAL_CONST(148375.56783015432/8.0),
-    REAL_CONST(148401.73693752653/8.0),
-    REAL_CONST(148427.90719861226/8.0),
-    REAL_CONST(148454.07861330983/8.0),
-    REAL_CONST(148480.25118151752/8.0),
-    REAL_CONST(148506.42490313368/8.0),
-    REAL_CONST(148532.59977805667/8.0),
-    REAL_CONST(148558.77580618486/8.0),
-    REAL_CONST(148584.95298741665/8.0),
-    REAL_CONST(148611.13132165043/8.0),
-    REAL_CONST(148637.31080878471/8.0),
-    REAL_CONST(148663.49144871789/8.0),
-    REAL_CONST(148689.6732413485/8.0),
-    REAL_CONST(148715.85618657502/8.0),
-    REAL_CONST(148742.040284296/8.0),
-    REAL_CONST(148768.22553440998/8.0),
-    REAL_CONST(148794.41193681557/8.0),
-    REAL_CONST(148820.59949141133/8.0),
-    REAL_CONST(148846.78819809589/8.0),
-    REAL_CONST(148872.97805676793/8.0),
-    REAL_CONST(148899.16906732606/8.0),
-    REAL_CONST(148925.36122966901/8.0),
-    REAL_CONST(148951.55454369547/8.0),
-    REAL_CONST(148977.74900930419/8.0),
-    REAL_CONST(149003.9446263939/8.0),
-    REAL_CONST(149030.1413948634/8.0),
-    REAL_CONST(149056.33931461151/8.0),
-    REAL_CONST(149082.53838553699/8.0),
-    REAL_CONST(149108.73860753875/8.0),
-    REAL_CONST(149134.9399805156/8.0),
-    REAL_CONST(149161.14250436646/8.0),
-    REAL_CONST(149187.34617899026/8.0),
-    REAL_CONST(149213.5510042859/8.0),
-    REAL_CONST(149239.75698015234/8.0),
-    REAL_CONST(149265.96410648854/8.0),
-    REAL_CONST(149292.17238319354/8.0),
-    REAL_CONST(149318.38181016635/8.0),
-    REAL_CONST(149344.59238730598/8.0),
-    REAL_CONST(149370.80411451156/8.0),
-    REAL_CONST(149397.01699168212/8.0),
-    REAL_CONST(149423.23101871679/8.0),
-    REAL_CONST(149449.44619551473/8.0),
-    REAL_CONST(149475.66252197503/8.0),
-    REAL_CONST(149501.87999799693/8.0),
-    REAL_CONST(149528.0986234796/8.0),
-    REAL_CONST(149554.31839832227/8.0),
-    REAL_CONST(149580.53932242419/8.0),
-    REAL_CONST(149606.76139568459/8.0),
-    REAL_CONST(149632.98461800278/8.0),
-    REAL_CONST(149659.20898927809/8.0),
-    REAL_CONST(149685.43450940982/8.0),
-    REAL_CONST(149711.66117829733/8.0),
-    REAL_CONST(149737.88899584001/8.0),
-    REAL_CONST(149764.11796193724/8.0),
-    REAL_CONST(149790.34807648844/8.0),
-    REAL_CONST(149816.57933939309/8.0),
-    REAL_CONST(149842.81175055061/8.0),
-    REAL_CONST(149869.04530986046/8.0),
-    REAL_CONST(149895.28001722222/8.0),
-    REAL_CONST(149921.51587253538/8.0),
-    REAL_CONST(149947.75287569952/8.0),
-    REAL_CONST(149973.99102661415/8.0),
-    REAL_CONST(150000.23032517891/8.0),
-    REAL_CONST(150026.47077129342/8.0),
-    REAL_CONST(150052.71236485732/8.0),
-    REAL_CONST(150078.95510577026/8.0),
-    REAL_CONST(150105.1989939319/8.0),
-    REAL_CONST(150131.444029242/8.0),
-    REAL_CONST(150157.69021160025/8.0),
-    REAL_CONST(150183.93754090639/8.0),
-    REAL_CONST(150210.18601706024/8.0),
-    REAL_CONST(150236.43563996154/8.0),
-    REAL_CONST(150262.68640951012/8.0),
-    REAL_CONST(150288.93832560582/8.0),
-    REAL_CONST(150315.19138814852/8.0),
-    REAL_CONST(150341.44559703805/8.0),
-    REAL_CONST(150367.70095217437/8.0),
-    REAL_CONST(150393.95745345735/8.0),
-    REAL_CONST(150420.21510078697/8.0),
-    REAL_CONST(150446.47389406321/8.0),
-    REAL_CONST(150472.73383318601/8.0),
-    REAL_CONST(150498.99491805542/8.0),
-    REAL_CONST(150525.25714857146/8.0),
-    REAL_CONST(150551.52052463419/8.0),
-    REAL_CONST(150577.78504614369/8.0),
-    REAL_CONST(150604.05071300003/8.0),
-    REAL_CONST(150630.31752510337/8.0),
-    REAL_CONST(150656.58548235384/8.0),
-    REAL_CONST(150682.85458465159/8.0),
-    REAL_CONST(150709.1248318968/8.0),
-    REAL_CONST(150735.39622398972/8.0),
-    REAL_CONST(150761.66876083051/8.0),
-    REAL_CONST(150787.9424423195/8.0),
-    REAL_CONST(150814.21726835691/8.0),
-    REAL_CONST(150840.49323884305/8.0),
-    REAL_CONST(150866.77035367821/8.0),
-    REAL_CONST(150893.04861276277/8.0),
-    REAL_CONST(150919.32801599705/8.0),
-    REAL_CONST(150945.60856328148/8.0),
-    REAL_CONST(150971.89025451642/8.0),
-    REAL_CONST(150998.17308960229/8.0),
-    REAL_CONST(151024.45706843957/8.0),
-    REAL_CONST(151050.74219092872/8.0),
-    REAL_CONST(151077.02845697021/8.0),
-    REAL_CONST(151103.31586646455/8.0),
-    REAL_CONST(151129.60441931229/8.0),
-    REAL_CONST(151155.894115414/8.0),
-    REAL_CONST(151182.1849546702/8.0),
-    REAL_CONST(151208.47693698155/8.0),
-    REAL_CONST(151234.77006224863/8.0),
-    REAL_CONST(151261.06433037209/8.0),
-    REAL_CONST(151287.35974125259/8.0),
-    REAL_CONST(151313.65629479082/8.0),
-    REAL_CONST(151339.95399088747/8.0),
-    REAL_CONST(151366.25282944329/8.0),
-    REAL_CONST(151392.55281035902/8.0),
-    REAL_CONST(151418.85393353543/8.0),
-    REAL_CONST(151445.1561988733/8.0),
-    REAL_CONST(151471.45960627345/8.0),
-    REAL_CONST(151497.76415563675/8.0),
-    REAL_CONST(151524.06984686397/8.0),
-    REAL_CONST(151550.37667985607/8.0),
-    REAL_CONST(151576.68465451393/8.0),
-    REAL_CONST(151602.99377073845/8.0),
-    REAL_CONST(151629.30402843058/8.0),
-    REAL_CONST(151655.61542749128/8.0),
-    REAL_CONST(151681.92796782157/8.0),
-    REAL_CONST(151708.24164932242/8.0),
-    REAL_CONST(151734.55647189484/8.0),
-    REAL_CONST(151760.87243543993/8.0),
-    REAL_CONST(151787.18953985872/8.0),
-    REAL_CONST(151813.50778505235/8.0),
-    REAL_CONST(151839.82717092187/8.0),
-    REAL_CONST(151866.14769736846/8.0),
-    REAL_CONST(151892.46936429327/8.0),
-    REAL_CONST(151918.79217159748/8.0),
-    REAL_CONST(151945.11611918229/8.0),
-    REAL_CONST(151971.44120694889/8.0),
-    REAL_CONST(151997.76743479856/8.0),
-    REAL_CONST(152024.09480263255/8.0),
-    REAL_CONST(152050.42331035214/8.0),
-    REAL_CONST(152076.75295785864/8.0),
-    REAL_CONST(152103.08374505339/8.0),
-    REAL_CONST(152129.41567183775/8.0),
-    REAL_CONST(152155.74873811303/8.0),
-    REAL_CONST(152182.08294378067/8.0),
-    REAL_CONST(152208.41828874208/8.0),
-    REAL_CONST(152234.75477289871/8.0),
-    REAL_CONST(152261.09239615197/8.0),
-    REAL_CONST(152287.43115840337/8.0),
-    REAL_CONST(152313.77105955439/8.0),
-    REAL_CONST(152340.11209950657/8.0),
-    REAL_CONST(152366.45427816146/8.0),
-    REAL_CONST(152392.79759542056/8.0),
-    REAL_CONST(152419.14205118554/8.0),
-    REAL_CONST(152445.48764535793/8.0),
-    REAL_CONST(152471.8343778394/8.0),
-    REAL_CONST(152498.18224853161/8.0),
-    REAL_CONST(152524.53125733617/8.0),
-    REAL_CONST(152550.88140415482/8.0),
-    REAL_CONST(152577.23268888926/8.0),
-    REAL_CONST(152603.58511144121/8.0),
-    REAL_CONST(152629.93867171241/8.0),
-    REAL_CONST(152656.29336960468/8.0),
-    REAL_CONST(152682.64920501978/8.0),
-    REAL_CONST(152709.00617785956/8.0),
-    REAL_CONST(152735.36428802583/8.0),
-    REAL_CONST(152761.72353542043/8.0),
-    REAL_CONST(152788.08391994529/8.0),
-    REAL_CONST(152814.44544150229/8.0),
-    REAL_CONST(152840.80809999333/8.0),
-    REAL_CONST(152867.17189532038/8.0),
-    REAL_CONST(152893.53682738543/8.0),
-    REAL_CONST(152919.90289609041/8.0),
-    REAL_CONST(152946.27010133737/8.0),
-    REAL_CONST(152972.63844302832/8.0),
-    REAL_CONST(152999.00792106529/8.0),
-    REAL_CONST(153025.37853535041/8.0),
-    REAL_CONST(153051.7502857857/8.0),
-    REAL_CONST(153078.12317227334/8.0),
-    REAL_CONST(153104.4971947154/8.0),
-    REAL_CONST(153130.8723530141/8.0),
-    REAL_CONST(153157.24864707157/8.0),
-    REAL_CONST(153183.62607679001/8.0),
-    REAL_CONST(153210.00464207167/8.0),
-    REAL_CONST(153236.38434281875/8.0),
-    REAL_CONST(153262.76517893354/8.0),
-    REAL_CONST(153289.14715031831/8.0),
-    REAL_CONST(153315.53025687535/8.0),
-    REAL_CONST(153341.91449850702/8.0),
-    REAL_CONST(153368.2998751156/8.0),
-    REAL_CONST(153394.68638660354/8.0),
-    REAL_CONST(153421.07403287315/8.0),
-    REAL_CONST(153447.46281382689/8.0),
-    REAL_CONST(153473.85272936718/8.0),
-    REAL_CONST(153500.24377939643/8.0),
-    REAL_CONST(153526.63596381716/8.0),
-    REAL_CONST(153553.02928253182/8.0),
-    REAL_CONST(153579.42373544298/8.0),
-    REAL_CONST(153605.81932245308/8.0),
-    REAL_CONST(153632.21604346478/8.0),
-    REAL_CONST(153658.61389838057/8.0),
-    REAL_CONST(153685.0128871031/8.0),
-    REAL_CONST(153711.41300953497/8.0),
-    REAL_CONST(153737.81426557881/8.0),
-    REAL_CONST(153764.21665513728/8.0),
-    REAL_CONST(153790.62017811305/8.0),
-    REAL_CONST(153817.02483440886/8.0),
-    REAL_CONST(153843.43062392739/8.0),
-    REAL_CONST(153869.83754657139/8.0),
-    REAL_CONST(153896.24560224367/8.0),
-    REAL_CONST(153922.65479084692/8.0),
-    REAL_CONST(153949.06511228404/8.0),
-    REAL_CONST(153975.4765664578/8.0),
-    REAL_CONST(154001.88915327107/8.0),
-    REAL_CONST(154028.30287262669/8.0),
-    REAL_CONST(154054.71772442761/8.0),
-    REAL_CONST(154081.13370857667/8.0),
-    REAL_CONST(154107.55082497682/8.0),
-    REAL_CONST(154133.96907353101/8.0),
-    REAL_CONST(154160.38845414223/8.0),
-    REAL_CONST(154186.80896671346/8.0),
-    REAL_CONST(154213.23061114774/8.0),
-    REAL_CONST(154239.65338734805/8.0),
-    REAL_CONST(154266.07729521746/8.0),
-    REAL_CONST(154292.50233465908/8.0),
-    REAL_CONST(154318.92850557598/8.0),
-    REAL_CONST(154345.35580787127/8.0),
-    REAL_CONST(154371.7842414481/8.0),
-    REAL_CONST(154398.21380620965/8.0),
-    REAL_CONST(154424.64450205903/8.0),
-    REAL_CONST(154451.07632889951/8.0),
-    REAL_CONST(154477.50928663427/8.0),
-    REAL_CONST(154503.94337516659/8.0),
-    REAL_CONST(154530.37859439969/8.0),
-    REAL_CONST(154556.81494423689/8.0),
-    REAL_CONST(154583.25242458144/8.0),
-    REAL_CONST(154609.69103533673/8.0),
-    REAL_CONST(154636.13077640603/8.0),
-    REAL_CONST(154662.57164769279/8.0),
-    REAL_CONST(154689.01364910032/8.0),
-    REAL_CONST(154715.45678053208/8.0),
-    REAL_CONST(154741.90104189145/8.0),
-    REAL_CONST(154768.34643308193/8.0),
-    REAL_CONST(154794.79295400696/8.0),
-    REAL_CONST(154821.24060457002/8.0),
-    REAL_CONST(154847.68938467462/8.0),
-    REAL_CONST(154874.13929422433/8.0),
-    REAL_CONST(154900.59033312264/8.0),
-    REAL_CONST(154927.04250127316/8.0),
-    REAL_CONST(154953.49579857948/8.0),
-    REAL_CONST(154979.95022494521/8.0),
-    REAL_CONST(155006.40578027396/8.0),
-    REAL_CONST(155032.86246446942/8.0),
-    REAL_CONST(155059.32027743524/8.0),
-    REAL_CONST(155085.77921907514/8.0),
-    REAL_CONST(155112.2392892928/8.0),
-    REAL_CONST(155138.70048799197/8.0),
-    REAL_CONST(155165.16281507642/8.0),
-    REAL_CONST(155191.62627044989/8.0),
-    REAL_CONST(155218.09085401625/8.0),
-    REAL_CONST(155244.55656567923/8.0),
-    REAL_CONST(155271.02340534274/8.0),
-    REAL_CONST(155297.49137291059/8.0),
-    REAL_CONST(155323.96046828668/8.0),
-    REAL_CONST(155350.4306913749/8.0),
-    REAL_CONST(155376.90204207919/8.0),
-    REAL_CONST(155403.37452030348/8.0),
-    REAL_CONST(155429.84812595171/8.0),
-    REAL_CONST(155456.32285892789/8.0),
-    REAL_CONST(155482.79871913602/8.0),
-    REAL_CONST(155509.27570648011/8.0),
-    REAL_CONST(155535.75382086422/8.0),
-    REAL_CONST(155562.23306219239/8.0),
-    REAL_CONST(155588.71343036872/8.0),
-    REAL_CONST(155615.19492529731/8.0),
-    REAL_CONST(155641.67754688227/8.0),
-    REAL_CONST(155668.16129502779/8.0),
-    REAL_CONST(155694.64616963797/8.0),
-    REAL_CONST(155721.13217061706/8.0),
-    REAL_CONST(155747.61929786921/8.0),
-    REAL_CONST(155774.10755129869/8.0),
-    REAL_CONST(155800.59693080973/8.0),
-    REAL_CONST(155827.08743630661/8.0),
-    REAL_CONST(155853.57906769359/8.0),
-    REAL_CONST(155880.07182487496/8.0),
-    REAL_CONST(155906.56570775513/8.0),
-    REAL_CONST(155933.06071623837/8.0),
-    REAL_CONST(155959.55685022907/8.0),
-    REAL_CONST(155986.05410963166/8.0),
-    REAL_CONST(156012.5524943505/8.0),
-    REAL_CONST(156039.05200429002/8.0),
-    REAL_CONST(156065.55263935472/8.0),
-    REAL_CONST(156092.054399449/8.0),
-    REAL_CONST(156118.5572844774/8.0),
-    REAL_CONST(156145.06129434443/8.0),
-    REAL_CONST(156171.5664289546/8.0),
-    REAL_CONST(156198.07268821247/8.0),
-    REAL_CONST(156224.5800720226/8.0),
-    REAL_CONST(156251.08858028959/8.0),
-    REAL_CONST(156277.59821291809/8.0),
-    REAL_CONST(156304.10896981266/8.0),
-    REAL_CONST(156330.62085087801/8.0),
-    REAL_CONST(156357.1338560188/8.0),
-    REAL_CONST(156383.64798513969/8.0),
-    REAL_CONST(156410.16323814544/8.0),
-    REAL_CONST(156436.67961494075/8.0),
-    REAL_CONST(156463.1971154304/8.0),
-    REAL_CONST(156489.71573951913/8.0),
-    REAL_CONST(156516.23548711176/8.0),
-    REAL_CONST(156542.75635811311/8.0),
-    REAL_CONST(156569.27835242799/8.0),
-    REAL_CONST(156595.80146996127/8.0),
-    REAL_CONST(156622.32571061782/8.0),
-    REAL_CONST(156648.85107430254/8.0),
-    REAL_CONST(156675.37756092031/8.0),
-    REAL_CONST(156701.90517037612/8.0),
-    REAL_CONST(156728.43390257491/8.0),
-    REAL_CONST(156754.96375742162/8.0),
-    REAL_CONST(156781.49473482129/8.0),
-    REAL_CONST(156808.02683467892/8.0),
-    REAL_CONST(156834.5600568995/8.0),
-    REAL_CONST(156861.09440138817/8.0),
-    REAL_CONST(156887.62986804993/8.0),
-    REAL_CONST(156914.16645678994/8.0),
-    REAL_CONST(156940.70416751326/8.0),
-    REAL_CONST(156967.24300012505/8.0),
-    REAL_CONST(156993.78295453047/8.0),
-    REAL_CONST(157020.32403063469/8.0),
-    REAL_CONST(157046.8662283429/8.0),
-    REAL_CONST(157073.40954756032/8.0),
-    REAL_CONST(157099.9539881922/8.0),
-    REAL_CONST(157126.49955014378/8.0),
-    REAL_CONST(157153.04623332032/8.0),
-    REAL_CONST(157179.59403762716/8.0),
-    REAL_CONST(157206.14296296958/8.0),
-    REAL_CONST(157232.69300925292/8.0),
-    REAL_CONST(157259.24417638258/8.0),
-    REAL_CONST(157285.79646426387/8.0),
-    REAL_CONST(157312.34987280221/8.0),
-    REAL_CONST(157338.90440190304/8.0),
-    REAL_CONST(157365.46005147175/8.0),
-    REAL_CONST(157392.01682141385/8.0),
-    REAL_CONST(157418.57471163478/8.0),
-    REAL_CONST(157445.13372204005/8.0),
-    REAL_CONST(157471.69385253513/8.0),
-    REAL_CONST(157498.25510302564/8.0),
-    REAL_CONST(157524.81747341706/8.0),
-    REAL_CONST(157551.38096361503/8.0),
-    REAL_CONST(157577.9455735251/8.0),
-    REAL_CONST(157604.51130305286/8.0),
-    REAL_CONST(157631.07815210402/8.0),
-    REAL_CONST(157657.64612058419/8.0),
-    REAL_CONST(157684.21520839902/8.0),
-    REAL_CONST(157710.78541545427/8.0),
-    REAL_CONST(157737.35674165559/8.0),
-    REAL_CONST(157763.92918690876/8.0),
-    REAL_CONST(157790.50275111952/8.0),
-    REAL_CONST(157817.07743419363/8.0),
-    REAL_CONST(157843.65323603692/8.0),
-    REAL_CONST(157870.23015655516/8.0),
-    REAL_CONST(157896.80819565422/8.0),
-    REAL_CONST(157923.3873532399/8.0),
-    REAL_CONST(157949.96762921812/8.0),
-    REAL_CONST(157976.54902349479/8.0),
-    REAL_CONST(158003.13153597576/8.0),
-    REAL_CONST(158029.71516656701/8.0),
-    REAL_CONST(158056.29991517449/8.0),
-    REAL_CONST(158082.88578170416/8.0),
-    REAL_CONST(158109.47276606198/8.0),
-    REAL_CONST(158136.06086815402/8.0),
-    REAL_CONST(158162.65008788629/8.0),
-    REAL_CONST(158189.24042516484/8.0),
-    REAL_CONST(158215.83187989573/8.0),
-    REAL_CONST(158242.42445198505/8.0),
-    REAL_CONST(158269.01814133892/8.0),
-    REAL_CONST(158295.61294786347/8.0),
-    REAL_CONST(158322.20887146486/8.0),
-    REAL_CONST(158348.80591204923/8.0),
-    REAL_CONST(158375.4040695228/8.0),
-    REAL_CONST(158402.00334379176/8.0),
-    REAL_CONST(158428.60373476235/8.0),
-    REAL_CONST(158455.2052423408/8.0),
-    REAL_CONST(158481.80786643337/8.0),
-    REAL_CONST(158508.41160694641/8.0),
-    REAL_CONST(158535.01646378616/8.0),
-    REAL_CONST(158561.62243685898/8.0),
-    REAL_CONST(158588.2295260712/8.0),
-    REAL_CONST(158614.8377313292/8.0),
-    REAL_CONST(158641.44705253936/8.0),
-    REAL_CONST(158668.05748960807/8.0),
-    REAL_CONST(158694.66904244179/8.0),
-    REAL_CONST(158721.28171094693/8.0),
-    REAL_CONST(158747.89549502998/8.0),
-    REAL_CONST(158774.5103945974/8.0),
-    REAL_CONST(158801.12640955573/8.0),
-    REAL_CONST(158827.74353981143/8.0),
-    REAL_CONST(158854.36178527112/8.0),
-    REAL_CONST(158880.9811458413/8.0),
-    REAL_CONST(158907.60162142856/8.0),
-    REAL_CONST(158934.22321193956/8.0),
-    REAL_CONST(158960.84591728085/8.0),
-    REAL_CONST(158987.46973735912/8.0),
-    REAL_CONST(159014.09467208097/8.0),
-    REAL_CONST(159040.72072135314/8.0),
-    REAL_CONST(159067.3478850823/8.0),
-    REAL_CONST(159093.97616317519/8.0),
-    REAL_CONST(159120.60555553852/8.0),
-    REAL_CONST(159147.23606207906/8.0),
-    REAL_CONST(159173.8676827036/8.0),
-    REAL_CONST(159200.50041731889/8.0),
-    REAL_CONST(159227.13426583182/8.0),
-    REAL_CONST(159253.76922814918/8.0),
-    REAL_CONST(159280.40530417781/8.0),
-    REAL_CONST(159307.04249382461/8.0),
-    REAL_CONST(159333.68079699649/8.0),
-    REAL_CONST(159360.32021360032/8.0),
-    REAL_CONST(159386.96074354305/8.0),
-    REAL_CONST(159413.60238673165/8.0),
-    REAL_CONST(159440.24514307309/8.0),
-    REAL_CONST(159466.88901247433/8.0),
-    REAL_CONST(159493.53399484244/8.0),
-    REAL_CONST(159520.18009008438/8.0),
-    REAL_CONST(159546.82729810724/8.0),
-    REAL_CONST(159573.47561881805/8.0),
-    REAL_CONST(159600.12505212394/8.0),
-    REAL_CONST(159626.77559793202/8.0),
-    REAL_CONST(159653.42725614941/8.0),
-    REAL_CONST(159680.08002668325/8.0),
-    REAL_CONST(159706.73390944069/8.0),
-    REAL_CONST(159733.38890432892/8.0),
-    REAL_CONST(159760.04501125516/8.0),
-    REAL_CONST(159786.70223012666/8.0),
-    REAL_CONST(159813.36056085059/8.0),
-    REAL_CONST(159840.02000333427/8.0),
-    REAL_CONST(159866.68055748497/8.0),
-    REAL_CONST(159893.34222320997/8.0),
-    REAL_CONST(159920.00500041663/8.0),
-    REAL_CONST(159946.66888901225/8.0),
-    REAL_CONST(159973.33388890422/8.0),
-    REAL_CONST(159999.99999999988/8.0),
-    REAL_CONST(160026.66722220668/8.0),
-    REAL_CONST(160053.33555543202/8.0),
-    REAL_CONST(160080.0049995833/8.0),
-    REAL_CONST(160106.67555456801/8.0),
-    REAL_CONST(160133.3472202936/8.0),
-    REAL_CONST(160160.0199966676/8.0),
-    REAL_CONST(160186.6938835975/8.0),
-    REAL_CONST(160213.36888099083/8.0),
-    REAL_CONST(160240.04498875517/8.0),
-    REAL_CONST(160266.72220679806/8.0),
-    REAL_CONST(160293.40053502709/8.0),
-    REAL_CONST(160320.07997334987/8.0),
-    REAL_CONST(160346.76052167406/8.0),
-    REAL_CONST(160373.44217990729/8.0),
-    REAL_CONST(160400.1249479572/8.0),
-    REAL_CONST(160426.80882573154/8.0),
-    REAL_CONST(160453.49381313793/8.0),
-    REAL_CONST(160480.17991008417/8.0),
-    REAL_CONST(160506.86711647795/8.0),
-    REAL_CONST(160533.55543222709/8.0),
-    REAL_CONST(160560.24485723933/8.0),
-    REAL_CONST(160586.93539142248/8.0),
-    REAL_CONST(160613.62703468435/8.0),
-    REAL_CONST(160640.31978693281/8.0),
-    REAL_CONST(160667.01364807569/8.0),
-    REAL_CONST(160693.70861802087/8.0),
-    REAL_CONST(160720.40469667627/8.0),
-    REAL_CONST(160747.1018839498/8.0),
-    REAL_CONST(160773.80017974938/8.0),
-    REAL_CONST(160800.49958398298/8.0),
-    REAL_CONST(160827.20009655855/8.0),
-    REAL_CONST(160853.90171738411/8.0),
-    REAL_CONST(160880.60444636765/8.0),
-    REAL_CONST(160907.30828341722/8.0),
-    REAL_CONST(160934.01322844089/8.0),
-    REAL_CONST(160960.71928134665/8.0),
-    REAL_CONST(160987.42644204266/8.0),
-    REAL_CONST(161014.13471043704/8.0),
-    REAL_CONST(161040.84408643784/8.0),
-    REAL_CONST(161067.55456995327/8.0),
-    REAL_CONST(161094.26616089148/8.0),
-    REAL_CONST(161120.97885916062/8.0),
-    REAL_CONST(161147.69266466892/8.0),
-    REAL_CONST(161174.40757732463/8.0),
-    REAL_CONST(161201.12359703594/8.0),
-    REAL_CONST(161227.84072371112/8.0),
-    REAL_CONST(161254.55895725847/8.0),
-    REAL_CONST(161281.27829758628/8.0),
-    REAL_CONST(161307.99874460287/8.0),
-    REAL_CONST(161334.72029821656/8.0),
-    REAL_CONST(161361.44295833571/8.0),
-    REAL_CONST(161388.1667248687/8.0),
-    REAL_CONST(161414.89159772391/8.0),
-    REAL_CONST(161441.61757680977/8.0),
-    REAL_CONST(161468.34466203468/8.0),
-    REAL_CONST(161495.07285330712/8.0),
-    REAL_CONST(161521.80215053557/8.0),
-    REAL_CONST(161548.53255362847/8.0),
-    REAL_CONST(161575.26406249436/8.0),
-    REAL_CONST(161601.99667704175/8.0),
-    REAL_CONST(161628.7303971792/8.0),
-    REAL_CONST(161655.46522281526/8.0),
-    REAL_CONST(161682.20115385848/8.0),
-    REAL_CONST(161708.93819021754/8.0),
-    REAL_CONST(161735.67633180099/8.0),
-    REAL_CONST(161762.41557851751/8.0),
-    REAL_CONST(161789.15593027571/8.0),
-    REAL_CONST(161815.89738698432/8.0),
-    REAL_CONST(161842.63994855201/8.0),
-    REAL_CONST(161869.38361488748/8.0),
-    REAL_CONST(161896.1283858995/8.0),
-    REAL_CONST(161922.87426149679/8.0),
-    REAL_CONST(161949.62124158812/8.0),
-    REAL_CONST(161976.36932608229/8.0),
-    REAL_CONST(162003.1185148881/8.0),
-    REAL_CONST(162029.8688079144/8.0),
-    REAL_CONST(162056.62020507001/8.0),
-    REAL_CONST(162083.37270626382/8.0),
-    REAL_CONST(162110.12631140469/8.0),
-    REAL_CONST(162136.88102040152/8.0),
-    REAL_CONST(162163.63683316324/8.0),
-    REAL_CONST(162190.39374959879/8.0),
-    REAL_CONST(162217.15176961714/8.0),
-    REAL_CONST(162243.91089312723/8.0),
-    REAL_CONST(162270.67112003808/8.0),
-    REAL_CONST(162297.43245025873/8.0),
-    REAL_CONST(162324.19488369819/8.0),
-    REAL_CONST(162350.9584202655/8.0),
-    REAL_CONST(162377.72305986975/8.0),
-    REAL_CONST(162404.48880242003/8.0),
-    REAL_CONST(162431.25564782543/8.0),
-    REAL_CONST(162458.02359599507/8.0),
-    REAL_CONST(162484.79264683815/8.0),
-    REAL_CONST(162511.56280026378/8.0),
-    REAL_CONST(162538.33405618116/8.0),
-    REAL_CONST(162565.10641449949/8.0),
-    REAL_CONST(162591.87987512801/8.0),
-    REAL_CONST(162618.65443797593/8.0),
-    REAL_CONST(162645.43010295252/8.0),
-    REAL_CONST(162672.20686996708/8.0),
-    REAL_CONST(162698.98473892888/8.0),
-    REAL_CONST(162725.76370974723/8.0),
-    REAL_CONST(162752.54378233149/8.0),
-    REAL_CONST(162779.32495659095/8.0),
-    REAL_CONST(162806.10723243505/8.0),
-    REAL_CONST(162832.89060977317/8.0),
-    REAL_CONST(162859.67508851466/8.0),
-    REAL_CONST(162886.46066856899/8.0),
-    REAL_CONST(162913.24734984562/8.0),
-    REAL_CONST(162940.03513225398/8.0),
-    REAL_CONST(162966.82401570358/8.0),
-    REAL_CONST(162993.6140001039/8.0),
-    REAL_CONST(163020.40508536444/8.0),
-    REAL_CONST(163047.19727139481/8.0),
-    REAL_CONST(163073.99055810447/8.0),
-    REAL_CONST(163100.78494540305/8.0),
-    REAL_CONST(163127.58043320014/8.0),
-    REAL_CONST(163154.37702140535/8.0),
-    REAL_CONST(163181.17470992831/8.0),
-    REAL_CONST(163207.97349867865/8.0),
-    REAL_CONST(163234.77338756606/8.0),
-    REAL_CONST(163261.57437650024/8.0),
-    REAL_CONST(163288.37646539087/8.0),
-    REAL_CONST(163315.17965414765/8.0),
-    REAL_CONST(163341.98394268038/8.0),
-    REAL_CONST(163368.78933089875/8.0),
-    REAL_CONST(163395.59581871261/8.0),
-    REAL_CONST(163422.40340603172/8.0),
-    REAL_CONST(163449.2120927659/8.0),
-    REAL_CONST(163476.02187882498/8.0),
-    REAL_CONST(163502.83276411882/8.0),
-    REAL_CONST(163529.6447485573/8.0),
-    REAL_CONST(163556.45783205028/8.0),
-    REAL_CONST(163583.2720145077/8.0),
-    REAL_CONST(163610.08729583945/8.0),
-    REAL_CONST(163636.90367595552/8.0),
-    REAL_CONST(163663.72115476584/8.0),
-    REAL_CONST(163690.53973218042/8.0),
-    REAL_CONST(163717.35940810922/8.0),
-    REAL_CONST(163744.18018246227/8.0),
-    REAL_CONST(163771.00205514964/8.0),
-    REAL_CONST(163797.82502608138/8.0),
-    REAL_CONST(163824.64909516752/8.0),
-    REAL_CONST(163851.4742623182/8.0),
-    REAL_CONST(163878.3005274435/8.0),
-    REAL_CONST(163905.12789045356/8.0),
-    REAL_CONST(163931.95635125853/8.0),
-    REAL_CONST(163958.78590976857/8.0),
-    REAL_CONST(163985.61656589387/8.0),
-    REAL_CONST(164012.44831954464/8.0),
-    REAL_CONST(164039.28117063109/8.0),
-    REAL_CONST(164066.11511906344/8.0),
-    REAL_CONST(164092.95016475199/8.0),
-    REAL_CONST(164119.78630760699/8.0),
-    REAL_CONST(164146.62354753874/8.0),
-    REAL_CONST(164173.46188445756/8.0),
-    REAL_CONST(164200.30131827376/8.0),
-    REAL_CONST(164227.14184889771/8.0),
-    REAL_CONST(164253.98347623978/8.0),
-    REAL_CONST(164280.82620021031/8.0),
-    REAL_CONST(164307.67002071979/8.0),
-    REAL_CONST(164334.51493767856/8.0),
-    REAL_CONST(164361.3609509971/8.0),
-    REAL_CONST(164388.20806058586/8.0),
-    REAL_CONST(164415.05626635533/8.0),
-    REAL_CONST(164441.905568216/8.0),
-    REAL_CONST(164468.75596607837/8.0),
-    REAL_CONST(164495.607459853/8.0),
-    REAL_CONST(164522.4600494504/8.0),
-    REAL_CONST(164549.31373478117/8.0),
-    REAL_CONST(164576.16851575591/8.0),
-    REAL_CONST(164603.02439228518/8.0),
-    REAL_CONST(164629.88136427966/8.0),
-    REAL_CONST(164656.73943164994/8.0),
-    REAL_CONST(164683.59859430668/8.0),
-    REAL_CONST(164710.45885216061/8.0),
-    REAL_CONST(164737.32020512238/8.0),
-    REAL_CONST(164764.1826531027/8.0),
-    REAL_CONST(164791.04619601235/8.0),
-    REAL_CONST(164817.91083376206/8.0),
-    REAL_CONST(164844.77656626256/8.0),
-    REAL_CONST(164871.64339342469/8.0),
-    REAL_CONST(164898.51131515924/8.0),
-    REAL_CONST(164925.38033137703/8.0),
-    REAL_CONST(164952.25044198887/8.0),
-    REAL_CONST(164979.1216469057/8.0),
-    REAL_CONST(165005.9939460383/8.0),
-    REAL_CONST(165032.86733929763/8.0),
-    REAL_CONST(165059.7418265946/8.0),
-    REAL_CONST(165086.61740784015/8.0),
-    REAL_CONST(165113.4940829452/8.0)
-#endif
-};
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/is.c b/lib/libfaad2/libfaad/is.c
deleted file mode 100644 (file)
index 5236db0..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: is.c,v 1.28 2007/11/01 12:33:31 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include "syntax.h"
-#include "is.h"
-
-#ifdef FIXED_POINT
-static real_t pow05_table[] = {
-    COEF_CONST(1.68179283050743), /* 0.5^(-3/4) */
-    COEF_CONST(1.41421356237310), /* 0.5^(-2/4) */
-    COEF_CONST(1.18920711500272), /* 0.5^(-1/4) */
-    COEF_CONST(1.0),              /* 0.5^( 0/4) */
-    COEF_CONST(0.84089641525371), /* 0.5^(+1/4) */
-    COEF_CONST(0.70710678118655), /* 0.5^(+2/4) */
-    COEF_CONST(0.59460355750136)  /* 0.5^(+3/4) */
-};
-#endif
-
-void is_decode(ic_stream *ics, ic_stream *icsr, real_t *l_spec, real_t *r_spec,
-               uint16_t frame_len)
-{
-    uint8_t g, sfb, b;
-    uint16_t i;
-#ifndef FIXED_POINT
-    real_t scale;
-#else
-    int32_t exp, frac;
-#endif
-
-    uint16_t nshort = frame_len/8;
-    uint8_t group = 0;
-
-    for (g = 0; g < icsr->num_window_groups; g++)
-    {
-        /* Do intensity stereo decoding */
-        for (b = 0; b < icsr->window_group_length[g]; b++)
-        {
-            for (sfb = 0; sfb < icsr->max_sfb; sfb++)
-            {
-                if (is_intensity(icsr, g, sfb))
-                {
-#ifdef MAIN_DEC
-                    /* For scalefactor bands coded in intensity stereo the
-                       corresponding predictors in the right channel are
-                       switched to "off".
-                     */
-                    ics->pred.prediction_used[sfb] = 0;
-                    icsr->pred.prediction_used[sfb] = 0;
-#endif
-
-#ifndef FIXED_POINT
-                    scale = (real_t)pow(0.5, (0.25*icsr->scale_factors[g][sfb]));
-#else
-                    exp = icsr->scale_factors[g][sfb] >> 2;
-                    frac = icsr->scale_factors[g][sfb] & 3;
-#endif
-
-                    /* Scale from left to right channel,
-                       do not touch left channel */
-                    for (i = icsr->swb_offset[sfb]; i < min(icsr->swb_offset[sfb+1], ics->swb_offset_max); i++)
-                    {
-#ifndef FIXED_POINT
-                        r_spec[(group*nshort)+i] = MUL_R(l_spec[(group*nshort)+i], scale);
-#else
-                        if (exp < 0)
-                            r_spec[(group*nshort)+i] = l_spec[(group*nshort)+i] << -exp;
-                        else
-                            r_spec[(group*nshort)+i] = l_spec[(group*nshort)+i] >> exp;
-                        r_spec[(group*nshort)+i] = MUL_C(r_spec[(group*nshort)+i], pow05_table[frac + 3]);
-#endif
-                        if (is_intensity(icsr, g, sfb) != invert_intensity(ics, g, sfb))
-                            r_spec[(group*nshort)+i] = -r_spec[(group*nshort)+i];
-                    }
-                }
-            }
-            group++;
-        }
-    }
-}
diff --git a/lib/libfaad2/libfaad/is.h b/lib/libfaad2/libfaad/is.h
deleted file mode 100644 (file)
index 3e3b750..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: is.h,v 1.20 2007/11/01 12:33:31 menno Exp $
-**/
-
-#ifndef __IS_H__
-#define __IS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "syntax.h"
-
-void is_decode(ic_stream *ics, ic_stream *icsr, real_t *l_spec, real_t *r_spec,
-               uint16_t frame_len);
-
-static INLINE int8_t is_intensity(ic_stream *ics, uint8_t group, uint8_t sfb)
-{
-    switch (ics->sfb_cb[group][sfb])
-    {
-    case INTENSITY_HCB:
-        return 1;
-    case INTENSITY_HCB2:
-        return -1;
-    default:
-        return 0;
-    }
-}
-
-static INLINE int8_t invert_intensity(ic_stream *ics, uint8_t group, uint8_t sfb)
-{
-    if (ics->ms_mask_present == 1)
-        return (1-2*ics->ms_used[group][sfb]);
-    return 1;
-}
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/kbd_win.h b/lib/libfaad2/libfaad/kbd_win.h
deleted file mode 100644 (file)
index de404c7..0000000
+++ /dev/null
@@ -1,2297 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: kbd_win.h,v 1.21 2007/11/01 12:33:31 menno Exp $
-**/
-
-#ifndef __KBD_WIN_H__
-#define __KBD_WIN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef _MSC_VER
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#endif
-
-ALIGN static const real_t kbd_long_1024[] =
-{
-    FRAC_CONST(0.00029256153896361),
-    FRAC_CONST(0.00042998567353047),
-    FRAC_CONST(0.00054674074589540),
-    FRAC_CONST(0.00065482304299792),
-    FRAC_CONST(0.00075870195068747),
-    FRAC_CONST(0.00086059331713336),
-    FRAC_CONST(0.00096177541439010),
-    FRAC_CONST(0.0010630609410878),
-    FRAC_CONST(0.0011650036308132),
-    FRAC_CONST(0.0012680012194148),
-    FRAC_CONST(0.0013723517232956),
-    FRAC_CONST(0.0014782864109136),
-    FRAC_CONST(0.0015859901976719),
-    FRAC_CONST(0.0016956148252373),
-    FRAC_CONST(0.0018072876903517),
-    FRAC_CONST(0.0019211179405514),
-    FRAC_CONST(0.0020372007924215),
-    FRAC_CONST(0.0021556206591754),
-    FRAC_CONST(0.0022764534599614),
-    FRAC_CONST(0.0023997683540995),
-    FRAC_CONST(0.0025256290631156),
-    FRAC_CONST(0.0026540948920831),
-    FRAC_CONST(0.0027852215281403),
-    FRAC_CONST(0.0029190616715331),
-    FRAC_CONST(0.0030556655443223),
-    FRAC_CONST(0.0031950812943391),
-    FRAC_CONST(0.0033373553240392),
-    FRAC_CONST(0.0034825325586930),
-    FRAC_CONST(0.0036306566699199),
-    FRAC_CONST(0.0037817702604646),
-    FRAC_CONST(0.0039359150179719),
-    FRAC_CONST(0.0040931318437260),
-    FRAC_CONST(0.0042534609610026),
-    FRAC_CONST(0.0044169420066964),
-    FRAC_CONST(0.0045836141091341),
-    FRAC_CONST(0.0047535159544086),
-    FRAC_CONST(0.0049266858431214),
-    FRAC_CONST(0.0051031617390698),
-    FRAC_CONST(0.0052829813111335),
-    FRAC_CONST(0.0054661819693975),
-    FRAC_CONST(0.0056528008963682),
-    FRAC_CONST(0.0058428750739943),
-    FRAC_CONST(0.0060364413070882),
-    FRAC_CONST(0.0062335362436492),
-    FRAC_CONST(0.0064341963925079),
-    FRAC_CONST(0.0066384581386503),
-    FRAC_CONST(0.0068463577565218),
-    FRAC_CONST(0.0070579314215715),
-    FRAC_CONST(0.0072732152202559),
-    FRAC_CONST(0.0074922451586909),
-    FRAC_CONST(0.0077150571701162),
-    FRAC_CONST(0.0079416871213115),
-    FRAC_CONST(0.0081721708180857),
-    FRAC_CONST(0.0084065440099458),
-    FRAC_CONST(0.0086448423940363),
-    FRAC_CONST(0.0088871016184291),
-    FRAC_CONST(0.0091333572848345),
-    FRAC_CONST(0.0093836449507939),
-    FRAC_CONST(0.0096380001314086),
-    FRAC_CONST(0.0098964583006517),
-    FRAC_CONST(0.010159054892306),
-    FRAC_CONST(0.010425825300561),
-    FRAC_CONST(0.010696804880310),
-    FRAC_CONST(0.010972028947167),
-    FRAC_CONST(0.011251532777236),
-    FRAC_CONST(0.011535351606646),
-    FRAC_CONST(0.011823520630897),
-    FRAC_CONST(0.012116075003993),
-    FRAC_CONST(0.012413049837429),
-    FRAC_CONST(0.012714480198999),
-    FRAC_CONST(0.013020401111478),
-    FRAC_CONST(0.013330847551161),
-    FRAC_CONST(0.013645854446288),
-    FRAC_CONST(0.013965456675352),
-    FRAC_CONST(0.014289689065314),
-    FRAC_CONST(0.014618586389712),
-    FRAC_CONST(0.014952183366697),
-    FRAC_CONST(0.015290514656976),
-    FRAC_CONST(0.015633614861688),
-    FRAC_CONST(0.015981518520214),
-    FRAC_CONST(0.016334260107915),
-    FRAC_CONST(0.016691874033817),
-    FRAC_CONST(0.017054394638241),
-    FRAC_CONST(0.017421856190380),
-    FRAC_CONST(0.017794292885832),
-    FRAC_CONST(0.018171738844085),
-    FRAC_CONST(0.018554228105962),
-    FRAC_CONST(0.018941794631032),
-    FRAC_CONST(0.019334472294980),
-    FRAC_CONST(0.019732294886947),
-    FRAC_CONST(0.020135296106839),
-    FRAC_CONST(0.020543509562604),
-    FRAC_CONST(0.020956968767488),
-    FRAC_CONST(0.021375707137257),
-    FRAC_CONST(0.021799757987407),
-    FRAC_CONST(0.022229154530343),
-    FRAC_CONST(0.022663929872540),
-    FRAC_CONST(0.023104117011689),
-    FRAC_CONST(0.023549748833816),
-    FRAC_CONST(0.024000858110398),
-    FRAC_CONST(0.024457477495451),
-    FRAC_CONST(0.024919639522613),
-    FRAC_CONST(0.025387376602207),
-    FRAC_CONST(0.025860721018295),
-    FRAC_CONST(0.026339704925726),
-    FRAC_CONST(0.026824360347160),
-    FRAC_CONST(0.027314719170100),
-    FRAC_CONST(0.027810813143900),
-    FRAC_CONST(0.028312673876775),
-    FRAC_CONST(0.028820332832801),
-    FRAC_CONST(0.029333821328905),
-    FRAC_CONST(0.029853170531859),
-    FRAC_CONST(0.030378411455255),
-    FRAC_CONST(0.030909574956490),
-    FRAC_CONST(0.031446691733739),
-    FRAC_CONST(0.031989792322926),
-    FRAC_CONST(0.032538907094693),
-    FRAC_CONST(0.033094066251369),
-    FRAC_CONST(0.033655299823935),
-    FRAC_CONST(0.034222637668991),
-    FRAC_CONST(0.034796109465717),
-    FRAC_CONST(0.035375744712844),
-    FRAC_CONST(0.035961572725616),
-    FRAC_CONST(0.036553622632758),
-    FRAC_CONST(0.037151923373446),
-    FRAC_CONST(0.037756503694277),
-    FRAC_CONST(0.038367392146243),
-    FRAC_CONST(0.038984617081711),
-    FRAC_CONST(0.039608206651398),
-    FRAC_CONST(0.040238188801359),
-    FRAC_CONST(0.040874591269976),
-    FRAC_CONST(0.041517441584950),
-    FRAC_CONST(0.042166767060301),
-    FRAC_CONST(0.042822594793376),
-    FRAC_CONST(0.043484951661852),
-    FRAC_CONST(0.044153864320760),
-    FRAC_CONST(0.044829359199509),
-    FRAC_CONST(0.045511462498913),
-    FRAC_CONST(0.046200200188234),
-    FRAC_CONST(0.046895598002228),
-    FRAC_CONST(0.047597681438201),
-    FRAC_CONST(0.048306475753074),
-    FRAC_CONST(0.049022005960455),
-    FRAC_CONST(0.049744296827725),
-    FRAC_CONST(0.050473372873129),
-    FRAC_CONST(0.051209258362879),
-    FRAC_CONST(0.051951977308273),
-    FRAC_CONST(0.052701553462813),
-    FRAC_CONST(0.053458010319350),
-    FRAC_CONST(0.054221371107223),
-    FRAC_CONST(0.054991658789428),
-    FRAC_CONST(0.055768896059787),
-    FRAC_CONST(0.056553105340134),
-    FRAC_CONST(0.057344308777513),
-    FRAC_CONST(0.058142528241393),
-    FRAC_CONST(0.058947785320893),
-    FRAC_CONST(0.059760101322019),
-    FRAC_CONST(0.060579497264926),
-    FRAC_CONST(0.061405993881180),
-    FRAC_CONST(0.062239611611049),
-    FRAC_CONST(0.063080370600799),
-    FRAC_CONST(0.063928290700012),
-    FRAC_CONST(0.064783391458919),
-    FRAC_CONST(0.065645692125747),
-    FRAC_CONST(0.066515211644086),
-    FRAC_CONST(0.067391968650269),
-    FRAC_CONST(0.068275981470777),
-    FRAC_CONST(0.069167268119652),
-    FRAC_CONST(0.070065846295935),
-    FRAC_CONST(0.070971733381121),
-    FRAC_CONST(0.071884946436630),
-    FRAC_CONST(0.072805502201299),
-    FRAC_CONST(0.073733417088896),
-    FRAC_CONST(0.074668707185649),
-    FRAC_CONST(0.075611388247794),
-    FRAC_CONST(0.076561475699152),
-    FRAC_CONST(0.077518984628715),
-    FRAC_CONST(0.078483929788261),
-    FRAC_CONST(0.079456325589986),
-    FRAC_CONST(0.080436186104162),
-    FRAC_CONST(0.081423525056808),
-    FRAC_CONST(0.082418355827392),
-    FRAC_CONST(0.083420691446553),
-    FRAC_CONST(0.084430544593841),
-    FRAC_CONST(0.085447927595483),
-    FRAC_CONST(0.086472852422178),
-    FRAC_CONST(0.087505330686900),
-    FRAC_CONST(0.088545373642744),
-    FRAC_CONST(0.089592992180780),
-    FRAC_CONST(0.090648196827937),
-    FRAC_CONST(0.091710997744919),
-    FRAC_CONST(0.092781404724131),
-    FRAC_CONST(0.093859427187640),
-    FRAC_CONST(0.094945074185163),
-    FRAC_CONST(0.096038354392069),
-    FRAC_CONST(0.097139276107423),
-    FRAC_CONST(0.098247847252041),
-    FRAC_CONST(0.099364075366580),
-    FRAC_CONST(0.10048796760965),
-    FRAC_CONST(0.10161953075597),
-    FRAC_CONST(0.10275877119451),
-    FRAC_CONST(0.10390569492671),
-    FRAC_CONST(0.10506030756469),
-    FRAC_CONST(0.10622261432949),
-    FRAC_CONST(0.10739262004941),
-    FRAC_CONST(0.10857032915821),
-    FRAC_CONST(0.10975574569357),
-    FRAC_CONST(0.11094887329534),
-    FRAC_CONST(0.11214971520402),
-    FRAC_CONST(0.11335827425914),
-    FRAC_CONST(0.11457455289772),
-    FRAC_CONST(0.11579855315274),
-    FRAC_CONST(0.11703027665170),
-    FRAC_CONST(0.11826972461510),
-    FRAC_CONST(0.11951689785504),
-    FRAC_CONST(0.12077179677383),
-    FRAC_CONST(0.12203442136263),
-    FRAC_CONST(0.12330477120008),
-    FRAC_CONST(0.12458284545102),
-    FRAC_CONST(0.12586864286523),
-    FRAC_CONST(0.12716216177615),
-    FRAC_CONST(0.12846340009971),
-    FRAC_CONST(0.12977235533312),
-    FRAC_CONST(0.13108902455375),
-    FRAC_CONST(0.13241340441801),
-    FRAC_CONST(0.13374549116025),
-    FRAC_CONST(0.13508528059173),
-    FRAC_CONST(0.13643276809961),
-    FRAC_CONST(0.13778794864595),
-    FRAC_CONST(0.13915081676677),
-    FRAC_CONST(0.14052136657114),
-    FRAC_CONST(0.14189959174027),
-    FRAC_CONST(0.14328548552671),
-    FRAC_CONST(0.14467904075349),
-    FRAC_CONST(0.14608024981336),
-    FRAC_CONST(0.14748910466804),
-    FRAC_CONST(0.14890559684750),
-    FRAC_CONST(0.15032971744929),
-    FRAC_CONST(0.15176145713790),
-    FRAC_CONST(0.15320080614414),
-    FRAC_CONST(0.15464775426459),
-    FRAC_CONST(0.15610229086100),
-    FRAC_CONST(0.15756440485987),
-    FRAC_CONST(0.15903408475193),
-    FRAC_CONST(0.16051131859170),
-    FRAC_CONST(0.16199609399712),
-    FRAC_CONST(0.16348839814917),
-    FRAC_CONST(0.16498821779156),
-    FRAC_CONST(0.16649553923042),
-    FRAC_CONST(0.16801034833404),
-    FRAC_CONST(0.16953263053270),
-    FRAC_CONST(0.17106237081842),
-    FRAC_CONST(0.17259955374484),
-    FRAC_CONST(0.17414416342714),
-    FRAC_CONST(0.17569618354193),
-    FRAC_CONST(0.17725559732720),
-    FRAC_CONST(0.17882238758238),
-    FRAC_CONST(0.18039653666830),
-    FRAC_CONST(0.18197802650733),
-    FRAC_CONST(0.18356683858343),
-    FRAC_CONST(0.18516295394233),
-    FRAC_CONST(0.18676635319174),
-    FRAC_CONST(0.18837701650148),
-    FRAC_CONST(0.18999492360384),
-    FRAC_CONST(0.19162005379380),
-    FRAC_CONST(0.19325238592940),
-    FRAC_CONST(0.19489189843209),
-    FRAC_CONST(0.19653856928714),
-    FRAC_CONST(0.19819237604409),
-    FRAC_CONST(0.19985329581721),
-    FRAC_CONST(0.20152130528605),
-    FRAC_CONST(0.20319638069594),
-    FRAC_CONST(0.20487849785865),
-    FRAC_CONST(0.20656763215298),
-    FRAC_CONST(0.20826375852540),
-    FRAC_CONST(0.20996685149083),
-    FRAC_CONST(0.21167688513330),
-    FRAC_CONST(0.21339383310678),
-    FRAC_CONST(0.21511766863598),
-    FRAC_CONST(0.21684836451719),
-    FRAC_CONST(0.21858589311922),
-    FRAC_CONST(0.22033022638425),
-    FRAC_CONST(0.22208133582887),
-    FRAC_CONST(0.22383919254503),
-    FRAC_CONST(0.22560376720111),
-    FRAC_CONST(0.22737503004300),
-    FRAC_CONST(0.22915295089517),
-    FRAC_CONST(0.23093749916189),
-    FRAC_CONST(0.23272864382838),
-    FRAC_CONST(0.23452635346201),
-    FRAC_CONST(0.23633059621364),
-    FRAC_CONST(0.23814133981883),
-    FRAC_CONST(0.23995855159925),
-    FRAC_CONST(0.24178219846403),
-    FRAC_CONST(0.24361224691114),
-    FRAC_CONST(0.24544866302890),
-    FRAC_CONST(0.24729141249740),
-    FRAC_CONST(0.24914046059007),
-    FRAC_CONST(0.25099577217522),
-    FRAC_CONST(0.25285731171763),
-    FRAC_CONST(0.25472504328019),
-    FRAC_CONST(0.25659893052556),
-    FRAC_CONST(0.25847893671788),
-    FRAC_CONST(0.26036502472451),
-    FRAC_CONST(0.26225715701781),
-    FRAC_CONST(0.26415529567692),
-    FRAC_CONST(0.26605940238966),
-    FRAC_CONST(0.26796943845439),
-    FRAC_CONST(0.26988536478190),
-    FRAC_CONST(0.27180714189742),
-    FRAC_CONST(0.27373472994256),
-    FRAC_CONST(0.27566808867736),
-    FRAC_CONST(0.27760717748238),
-    FRAC_CONST(0.27955195536071),
-    FRAC_CONST(0.28150238094021),
-    FRAC_CONST(0.28345841247557),
-    FRAC_CONST(0.28542000785059),
-    FRAC_CONST(0.28738712458038),
-    FRAC_CONST(0.28935971981364),
-    FRAC_CONST(0.29133775033492),
-    FRAC_CONST(0.29332117256704),
-    FRAC_CONST(0.29530994257338),
-    FRAC_CONST(0.29730401606034),
-    FRAC_CONST(0.29930334837974),
-    FRAC_CONST(0.30130789453132),
-    FRAC_CONST(0.30331760916521),
-    FRAC_CONST(0.30533244658452),
-    FRAC_CONST(0.30735236074785),
-    FRAC_CONST(0.30937730527195),
-    FRAC_CONST(0.31140723343430),
-    FRAC_CONST(0.31344209817583),
-    FRAC_CONST(0.31548185210356),
-    FRAC_CONST(0.31752644749341),
-    FRAC_CONST(0.31957583629288),
-    FRAC_CONST(0.32162997012390),
-    FRAC_CONST(0.32368880028565),
-    FRAC_CONST(0.32575227775738),
-    FRAC_CONST(0.32782035320134),
-    FRAC_CONST(0.32989297696566),
-    FRAC_CONST(0.33197009908736),
-    FRAC_CONST(0.33405166929523),
-    FRAC_CONST(0.33613763701295),
-    FRAC_CONST(0.33822795136203),
-    FRAC_CONST(0.34032256116495),
-    FRAC_CONST(0.34242141494820),
-    FRAC_CONST(0.34452446094547),
-    FRAC_CONST(0.34663164710072),
-    FRAC_CONST(0.34874292107143),
-    FRAC_CONST(0.35085823023181),
-    FRAC_CONST(0.35297752167598),
-    FRAC_CONST(0.35510074222129),
-    FRAC_CONST(0.35722783841160),
-    FRAC_CONST(0.35935875652060),
-    FRAC_CONST(0.36149344255514),
-    FRAC_CONST(0.36363184225864),
-    FRAC_CONST(0.36577390111444),
-    FRAC_CONST(0.36791956434930),
-    FRAC_CONST(0.37006877693676),
-    FRAC_CONST(0.37222148360070),
-    FRAC_CONST(0.37437762881878),
-    FRAC_CONST(0.37653715682603),
-    FRAC_CONST(0.37870001161834),
-    FRAC_CONST(0.38086613695607),
-    FRAC_CONST(0.38303547636766),
-    FRAC_CONST(0.38520797315322),
-    FRAC_CONST(0.38738357038821),
-    FRAC_CONST(0.38956221092708),
-    FRAC_CONST(0.39174383740701),
-    FRAC_CONST(0.39392839225157),
-    FRAC_CONST(0.39611581767449),
-    FRAC_CONST(0.39830605568342),
-    FRAC_CONST(0.40049904808370),
-    FRAC_CONST(0.40269473648218),
-    FRAC_CONST(0.40489306229101),
-    FRAC_CONST(0.40709396673153),
-    FRAC_CONST(0.40929739083810),
-    FRAC_CONST(0.41150327546197),
-    FRAC_CONST(0.41371156127524),
-    FRAC_CONST(0.41592218877472),
-    FRAC_CONST(0.41813509828594),
-    FRAC_CONST(0.42035022996702),
-    FRAC_CONST(0.42256752381274),
-    FRAC_CONST(0.42478691965848),
-    FRAC_CONST(0.42700835718423),
-    FRAC_CONST(0.42923177591866),
-    FRAC_CONST(0.43145711524314),
-    FRAC_CONST(0.43368431439580),
-    FRAC_CONST(0.43591331247564),
-    FRAC_CONST(0.43814404844658),
-    FRAC_CONST(0.44037646114161),
-    FRAC_CONST(0.44261048926688),
-    FRAC_CONST(0.44484607140589),
-    FRAC_CONST(0.44708314602359),
-    FRAC_CONST(0.44932165147057),
-    FRAC_CONST(0.45156152598727),
-    FRAC_CONST(0.45380270770813),
-    FRAC_CONST(0.45604513466581),
-    FRAC_CONST(0.45828874479543),
-    FRAC_CONST(0.46053347593880),
-    FRAC_CONST(0.46277926584861),
-    FRAC_CONST(0.46502605219277),
-    FRAC_CONST(0.46727377255861),
-    FRAC_CONST(0.46952236445718),
-    FRAC_CONST(0.47177176532752),
-    FRAC_CONST(0.47402191254100),
-    FRAC_CONST(0.47627274340557),
-    FRAC_CONST(0.47852419517009),
-    FRAC_CONST(0.48077620502869),
-    FRAC_CONST(0.48302871012505),
-    FRAC_CONST(0.48528164755674),
-    FRAC_CONST(0.48753495437962),
-    FRAC_CONST(0.48978856761212),
-    FRAC_CONST(0.49204242423966),
-    FRAC_CONST(0.49429646121898),
-    FRAC_CONST(0.49655061548250),
-    FRAC_CONST(0.49880482394273),
-    FRAC_CONST(0.50105902349665),
-    FRAC_CONST(0.50331315103004),
-    FRAC_CONST(0.50556714342194),
-    FRAC_CONST(0.50782093754901),
-    FRAC_CONST(0.51007447028990),
-    FRAC_CONST(0.51232767852971),
-    FRAC_CONST(0.51458049916433),
-    FRAC_CONST(0.51683286910489),
-    FRAC_CONST(0.51908472528213),
-    FRAC_CONST(0.52133600465083),
-    FRAC_CONST(0.52358664419420),
-    FRAC_CONST(0.52583658092832),
-    FRAC_CONST(0.52808575190648),
-    FRAC_CONST(0.53033409422367),
-    FRAC_CONST(0.53258154502092),
-    FRAC_CONST(0.53482804148974),
-    FRAC_CONST(0.53707352087652),
-    FRAC_CONST(0.53931792048690),
-    FRAC_CONST(0.54156117769021),
-    FRAC_CONST(0.54380322992385),
-    FRAC_CONST(0.54604401469766),
-    FRAC_CONST(0.54828346959835),
-    FRAC_CONST(0.55052153229384),
-    FRAC_CONST(0.55275814053768),
-    FRAC_CONST(0.55499323217338),
-    FRAC_CONST(0.55722674513883),
-    FRAC_CONST(0.55945861747062),
-    FRAC_CONST(0.56168878730842),
-    FRAC_CONST(0.56391719289930),
-    FRAC_CONST(0.56614377260214),
-    FRAC_CONST(0.56836846489188),
-    FRAC_CONST(0.57059120836390),
-    FRAC_CONST(0.57281194173835),
-    FRAC_CONST(0.57503060386439),
-    FRAC_CONST(0.57724713372458),
-    FRAC_CONST(0.57946147043912),
-    FRAC_CONST(0.58167355327012),
-    FRAC_CONST(0.58388332162591),
-    FRAC_CONST(0.58609071506528),
-    FRAC_CONST(0.58829567330173),
-    FRAC_CONST(0.59049813620770),
-    FRAC_CONST(0.59269804381879),
-    FRAC_CONST(0.59489533633802),
-    FRAC_CONST(0.59708995413996),
-    FRAC_CONST(0.59928183777495),
-    FRAC_CONST(0.60147092797329),
-    FRAC_CONST(0.60365716564937),
-    FRAC_CONST(0.60584049190582),
-    FRAC_CONST(0.60802084803764),
-    FRAC_CONST(0.61019817553632),
-    FRAC_CONST(0.61237241609393),
-    FRAC_CONST(0.61454351160718),
-    FRAC_CONST(0.61671140418155),
-    FRAC_CONST(0.61887603613527),
-    FRAC_CONST(0.62103735000336),
-    FRAC_CONST(0.62319528854167),
-    FRAC_CONST(0.62534979473088),
-    FRAC_CONST(0.62750081178042),
-    FRAC_CONST(0.62964828313250),
-    FRAC_CONST(0.63179215246597),
-    FRAC_CONST(0.63393236370030),
-    FRAC_CONST(0.63606886099946),
-    FRAC_CONST(0.63820158877577),
-    FRAC_CONST(0.64033049169379),
-    FRAC_CONST(0.64245551467413),
-    FRAC_CONST(0.64457660289729),
-    FRAC_CONST(0.64669370180740),
-    FRAC_CONST(0.64880675711607),
-    FRAC_CONST(0.65091571480603),
-    FRAC_CONST(0.65302052113494),
-    FRAC_CONST(0.65512112263906),
-    FRAC_CONST(0.65721746613689),
-    FRAC_CONST(0.65930949873289),
-    FRAC_CONST(0.66139716782102),
-    FRAC_CONST(0.66348042108842),
-    FRAC_CONST(0.66555920651892),
-    FRAC_CONST(0.66763347239664),
-    FRAC_CONST(0.66970316730947),
-    FRAC_CONST(0.67176824015260),
-    FRAC_CONST(0.67382864013196),
-    FRAC_CONST(0.67588431676768),
-    FRAC_CONST(0.67793521989751),
-    FRAC_CONST(0.67998129968017),
-    FRAC_CONST(0.68202250659876),
-    FRAC_CONST(0.68405879146403),
-    FRAC_CONST(0.68609010541774),
-    FRAC_CONST(0.68811639993588),
-    FRAC_CONST(0.69013762683195),
-    FRAC_CONST(0.69215373826012),
-    FRAC_CONST(0.69416468671849),
-    FRAC_CONST(0.69617042505214),
-    FRAC_CONST(0.69817090645634),
-    FRAC_CONST(0.70016608447958),
-    FRAC_CONST(0.70215591302664),
-    FRAC_CONST(0.70414034636163),
-    FRAC_CONST(0.70611933911096),
-    FRAC_CONST(0.70809284626630),
-    FRAC_CONST(0.71006082318751),
-    FRAC_CONST(0.71202322560554),
-    FRAC_CONST(0.71398000962530),
-    FRAC_CONST(0.71593113172842),
-    FRAC_CONST(0.71787654877613),
-    FRAC_CONST(0.71981621801195),
-    FRAC_CONST(0.72175009706445),
-    FRAC_CONST(0.72367814394990),
-    FRAC_CONST(0.72560031707496),
-    FRAC_CONST(0.72751657523927),
-    FRAC_CONST(0.72942687763803),
-    FRAC_CONST(0.73133118386457),
-    FRAC_CONST(0.73322945391280),
-    FRAC_CONST(0.73512164817975),
-    FRAC_CONST(0.73700772746796),
-    FRAC_CONST(0.73888765298787),
-    FRAC_CONST(0.74076138636020),
-    FRAC_CONST(0.74262888961827),
-    FRAC_CONST(0.74449012521027),
-    FRAC_CONST(0.74634505600152),
-    FRAC_CONST(0.74819364527663),
-    FRAC_CONST(0.75003585674175),
-    FRAC_CONST(0.75187165452661),
-    FRAC_CONST(0.75370100318668),
-    FRAC_CONST(0.75552386770515),
-    FRAC_CONST(0.75734021349500),
-    FRAC_CONST(0.75915000640095),
-    FRAC_CONST(0.76095321270137),
-    FRAC_CONST(0.76274979911019),
-    FRAC_CONST(0.76453973277875),
-    FRAC_CONST(0.76632298129757),
-    FRAC_CONST(0.76809951269819),
-    FRAC_CONST(0.76986929545481),
-    FRAC_CONST(0.77163229848604),
-    FRAC_CONST(0.77338849115651),
-    FRAC_CONST(0.77513784327849),
-    FRAC_CONST(0.77688032511340),
-    FRAC_CONST(0.77861590737340),
-    FRAC_CONST(0.78034456122283),
-    FRAC_CONST(0.78206625827961),
-    FRAC_CONST(0.78378097061667),
-    FRAC_CONST(0.78548867076330),
-    FRAC_CONST(0.78718933170643),
-    FRAC_CONST(0.78888292689189),
-    FRAC_CONST(0.79056943022564),
-    FRAC_CONST(0.79224881607494),
-    FRAC_CONST(0.79392105926949),
-    FRAC_CONST(0.79558613510249),
-    FRAC_CONST(0.79724401933170),
-    FRAC_CONST(0.79889468818046),
-    FRAC_CONST(0.80053811833858),
-    FRAC_CONST(0.80217428696334),
-    FRAC_CONST(0.80380317168028),
-    FRAC_CONST(0.80542475058405),
-    FRAC_CONST(0.80703900223920),
-    FRAC_CONST(0.80864590568089),
-    FRAC_CONST(0.81024544041560),
-    FRAC_CONST(0.81183758642175),
-    FRAC_CONST(0.81342232415032),
-    FRAC_CONST(0.81499963452540),
-    FRAC_CONST(0.81656949894467),
-    FRAC_CONST(0.81813189927991),
-    FRAC_CONST(0.81968681787738),
-    FRAC_CONST(0.82123423755821),
-    FRAC_CONST(0.82277414161874),
-    FRAC_CONST(0.82430651383076),
-    FRAC_CONST(0.82583133844180),
-    FRAC_CONST(0.82734860017528),
-    FRAC_CONST(0.82885828423070),
-    FRAC_CONST(0.83036037628369),
-    FRAC_CONST(0.83185486248609),
-    FRAC_CONST(0.83334172946597),
-    FRAC_CONST(0.83482096432759),
-    FRAC_CONST(0.83629255465130),
-    FRAC_CONST(0.83775648849344),
-    FRAC_CONST(0.83921275438615),
-    FRAC_CONST(0.84066134133716),
-    FRAC_CONST(0.84210223882952),
-    FRAC_CONST(0.84353543682130),
-    FRAC_CONST(0.84496092574524),
-    FRAC_CONST(0.84637869650833),
-    FRAC_CONST(0.84778874049138),
-    FRAC_CONST(0.84919104954855),
-    FRAC_CONST(0.85058561600677),
-    FRAC_CONST(0.85197243266520),
-    FRAC_CONST(0.85335149279457),
-    FRAC_CONST(0.85472279013653),
-    FRAC_CONST(0.85608631890295),
-    FRAC_CONST(0.85744207377513),
-    FRAC_CONST(0.85879004990298),
-    FRAC_CONST(0.86013024290422),
-    FRAC_CONST(0.86146264886346),
-    FRAC_CONST(0.86278726433124),
-    FRAC_CONST(0.86410408632306),
-    FRAC_CONST(0.86541311231838),
-    FRAC_CONST(0.86671434025950),
-    FRAC_CONST(0.86800776855046),
-    FRAC_CONST(0.86929339605590),
-    FRAC_CONST(0.87057122209981),
-    FRAC_CONST(0.87184124646433),
-    FRAC_CONST(0.87310346938840),
-    FRAC_CONST(0.87435789156650),
-    FRAC_CONST(0.87560451414719),
-    FRAC_CONST(0.87684333873173),
-    FRAC_CONST(0.87807436737261),
-    FRAC_CONST(0.87929760257204),
-    FRAC_CONST(0.88051304728038),
-    FRAC_CONST(0.88172070489456),
-    FRAC_CONST(0.88292057925645),
-    FRAC_CONST(0.88411267465117),
-    FRAC_CONST(0.88529699580537),
-    FRAC_CONST(0.88647354788545),
-    FRAC_CONST(0.88764233649580),
-    FRAC_CONST(0.88880336767692),
-    FRAC_CONST(0.88995664790351),
-    FRAC_CONST(0.89110218408260),
-    FRAC_CONST(0.89223998355154),
-    FRAC_CONST(0.89337005407600),
-    FRAC_CONST(0.89449240384793),
-    FRAC_CONST(0.89560704148345),
-    FRAC_CONST(0.89671397602074),
-    FRAC_CONST(0.89781321691786),
-    FRAC_CONST(0.89890477405053),
-    FRAC_CONST(0.89998865770993),
-    FRAC_CONST(0.90106487860034),
-    FRAC_CONST(0.90213344783689),
-    FRAC_CONST(0.90319437694315),
-    FRAC_CONST(0.90424767784873),
-    FRAC_CONST(0.90529336288690),
-    FRAC_CONST(0.90633144479201),
-    FRAC_CONST(0.90736193669708),
-    FRAC_CONST(0.90838485213119),
-    FRAC_CONST(0.90940020501694),
-    FRAC_CONST(0.91040800966776),
-    FRAC_CONST(0.91140828078533),
-    FRAC_CONST(0.91240103345685),
-    FRAC_CONST(0.91338628315231),
-    FRAC_CONST(0.91436404572173),
-    FRAC_CONST(0.91533433739238),
-    FRAC_CONST(0.91629717476594),
-    FRAC_CONST(0.91725257481564),
-    FRAC_CONST(0.91820055488334),
-    FRAC_CONST(0.91914113267664),
-    FRAC_CONST(0.92007432626589),
-    FRAC_CONST(0.92100015408120),
-    FRAC_CONST(0.92191863490944),
-    FRAC_CONST(0.92282978789113),
-    FRAC_CONST(0.92373363251740),
-    FRAC_CONST(0.92463018862687),
-    FRAC_CONST(0.92551947640245),
-    FRAC_CONST(0.92640151636824),
-    FRAC_CONST(0.92727632938624),
-    FRAC_CONST(0.92814393665320),
-    FRAC_CONST(0.92900435969727),
-    FRAC_CONST(0.92985762037477),
-    FRAC_CONST(0.93070374086684),
-    FRAC_CONST(0.93154274367610),
-    FRAC_CONST(0.93237465162328),
-    FRAC_CONST(0.93319948784382),
-    FRAC_CONST(0.93401727578443),
-    FRAC_CONST(0.93482803919967),
-    FRAC_CONST(0.93563180214841),
-    FRAC_CONST(0.93642858899043),
-    FRAC_CONST(0.93721842438279),
-    FRAC_CONST(0.93800133327637),
-    FRAC_CONST(0.93877734091223),
-    FRAC_CONST(0.93954647281807),
-    FRAC_CONST(0.94030875480458),
-    FRAC_CONST(0.94106421296182),
-    FRAC_CONST(0.94181287365556),
-    FRAC_CONST(0.94255476352362),
-    FRAC_CONST(0.94328990947213),
-    FRAC_CONST(0.94401833867184),
-    FRAC_CONST(0.94474007855439),
-    FRAC_CONST(0.94545515680855),
-    FRAC_CONST(0.94616360137644),
-    FRAC_CONST(0.94686544044975),
-    FRAC_CONST(0.94756070246592),
-    FRAC_CONST(0.94824941610434),
-    FRAC_CONST(0.94893161028248),
-    FRAC_CONST(0.94960731415209),
-    FRAC_CONST(0.95027655709525),
-    FRAC_CONST(0.95093936872056),
-    FRAC_CONST(0.95159577885924),
-    FRAC_CONST(0.95224581756115),
-    FRAC_CONST(0.95288951509097),
-    FRAC_CONST(0.95352690192417),
-    FRAC_CONST(0.95415800874314),
-    FRAC_CONST(0.95478286643320),
-    FRAC_CONST(0.95540150607863),
-    FRAC_CONST(0.95601395895871),
-    FRAC_CONST(0.95662025654373),
-    FRAC_CONST(0.95722043049100),
-    FRAC_CONST(0.95781451264084),
-    FRAC_CONST(0.95840253501260),
-    FRAC_CONST(0.95898452980058),
-    FRAC_CONST(0.95956052937008),
-    FRAC_CONST(0.96013056625336),
-    FRAC_CONST(0.96069467314557),
-    FRAC_CONST(0.96125288290073),
-    FRAC_CONST(0.96180522852773),
-    FRAC_CONST(0.96235174318622),
-    FRAC_CONST(0.96289246018262),
-    FRAC_CONST(0.96342741296604),
-    FRAC_CONST(0.96395663512424),
-    FRAC_CONST(0.96448016037959),
-    FRAC_CONST(0.96499802258499),
-    FRAC_CONST(0.96551025571985),
-    FRAC_CONST(0.96601689388602),
-    FRAC_CONST(0.96651797130376),
-    FRAC_CONST(0.96701352230768),
-    FRAC_CONST(0.96750358134269),
-    FRAC_CONST(0.96798818295998),
-    FRAC_CONST(0.96846736181297),
-    FRAC_CONST(0.96894115265327),
-    FRAC_CONST(0.96940959032667),
-    FRAC_CONST(0.96987270976912),
-    FRAC_CONST(0.97033054600270),
-    FRAC_CONST(0.97078313413161),
-    FRAC_CONST(0.97123050933818),
-    FRAC_CONST(0.97167270687887),
-    FRAC_CONST(0.97210976208030),
-    FRAC_CONST(0.97254171033525),
-    FRAC_CONST(0.97296858709871),
-    FRAC_CONST(0.97339042788392),
-    FRAC_CONST(0.97380726825843),
-    FRAC_CONST(0.97421914384017),
-    FRAC_CONST(0.97462609029350),
-    FRAC_CONST(0.97502814332534),
-    FRAC_CONST(0.97542533868127),
-    FRAC_CONST(0.97581771214160),
-    FRAC_CONST(0.97620529951759),
-    FRAC_CONST(0.97658813664749),
-    FRAC_CONST(0.97696625939282),
-    FRAC_CONST(0.97733970363445),
-    FRAC_CONST(0.97770850526884),
-    FRAC_CONST(0.97807270020427),
-    FRAC_CONST(0.97843232435704),
-    FRAC_CONST(0.97878741364771),
-    FRAC_CONST(0.97913800399743),
-    FRAC_CONST(0.97948413132414),
-    FRAC_CONST(0.97982583153895),
-    FRAC_CONST(0.98016314054243),
-    FRAC_CONST(0.98049609422096),
-    FRAC_CONST(0.98082472844313),
-    FRAC_CONST(0.98114907905608),
-    FRAC_CONST(0.98146918188197),
-    FRAC_CONST(0.98178507271438),
-    FRAC_CONST(0.98209678731477),
-    FRAC_CONST(0.98240436140902),
-    FRAC_CONST(0.98270783068385),
-    FRAC_CONST(0.98300723078342),
-    FRAC_CONST(0.98330259730589),
-    FRAC_CONST(0.98359396579995),
-    FRAC_CONST(0.98388137176152),
-    FRAC_CONST(0.98416485063031),
-    FRAC_CONST(0.98444443778651),
-    FRAC_CONST(0.98472016854752),
-    FRAC_CONST(0.98499207816463),
-    FRAC_CONST(0.98526020181980),
-    FRAC_CONST(0.98552457462240),
-    FRAC_CONST(0.98578523160609),
-    FRAC_CONST(0.98604220772560),
-    FRAC_CONST(0.98629553785362),
-    FRAC_CONST(0.98654525677772),
-    FRAC_CONST(0.98679139919726),
-    FRAC_CONST(0.98703399972035),
-    FRAC_CONST(0.98727309286089),
-    FRAC_CONST(0.98750871303556),
-    FRAC_CONST(0.98774089456089),
-    FRAC_CONST(0.98796967165036),
-    FRAC_CONST(0.98819507841154),
-    FRAC_CONST(0.98841714884323),
-    FRAC_CONST(0.98863591683269),
-    FRAC_CONST(0.98885141615285),
-    FRAC_CONST(0.98906368045957),
-    FRAC_CONST(0.98927274328896),
-    FRAC_CONST(0.98947863805473),
-    FRAC_CONST(0.98968139804554),
-    FRAC_CONST(0.98988105642241),
-    FRAC_CONST(0.99007764621618),
-    FRAC_CONST(0.99027120032501),
-    FRAC_CONST(0.99046175151186),
-    FRAC_CONST(0.99064933240208),
-    FRAC_CONST(0.99083397548099),
-    FRAC_CONST(0.99101571309153),
-    FRAC_CONST(0.99119457743191),
-    FRAC_CONST(0.99137060055337),
-    FRAC_CONST(0.99154381435784),
-    FRAC_CONST(0.99171425059582),
-    FRAC_CONST(0.99188194086414),
-    FRAC_CONST(0.99204691660388),
-    FRAC_CONST(0.99220920909823),
-    FRAC_CONST(0.99236884947045),
-    FRAC_CONST(0.99252586868186),
-    FRAC_CONST(0.99268029752989),
-    FRAC_CONST(0.99283216664606),
-    FRAC_CONST(0.99298150649419),
-    FRAC_CONST(0.99312834736847),
-    FRAC_CONST(0.99327271939167),
-    FRAC_CONST(0.99341465251338),
-    FRAC_CONST(0.99355417650825),
-    FRAC_CONST(0.99369132097430),
-    FRAC_CONST(0.99382611533130),
-    FRAC_CONST(0.99395858881910),
-    FRAC_CONST(0.99408877049612),
-    FRAC_CONST(0.99421668923778),
-    FRAC_CONST(0.99434237373503),
-    FRAC_CONST(0.99446585249289),
-    FRAC_CONST(0.99458715382906),
-    FRAC_CONST(0.99470630587254),
-    FRAC_CONST(0.99482333656229),
-    FRAC_CONST(0.99493827364600),
-    FRAC_CONST(0.99505114467878),
-    FRAC_CONST(0.99516197702200),
-    FRAC_CONST(0.99527079784214),
-    FRAC_CONST(0.99537763410962),
-    FRAC_CONST(0.99548251259777),
-    FRAC_CONST(0.99558545988178),
-    FRAC_CONST(0.99568650233767),
-    FRAC_CONST(0.99578566614138),
-    FRAC_CONST(0.99588297726783),
-    FRAC_CONST(0.99597846149005),
-    FRAC_CONST(0.99607214437834),
-    FRAC_CONST(0.99616405129947),
-    FRAC_CONST(0.99625420741595),
-    FRAC_CONST(0.99634263768527),
-    FRAC_CONST(0.99642936685928),
-    FRAC_CONST(0.99651441948352),
-    FRAC_CONST(0.99659781989663),
-    FRAC_CONST(0.99667959222978),
-    FRAC_CONST(0.99675976040620),
-    FRAC_CONST(0.99683834814063),
-    FRAC_CONST(0.99691537893895),
-    FRAC_CONST(0.99699087609774),
-    FRAC_CONST(0.99706486270391),
-    FRAC_CONST(0.99713736163442),
-    FRAC_CONST(0.99720839555593),
-    FRAC_CONST(0.99727798692461),
-    FRAC_CONST(0.99734615798589),
-    FRAC_CONST(0.99741293077431),
-    FRAC_CONST(0.99747832711337),
-    FRAC_CONST(0.99754236861541),
-    FRAC_CONST(0.99760507668158),
-    FRAC_CONST(0.99766647250181),
-    FRAC_CONST(0.99772657705478),
-    FRAC_CONST(0.99778541110799),
-    FRAC_CONST(0.99784299521785),
-    FRAC_CONST(0.99789934972976),
-    FRAC_CONST(0.99795449477828),
-    FRAC_CONST(0.99800845028730),
-    FRAC_CONST(0.99806123597027),
-    FRAC_CONST(0.99811287133042),
-    FRAC_CONST(0.99816337566108),
-    FRAC_CONST(0.99821276804596),
-    FRAC_CONST(0.99826106735952),
-    FRAC_CONST(0.99830829226732),
-    FRAC_CONST(0.99835446122649),
-    FRAC_CONST(0.99839959248609),
-    FRAC_CONST(0.99844370408765),
-    FRAC_CONST(0.99848681386566),
-    FRAC_CONST(0.99852893944805),
-    FRAC_CONST(0.99857009825685),
-    FRAC_CONST(0.99861030750869),
-    FRAC_CONST(0.99864958421549),
-    FRAC_CONST(0.99868794518504),
-    FRAC_CONST(0.99872540702178),
-    FRAC_CONST(0.99876198612738),
-    FRAC_CONST(0.99879769870160),
-    FRAC_CONST(0.99883256074295),
-    FRAC_CONST(0.99886658804953),
-    FRAC_CONST(0.99889979621983),
-    FRAC_CONST(0.99893220065356),
-    FRAC_CONST(0.99896381655254),
-    FRAC_CONST(0.99899465892154),
-    FRAC_CONST(0.99902474256924),
-    FRAC_CONST(0.99905408210916),
-    FRAC_CONST(0.99908269196056),
-    FRAC_CONST(0.99911058634952),
-    FRAC_CONST(0.99913777930986),
-    FRAC_CONST(0.99916428468421),
-    FRAC_CONST(0.99919011612505),
-    FRAC_CONST(0.99921528709576),
-    FRAC_CONST(0.99923981087174),
-    FRAC_CONST(0.99926370054150),
-    FRAC_CONST(0.99928696900779),
-    FRAC_CONST(0.99930962898876),
-    FRAC_CONST(0.99933169301910),
-    FRAC_CONST(0.99935317345126),
-    FRAC_CONST(0.99937408245662),
-    FRAC_CONST(0.99939443202674),
-    FRAC_CONST(0.99941423397457),
-    FRAC_CONST(0.99943349993572),
-    FRAC_CONST(0.99945224136972),
-    FRAC_CONST(0.99947046956130),
-    FRAC_CONST(0.99948819562171),
-    FRAC_CONST(0.99950543049000),
-    FRAC_CONST(0.99952218493439),
-    FRAC_CONST(0.99953846955355),
-    FRAC_CONST(0.99955429477803),
-    FRAC_CONST(0.99956967087154),
-    FRAC_CONST(0.99958460793242),
-    FRAC_CONST(0.99959911589494),
-    FRAC_CONST(0.99961320453077),
-    FRAC_CONST(0.99962688345035),
-    FRAC_CONST(0.99964016210433),
-    FRAC_CONST(0.99965304978499),
-    FRAC_CONST(0.99966555562769),
-    FRAC_CONST(0.99967768861231),
-    FRAC_CONST(0.99968945756473),
-    FRAC_CONST(0.99970087115825),
-    FRAC_CONST(0.99971193791510),
-    FRAC_CONST(0.99972266620792),
-    FRAC_CONST(0.99973306426121),
-    FRAC_CONST(0.99974314015288),
-    FRAC_CONST(0.99975290181568),
-    FRAC_CONST(0.99976235703876),
-    FRAC_CONST(0.99977151346914),
-    FRAC_CONST(0.99978037861326),
-    FRAC_CONST(0.99978895983845),
-    FRAC_CONST(0.99979726437448),
-    FRAC_CONST(0.99980529931507),
-    FRAC_CONST(0.99981307161943),
-    FRAC_CONST(0.99982058811377),
-    FRAC_CONST(0.99982785549283),
-    FRAC_CONST(0.99983488032144),
-    FRAC_CONST(0.99984166903600),
-    FRAC_CONST(0.99984822794606),
-    FRAC_CONST(0.99985456323584),
-    FRAC_CONST(0.99986068096572),
-    FRAC_CONST(0.99986658707386),
-    FRAC_CONST(0.99987228737764),
-    FRAC_CONST(0.99987778757524),
-    FRAC_CONST(0.99988309324717),
-    FRAC_CONST(0.99988820985777),
-    FRAC_CONST(0.99989314275675),
-    FRAC_CONST(0.99989789718072),
-    FRAC_CONST(0.99990247825468),
-    FRAC_CONST(0.99990689099357),
-    FRAC_CONST(0.99991114030376),
-    FRAC_CONST(0.99991523098456),
-    FRAC_CONST(0.99991916772971),
-    FRAC_CONST(0.99992295512891),
-    FRAC_CONST(0.99992659766930),
-    FRAC_CONST(0.99993009973692),
-    FRAC_CONST(0.99993346561824),
-    FRAC_CONST(0.99993669950161),
-    FRAC_CONST(0.99993980547870),
-    FRAC_CONST(0.99994278754604),
-    FRAC_CONST(0.99994564960642),
-    FRAC_CONST(0.99994839547033),
-    FRAC_CONST(0.99995102885747),
-    FRAC_CONST(0.99995355339809),
-    FRAC_CONST(0.99995597263451),
-    FRAC_CONST(0.99995829002249),
-    FRAC_CONST(0.99996050893264),
-    FRAC_CONST(0.99996263265183),
-    FRAC_CONST(0.99996466438460),
-    FRAC_CONST(0.99996660725452),
-    FRAC_CONST(0.99996846430558),
-    FRAC_CONST(0.99997023850356),
-    FRAC_CONST(0.99997193273736),
-    FRAC_CONST(0.99997354982037),
-    FRAC_CONST(0.99997509249183),
-    FRAC_CONST(0.99997656341810),
-    FRAC_CONST(0.99997796519400),
-    FRAC_CONST(0.99997930034415),
-    FRAC_CONST(0.99998057132421),
-    FRAC_CONST(0.99998178052220),
-    FRAC_CONST(0.99998293025975),
-    FRAC_CONST(0.99998402279338),
-    FRAC_CONST(0.99998506031574),
-    FRAC_CONST(0.99998604495686),
-    FRAC_CONST(0.99998697878536),
-    FRAC_CONST(0.99998786380966),
-    FRAC_CONST(0.99998870197921),
-    FRAC_CONST(0.99998949518567),
-    FRAC_CONST(0.99999024526408),
-    FRAC_CONST(0.99999095399401),
-    FRAC_CONST(0.99999162310077),
-    FRAC_CONST(0.99999225425649),
-    FRAC_CONST(0.99999284908128),
-    FRAC_CONST(0.99999340914435),
-    FRAC_CONST(0.99999393596510),
-    FRAC_CONST(0.99999443101421),
-    FRAC_CONST(0.99999489571473),
-    FRAC_CONST(0.99999533144314),
-    FRAC_CONST(0.99999573953040),
-    FRAC_CONST(0.99999612126300),
-    FRAC_CONST(0.99999647788395),
-    FRAC_CONST(0.99999681059383),
-    FRAC_CONST(0.99999712055178),
-    FRAC_CONST(0.99999740887647),
-    FRAC_CONST(0.99999767664709),
-    FRAC_CONST(0.99999792490431),
-    FRAC_CONST(0.99999815465123),
-    FRAC_CONST(0.99999836685427),
-    FRAC_CONST(0.99999856244415),
-    FRAC_CONST(0.99999874231676),
-    FRAC_CONST(0.99999890733405),
-    FRAC_CONST(0.99999905832493),
-    FRAC_CONST(0.99999919608613),
-    FRAC_CONST(0.99999932138304),
-    FRAC_CONST(0.99999943495056),
-    FRAC_CONST(0.99999953749392),
-    FRAC_CONST(0.99999962968950),
-    FRAC_CONST(0.99999971218563),
-    FRAC_CONST(0.99999978560337),
-    FRAC_CONST(0.99999985053727),
-    FRAC_CONST(0.99999990755616),
-    FRAC_CONST(0.99999995720387)
-};
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-ALIGN static const real_t kbd_long_960[] = {
-    FRAC_CONST(0.0003021562530949),
-    FRAC_CONST(0.0004452267024786),
-    FRAC_CONST(0.0005674947527496),
-    FRAC_CONST(0.0006812465553466),
-    FRAC_CONST(0.0007910496776387),
-    FRAC_CONST(0.0008991655033895),
-    FRAC_CONST(0.0010068978259384),
-    FRAC_CONST(0.0011150758515751),
-    FRAC_CONST(0.0012242653193642),
-    FRAC_CONST(0.0013348735658205),
-    FRAC_CONST(0.0014472068670273),
-    FRAC_CONST(0.0015615039850448),
-    FRAC_CONST(0.0016779568885263),
-    FRAC_CONST(0.0017967241232412),
-    FRAC_CONST(0.0019179397560955),
-    FRAC_CONST(0.0020417195415393),
-    FRAC_CONST(0.0021681652836642),
-    FRAC_CONST(0.0022973679910599),
-    FRAC_CONST(0.0024294102029937),
-    FRAC_CONST(0.0025643677339078),
-    FRAC_CONST(0.0027023110014772),
-    FRAC_CONST(0.0028433060512612),
-    FRAC_CONST(0.0029874153568025),
-    FRAC_CONST(0.0031346984511728),
-    FRAC_CONST(0.0032852124303662),
-    FRAC_CONST(0.0034390123581190),
-    FRAC_CONST(0.0035961515940931),
-    FRAC_CONST(0.0037566820618961),
-    FRAC_CONST(0.0039206544694386),
-    FRAC_CONST(0.0040881184912194),
-    FRAC_CONST(0.0042591229199617),
-    FRAC_CONST(0.0044337157933972),
-    FRAC_CONST(0.0046119445007641),
-    FRAC_CONST(0.0047938558726415),
-    FRAC_CONST(0.0049794962570131),
-    FRAC_CONST(0.0051689115838900),
-    FRAC_CONST(0.0053621474203763),
-    FRAC_CONST(0.0055592490177131),
-    FRAC_CONST(0.0057602613515573),
-    FRAC_CONST(0.0059652291565289),
-    FRAC_CONST(0.0061741969558843),
-    FRAC_CONST(0.0063872090870253),
-    FRAC_CONST(0.0066043097234387),
-    FRAC_CONST(0.0068255428935640),
-    FRAC_CONST(0.0070509524970088),
-    FRAC_CONST(0.0072805823184660),
-    FRAC_CONST(0.0075144760396340),
-    FRAC_CONST(0.0077526772493942),
-    FRAC_CONST(0.0079952294524673),
-    FRAC_CONST(0.0082421760767325),
-    FRAC_CONST(0.0084935604793733),
-    FRAC_CONST(0.0087494259519870),
-    FRAC_CONST(0.0090098157247792),
-    FRAC_CONST(0.0092747729699467),
-    FRAC_CONST(0.0095443408043399),
-    FRAC_CONST(0.0098185622914832),
-    FRAC_CONST(0.0100974804430226),
-    FRAC_CONST(0.0103811382196612),
-    FRAC_CONST(0.0106695785316351),
-    FRAC_CONST(0.0109628442387771),
-    FRAC_CONST(0.0112609781502091),
-    FRAC_CONST(0.0115640230236993),
-    FRAC_CONST(0.0118720215647169),
-    FRAC_CONST(0.0121850164252137),
-    FRAC_CONST(0.0125030502021561),
-    FRAC_CONST(0.0128261654358321),
-    FRAC_CONST(0.0131544046079532),
-    FRAC_CONST(0.0134878101395681),
-    FRAC_CONST(0.0138264243888068),
-    FRAC_CONST(0.0141702896484671),
-    FRAC_CONST(0.0145194481434592),
-    FRAC_CONST(0.0148739420281182),
-    FRAC_CONST(0.0152338133833959),
-    FRAC_CONST(0.0155991042139432),
-    FRAC_CONST(0.0159698564450882),
-    FRAC_CONST(0.0163461119197227),
-    FRAC_CONST(0.0167279123950996),
-    FRAC_CONST(0.0171152995395520),
-    FRAC_CONST(0.0175083149291368),
-    FRAC_CONST(0.0179070000442104),
-    FRAC_CONST(0.0183113962659409),
-    FRAC_CONST(0.0187215448727609),
-    FRAC_CONST(0.0191374870367659),
-    FRAC_CONST(0.0195592638200623),
-    FRAC_CONST(0.0199869161710679),
-    FRAC_CONST(0.0204204849207691),
-    FRAC_CONST(0.0208600107789370),
-    FRAC_CONST(0.0213055343303066),
-    FRAC_CONST(0.0217570960307201),
-    FRAC_CONST(0.0222147362032386),
-    FRAC_CONST(0.0226784950342228),
-    FRAC_CONST(0.0231484125693867),
-    FRAC_CONST(0.0236245287098244),
-    FRAC_CONST(0.0241068832080138),
-    FRAC_CONST(0.0245955156637973),
-    FRAC_CONST(0.0250904655203431),
-    FRAC_CONST(0.0255917720600868),
-    FRAC_CONST(0.0260994744006559),
-    FRAC_CONST(0.0266136114907790),
-    FRAC_CONST(0.0271342221061795),
-    FRAC_CONST(0.0276613448454576),
-    FRAC_CONST(0.0281950181259587),
-    FRAC_CONST(0.0287352801796329),
-    FRAC_CONST(0.0292821690488833),
-    FRAC_CONST(0.0298357225824074),
-    FRAC_CONST(0.0303959784310299),
-    FRAC_CONST(0.0309629740435296),
-    FRAC_CONST(0.0315367466624615),
-    FRAC_CONST(0.0321173333199732),
-    FRAC_CONST(0.0327047708336193),
-    FRAC_CONST(0.0332990958021720),
-    FRAC_CONST(0.0339003446014307),
-    FRAC_CONST(0.0345085533800302),
-    FRAC_CONST(0.0351237580552491),
-    FRAC_CONST(0.0357459943088193),
-    FRAC_CONST(0.0363752975827358),
-    FRAC_CONST(0.0370117030750704),
-    FRAC_CONST(0.0376552457357870),
-    FRAC_CONST(0.0383059602625614),
-    FRAC_CONST(0.0389638810966056),
-    FRAC_CONST(0.0396290424184964),
-    FRAC_CONST(0.0403014781440112),
-    FRAC_CONST(0.0409812219199691),
-    FRAC_CONST(0.0416683071200799),
-    FRAC_CONST(0.0423627668408009),
-    FRAC_CONST(0.0430646338972016),
-    FRAC_CONST(0.0437739408188385),
-    FRAC_CONST(0.0444907198456388),
-    FRAC_CONST(0.0452150029237951),
-    FRAC_CONST(0.0459468217016708),
-    FRAC_CONST(0.0466862075257170),
-    FRAC_CONST(0.0474331914364021),
-    FRAC_CONST(0.0481878041641539),
-    FRAC_CONST(0.0489500761253148),
-    FRAC_CONST(0.0497200374181119),
-    FRAC_CONST(0.0504977178186404),
-    FRAC_CONST(0.0512831467768636),
-    FRAC_CONST(0.0520763534126273),
-    FRAC_CONST(0.0528773665116913),
-    FRAC_CONST(0.0536862145217772),
-    FRAC_CONST(0.0545029255486345),
-    FRAC_CONST(0.0553275273521232),
-    FRAC_CONST(0.0561600473423164),
-    FRAC_CONST(0.0570005125756209),
-    FRAC_CONST(0.0578489497509179),
-    FRAC_CONST(0.0587053852057233),
-    FRAC_CONST(0.0595698449123695),
-    FRAC_CONST(0.0604423544742077),
-    FRAC_CONST(0.0613229391218317),
-    FRAC_CONST(0.0622116237093247),
-    FRAC_CONST(0.0631084327105284),
-    FRAC_CONST(0.0640133902153352),
-    FRAC_CONST(0.0649265199260043),
-    FRAC_CONST(0.0658478451535027),
-    FRAC_CONST(0.0667773888138695),
-    FRAC_CONST(0.0677151734246072),
-    FRAC_CONST(0.0686612211010977),
-    FRAC_CONST(0.0696155535530446),
-    FRAC_CONST(0.0705781920809429),
-    FRAC_CONST(0.0715491575725758),
-    FRAC_CONST(0.0725284704995383),
-    FRAC_CONST(0.0735161509137906),
-    FRAC_CONST(0.0745122184442388),
-    FRAC_CONST(0.0755166922933461),
-    FRAC_CONST(0.0765295912337720),
-    FRAC_CONST(0.0775509336050437),
-    FRAC_CONST(0.0785807373102561),
-    FRAC_CONST(0.0796190198128044),
-    FRAC_CONST(0.0806657981331473),
-    FRAC_CONST(0.0817210888456026),
-    FRAC_CONST(0.0827849080751753),
-    FRAC_CONST(0.0838572714944183),
-    FRAC_CONST(0.0849381943203265),
-    FRAC_CONST(0.0860276913112652),
-    FRAC_CONST(0.0871257767639319),
-    FRAC_CONST(0.0882324645103534),
-    FRAC_CONST(0.0893477679149177),
-    FRAC_CONST(0.0904716998714418),
-    FRAC_CONST(0.0916042728002747),
-    FRAC_CONST(0.0927454986454381),
-    FRAC_CONST(0.0938953888718020),
-    FRAC_CONST(0.0950539544622996),
-    FRAC_CONST(0.0962212059151784),
-    FRAC_CONST(0.0973971532412897),
-    FRAC_CONST(0.0985818059614169),
-    FRAC_CONST(0.0997751731036425),
-    FRAC_CONST(0.1009772632007537),
-    FRAC_CONST(0.1021880842876888),
-    FRAC_CONST(0.1034076438990227),
-    FRAC_CONST(0.1046359490664932),
-    FRAC_CONST(0.1058730063165681),
-    FRAC_CONST(0.1071188216680533),
-    FRAC_CONST(0.1083734006297428),
-    FRAC_CONST(0.1096367481981100),
-    FRAC_CONST(0.1109088688550422),
-    FRAC_CONST(0.1121897665656167),
-    FRAC_CONST(0.1134794447759207),
-    FRAC_CONST(0.1147779064109143),
-    FRAC_CONST(0.1160851538723372),
-    FRAC_CONST(0.1174011890366591),
-    FRAC_CONST(0.1187260132530751),
-    FRAC_CONST(0.1200596273415457),
-    FRAC_CONST(0.1214020315908810),
-    FRAC_CONST(0.1227532257568719),
-    FRAC_CONST(0.1241132090604651),
-    FRAC_CONST(0.1254819801859856),
-    FRAC_CONST(0.1268595372794049),
-    FRAC_CONST(0.1282458779466558),
-    FRAC_CONST(0.1296409992519942),
-    FRAC_CONST(0.1310448977164081),
-    FRAC_CONST(0.1324575693160745),
-    FRAC_CONST(0.1338790094808633),
-    FRAC_CONST(0.1353092130928902),
-    FRAC_CONST(0.1367481744851168),
-    FRAC_CONST(0.1381958874400010),
-    FRAC_CONST(0.1396523451881945),
-    FRAC_CONST(0.1411175404072910),
-    FRAC_CONST(0.1425914652206223),
-    FRAC_CONST(0.1440741111961058),
-    FRAC_CONST(0.1455654693451402),
-    FRAC_CONST(0.1470655301215526),
-    FRAC_CONST(0.1485742834205956),
-    FRAC_CONST(0.1500917185779945),
-    FRAC_CONST(0.1516178243690463),
-    FRAC_CONST(0.1531525890077689),
-    FRAC_CONST(0.1546960001461024),
-    FRAC_CONST(0.1562480448731608),
-    FRAC_CONST(0.1578087097145364),
-    FRAC_CONST(0.1593779806316558),
-    FRAC_CONST(0.1609558430211876),
-    FRAC_CONST(0.1625422817145027),
-    FRAC_CONST(0.1641372809771871),
-    FRAC_CONST(0.1657408245086070),
-    FRAC_CONST(0.1673528954415270),
-    FRAC_CONST(0.1689734763417811),
-    FRAC_CONST(0.1706025492079969),
-    FRAC_CONST(0.1722400954713725),
-    FRAC_CONST(0.1738860959955082),
-    FRAC_CONST(0.1755405310762898),
-    FRAC_CONST(0.1772033804418275),
-    FRAC_CONST(0.1788746232524467),
-    FRAC_CONST(0.1805542381007349),
-    FRAC_CONST(0.1822422030116404),
-    FRAC_CONST(0.1839384954426268),
-    FRAC_CONST(0.1856430922838810),
-    FRAC_CONST(0.1873559698585756),
-    FRAC_CONST(0.1890771039231862),
-    FRAC_CONST(0.1908064696678625),
-    FRAC_CONST(0.1925440417168546),
-    FRAC_CONST(0.1942897941289937),
-    FRAC_CONST(0.1960437003982277),
-    FRAC_CONST(0.1978057334542116),
-    FRAC_CONST(0.1995758656629525),
-    FRAC_CONST(0.2013540688275098),
-    FRAC_CONST(0.2031403141887507),
-    FRAC_CONST(0.2049345724261595),
-    FRAC_CONST(0.2067368136587033),
-    FRAC_CONST(0.2085470074457521),
-    FRAC_CONST(0.2103651227880538),
-    FRAC_CONST(0.2121911281287646),
-    FRAC_CONST(0.2140249913545346),
-    FRAC_CONST(0.2158666797966480),
-    FRAC_CONST(0.2177161602322188),
-    FRAC_CONST(0.2195733988854414),
-    FRAC_CONST(0.2214383614288963),
-    FRAC_CONST(0.2233110129849106),
-    FRAC_CONST(0.2251913181269740),
-    FRAC_CONST(0.2270792408812093),
-    FRAC_CONST(0.2289747447278976),
-    FRAC_CONST(0.2308777926030592),
-    FRAC_CONST(0.2327883469000885),
-    FRAC_CONST(0.2347063694714437),
-    FRAC_CONST(0.2366318216303919),
-    FRAC_CONST(0.2385646641528076),
-    FRAC_CONST(0.2405048572790267),
-    FRAC_CONST(0.2424523607157545),
-    FRAC_CONST(0.2444071336380283),
-    FRAC_CONST(0.2463691346912334),
-    FRAC_CONST(0.2483383219931741),
-    FRAC_CONST(0.2503146531361985),
-    FRAC_CONST(0.2522980851893767),
-    FRAC_CONST(0.2542885747007335),
-    FRAC_CONST(0.2562860776995335),
-    FRAC_CONST(0.2582905496986215),
-    FRAC_CONST(0.2603019456968142),
-    FRAC_CONST(0.2623202201813464),
-    FRAC_CONST(0.2643453271303700),
-    FRAC_CONST(0.2663772200155053),
-    FRAC_CONST(0.2684158518044454),
-    FRAC_CONST(0.2704611749636135),
-    FRAC_CONST(0.2725131414608710),
-    FRAC_CONST(0.2745717027682799),
-    FRAC_CONST(0.2766368098649151),
-    FRAC_CONST(0.2787084132397296),
-    FRAC_CONST(0.2807864628944707),
-    FRAC_CONST(0.2828709083466482),
-    FRAC_CONST(0.2849616986325523),
-    FRAC_CONST(0.2870587823103237),
-    FRAC_CONST(0.2891621074630737),
-    FRAC_CONST(0.2912716217020546),
-    FRAC_CONST(0.2933872721698803),
-    FRAC_CONST(0.2955090055437973),
-    FRAC_CONST(0.2976367680390041),
-    FRAC_CONST(0.2997705054120213),
-    FRAC_CONST(0.3019101629641097),
-    FRAC_CONST(0.3040556855447379),
-    FRAC_CONST(0.3062070175550981),
-    FRAC_CONST(0.3083641029516701),
-    FRAC_CONST(0.3105268852498334),
-    FRAC_CONST(0.3126953075275265),
-    FRAC_CONST(0.3148693124289546),
-    FRAC_CONST(0.3170488421683428),
-    FRAC_CONST(0.3192338385337370),
-    FRAC_CONST(0.3214242428908514),
-    FRAC_CONST(0.3236199961869606),
-    FRAC_CONST(0.3258210389548392),
-    FRAC_CONST(0.3280273113167459),
-    FRAC_CONST(0.3302387529884521),
-    FRAC_CONST(0.3324553032833160),
-    FRAC_CONST(0.3346769011164010),
-    FRAC_CONST(0.3369034850086373),
-    FRAC_CONST(0.3391349930910280),
-    FRAC_CONST(0.3413713631088974),
-    FRAC_CONST(0.3436125324261830),
-    FRAC_CONST(0.3458584380297697),
-    FRAC_CONST(0.3481090165338656),
-    FRAC_CONST(0.3503642041844199),
-    FRAC_CONST(0.3526239368635820),
-    FRAC_CONST(0.3548881500942010),
-    FRAC_CONST(0.3571567790443668),
-    FRAC_CONST(0.3594297585319891),
-    FRAC_CONST(0.3617070230294185),
-    FRAC_CONST(0.3639885066681048),
-    FRAC_CONST(0.3662741432432950),
-    FRAC_CONST(0.3685638662187693),
-    FRAC_CONST(0.3708576087316147),
-    FRAC_CONST(0.3731553035970366),
-    FRAC_CONST(0.3754568833132069),
-    FRAC_CONST(0.3777622800661488),
-    FRAC_CONST(0.3800714257346570),
-    FRAC_CONST(0.3823842518952546),
-    FRAC_CONST(0.3847006898271841),
-    FRAC_CONST(0.3870206705174334),
-    FRAC_CONST(0.3893441246657958),
-    FRAC_CONST(0.3916709826899639),
-    FRAC_CONST(0.3940011747306560),
-    FRAC_CONST(0.3963346306567764),
-    FRAC_CONST(0.3986712800706062),
-    FRAC_CONST(0.4010110523130271),
-    FRAC_CONST(0.4033538764687756),
-    FRAC_CONST(0.4056996813717284),
-    FRAC_CONST(0.4080483956102172),
-    FRAC_CONST(0.4103999475323736),
-    FRAC_CONST(0.4127542652515031),
-    FRAC_CONST(0.4151112766514873),
-    FRAC_CONST(0.4174709093922143),
-    FRAC_CONST(0.4198330909150365),
-    FRAC_CONST(0.4221977484482556),
-    FRAC_CONST(0.4245648090126334),
-    FRAC_CONST(0.4269341994269293),
-    FRAC_CONST(0.4293058463134616),
-    FRAC_CONST(0.4316796761036958),
-    FRAC_CONST(0.4340556150438547),
-    FRAC_CONST(0.4364335892005536),
-    FRAC_CONST(0.4388135244664580),
-    FRAC_CONST(0.4411953465659639),
-    FRAC_CONST(0.4435789810609000),
-    FRAC_CONST(0.4459643533562509),
-    FRAC_CONST(0.4483513887059016),
-    FRAC_CONST(0.4507400122184019),
-    FRAC_CONST(0.4531301488627497),
-    FRAC_CONST(0.4555217234741947),
-    FRAC_CONST(0.4579146607600593),
-    FRAC_CONST(0.4603088853055777),
-    FRAC_CONST(0.4627043215797521),
-    FRAC_CONST(0.4651008939412254),
-    FRAC_CONST(0.4674985266441709),
-    FRAC_CONST(0.4698971438441951),
-    FRAC_CONST(0.4722966696042580),
-    FRAC_CONST(0.4746970279006055),
-    FRAC_CONST(0.4770981426287164),
-    FRAC_CONST(0.4794999376092619),
-    FRAC_CONST(0.4819023365940778),
-    FRAC_CONST(0.4843052632721476),
-    FRAC_CONST(0.4867086412755978),
-    FRAC_CONST(0.4891123941857028),
-    FRAC_CONST(0.4915164455388997),
-    FRAC_CONST(0.4939207188328126),
-    FRAC_CONST(0.4963251375322855),
-    FRAC_CONST(0.4987296250754225),
-    FRAC_CONST(0.5011341048796359),
-    FRAC_CONST(0.5035385003477012),
-    FRAC_CONST(0.5059427348738168),
-    FRAC_CONST(0.5083467318496706),
-    FRAC_CONST(0.5107504146705106),
-    FRAC_CONST(0.5131537067412193),
-    FRAC_CONST(0.5155565314823923),
-    FRAC_CONST(0.5179588123364193),
-    FRAC_CONST(0.5203604727735667),
-    FRAC_CONST(0.5227614362980630),
-    FRAC_CONST(0.5251616264541841),
-    FRAC_CONST(0.5275609668323384),
-    FRAC_CONST(0.5299593810751532),
-    FRAC_CONST(0.5323567928835578),
-    FRAC_CONST(0.5347531260228663),
-    FRAC_CONST(0.5371483043288580),
-    FRAC_CONST(0.5395422517138538),
-    FRAC_CONST(0.5419348921727899),
-    FRAC_CONST(0.5443261497892862),
-    FRAC_CONST(0.5467159487417104),
-    FRAC_CONST(0.5491042133092364),
-    FRAC_CONST(0.5514908678778958),
-    FRAC_CONST(0.5538758369466227),
-    FRAC_CONST(0.5562590451332913),
-    FRAC_CONST(0.5586404171807443),
-    FRAC_CONST(0.5610198779628133),
-    FRAC_CONST(0.5633973524903286),
-    FRAC_CONST(0.5657727659171199),
-    FRAC_CONST(0.5681460435460047),
-    FRAC_CONST(0.5705171108347663),
-    FRAC_CONST(0.5728858934021188),
-    FRAC_CONST(0.5752523170336598),
-    FRAC_CONST(0.5776163076878088),
-    FRAC_CONST(0.5799777915017323),
-    FRAC_CONST(0.5823366947972535),
-    FRAC_CONST(0.5846929440867458),
-    FRAC_CONST(0.5870464660790119),
-    FRAC_CONST(0.5893971876851449),
-    FRAC_CONST(0.5917450360243719),
-    FRAC_CONST(0.5940899384298793),
-    FRAC_CONST(0.5964318224546208),
-    FRAC_CONST(0.5987706158771039),
-    FRAC_CONST(0.6011062467071583),
-    FRAC_CONST(0.6034386431916822),
-    FRAC_CONST(0.6057677338203681),
-    FRAC_CONST(0.6080934473314057),
-    FRAC_CONST(0.6104157127171639),
-    FRAC_CONST(0.6127344592298474),
-    FRAC_CONST(0.6150496163871310),
-    FRAC_CONST(0.6173611139777690),
-    FRAC_CONST(0.6196688820671789),
-    FRAC_CONST(0.6219728510029997),
-    FRAC_CONST(0.6242729514206247),
-    FRAC_CONST(0.6265691142487051),
-    FRAC_CONST(0.6288612707146283),
-    FRAC_CONST(0.6311493523499663),
-    FRAC_CONST(0.6334332909958958),
-    FRAC_CONST(0.6357130188085891),
-    FRAC_CONST(0.6379884682645743),
-    FRAC_CONST(0.6402595721660647),
-    FRAC_CONST(0.6425262636462578),
-    FRAC_CONST(0.6447884761746012),
-    FRAC_CONST(0.6470461435620266),
-    FRAC_CONST(0.6492991999661505),
-    FRAC_CONST(0.6515475798964411),
-    FRAC_CONST(0.6537912182193508),
-    FRAC_CONST(0.6560300501634142),
-    FRAC_CONST(0.6582640113243098),
-    FRAC_CONST(0.6604930376698862),
-    FRAC_CONST(0.6627170655451516),
-    FRAC_CONST(0.6649360316772256),
-    FRAC_CONST(0.6671498731802533),
-    FRAC_CONST(0.6693585275602818),
-    FRAC_CONST(0.6715619327200959),
-    FRAC_CONST(0.6737600269640164),
-    FRAC_CONST(0.6759527490026566),
-    FRAC_CONST(0.6781400379576392),
-    FRAC_CONST(0.6803218333662715),
-    FRAC_CONST(0.6824980751861787),
-    FRAC_CONST(0.6846687037998949),
-    FRAC_CONST(0.6868336600194123),
-    FRAC_CONST(0.6889928850906855),
-    FRAC_CONST(0.6911463206980928),
-    FRAC_CONST(0.6932939089688525),
-    FRAC_CONST(0.6954355924773949),
-    FRAC_CONST(0.6975713142496884),
-    FRAC_CONST(0.6997010177675195),
-    FRAC_CONST(0.7018246469727265),
-    FRAC_CONST(0.7039421462713862),
-    FRAC_CONST(0.7060534605379528),
-    FRAC_CONST(0.7081585351193496),
-    FRAC_CONST(0.7102573158390105),
-    FRAC_CONST(0.7123497490008750),
-    FRAC_CONST(0.7144357813933307),
-    FRAC_CONST(0.7165153602931092),
-    FRAC_CONST(0.7185884334691287),
-    FRAC_CONST(0.7206549491862871),
-    FRAC_CONST(0.7227148562092042),
-    FRAC_CONST(0.7247681038059106),
-    FRAC_CONST(0.7268146417514855),
-    FRAC_CONST(0.7288544203316418),
-    FRAC_CONST(0.7308873903462577),
-    FRAC_CONST(0.7329135031128549),
-    FRAC_CONST(0.7349327104700221),
-    FRAC_CONST(0.7369449647807855),
-    FRAC_CONST(0.7389502189359237),
-    FRAC_CONST(0.7409484263572271),
-    FRAC_CONST(0.7429395410007016),
-    FRAC_CONST(0.7449235173597176),
-    FRAC_CONST(0.7469003104681008),
-    FRAC_CONST(0.7488698759031670),
-    FRAC_CONST(0.7508321697887005),
-    FRAC_CONST(0.7527871487978728),
-    FRAC_CONST(0.7547347701561059),
-    FRAC_CONST(0.7566749916438754),
-    FRAC_CONST(0.7586077715994560),
-    FRAC_CONST(0.7605330689216074),
-    FRAC_CONST(0.7624508430722016),
-    FRAC_CONST(0.7643610540787891),
-    FRAC_CONST(0.7662636625371070),
-    FRAC_CONST(0.7681586296135255),
-    FRAC_CONST(0.7700459170474343),
-    FRAC_CONST(0.7719254871535672),
-    FRAC_CONST(0.7737973028242671),
-    FRAC_CONST(0.7756613275316875),
-    FRAC_CONST(0.7775175253299340),
-    FRAC_CONST(0.7793658608571425),
-    FRAC_CONST(0.7812062993374951),
-    FRAC_CONST(0.7830388065831744),
-    FRAC_CONST(0.7848633489962533),
-    FRAC_CONST(0.7866798935705233),
-    FRAC_CONST(0.7884884078932579),
-    FRAC_CONST(0.7902888601469138),
-    FRAC_CONST(0.7920812191107668),
-    FRAC_CONST(0.7938654541624850),
-    FRAC_CONST(0.7956415352796368),
-    FRAC_CONST(0.7974094330411343),
-    FRAC_CONST(0.7991691186286133),
-    FRAC_CONST(0.8009205638277465),
-    FRAC_CONST(0.8026637410294932),
-    FRAC_CONST(0.8043986232312831),
-    FRAC_CONST(0.8061251840381346),
-    FRAC_CONST(0.8078433976637077),
-    FRAC_CONST(0.8095532389312917),
-    FRAC_CONST(0.8112546832747255),
-    FRAC_CONST(0.8129477067392539),
-    FRAC_CONST(0.8146322859823164),
-    FRAC_CONST(0.8163083982742698),
-    FRAC_CONST(0.8179760214990457),
-    FRAC_CONST(0.8196351341547393),
-    FRAC_CONST(0.8212857153541345),
-    FRAC_CONST(0.8229277448251595),
-    FRAC_CONST(0.8245612029112778),
-    FRAC_CONST(0.8261860705718113),
-    FRAC_CONST(0.8278023293821971),
-    FRAC_CONST(0.8294099615341773),
-    FRAC_CONST(0.8310089498359212),
-    FRAC_CONST(0.8325992777120815),
-    FRAC_CONST(0.8341809292037831),
-    FRAC_CONST(0.8357538889685445),
-    FRAC_CONST(0.8373181422801330),
-    FRAC_CONST(0.8388736750283521),
-    FRAC_CONST(0.8404204737187619),
-    FRAC_CONST(0.8419585254723335),
-    FRAC_CONST(0.8434878180250348),
-    FRAC_CONST(0.8450083397273509),
-    FRAC_CONST(0.8465200795437368),
-    FRAC_CONST(0.8480230270520029),
-    FRAC_CONST(0.8495171724426350),
-    FRAC_CONST(0.8510025065180464),
-    FRAC_CONST(0.8524790206917633),
-    FRAC_CONST(0.8539467069875448),
-    FRAC_CONST(0.8554055580384357),
-    FRAC_CONST(0.8568555670857525),
-    FRAC_CONST(0.8582967279780043),
-    FRAC_CONST(0.8597290351697464),
-    FRAC_CONST(0.8611524837203691),
-    FRAC_CONST(0.8625670692928198),
-    FRAC_CONST(0.8639727881522599),
-    FRAC_CONST(0.8653696371646555),
-    FRAC_CONST(0.8667576137953045),
-    FRAC_CONST(0.8681367161072958),
-    FRAC_CONST(0.8695069427599065),
-    FRAC_CONST(0.8708682930069319),
-    FRAC_CONST(0.8722207666949527),
-    FRAC_CONST(0.8735643642615368),
-    FRAC_CONST(0.8748990867333771),
-    FRAC_CONST(0.8762249357243662),
-    FRAC_CONST(0.8775419134336067),
-    FRAC_CONST(0.8788500226433579),
-    FRAC_CONST(0.8801492667169208),
-    FRAC_CONST(0.8814396495964587),
-    FRAC_CONST(0.8827211758007560),
-    FRAC_CONST(0.8839938504229149),
-    FRAC_CONST(0.8852576791279895),
-    FRAC_CONST(0.8865126681505587),
-    FRAC_CONST(0.8877588242922386),
-    FRAC_CONST(0.8889961549191320),
-    FRAC_CONST(0.8902246679592184),
-    FRAC_CONST(0.8914443718996848),
-    FRAC_CONST(0.8926552757841945),
-    FRAC_CONST(0.8938573892100969),
-    FRAC_CONST(0.8950507223255798),
-    FRAC_CONST(0.8962352858267605),
-    FRAC_CONST(0.8974110909547198),
-    FRAC_CONST(0.8985781494924783),
-    FRAC_CONST(0.8997364737619142),
-    FRAC_CONST(0.9008860766206249),
-    FRAC_CONST(0.9020269714587307),
-    FRAC_CONST(0.9031591721956235),
-    FRAC_CONST(0.9042826932766591),
-    FRAC_CONST(0.9053975496697941),
-    FRAC_CONST(0.9065037568621681),
-    FRAC_CONST(0.9076013308566311),
-    FRAC_CONST(0.9086902881682180),
-    FRAC_CONST(0.9097706458205682),
-    FRAC_CONST(0.9108424213422940),
-    FRAC_CONST(0.9119056327632955),
-    FRAC_CONST(0.9129602986110235),
-    FRAC_CONST(0.9140064379066919),
-    FRAC_CONST(0.9150440701614393),
-    FRAC_CONST(0.9160732153724396),
-    FRAC_CONST(0.9170938940189634),
-    FRAC_CONST(0.9181061270583908),
-    FRAC_CONST(0.9191099359221748),
-    FRAC_CONST(0.9201053425117579),
-    FRAC_CONST(0.9210923691944400),
-    FRAC_CONST(0.9220710387992010),
-    FRAC_CONST(0.9230413746124764),
-    FRAC_CONST(0.9240034003738882),
-    FRAC_CONST(0.9249571402719298),
-    FRAC_CONST(0.9259026189396085),
-    FRAC_CONST(0.9268398614500427),
-    FRAC_CONST(0.9277688933120170),
-    FRAC_CONST(0.9286897404654957),
-    FRAC_CONST(0.9296024292770939),
-    FRAC_CONST(0.9305069865355076),
-    FRAC_CONST(0.9314034394469048),
-    FRAC_CONST(0.9322918156302762),
-    FRAC_CONST(0.9331721431127471),
-    FRAC_CONST(0.9340444503248519),
-    FRAC_CONST(0.9349087660957711),
-    FRAC_CONST(0.9357651196485313),
-    FRAC_CONST(0.9366135405951697),
-    FRAC_CONST(0.9374540589318637),
-    FRAC_CONST(0.9382867050340261),
-    FRAC_CONST(0.9391115096513655),
-    FRAC_CONST(0.9399285039029165),
-    FRAC_CONST(0.9407377192720349),
-    FRAC_CONST(0.9415391876013639),
-    FRAC_CONST(0.9423329410877687),
-    FRAC_CONST(0.9431190122772415),
-    FRAC_CONST(0.9438974340597782),
-    FRAC_CONST(0.9446682396642262),
-    FRAC_CONST(0.9454314626531054),
-    FRAC_CONST(0.9461871369174033),
-    FRAC_CONST(0.9469352966713429),
-    FRAC_CONST(0.9476759764471278),
-    FRAC_CONST(0.9484092110896616),
-    FRAC_CONST(0.9491350357512457),
-    FRAC_CONST(0.9498534858862532),
-    FRAC_CONST(0.9505645972457831),
-    FRAC_CONST(0.9512684058722927),
-    FRAC_CONST(0.9519649480942105),
-    FRAC_CONST(0.9526542605205314),
-    FRAC_CONST(0.9533363800353921),
-    FRAC_CONST(0.9540113437926313),
-    FRAC_CONST(0.9546791892103320),
-    FRAC_CONST(0.9553399539653500),
-    FRAC_CONST(0.9559936759878265),
-    FRAC_CONST(0.9566403934556893),
-    FRAC_CONST(0.9572801447891388),
-    FRAC_CONST(0.9579129686451244),
-    FRAC_CONST(0.9585389039118085),
-    FRAC_CONST(0.9591579897030224),
-    FRAC_CONST(0.9597702653527108),
-    FRAC_CONST(0.9603757704093711),
-    FRAC_CONST(0.9609745446304828),
-    FRAC_CONST(0.9615666279769324),
-    FRAC_CONST(0.9621520606074324),
-    FRAC_CONST(0.9627308828729358),
-    FRAC_CONST(0.9633031353110477),
-    FRAC_CONST(0.9638688586404335),
-    FRAC_CONST(0.9644280937552258),
-    FRAC_CONST(0.9649808817194311),
-    FRAC_CONST(0.9655272637613366),
-    FRAC_CONST(0.9660672812679171),
-    FRAC_CONST(0.9666009757792454),
-    FRAC_CONST(0.9671283889829055),
-    FRAC_CONST(0.9676495627084089),
-    FRAC_CONST(0.9681645389216160),
-    FRAC_CONST(0.9686733597191652),
-    FRAC_CONST(0.9691760673229058),
-    FRAC_CONST(0.9696727040743406),
-    FRAC_CONST(0.9701633124290767),
-    FRAC_CONST(0.9706479349512860),
-    FRAC_CONST(0.9711266143081750),
-    FRAC_CONST(0.9715993932644684),
-    FRAC_CONST(0.9720663146769026),
-    FRAC_CONST(0.9725274214887337),
-    FRAC_CONST(0.9729827567242596),
-    FRAC_CONST(0.9734323634833574),
-    FRAC_CONST(0.9738762849360358),
-    FRAC_CONST(0.9743145643170059),
-    FRAC_CONST(0.9747472449202687),
-    FRAC_CONST(0.9751743700937215),
-    FRAC_CONST(0.9755959832337850),
-    FRAC_CONST(0.9760121277800496),
-    FRAC_CONST(0.9764228472099433),
-    FRAC_CONST(0.9768281850334235),
-    FRAC_CONST(0.9772281847876897),
-    FRAC_CONST(0.9776228900319223),
-    FRAC_CONST(0.9780123443420448),
-    FRAC_CONST(0.9783965913055132),
-    FRAC_CONST(0.9787756745161313),
-    FRAC_CONST(0.9791496375688939),
-    FRAC_CONST(0.9795185240548578),
-    FRAC_CONST(0.9798823775560431),
-    FRAC_CONST(0.9802412416403639),
-    FRAC_CONST(0.9805951598565897),
-    FRAC_CONST(0.9809441757293399),
-    FRAC_CONST(0.9812883327541090),
-    FRAC_CONST(0.9816276743923267),
-    FRAC_CONST(0.9819622440664515),
-    FRAC_CONST(0.9822920851550995),
-    FRAC_CONST(0.9826172409882086),
-    FRAC_CONST(0.9829377548422400),
-    FRAC_CONST(0.9832536699354163),
-    FRAC_CONST(0.9835650294229984),
-    FRAC_CONST(0.9838718763926001),
-    FRAC_CONST(0.9841742538595437),
-    FRAC_CONST(0.9844722047622547),
-    FRAC_CONST(0.9847657719576983),
-    FRAC_CONST(0.9850549982168574),
-    FRAC_CONST(0.9853399262202529),
-    FRAC_CONST(0.9856205985535073),
-    FRAC_CONST(0.9858970577029519),
-    FRAC_CONST(0.9861693460512790),
-    FRAC_CONST(0.9864375058732389),
-    FRAC_CONST(0.9867015793313820),
-    FRAC_CONST(0.9869616084718489),
-    FRAC_CONST(0.9872176352202061),
-    FRAC_CONST(0.9874697013773301),
-    FRAC_CONST(0.9877178486153397),
-    FRAC_CONST(0.9879621184735767),
-    FRAC_CONST(0.9882025523546365),
-    FRAC_CONST(0.9884391915204485),
-    FRAC_CONST(0.9886720770884069),
-    FRAC_CONST(0.9889012500275530),
-    FRAC_CONST(0.9891267511548089),
-    FRAC_CONST(0.9893486211312621),
-    FRAC_CONST(0.9895669004585049),
-    FRAC_CONST(0.9897816294750255),
-    FRAC_CONST(0.9899928483526520),
-    FRAC_CONST(0.9902005970930525),
-    FRAC_CONST(0.9904049155242876),
-    FRAC_CONST(0.9906058432974180),
-    FRAC_CONST(0.9908034198831690),
-    FRAC_CONST(0.9909976845686489),
-    FRAC_CONST(0.9911886764541239),
-    FRAC_CONST(0.9913764344498495),
-    FRAC_CONST(0.9915609972729590),
-    FRAC_CONST(0.9917424034444086),
-    FRAC_CONST(0.9919206912859797),
-    FRAC_CONST(0.9920958989173397),
-    FRAC_CONST(0.9922680642531603),
-    FRAC_CONST(0.9924372250002933),
-    FRAC_CONST(0.9926034186550070),
-    FRAC_CONST(0.9927666825002789),
-    FRAC_CONST(0.9929270536031491),
-    FRAC_CONST(0.9930845688121325),
-    FRAC_CONST(0.9932392647546895),
-    FRAC_CONST(0.9933911778347579),
-    FRAC_CONST(0.9935403442303433),
-    FRAC_CONST(0.9936867998911693),
-    FRAC_CONST(0.9938305805363887),
-    FRAC_CONST(0.9939717216523539),
-    FRAC_CONST(0.9941102584904481),
-    FRAC_CONST(0.9942462260649764),
-    FRAC_CONST(0.9943796591511174),
-    FRAC_CONST(0.9945105922829353),
-    FRAC_CONST(0.9946390597514524),
-    FRAC_CONST(0.9947650956027824),
-    FRAC_CONST(0.9948887336363228),
-    FRAC_CONST(0.9950100074030103),
-    FRAC_CONST(0.9951289502036336),
-    FRAC_CONST(0.9952455950872091),
-    FRAC_CONST(0.9953599748494155),
-    FRAC_CONST(0.9954721220310890),
-    FRAC_CONST(0.9955820689167787),
-    FRAC_CONST(0.9956898475333619),
-    FRAC_CONST(0.9957954896487196),
-    FRAC_CONST(0.9958990267704713),
-    FRAC_CONST(0.9960004901447701),
-    FRAC_CONST(0.9960999107551559),
-    FRAC_CONST(0.9961973193214694),
-    FRAC_CONST(0.9962927462988245),
-    FRAC_CONST(0.9963862218766388),
-    FRAC_CONST(0.9964777759777242),
-    FRAC_CONST(0.9965674382574342),
-    FRAC_CONST(0.9966552381028704),
-    FRAC_CONST(0.9967412046321465),
-    FRAC_CONST(0.9968253666937095),
-    FRAC_CONST(0.9969077528657186),
-    FRAC_CONST(0.9969883914554805),
-    FRAC_CONST(0.9970673104989413),
-    FRAC_CONST(0.9971445377602348),
-    FRAC_CONST(0.9972201007312871),
-    FRAC_CONST(0.9972940266314749),
-    FRAC_CONST(0.9973663424073412),
-    FRAC_CONST(0.9974370747323638),
-    FRAC_CONST(0.9975062500067785),
-    FRAC_CONST(0.9975738943574574),
-    FRAC_CONST(0.9976400336378379),
-    FRAC_CONST(0.9977046934279079),
-    FRAC_CONST(0.9977678990342401),
-    FRAC_CONST(0.9978296754900812),
-    FRAC_CONST(0.9978900475554902),
-    FRAC_CONST(0.9979490397175296),
-    FRAC_CONST(0.9980066761905056),
-    FRAC_CONST(0.9980629809162593),
-    FRAC_CONST(0.9981179775645063),
-    FRAC_CONST(0.9981716895332257),
-    FRAC_CONST(0.9982241399490979),
-    FRAC_CONST(0.9982753516679893),
-    FRAC_CONST(0.9983253472754841),
-    FRAC_CONST(0.9983741490874634),
-    FRAC_CONST(0.9984217791507299),
-    FRAC_CONST(0.9984682592436778),
-    FRAC_CONST(0.9985136108770075),
-    FRAC_CONST(0.9985578552944850),
-    FRAC_CONST(0.9986010134737439),
-    FRAC_CONST(0.9986431061271304),
-    FRAC_CONST(0.9986841537025921),
-    FRAC_CONST(0.9987241763846056),
-    FRAC_CONST(0.9987631940951476),
-    FRAC_CONST(0.9988012264947044),
-    FRAC_CONST(0.9988382929833222),
-    FRAC_CONST(0.9988744127016956),
-    FRAC_CONST(0.9989096045322947),
-    FRAC_CONST(0.9989438871005292),
-    FRAC_CONST(0.9989772787759494),
-    FRAC_CONST(0.9990097976734847),
-    FRAC_CONST(0.9990414616547146),
-    FRAC_CONST(0.9990722883291779),
-    FRAC_CONST(0.9991022950557125),
-    FRAC_CONST(0.9991314989438310),
-    FRAC_CONST(0.9991599168551279),
-    FRAC_CONST(0.9991875654047181),
-    FRAC_CONST(0.9992144609627068),
-    FRAC_CONST(0.9992406196556911),
-    FRAC_CONST(0.9992660573682882),
-    FRAC_CONST(0.9992907897446957),
-    FRAC_CONST(0.9993148321902777),
-    FRAC_CONST(0.9993381998731797),
-    FRAC_CONST(0.9993609077259696),
-    FRAC_CONST(0.9993829704473038),
-    FRAC_CONST(0.9994044025036201),
-    FRAC_CONST(0.9994252181308537),
-    FRAC_CONST(0.9994454313361775),
-    FRAC_CONST(0.9994650558997651),
-    FRAC_CONST(0.9994841053765757),
-    FRAC_CONST(0.9995025930981609),
-    FRAC_CONST(0.9995205321744921),
-    FRAC_CONST(0.9995379354958073),
-    FRAC_CONST(0.9995548157344778),
-    FRAC_CONST(0.9995711853468930),
-    FRAC_CONST(0.9995870565753632),
-    FRAC_CONST(0.9996024414500382),
-    FRAC_CONST(0.9996173517908444),
-    FRAC_CONST(0.9996317992094352),
-    FRAC_CONST(0.9996457951111574),
-    FRAC_CONST(0.9996593506970310),
-    FRAC_CONST(0.9996724769657434),
-    FRAC_CONST(0.9996851847156547),
-    FRAC_CONST(0.9996974845468164),
-    FRAC_CONST(0.9997093868630000),
-    FRAC_CONST(0.9997209018737374),
-    FRAC_CONST(0.9997320395963699),
-    FRAC_CONST(0.9997428098581069),
-    FRAC_CONST(0.9997532222980933),
-    FRAC_CONST(0.9997632863694836),
-    FRAC_CONST(0.9997730113415246),
-    FRAC_CONST(0.9997824063016426),
-    FRAC_CONST(0.9997914801575380),
-    FRAC_CONST(0.9998002416392840),
-    FRAC_CONST(0.9998086993014300),
-    FRAC_CONST(0.9998168615251084),
-    FRAC_CONST(0.9998247365201450),
-    FRAC_CONST(0.9998323323271717),
-    FRAC_CONST(0.9998396568197407),
-    FRAC_CONST(0.9998467177064404),
-    FRAC_CONST(0.9998535225330116),
-    FRAC_CONST(0.9998600786844637),
-    FRAC_CONST(0.9998663933871905),
-    FRAC_CONST(0.9998724737110845),
-    FRAC_CONST(0.9998783265716498),
-    FRAC_CONST(0.9998839587321121),
-    FRAC_CONST(0.9998893768055266),
-    FRAC_CONST(0.9998945872568815),
-    FRAC_CONST(0.9998995964051983),
-    FRAC_CONST(0.9999044104256269),
-    FRAC_CONST(0.9999090353515359),
-    FRAC_CONST(0.9999134770765971),
-    FRAC_CONST(0.9999177413568642),
-    FRAC_CONST(0.9999218338128448),
-    FRAC_CONST(0.9999257599315647),
-    FRAC_CONST(0.9999295250686255),
-    FRAC_CONST(0.9999331344502529),
-    FRAC_CONST(0.9999365931753376),
-    FRAC_CONST(0.9999399062174669),
-    FRAC_CONST(0.9999430784269460),
-    FRAC_CONST(0.9999461145328103),
-    FRAC_CONST(0.9999490191448277),
-    FRAC_CONST(0.9999517967554878),
-    FRAC_CONST(0.9999544517419835),
-    FRAC_CONST(0.9999569883681778),
-    FRAC_CONST(0.9999594107865607),
-    FRAC_CONST(0.9999617230401926),
-    FRAC_CONST(0.9999639290646355),
-    FRAC_CONST(0.9999660326898712),
-    FRAC_CONST(0.9999680376422052),
-    FRAC_CONST(0.9999699475461585),
-    FRAC_CONST(0.9999717659263435),
-    FRAC_CONST(0.9999734962093266),
-    FRAC_CONST(0.9999751417254756),
-    FRAC_CONST(0.9999767057107922),
-    FRAC_CONST(0.9999781913087290),
-    FRAC_CONST(0.9999796015719915),
-    FRAC_CONST(0.9999809394643231),
-    FRAC_CONST(0.9999822078622751),
-    FRAC_CONST(0.9999834095569596),
-    FRAC_CONST(0.9999845472557860),
-    FRAC_CONST(0.9999856235841805),
-    FRAC_CONST(0.9999866410872889),
-    FRAC_CONST(0.9999876022316609),
-    FRAC_CONST(0.9999885094069193),
-    FRAC_CONST(0.9999893649274085),
-    FRAC_CONST(0.9999901710338274),
-    FRAC_CONST(0.9999909298948430),
-    FRAC_CONST(0.9999916436086862),
-    FRAC_CONST(0.9999923142047299),
-    FRAC_CONST(0.9999929436450469),
-    FRAC_CONST(0.9999935338259505),
-    FRAC_CONST(0.9999940865795161),
-    FRAC_CONST(0.9999946036750835),
-    FRAC_CONST(0.9999950868207405),
-    FRAC_CONST(0.9999955376647868),
-    FRAC_CONST(0.9999959577971798),
-    FRAC_CONST(0.9999963487509599),
-    FRAC_CONST(0.9999967120036571),
-    FRAC_CONST(0.9999970489786785),
-    FRAC_CONST(0.9999973610466748),
-    FRAC_CONST(0.9999976495268890),
-    FRAC_CONST(0.9999979156884846),
-    FRAC_CONST(0.9999981607518545),
-    FRAC_CONST(0.9999983858899099),
-    FRAC_CONST(0.9999985922293493),
-    FRAC_CONST(0.9999987808519092),
-    FRAC_CONST(0.9999989527955938),
-    FRAC_CONST(0.9999991090558848),
-    FRAC_CONST(0.9999992505869332),
-    FRAC_CONST(0.9999993783027293),
-    FRAC_CONST(0.9999994930782556),
-    FRAC_CONST(0.9999995957506171),
-    FRAC_CONST(0.9999996871201549),
-    FRAC_CONST(0.9999997679515386),
-    FRAC_CONST(0.9999998389748399),
-    FRAC_CONST(0.9999999008865869),
-    FRAC_CONST(0.9999999543507984)
-};
-#endif
-
-ALIGN static const real_t kbd_short_128[] =
-{
-    FRAC_CONST(4.3795702929468881e-005),
-    FRAC_CONST(0.00011867384265436617),
-    FRAC_CONST(0.0002307165763996192),
-    FRAC_CONST(0.00038947282760568383),
-    FRAC_CONST(0.00060581272288302553),
-    FRAC_CONST(0.00089199695169487453),
-    FRAC_CONST(0.0012617254423430522),
-    FRAC_CONST(0.0017301724373162003),
-    FRAC_CONST(0.0023140071937421476),
-    FRAC_CONST(0.0030313989666022221),
-    FRAC_CONST(0.0039020049735530842),
-    FRAC_CONST(0.0049469401815512024),
-    FRAC_CONST(0.0061887279335368318),
-    FRAC_CONST(0.0076512306364647726),
-    FRAC_CONST(0.0093595599562652423),
-    FRAC_CONST(0.011339966208377799),
-    FRAC_CONST(0.013619706891715299),
-    FRAC_CONST(0.016226894586323766),
-    FRAC_CONST(0.019190324717288168),
-    FRAC_CONST(0.022539283975960878),
-    FRAC_CONST(0.026303340480472455),
-    FRAC_CONST(0.030512117046644357),
-    FRAC_CONST(0.03519504922365594),
-    FRAC_CONST(0.040381130021856941),
-    FRAC_CONST(0.046098643518702249),
-    FRAC_CONST(0.052374889768730587),
-    FRAC_CONST(0.059235903660769147),
-    FRAC_CONST(0.066706170556282418),
-    FRAC_CONST(0.074808341703430481),
-    FRAC_CONST(0.083562952548726227),
-    FRAC_CONST(0.092988147159339674),
-    FRAC_CONST(0.1030994120216919),
-    FRAC_CONST(0.11390932249409955),
-    FRAC_CONST(0.12542730516149531),
-    FRAC_CONST(0.13765941926783826),
-    FRAC_CONST(0.15060816028651081),
-    FRAC_CONST(0.16427228853114245),
-    FRAC_CONST(0.17864668550988483),
-    FRAC_CONST(0.19372224048676889),
-    FRAC_CONST(0.20948576943658073),
-    FRAC_CONST(0.22591996826744942),
-    FRAC_CONST(0.24300340184133981),
-    FRAC_CONST(0.26071052995068139),
-    FRAC_CONST(0.27901177101369551),
-    FRAC_CONST(0.29787360383626599),
-    FRAC_CONST(0.3172587073594233),
-    FRAC_CONST(0.33712613787396362),
-    FRAC_CONST(0.35743154274286698),
-    FRAC_CONST(0.37812740923363009),
-    FRAC_CONST(0.39916334663203618),
-    FRAC_CONST(0.42048639939189658),
-    FRAC_CONST(0.4420413886774246),
-    FRAC_CONST(0.4637712792815169),
-    FRAC_CONST(0.4856175685594023),
-    FRAC_CONST(0.50752069370766872),
-    FRAC_CONST(0.52942045344797806),
-    FRAC_CONST(0.55125643994680196),
-    FRAC_CONST(0.57296847662071559),
-    FRAC_CONST(0.59449705734411495),
-    FRAC_CONST(0.61578378249506627),
-    FRAC_CONST(0.63677178724712891),
-    FRAC_CONST(0.65740615754163356),
-    FRAC_CONST(0.67763432925662526),
-    FRAC_CONST(0.69740646622548552),
-    FRAC_CONST(0.71667581294953808),
-    FRAC_CONST(0.73539901809352737),
-    FRAC_CONST(0.75353642514900732),
-    FRAC_CONST(0.77105232699609816),
-    FRAC_CONST(0.78791518148597028),
-    FRAC_CONST(0.80409778560147072),
-    FRAC_CONST(0.81957740622770781),
-    FRAC_CONST(0.83433586607383625),
-    FRAC_CONST(0.84835958382689225),
-    FRAC_CONST(0.86163956818294229),
-    FRAC_CONST(0.87417136598406997),
-    FRAC_CONST(0.88595496528524853),
-    FRAC_CONST(0.89699465477567619),
-    FRAC_CONST(0.90729884157670959),
-    FRAC_CONST(0.91687983002436779),
-    FRAC_CONST(0.92575356460899649),
-    FRAC_CONST(0.93393934077779084),
-    FRAC_CONST(0.94145948779657318),
-    FRAC_CONST(0.94833902830402828),
-    FRAC_CONST(0.95460531956280026),
-    FRAC_CONST(0.96028768170574896),
-    FRAC_CONST(0.96541701848104766),
-    FRAC_CONST(0.97002543610646474),
-    FRAC_CONST(0.97414586584250062),
-    FRAC_CONST(0.97781169577969584),
-    FRAC_CONST(0.98105641710392333),
-    FRAC_CONST(0.98391328975491177),
-    FRAC_CONST(0.98641503193166202),
-    FRAC_CONST(0.98859353733226141),
-    FRAC_CONST(0.99047962335771556),
-    FRAC_CONST(0.9921028127769449),
-    FRAC_CONST(0.99349115056397752),
-    FRAC_CONST(0.99467105680259038),
-    FRAC_CONST(0.9956672157341897),
-    FRAC_CONST(0.99650250022834352),
-    FRAC_CONST(0.99719793020823266),
-    FRAC_CONST(0.99777266288955657),
-    FRAC_CONST(0.99824401211201486),
-    FRAC_CONST(0.99862749357391212),
-    FRAC_CONST(0.99893689243401962),
-    FRAC_CONST(0.99918434952623147),
-    FRAC_CONST(0.99938046234161726),
-    FRAC_CONST(0.99953439696357238),
-    FRAC_CONST(0.99965400728430465),
-    FRAC_CONST(0.99974595807027455),
-    FRAC_CONST(0.99981584876278362),
-    FRAC_CONST(0.99986833527824281),
-    FRAC_CONST(0.99990724749057802),
-    FRAC_CONST(0.99993570051598468),
-    FRAC_CONST(0.99995619835942084),
-    FRAC_CONST(0.99997072890647543),
-    FRAC_CONST(0.9999808496399144),
-    FRAC_CONST(0.99998776381655818),
-    FRAC_CONST(0.99999238714961569),
-    FRAC_CONST(0.99999540529959718),
-    FRAC_CONST(0.99999732268176988),
-    FRAC_CONST(0.99999850325054862),
-    FRAC_CONST(0.99999920402413744),
-    FRAC_CONST(0.9999996021706401),
-    FRAC_CONST(0.99999981649545566),
-    FRAC_CONST(0.99999992415545547),
-    FRAC_CONST(0.99999997338493041),
-    FRAC_CONST(0.99999999295825959),
-    FRAC_CONST(0.99999999904096815)
-};
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-ALIGN static const real_t kbd_short_120[] =
-{
-    FRAC_CONST(0.0000452320086910),
-    FRAC_CONST(0.0001274564692111),
-    FRAC_CONST(0.0002529398385345),
-    FRAC_CONST(0.0004335140496648),
-    FRAC_CONST(0.0006827100966952),
-    FRAC_CONST(0.0010158708222246),
-    FRAC_CONST(0.0014502162869659),
-    FRAC_CONST(0.0020048865156264),
-    FRAC_CONST(0.0027009618393178),
-    FRAC_CONST(0.0035614590925043),
-    FRAC_CONST(0.0046113018122711),
-    FRAC_CONST(0.0058772627936484),
-    FRAC_CONST(0.0073878776584103),
-    FRAC_CONST(0.0091733284512589),
-    FRAC_CONST(0.0112652966728373),
-    FRAC_CONST(0.0136967855861945),
-    FRAC_CONST(0.0165019120857793),
-    FRAC_CONST(0.0197156688892217),
-    FRAC_CONST(0.0233736582950619),
-    FRAC_CONST(0.0275117992367496),
-    FRAC_CONST(0.0321660098468534),
-    FRAC_CONST(0.0373718682174417),
-    FRAC_CONST(0.0431642544948834),
-    FRAC_CONST(0.0495769778717676),
-    FRAC_CONST(0.0566423924273392),
-    FRAC_CONST(0.0643910061132260),
-    FRAC_CONST(0.0728510874761729),
-    FRAC_CONST(0.0820482749475221),
-    FRAC_CONST(0.0920051937045235),
-    FRAC_CONST(0.1027410852163450),
-    FRAC_CONST(0.1142714546239370),
-    FRAC_CONST(0.1266077410648368),
-    FRAC_CONST(0.1397570159398145),
-    FRAC_CONST(0.1537217139274270),
-    FRAC_CONST(0.1684994012857075),
-    FRAC_CONST(0.1840825856392944),
-    FRAC_CONST(0.2004585710384133),
-    FRAC_CONST(0.2176093615976121),
-    FRAC_CONST(0.2355116164824983),
-    FRAC_CONST(0.2541366584185075),
-    FRAC_CONST(0.2734505372545160),
-    FRAC_CONST(0.2934141494343369),
-    FRAC_CONST(0.3139834135200387),
-    FRAC_CONST(0.3351095011824163),
-    FRAC_CONST(0.3567391223361566),
-    FRAC_CONST(0.3788148623608774),
-    FRAC_CONST(0.4012755686250732),
-    FRAC_CONST(0.4240567828288110),
-    FRAC_CONST(0.4470912150133537),
-    FRAC_CONST(0.4703092544619664),
-    FRAC_CONST(0.4936395121456694),
-    FRAC_CONST(0.5170093888596962),
-    FRAC_CONST(0.5403456627591340),
-    FRAC_CONST(0.5635750896430154),
-    FRAC_CONST(0.5866250090612892),
-    FRAC_CONST(0.6094239491338723),
-    FRAC_CONST(0.6319022228794100),
-    FRAC_CONST(0.6539925088563087),
-    FRAC_CONST(0.6756304090216887),
-    FRAC_CONST(0.6967549769155277),
-    FRAC_CONST(0.7173092095766250),
-    FRAC_CONST(0.7372404969921184),
-    FRAC_CONST(0.7565010233699827),
-    FRAC_CONST(0.7750481150999984),
-    FRAC_CONST(0.7928445309277697),
-    FRAC_CONST(0.8098586906021583),
-    FRAC_CONST(0.8260648390616000),
-    FRAC_CONST(0.8414431440907889),
-    FRAC_CONST(0.8559797262966709),
-    FRAC_CONST(0.8696666212110165),
-    FRAC_CONST(0.8825016743142358),
-    FRAC_CONST(0.8944883707784486),
-    FRAC_CONST(0.9056356027326216),
-    FRAC_CONST(0.9159573778427816),
-    FRAC_CONST(0.9254724739583072),
-    FRAC_CONST(0.9342040454819434),
-    FRAC_CONST(0.9421791879559176),
-    FRAC_CONST(0.9494284680976784),
-    FRAC_CONST(0.9559854271440150),
-    FRAC_CONST(0.9618860658493898),
-    FRAC_CONST(0.9671683198119525),
-    FRAC_CONST(0.9718715339497299),
-    FRAC_CONST(0.9760359449042233),
-    FRAC_CONST(0.9797021798981759),
-    FRAC_CONST(0.9829107801140203),
-    FRAC_CONST(0.9857017559923277),
-    FRAC_CONST(0.9881141809867999),
-    FRAC_CONST(0.9901858292742826),
-    FRAC_CONST(0.9919528617340944),
-    FRAC_CONST(0.9934495632180476),
-    FRAC_CONST(0.9947081327749199),
-    FRAC_CONST(0.9957585271195989),
-    FRAC_CONST(0.9966283562984427),
-    FRAC_CONST(0.9973428292485683),
-    FRAC_CONST(0.9979247458259197),
-    FRAC_CONST(0.9983945309245774),
-    FRAC_CONST(0.9987703055583410),
-    FRAC_CONST(0.9990679892449266),
-    FRAC_CONST(0.9993014277313617),
-    FRAC_CONST(0.9994825400228521),
-    FRAC_CONST(0.9996214788122335),
-    FRAC_CONST(0.9997267987294857),
-    FRAC_CONST(0.9998056273097539),
-    FRAC_CONST(0.9998638341781910),
-    FRAC_CONST(0.9999061946325793),
-    FRAC_CONST(0.9999365445321382),
-    FRAC_CONST(0.9999579241373735),
-    FRAC_CONST(0.9999727092594598),
-    FRAC_CONST(0.9999827287418790),
-    FRAC_CONST(0.9999893678912771),
-    FRAC_CONST(0.9999936579844555),
-    FRAC_CONST(0.9999963523959187),
-    FRAC_CONST(0.9999979902130101),
-    FRAC_CONST(0.9999989484358076),
-    FRAC_CONST(0.9999994840031031),
-    FRAC_CONST(0.9999997669534347),
-    FRAC_CONST(0.9999999060327799),
-    FRAC_CONST(0.9999999680107184),
-    FRAC_CONST(0.9999999918774242),
-    FRAC_CONST(0.9999999989770326)
-};
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/libfaad.dsp b/lib/libfaad2/libfaad/libfaad.dsp
deleted file mode 100644 (file)
index b3e3f2b..0000000
+++ /dev/null
@@ -1,484 +0,0 @@
-# Microsoft Developer Studio Project File - Name="libfaad" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=libfaad - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "libfaad.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "libfaad.mak" CFG="libfaad - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "libfaad - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "libfaad - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=xicl6.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "libfaad - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-MTL=midl.exe
-F90=df.exe
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /G6 /MD /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD BASE RSC /l 0x413 /d "NDEBUG"
-# ADD RSC /l 0x413 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF  "$(CFG)" == "libfaad - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-MTL=midl.exe
-F90=df.exe
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /ZI /Od /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x413 /d "_DEBUG"
-# ADD RSC /l 0x413 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF 
-
-# Begin Target
-
-# Name "libfaad - Win32 Release"
-# Name "libfaad - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\bits.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\cfft.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\common.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\decoder.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\drc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\drm_dec.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\error.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\filtbank.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hcr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\huffman.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ic_predict.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\is.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\lt_predict.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mdct.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ms.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\output.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\pns.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ps_dec.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ps_syntax.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\pulse.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\rvlc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_dct.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_dec.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_e_nf.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_fbt.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_hfadj.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_hfgen.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_tf_grid.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\specrec.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssr_fb.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssr_ipqf.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntax.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\tns.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Group "codebook"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\codebook\hcb_1.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_10.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_11.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_2.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_3.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_4.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_5.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_6.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_7.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_8.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_9.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_sf.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\analysis.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\bits.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\cfft.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\cfft_tab.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\common.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\decoder.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\drc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\drm_dec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\error.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\filtbank.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\fixed.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\huffman.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ic_predict.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\iq_table.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\is.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\kbd_win.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\lt_predict.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mdct.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mdct_tab.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ms.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\output.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pns.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ps_dec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ps_tables.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pulse.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\rvlc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_dct.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_dec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_e_nf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_fbt.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_hfadj.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_hfgen.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_huff.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_noise.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_qmf.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_qmf_c.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_syntax.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_tf_grid.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sine_win.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\specrec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssr.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\structs.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntax.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\tns.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/lib/libfaad2/libfaad/libfaad.dsw b/lib/libfaad2/libfaad/libfaad.dsw
deleted file mode 100644 (file)
index 0dad6ac..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "libfaad"=.\libfaad.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/lib/libfaad2/libfaad/libfaad.sln b/lib/libfaad2/libfaad/libfaad.sln
deleted file mode 100644 (file)
index 3fd3b69..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfaad", "libfaad.vcproj", "{4274723E-6B9D-4B3E-A8BE-7566165AA169}"
-       ProjectSection(ProjectDependencies) = postProject
-       EndProjectSection
-EndProject
-Global
-       GlobalSection(DPCodeReviewSolutionGUID) = preSolution
-               DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000}
-       EndGlobalSection
-       GlobalSection(SolutionConfiguration) = preSolution
-               Debug = Debug
-               Release = Release
-       EndGlobalSection
-       GlobalSection(ProjectConfiguration) = postSolution
-               {4274723E-6B9D-4B3E-A8BE-7566165AA169}.Debug.ActiveCfg = Debug|Win32
-               {4274723E-6B9D-4B3E-A8BE-7566165AA169}.Debug.Build.0 = Debug|Win32
-               {4274723E-6B9D-4B3E-A8BE-7566165AA169}.Release.ActiveCfg = Release|Win32
-               {4274723E-6B9D-4B3E-A8BE-7566165AA169}.Release.Build.0 = Release|Win32
-       EndGlobalSection
-       GlobalSection(ExtensibilityGlobals) = postSolution
-       EndGlobalSection
-       GlobalSection(ExtensibilityAddIns) = postSolution
-       EndGlobalSection
-EndGlobal
diff --git a/lib/libfaad2/libfaad/libfaad.vcproj b/lib/libfaad2/libfaad/libfaad.vcproj
deleted file mode 100644 (file)
index dab4b80..0000000
+++ /dev/null
@@ -1,1298 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="8,00"
-       Name="libfaad"
-       ProjectGUID="{BC3EFE27-9015-4C9C-AD3C-72B3B7ED2114}"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="4"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               AdditionalOptions=""
-                               Optimization="2"
-                               InlineFunctionExpansion="1"
-                               PreprocessorDefinitions="NDEBUG;WIN32;_LIB"
-                               StringPooling="true"
-                               RuntimeLibrary="2"
-                               EnableFunctionLevelLinking="true"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Release/libfaad.pch"
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               Detect64BitPortabilityProblems="true"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1043"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLibrarianTool"
-                               AdditionalOptions=""
-                               OutputFile=".\Release\libfaad.lib"
-                               SuppressStartupBanner="true"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="4"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               AdditionalOptions=""
-                               Optimization="0"
-                               PreprocessorDefinitions="_DEBUG;WIN32;_LIB"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="3"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\Debug/libfaad.pch"
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               DebugInformationFormat="4"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1043"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLibrarianTool"
-                               AdditionalOptions=""
-                               OutputFile=".\Debug\libfaad.lib"
-                               SuppressStartupBanner="true"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-                       >
-                       <File
-                               RelativePath="bits.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="cfft.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="common.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="decoder.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="drc.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath=".\drm_dec.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath="error.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="filtbank.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="hcr.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="huffman.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="ic_predict.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="is.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="lt_predict.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="mdct.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="mp4.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="ms.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="output.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="pns.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath=".\ps_dec.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ps_syntax.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath="pulse.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="rvlc.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="sbr_dct.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="sbr_dec.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="sbr_e_nf.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="sbr_fbt.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="sbr_hfadj.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="sbr_hfgen.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="sbr_huff.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="sbr_qmf.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="sbr_syntax.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="sbr_tf_grid.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="specrec.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="ssr.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="ssr_fb.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="ssr_ipqf.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="syntax.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-                       <File
-                               RelativePath="tns.c"
-                               >
-                               <FileConfiguration
-                                       Name="Release|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="2"
-                                               PreprocessorDefinitions=""
-                                       />
-                               </FileConfiguration>
-                               <FileConfiguration
-                                       Name="Debug|Win32"
-                                       >
-                                       <Tool
-                                               Name="VCCLCompilerTool"
-                                               AdditionalOptions=""
-                                               Optimization="0"
-                                               PreprocessorDefinitions=""
-                                               BasicRuntimeChecks="3"
-                                       />
-                               </FileConfiguration>
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl"
-                       >
-                       <File
-                               RelativePath="analysis.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="bits.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="cfft.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="cfft_tab.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="common.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="decoder.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="drc.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\drm_dec.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="error.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="filtbank.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="fixed.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="codebook\hcb.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="huffman.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="ic_predict.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="iq_table.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="is.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="kbd_win.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="lt_predict.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="mdct.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="mp4.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="ms.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="output.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="pns.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ps_dec.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ps_tables.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="pulse.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="rvlc.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sbr_dct.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sbr_dec.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sbr_e_nf.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sbr_fbt.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sbr_hfadj.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sbr_hfgen.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sbr_huff.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sbr_noise.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sbr_qmf.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sbr_syntax.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sbr_tf_grid.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="sine_win.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="specrec.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="ssr.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="structs.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="syntax.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath="tns.h"
-                               >
-                       </File>
-                       <Filter
-                               Name="codebook"
-                               >
-                               <File
-                                       RelativePath="codebook\hcb_1.h"
-                                       >
-                               </File>
-                               <File
-                                       RelativePath="codebook\hcb_10.h"
-                                       >
-                               </File>
-                               <File
-                                       RelativePath="codebook\hcb_11.h"
-                                       >
-                               </File>
-                               <File
-                                       RelativePath="codebook\hcb_2.h"
-                                       >
-                               </File>
-                               <File
-                                       RelativePath="codebook\hcb_3.h"
-                                       >
-                               </File>
-                               <File
-                                       RelativePath="codebook\hcb_4.h"
-                                       >
-                               </File>
-                               <File
-                                       RelativePath="codebook\hcb_5.h"
-                                       >
-                               </File>
-                               <File
-                                       RelativePath="codebook\hcb_6.h"
-                                       >
-                               </File>
-                               <File
-                                       RelativePath="codebook\hcb_7.h"
-                                       >
-                               </File>
-                               <File
-                                       RelativePath="codebook\hcb_8.h"
-                                       >
-                               </File>
-                               <File
-                                       RelativePath="codebook\hcb_9.h"
-                                       >
-                               </File>
-                               <File
-                                       RelativePath="codebook\hcb_sf.h"
-                                       >
-                               </File>
-                       </Filter>
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/lib/libfaad2/libfaad/libfaad2.def b/lib/libfaad2/libfaad/libfaad2.def
deleted file mode 100644 (file)
index beee266..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-LIBRARY  libfaad.dll
-EXPORTS
-;
-; libfaad2 exports
-;
-NeAACDecOpen                      @1
-NeAACDecGetCurrentConfiguration   @2
-NeAACDecSetConfiguration          @3
-NeAACDecInit                      @4
-NeAACDecInit2                     @5
-NeAACDecDecode                    @6
-NeAACDecClose                     @7
-NeAACDecGetErrorMessage           @8
-NeAACDecAudioSpecificConfig       @9
-NeAACDecPostSeekReset             @10
-NeAACDecDecode2                   @11
diff --git a/lib/libfaad2/libfaad/libfaad2.vcp b/lib/libfaad2/libfaad/libfaad2.vcp
deleted file mode 100644 (file)
index 7e27677..0000000
+++ /dev/null
@@ -1,2091 +0,0 @@
-# Microsoft eMbedded Visual Tools Project File - Name="libfaad2" - Package Owner=<4>
-# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (WCE x86) Static Library" 0x8304
-# TARGTYPE "Win32 (WCE ARM) Static Library" 0x8504
-
-CFG=libfaad2 - Win32 (WCE ARM) Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "libfaad2.vcn".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "libfaad2.vcn" CFG="libfaad2 - Win32 (WCE ARM) Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "libfaad2 - Win32 (WCE ARM) Release" (based on "Win32 (WCE ARM) Static Library")
-!MESSAGE "libfaad2 - Win32 (WCE ARM) Debug" (based on "Win32 (WCE ARM) Static Library")
-!MESSAGE "libfaad2 - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Static Library")
-!MESSAGE "libfaad2 - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Static Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-# PROP ATL_Project 2
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "ARMRel"
-# PROP BASE Intermediate_Dir "ARMRel"
-# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "ARMRel"
-# PROP Intermediate_Dir "ARMRel"
-# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP Target_Dir ""
-CPP=clarm.exe
-# ADD BASE CPP /nologo /W3 /GX- /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Oxs /M$(CECrtMT)  /c
-# ADD CPP /nologo /W3 /GX- /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "NDEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /Oxs /M$(CECrtMT)  /c
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "ARMDbg"
-# PROP BASE Intermediate_Dir "ARMDbg"
-# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "ARMDbg"
-# PROP Intermediate_Dir "ARMDbg"
-# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP Target_Dir ""
-CPP=clarm.exe
-# ADD BASE CPP /nologo /W3 /GX- /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug)  /c
-# ADD CPP /nologo /W3 /GX- /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_LIB" /YX /M$(CECrtMTDebug)  /c
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "X86Rel"
-# PROP BASE Intermediate_Dir "X86Rel"
-# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "X86Rel"
-# PROP Intermediate_Dir "X86Rel"
-# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /GX- /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /Oxs  /c
-# ADD CPP /nologo /W3 /GX- /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /D "_LIB" /YX /Gs8192 /GF /Oxs  /c
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "X86Dbg"
-# PROP BASE Intermediate_Dir "X86Dbg"
-# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
-# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "X86Dbg"
-# PROP Intermediate_Dir "X86Dbg"
-# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
-# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
-# PROP Target_Dir ""
-CPP=cl.exe
-# ADD BASE CPP /nologo /W3 /GX- /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF  /c
-# ADD CPP /nologo /W3 /GX- /Zi /Od /D "DEBUG" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "_LIB" /YX /Gs8192 /GF  /c
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-
-!ENDIF 
-
-# Begin Target
-
-# Name "libfaad2 - Win32 (WCE ARM) Release"
-# Name "libfaad2 - Win32 (WCE ARM) Debug"
-# Name "libfaad2 - Win32 (WCE x86) Release"
-# Name "libfaad2 - Win32 (WCE x86) Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Group "codebook"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\codebook\hcb_1.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_1=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_1=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_1=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_1=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_10.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_10=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_10=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_10=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_10=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_11.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_11=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_11=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_11=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_11=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_2.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_2=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_2=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_2=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_2=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_3.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_3=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_3=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_3=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_3=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_4.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_4=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_4=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_4=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_4=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_5.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_5=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_5=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_5=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_5=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_6.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_6=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_6=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_6=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_6=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_7.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_7=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_7=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_7=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_7=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_8.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_8=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_8=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_8=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_8=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_9.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_9=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_9=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_9=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_9=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb_sf.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_HCB_S=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_HCB_S=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_HCB_S=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_HCB_S=\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\bits.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_BITS_=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_BITS_=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_BITS_=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_BITS_=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\cfft.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_CFFT_=\
-       ".\cfft.h"\
-       ".\cfft_tab.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_CFFT_=\
-       ".\cfft.h"\
-       ".\cfft_tab.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_CFFT_=\
-       ".\cfft.h"\
-       ".\cfft_tab.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_CFFT_=\
-       ".\cfft.h"\
-       ".\cfft_tab.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\common.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_COMMO=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_COMMO=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_COMMO=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_COMMO=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\data.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_DATA_=\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_DATA_=\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_DATA_=\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_DATA_=\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\decoder.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_DECOD=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\dither.h"\
-       ".\drc.h"\
-       ".\error.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\is.h"\
-       ".\lt_predict.h"\
-       ".\mdct.h"\
-       ".\mp4.h"\
-       ".\ms.h"\
-       ".\output.h"\
-       ".\pns.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_DECOD=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\dither.h"\
-       ".\drc.h"\
-       ".\error.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\is.h"\
-       ".\lt_predict.h"\
-       ".\mdct.h"\
-       ".\mp4.h"\
-       ".\ms.h"\
-       ".\output.h"\
-       ".\pns.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_DECOD=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\dither.h"\
-       ".\drc.h"\
-       ".\error.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\is.h"\
-       ".\lt_predict.h"\
-       ".\mdct.h"\
-       ".\mp4.h"\
-       ".\ms.h"\
-       ".\output.h"\
-       ".\pns.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_DECOD=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\dither.h"\
-       ".\drc.h"\
-       ".\error.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\is.h"\
-       ".\lt_predict.h"\
-       ".\mdct.h"\
-       ".\mp4.h"\
-       ".\ms.h"\
-       ".\output.h"\
-       ".\pns.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\dither.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_DITHE=\
-       ".\common.h"\
-       ".\dither.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_DITHE=\
-       ".\common.h"\
-       ".\dither.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_DITHE=\
-       ".\common.h"\
-       ".\dither.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_DITHE=\
-       ".\common.h"\
-       ".\dither.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\drc.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_DRC_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\drc.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_DRC_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\drc.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_DRC_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\drc.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_DRC_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\drc.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\error.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_ERROR=\
-       ".\common.h"\
-       ".\error.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_ERROR=\
-       ".\common.h"\
-       ".\error.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_ERROR=\
-       ".\common.h"\
-       ".\error.h"\
-       ".\fixed.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_ERROR=\
-       ".\common.h"\
-       ".\error.h"\
-       ".\fixed.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\filtbank.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_FILTB=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\kbd_win.h"\
-       ".\mdct.h"\
-       ".\sine_win.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_FILTB=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\kbd_win.h"\
-       ".\mdct.h"\
-       ".\sine_win.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_FILTB=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\kbd_win.h"\
-       ".\mdct.h"\
-       ".\sine_win.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_FILTB=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\kbd_win.h"\
-       ".\mdct.h"\
-       ".\sine_win.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ic_predict.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_IC_PR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_IC_PR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_IC_PR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_IC_PR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\is.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_IS_C2c=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\is.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_IS_C2c=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\is.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_IS_C2c=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\is.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_IS_C2c=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\is.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\lt_predict.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_LT_PR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\lt_predict.h"\
-       ".\mdct.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_LT_PR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\lt_predict.h"\
-       ".\mdct.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_LT_PR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\lt_predict.h"\
-       ".\mdct.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_LT_PR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\lt_predict.h"\
-       ".\mdct.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\mdct.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_MDCT_=\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\mdct.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_MDCT_=\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\mdct.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_MDCT_=\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\mdct.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_MDCT_=\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\mdct.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_MP4_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\mp4.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_MP4_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\mp4.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_MP4_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\mp4.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_MP4_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\mp4.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\ms.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_MS_C34=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\is.h"\
-       ".\ms.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_MS_C34=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\is.h"\
-       ".\ms.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_MS_C34=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\is.h"\
-       ".\ms.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_MS_C34=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\is.h"\
-       ".\ms.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\output.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_OUTPU=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\decoder.h"\
-       ".\dither.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\output.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_OUTPU=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\decoder.h"\
-       ".\dither.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\output.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_OUTPU=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\decoder.h"\
-       ".\dither.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\output.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_OUTPU=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\common.h"\
-       ".\decoder.h"\
-       ".\dither.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\output.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\pns.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_PNS_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_PNS_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_PNS_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_PNS_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\pns.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\pulse.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_PULSE=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\pulse.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_PULSE=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\pulse.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_PULSE=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\pulse.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_PULSE=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\pulse.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\reordered_spectral_data.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_REORD=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       ".\pulse.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_REORD=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       ".\pulse.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_REORD=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       ".\pulse.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_REORD=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       ".\pulse.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\rvlc_scale_factors.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_RVLC_=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\rvlc_scale_factors.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_RVLC_=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\rvlc_scale_factors.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_RVLC_=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\rvlc_scale_factors.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_RVLC_=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\rvlc_scale_factors.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\specrec.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_SPECR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       ".\iq_table.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_SPECR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       ".\iq_table.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_SPECR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       ".\iq_table.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_SPECR=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\fixed.h"\
-       ".\iq_table.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntax.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_SYNTA=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\huffman.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\pulse.h"\
-       ".\rvlc_scale_factors.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_SYNTA=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\huffman.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\pulse.h"\
-       ".\rvlc_scale_factors.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_SYNTA=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\huffman.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\pulse.h"\
-       ".\rvlc_scale_factors.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_SYNTA=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\cfft.h"\
-       ".\codebook\hcb.h"\
-       ".\common.h"\
-       ".\data.h"\
-       ".\decoder.h"\
-       ".\filtbank.h"\
-       ".\fixed.h"\
-       ".\huffman.h"\
-       ".\ic_predict.h"\
-       ".\mdct.h"\
-       ".\pulse.h"\
-       ".\rvlc_scale_factors.h"\
-       ".\specrec.h"\
-       ".\syntax.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=.\tns.c
-
-!IF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Release"
-
-DEP_CPP_TNS_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE ARM) Debug"
-
-DEP_CPP_TNS_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Release"
-
-DEP_CPP_TNS_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ELSEIF  "$(CFG)" == "libfaad2 - Win32 (WCE x86) Debug"
-
-DEP_CPP_TNS_C=\
-       ".\analysis.h"\
-       ".\bits.h"\
-       ".\common.h"\
-       ".\fixed.h"\
-       ".\syntax.h"\
-       ".\tns.h"\
-       
-
-!ENDIF 
-
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\analysis.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\bits.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\cfft.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\cfft_tab.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\common.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\data.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\decoder.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\dither.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\drc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\error.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\filtbank.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\fixed.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\huffman.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ic_predict.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\iq_table.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\is.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\kbd_win.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\lt_predict.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mdct.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ms.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\output.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pns.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pulse.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\rvlc_scale_factors.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sine_win.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\specrec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntax.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\tns.h
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/lib/libfaad2/libfaad/libfaad2.vcw b/lib/libfaad2/libfaad/libfaad2.vcw
deleted file mode 100644 (file)
index 54f8aa5..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft eMbedded Visual Tools Workspace File, Format Version 3.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "libfaad2"=".\libfaad2.vcp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/lib/libfaad2/libfaad/libfaad2_dll.dsp b/lib/libfaad2/libfaad/libfaad2_dll.dsp
deleted file mode 100644 (file)
index 708c7b3..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-# Microsoft Developer Studio Project File - Name="libfaad2_dll" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=libfaad2_dll - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "libfaad2_dll.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "libfaad2_dll.mak" CFG="libfaad2_dll - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "libfaad2_dll - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "libfaad2_dll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "libfaad2_dll - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "libfaad2_dll___Win32_Release"
-# PROP BASE Intermediate_Dir "libfaad2_dll___Win32_Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "ReleaseDLL"
-# PROP Intermediate_Dir "ReleaseDLL"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libfaad2_dll_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "fftw" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libfaad2_dll_EXPORTS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "NDEBUG"
-# ADD RSC /l 0x407 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 /nologo /dll /machine:I386 /out:"ReleaseDLL/libfaad2.dll"
-
-!ELSEIF  "$(CFG)" == "libfaad2_dll - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "libfaad2_dll___Win32_Debug"
-# PROP BASE Intermediate_Dir "libfaad2_dll___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "DebugDLL"
-# PROP Intermediate_Dir "DebugDLL"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libfaad2_dll_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "fftw" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "libfaad2_dll_EXPORTS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x407 /d "_DEBUG"
-# ADD RSC /l 0x407 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 /nologo /dll /debug /machine:I386 /out:"DebugDLL/libfaad2.dll" /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "libfaad2_dll - Win32 Release"
-# Name "libfaad2_dll - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\bits.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\cfft.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\common.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\decoder.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\drc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\error.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\filtbank.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\hcr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\huffman.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ic_predict.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\is.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\lt_predict.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mdct.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ms.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\output.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\pns.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ps_dec.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ps_syntax.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\pulse.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\rvlc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_dct.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_dec.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_e_nf.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_fbt.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_hfadj.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sbr_hfgen.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_tf_grid.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\specrec.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssr_fb.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssr_ipqf.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntax.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\tns.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\analysis.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\bits.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\cfft.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\common.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\data.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\decoder.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\dither.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\drc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\error.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\filtbank.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\codebook\hcb.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\huffman.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ic_predict.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\is.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\kbd_win.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\lt_predict.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mdct.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\mp4.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ms.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\output.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pns.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\pulse.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\rvlc.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\specrec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\ssr.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\syntax.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\Tns.h
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\libfaad2.def
-# End Source File
-# End Target
-# End Project
diff --git a/lib/libfaad2/libfaad/libfaad2_dll.dsw b/lib/libfaad2/libfaad/libfaad2_dll.dsw
deleted file mode 100644 (file)
index 2242a42..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "libfaad2_dll"=.\libfaad2_dll.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/lib/libfaad2/libfaad/libfaad2_dll.sln b/lib/libfaad2/libfaad/libfaad2_dll.sln
deleted file mode 100644 (file)
index c578eb4..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual C++ Express 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfaad2_dll", "libfaad2_dll.vcproj", "{482DA264-EE88-4575-B208-87C4CB80CD08}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Win32 = Debug|Win32
-               Release|Win32 = Release|Win32
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {482DA264-EE88-4575-B208-87C4CB80CD08}.Debug|Win32.ActiveCfg = Debug|Win32
-               {482DA264-EE88-4575-B208-87C4CB80CD08}.Debug|Win32.Build.0 = Debug|Win32
-               {482DA264-EE88-4575-B208-87C4CB80CD08}.Release|Win32.ActiveCfg = Release|Win32
-               {482DA264-EE88-4575-B208-87C4CB80CD08}.Release|Win32.Build.0 = Release|Win32
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-EndGlobal
diff --git a/lib/libfaad2/libfaad/libfaad2_dll.vcproj b/lib/libfaad2/libfaad/libfaad2_dll.vcproj
deleted file mode 100644 (file)
index ee642d0..0000000
+++ /dev/null
@@ -1,616 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="9,00"
-       Name="libfaad2_dll"
-       ProjectGUID="{482DA264-EE88-4575-B208-87C4CB80CD08}"
-       RootNamespace="libfaad2"
-       TargetFrameworkVersion="131072"
-       >
-       <Platforms>
-               <Platform
-                       Name="Win32"
-               />
-       </Platforms>
-       <ToolFiles>
-       </ToolFiles>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory="$(SolutionDir)libs\$(ProjectName)\$(ConfigurationName)\"
-                       IntermediateDirectory="$(SolutionDir)objs\$(ProjectName)\$(ConfigurationName)\"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               MkTypLibCompatible="true"
-                               SuppressStartupBanner="true"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\DebugDLL/libfaad2_dll.tlb"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               AdditionalOptions=""
-                               Optimization="0"
-                               AdditionalIncludeDirectories="fftw"
-                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;libfaad2_dll_EXPORTS"
-                               BasicRuntimeChecks="3"
-                               RuntimeLibrary="1"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\DebugDLL/libfaad2_dll.pch"
-                               AssemblerListingLocation=".\DebugDLL/"
-                               ObjectFile=".\DebugDLL/"
-                               ProgramDataBaseFileName=".\DebugDLL/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               DebugInformationFormat="4"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1031"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="odbc32.lib odbccp32.lib"
-                               OutputFile="../../../../../../system/players/dvdplayer/libfaad.dll"
-                               LinkIncremental="2"
-                               SuppressStartupBanner="true"
-                               ModuleDefinitionFile=".\libfaad2.def"
-                               GenerateDebugInformation="true"
-                               ProgramDatabaseFile=".\DebugDLL/libfaad2.pdb"
-                               RandomizedBaseAddress="1"
-                               DataExecutionPrevention="0"
-                               ImportLibrary=".\DebugDLL/libfaad2.lib"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory="$(SolutionDir)libs\$(ProjectName)\$(ConfigurationName)\"
-                       IntermediateDirectory="$(SolutionDir)objs\$(ProjectName)\$(ConfigurationName)\"
-                       ConfigurationType="2"
-                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="false"
-                       CharacterSet="2"
-                       >
-                       <Tool
-                               Name="VCPreBuildEventTool"
-                       />
-                       <Tool
-                               Name="VCCustomBuildTool"
-                       />
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"
-                       />
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               MkTypLibCompatible="true"
-                               SuppressStartupBanner="true"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\ReleaseDLL/libfaad2_dll.tlb"
-                       />
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               AdditionalOptions=""
-                               InlineFunctionExpansion="1"
-                               EnableIntrinsicFunctions="true"
-                               FavorSizeOrSpeed="1"
-                               AdditionalIncludeDirectories=""
-                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;libfaad2_dll_EXPORTS"
-                               StringPooling="true"
-                               RuntimeLibrary="0"
-                               EnableFunctionLevelLinking="true"
-                               EnableEnhancedInstructionSet="1"
-                               UsePrecompiledHeader="0"
-                               PrecompiledHeaderFile=".\ReleaseDLL/libfaad2_dll.pch"
-                               AssemblerListingLocation=".\ReleaseDLL/"
-                               ObjectFile=".\ReleaseDLL/"
-                               ProgramDataBaseFileName=".\ReleaseDLL/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="true"
-                               CompileAs="0"
-                       />
-                       <Tool
-                               Name="VCManagedResourceCompilerTool"
-                       />
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1031"
-                       />
-                       <Tool
-                               Name="VCPreLinkEventTool"
-                       />
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               OutputFile="../../../../../../system/players/dvdplayer/libfaad.dll"
-                               LinkIncremental="1"
-                               SuppressStartupBanner="true"
-                               ModuleDefinitionFile=".\libfaad2.def"
-                               ProgramDatabaseFile=".\ReleaseDLL/libfaad2.pdb"
-                               RandomizedBaseAddress="1"
-                               DataExecutionPrevention="0"
-                               ImportLibrary=".\ReleaseDLL/libfaad2.lib"
-                       />
-                       <Tool
-                               Name="VCALinkTool"
-                       />
-                       <Tool
-                               Name="VCManifestTool"
-                       />
-                       <Tool
-                               Name="VCXDCMakeTool"
-                       />
-                       <Tool
-                               Name="VCBscMakeTool"
-                       />
-                       <Tool
-                               Name="VCFxCopTool"
-                       />
-                       <Tool
-                               Name="VCAppVerifierTool"
-                       />
-                       <Tool
-                               Name="VCPostBuildEventTool"
-                       />
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       >
-                       <File
-                               RelativePath=".\bits.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\cfft.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\common.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\decoder.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\drc.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\drm_dec.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\error.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\filtbank.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\hcr.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\huffman.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ic_predict.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\is.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\lt_predict.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\mdct.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\mp4.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ms.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\output.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\pns.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ps_dec.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ps_syntax.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\pulse.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\rvlc.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_dct.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_dec.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_e_nf.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_fbt.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_hfadj.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_hfgen.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_huff.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_qmf.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_syntax.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_tf_grid.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\specrec.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ssr.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ssr_fb.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ssr_ipqf.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\syntax.c"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\tns.c"
-                               >
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       >
-                       <File
-                               RelativePath=".\analysis.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\bits.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\cfft.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\cfft_tab.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\common.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\decoder.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\drc.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\drm_dec.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\error.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\filtbank.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\fixed.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_1.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_10.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_11.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_2.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_3.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_4.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_5.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_6.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_7.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_8.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_9.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\codebook\hcb_sf.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\huffman.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ic_predict.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\iq_table.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\is.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\kbd_win.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\lt_predict.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\mdct.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\mdct_tab.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\mp4.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ms.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\output.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\pns.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ps_tables.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\pulse.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_dct.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_dec.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_e_nf.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_fbt.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_hfadj.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_hfgen.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_huff.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_noise.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_qmf.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_qmf_c.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_syntax.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sbr_tf_grid.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\sine_win.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\specrec.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ssr.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ssr_fb.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ssr_ipqf.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\ssr_win.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\structs.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\syntax.h"
-                               >
-                       </File>
-                       <File
-                               RelativePath=".\tns.h"
-                               >
-                       </File>
-               </Filter>
-               <File
-                       RelativePath=".\libfaad2.def"
-                       >
-               </File>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/lib/libfaad2/libfaad/libfaad2_dll.vcxproj b/lib/libfaad2/libfaad/libfaad2_dll.vcxproj
deleted file mode 100644 (file)
index 6d19214..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup Label="ProjectConfigurations">
-    <ProjectConfiguration Include="Debug|Win32">
-      <Configuration>Debug</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-    <ProjectConfiguration Include="Release|Win32">
-      <Configuration>Release</Configuration>
-      <Platform>Win32</Platform>
-    </ProjectConfiguration>
-  </ItemGroup>
-  <PropertyGroup Label="Globals">
-    <ProjectGuid>{482DA264-EE88-4575-B208-87C4CB80CD08}</ProjectGuid>
-    <RootNamespace>libfaad2</RootNamespace>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-    <ConfigurationType>DynamicLibrary</ConfigurationType>
-    <UseOfMfc>false</UseOfMfc>
-    <CharacterSet>MultiByte</CharacterSet>
-  </PropertyGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-  <ImportGroup Label="ExtensionSettings">
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
-    <Import Project="..\..\..\project\VS2010Express\XBMC for Windows.props" />
-  </ImportGroup>
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
-    <Import Project="..\..\..\project\VS2010Express\XBMC for Windows.props" />
-  </ImportGroup>
-  <PropertyGroup Label="UserMacros" />
-  <PropertyGroup>
-    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)libs\$(TargetName)\$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)objs\$(TargetName)\$(Configuration)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)libs\$(TargetName)\$(Configuration)\</OutDir>
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)objs\$(TargetName)\$(Configuration)\</IntDir>
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">libfaad</TargetName>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">libfaad</TargetName>
-    <CustomBuildAfterTargets Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Build</CustomBuildAfterTargets>
-    <CustomBuildAfterTargets Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Build</CustomBuildAfterTargets>
-  </PropertyGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-    <Midl>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
-      <TypeLibraryName>.\DebugDLL/libfaad2_dll.tlb</TypeLibraryName>
-    </Midl>
-    <ClCompile>
-      <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-      <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>fftw;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;libfaad2_dll_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <PrecompiledHeaderOutputFile>.\DebugDLL/libfaad2_dll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>$(Configuration)DLL\vs2010\</AssemblerListingLocation>
-      <ObjectFileName>$(Configuration)DLL\vs2010\</ObjectFileName>
-      <ProgramDataBaseFileName>$(Configuration)DLL\vs2010\</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
-      <CompileAs>Default</CompileAs>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
-      <AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ModuleDefinitionFile>.\libfaad2.def</ModuleDefinitionFile>
-      <GenerateDebugInformation>true</GenerateDebugInformation>
-      <ProgramDatabaseFile>$(Configuration)DLL\vs2010\libfaad2.pdb</ProgramDatabaseFile>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <ImportLibrary>$(Configuration)DLL\vs2010\libfaad2.lib</ImportLibrary>
-    </Link>
-    <PostBuildEvent>
-      <Command>
-      </Command>
-    </PostBuildEvent>
-    <CustomBuildStep>
-      <Command>copy /B /Y "$(TargetPath)" "$(SolutionDir)..\..\system\players\dvdplayer\$(TargetFileName)"</Command>
-      <Message>Copy output</Message>
-      <Outputs>$(SolutionDir)..\..\system\players\dvdplayer\$(TargetFileName)</Outputs>
-      <Inputs>$(TargetPath)</Inputs>
-    </CustomBuildStep>
-  </ItemDefinitionGroup>
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-    <Midl>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <MkTypLibCompatible>true</MkTypLibCompatible>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <TargetEnvironment>Win32</TargetEnvironment>
-      <TypeLibraryName>.\ReleaseDLL/libfaad2_dll.tlb</TypeLibraryName>
-    </Midl>
-    <ClCompile>
-      <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions>
-      <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
-      <IntrinsicFunctions>true</IntrinsicFunctions>
-      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
-      <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
-      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;libfaad2_dll_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <StringPooling>true</StringPooling>
-      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
-      <FunctionLevelLinking>true</FunctionLevelLinking>
-      <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
-      <PrecompiledHeader>
-      </PrecompiledHeader>
-      <PrecompiledHeaderOutputFile>.\ReleaseDLL/libfaad2_dll.pch</PrecompiledHeaderOutputFile>
-      <AssemblerListingLocation>$(Configuration)DLL\vs2010\</AssemblerListingLocation>
-      <ObjectFileName>$(Configuration)DLL\vs2010\</ObjectFileName>
-      <ProgramDataBaseFileName>$(Configuration)DLL\vs2010\</ProgramDataBaseFileName>
-      <WarningLevel>Level3</WarningLevel>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <CompileAs>Default</CompileAs>
-    </ClCompile>
-    <ResourceCompile>
-      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-      <Culture>0x0407</Culture>
-    </ResourceCompile>
-    <Link>
-      <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
-      <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
-      <SuppressStartupBanner>true</SuppressStartupBanner>
-      <ModuleDefinitionFile>.\libfaad2.def</ModuleDefinitionFile>
-      <ProgramDatabaseFile>$(Configuration)DLL\vs2010\libfaad2.pdb</ProgramDatabaseFile>
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>
-      <DataExecutionPrevention>
-      </DataExecutionPrevention>
-      <ImportLibrary>$(Configuration)DLL\vs2010\libfaad2.lib</ImportLibrary>
-    </Link>
-    <PostBuildEvent>
-      <Command>
-      </Command>
-    </PostBuildEvent>
-    <CustomBuildStep>
-      <Command>copy /B /Y "$(TargetPath)" "$(SolutionDir)..\..\system\players\dvdplayer\$(TargetFileName)"</Command>
-      <Message>Copy output</Message>
-      <Outputs>$(SolutionDir)..\..\system\players\dvdplayer\$(TargetFileName)</Outputs>
-      <Inputs>$(TargetPath)</Inputs>
-    </CustomBuildStep>
-  </ItemDefinitionGroup>
-  <ItemGroup>
-    <ClCompile Include="bits.c" />
-    <ClCompile Include="cfft.c" />
-    <ClCompile Include="common.c" />
-    <ClCompile Include="decoder.c" />
-    <ClCompile Include="drc.c" />
-    <ClCompile Include="drm_dec.c" />
-    <ClCompile Include="error.c" />
-    <ClCompile Include="filtbank.c" />
-    <ClCompile Include="hcr.c" />
-    <ClCompile Include="huffman.c" />
-    <ClCompile Include="ic_predict.c" />
-    <ClCompile Include="is.c" />
-    <ClCompile Include="lt_predict.c" />
-    <ClCompile Include="mdct.c" />
-    <ClCompile Include="mp4.c" />
-    <ClCompile Include="ms.c" />
-    <ClCompile Include="output.c" />
-    <ClCompile Include="pns.c" />
-    <ClCompile Include="ps_dec.c" />
-    <ClCompile Include="ps_syntax.c" />
-    <ClCompile Include="pulse.c" />
-    <ClCompile Include="rvlc.c" />
-    <ClCompile Include="sbr_dct.c" />
-    <ClCompile Include="sbr_dec.c" />
-    <ClCompile Include="sbr_e_nf.c" />
-    <ClCompile Include="sbr_fbt.c" />
-    <ClCompile Include="sbr_hfadj.c" />
-    <ClCompile Include="sbr_hfgen.c" />
-    <ClCompile Include="sbr_huff.c" />
-    <ClCompile Include="sbr_qmf.c" />
-    <ClCompile Include="sbr_syntax.c" />
-    <ClCompile Include="sbr_tf_grid.c" />
-    <ClCompile Include="specrec.c" />
-    <ClCompile Include="ssr.c" />
-    <ClCompile Include="ssr_fb.c" />
-    <ClCompile Include="ssr_ipqf.c" />
-    <ClCompile Include="syntax.c" />
-    <ClCompile Include="tns.c" />
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="analysis.h" />
-    <ClInclude Include="bits.h" />
-    <ClInclude Include="cfft.h" />
-    <ClInclude Include="cfft_tab.h" />
-    <ClInclude Include="common.h" />
-    <ClInclude Include="decoder.h" />
-    <ClInclude Include="drc.h" />
-    <ClInclude Include="drm_dec.h" />
-    <ClInclude Include="error.h" />
-    <ClInclude Include="filtbank.h" />
-    <ClInclude Include="fixed.h" />
-    <ClInclude Include="codebook\hcb.h" />
-    <ClInclude Include="codebook\hcb_1.h" />
-    <ClInclude Include="codebook\hcb_10.h" />
-    <ClInclude Include="codebook\hcb_11.h" />
-    <ClInclude Include="codebook\hcb_2.h" />
-    <ClInclude Include="codebook\hcb_3.h" />
-    <ClInclude Include="codebook\hcb_4.h" />
-    <ClInclude Include="codebook\hcb_5.h" />
-    <ClInclude Include="codebook\hcb_6.h" />
-    <ClInclude Include="codebook\hcb_7.h" />
-    <ClInclude Include="codebook\hcb_8.h" />
-    <ClInclude Include="codebook\hcb_9.h" />
-    <ClInclude Include="codebook\hcb_sf.h" />
-    <ClInclude Include="huffman.h" />
-    <ClInclude Include="ic_predict.h" />
-    <ClInclude Include="iq_table.h" />
-    <ClInclude Include="is.h" />
-    <ClInclude Include="kbd_win.h" />
-    <ClInclude Include="lt_predict.h" />
-    <ClInclude Include="mdct.h" />
-    <ClInclude Include="mdct_tab.h" />
-    <ClInclude Include="mp4.h" />
-    <ClInclude Include="ms.h" />
-    <ClInclude Include="output.h" />
-    <ClInclude Include="pns.h" />
-    <ClInclude Include="ps_tables.h" />
-    <ClInclude Include="pulse.h" />
-    <ClInclude Include="sbr_dct.h" />
-    <ClInclude Include="sbr_dec.h" />
-    <ClInclude Include="sbr_e_nf.h" />
-    <ClInclude Include="sbr_fbt.h" />
-    <ClInclude Include="sbr_hfadj.h" />
-    <ClInclude Include="sbr_hfgen.h" />
-    <ClInclude Include="sbr_huff.h" />
-    <ClInclude Include="sbr_noise.h" />
-    <ClInclude Include="sbr_qmf.h" />
-    <ClInclude Include="sbr_qmf_c.h" />
-    <ClInclude Include="sbr_syntax.h" />
-    <ClInclude Include="sbr_tf_grid.h" />
-    <ClInclude Include="sine_win.h" />
-    <ClInclude Include="specrec.h" />
-    <ClInclude Include="ssr.h" />
-    <ClInclude Include="ssr_fb.h" />
-    <ClInclude Include="ssr_ipqf.h" />
-    <ClInclude Include="ssr_win.h" />
-    <ClInclude Include="structs.h" />
-    <ClInclude Include="syntax.h" />
-    <ClInclude Include="tns.h" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="libfaad2.def" />
-  </ItemGroup>
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-  <ImportGroup Label="ExtensionTargets">
-  </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/lib/libfaad2/libfaad/libfaad2_dll.vcxproj.filters b/lib/libfaad2/libfaad/libfaad2_dll.vcxproj.filters
deleted file mode 100644 (file)
index babb5ef..0000000
+++ /dev/null
@@ -1,309 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <ItemGroup>
-    <Filter Include="Source Files">
-      <UniqueIdentifier>{c8907076-31e8-4b3d-b7c3-ba49ea254788}</UniqueIdentifier>
-    </Filter>
-    <Filter Include="Header Files">
-      <UniqueIdentifier>{da1bb769-25f3-4ef8-a551-7ef72bf822d8}</UniqueIdentifier>
-    </Filter>
-  </ItemGroup>
-  <ItemGroup>
-    <ClCompile Include="bits.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="cfft.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="common.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="decoder.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="drc.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="drm_dec.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="error.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="filtbank.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="hcr.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="huffman.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="ic_predict.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="is.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="lt_predict.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="mdct.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="mp4.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="ms.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="output.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="pns.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="ps_dec.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="ps_syntax.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="pulse.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="rvlc.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="sbr_dct.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="sbr_dec.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="sbr_e_nf.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="sbr_fbt.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="sbr_hfadj.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="sbr_hfgen.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="sbr_huff.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="sbr_qmf.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="sbr_syntax.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="sbr_tf_grid.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="specrec.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="ssr.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="ssr_fb.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="ssr_ipqf.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="syntax.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-    <ClCompile Include="tns.c">
-      <Filter>Source Files</Filter>
-    </ClCompile>
-  </ItemGroup>
-  <ItemGroup>
-    <ClInclude Include="analysis.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="bits.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="cfft.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="cfft_tab.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="common.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="decoder.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="drc.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="drm_dec.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="error.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="filtbank.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="fixed.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_1.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_10.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_11.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_2.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_3.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_4.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_5.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_6.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_7.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_8.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_9.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="codebook\hcb_sf.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="huffman.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ic_predict.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="iq_table.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="is.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="kbd_win.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="lt_predict.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="mdct.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="mdct_tab.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="mp4.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ms.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="output.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="pns.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ps_tables.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="pulse.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_dct.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_dec.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_e_nf.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_fbt.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_hfadj.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_hfgen.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_huff.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_noise.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_qmf.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_qmf_c.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_syntax.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sbr_tf_grid.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="sine_win.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="specrec.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ssr.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ssr_fb.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ssr_ipqf.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="ssr_win.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="structs.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="syntax.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-    <ClInclude Include="tns.h">
-      <Filter>Header Files</Filter>
-    </ClInclude>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="libfaad2.def" />
-  </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/lib/libfaad2/libfaad/lt_predict.c b/lib/libfaad2/libfaad/lt_predict.c
deleted file mode 100644 (file)
index 2be18ae..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: lt_predict.c,v 1.27 2007/11/01 12:33:31 menno Exp $
-**/
-
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef LTP_DEC
-
-#include <stdlib.h>
-#include "syntax.h"
-#include "lt_predict.h"
-#include "filtbank.h"
-#include "tns.h"
-
-
-/* static function declarations */
-static int16_t real_to_int16(real_t sig_in);
-
-
-/* check if the object type is an object type that can have LTP */
-uint8_t is_ltp_ot(uint8_t object_type)
-{
-#ifdef LTP_DEC
-    if ((object_type == LTP)
-#ifdef ERROR_RESILIENCE
-        || (object_type == ER_LTP)
-#endif
-#ifdef LD_DEC
-        || (object_type == LD)
-#endif
-        )
-    {
-        return 1;
-    }
-#endif
-
-    return 0;
-}
-
-ALIGN static const real_t codebook[8] =
-{
-    REAL_CONST(0.570829),
-    REAL_CONST(0.696616),
-    REAL_CONST(0.813004),
-    REAL_CONST(0.911304),
-    REAL_CONST(0.984900),
-    REAL_CONST(1.067894),
-    REAL_CONST(1.194601),
-    REAL_CONST(1.369533)
-};
-
-void lt_prediction(ic_stream *ics, ltp_info *ltp, real_t *spec,
-                   int16_t *lt_pred_stat, fb_info *fb, uint8_t win_shape,
-                   uint8_t win_shape_prev, uint8_t sr_index,
-                   uint8_t object_type, uint16_t frame_len)
-{
-    uint8_t sfb;
-    uint16_t bin, i, num_samples;
-    ALIGN real_t x_est[2048];
-    ALIGN real_t X_est[2048];
-
-    if (ics->window_sequence != EIGHT_SHORT_SEQUENCE)
-    {
-        if (ltp->data_present)
-        {
-            num_samples = frame_len << 1;
-
-            for(i = 0; i < num_samples; i++)
-            {
-                /* The extra lookback M (N/2 for LD, 0 for LTP) is handled
-                   in the buffer updating */
-
-#if 0
-                x_est[i] = MUL_R_C(lt_pred_stat[num_samples + i - ltp->lag],
-                    codebook[ltp->coef]);
-#else
-                /* lt_pred_stat is a 16 bit int, multiplied with the fixed point real
-                   this gives a real for x_est
-                */
-                x_est[i] = (real_t)lt_pred_stat[num_samples + i - ltp->lag] * codebook[ltp->coef];
-#endif
-            }
-
-            filter_bank_ltp(fb, ics->window_sequence, win_shape, win_shape_prev,
-                x_est, X_est, object_type, frame_len);
-
-            tns_encode_frame(ics, &(ics->tns), sr_index, object_type, X_est,
-                frame_len);
-
-            for (sfb = 0; sfb < ltp->last_band; sfb++)
-            {
-                if (ltp->long_used[sfb])
-                {
-                    uint16_t low  = ics->swb_offset[sfb];
-                    uint16_t high = min(ics->swb_offset[sfb+1], ics->swb_offset_max);
-
-                    for (bin = low; bin < high; bin++)
-                    {
-                        spec[bin] += X_est[bin];
-                    }
-                }
-            }
-        }
-    }
-}
-
-#ifdef FIXED_POINT
-static INLINE int16_t real_to_int16(real_t sig_in)
-{
-    if (sig_in >= 0)
-    {
-        sig_in += (1 << (REAL_BITS-1));
-        if (sig_in >= REAL_CONST(32768))
-            return 32767;
-    } else {
-        sig_in += -(1 << (REAL_BITS-1));
-        if (sig_in <= REAL_CONST(-32768))
-            return -32768;
-    }
-
-    return (sig_in >> REAL_BITS);
-}
-#else
-static INLINE int16_t real_to_int16(real_t sig_in)
-{
-    if (sig_in >= 0)
-    {
-#ifndef HAS_LRINTF
-        sig_in += 0.5f;
-#endif
-        if (sig_in >= 32768.0f)
-            return 32767;
-    } else {
-#ifndef HAS_LRINTF
-        sig_in += -0.5f;
-#endif
-        if (sig_in <= -32768.0f)
-            return -32768;
-    }
-
-    return lrintf(sig_in);
-}
-#endif
-
-void lt_update_state(int16_t *lt_pred_stat, real_t *time, real_t *overlap,
-                     uint16_t frame_len, uint8_t object_type)
-{
-    uint16_t i;
-
-    /*
-     * The reference point for index i and the content of the buffer
-     * lt_pred_stat are arranged so that lt_pred_stat(0 ... N/2 - 1) contains the
-     * last aliased half window from the IMDCT, and lt_pred_stat(N/2 ... N-1)
-     * is always all zeros. The rest of lt_pred_stat (i<0) contains the previous
-     * fully reconstructed time domain samples, i.e., output of the decoder.
-     *
-     * These values are shifted up by N*2 to avoid (i<0)
-     *
-     * For the LD object type an extra 512 samples lookback is accomodated here.
-     */
-#ifdef LD_DEC
-    if (object_type == LD)
-    {
-        for (i = 0; i < frame_len; i++)
-        {
-            lt_pred_stat[i]  /* extra 512 */  = lt_pred_stat[i + frame_len];
-            lt_pred_stat[frame_len + i]       = lt_pred_stat[i + (frame_len * 2)];
-            lt_pred_stat[(frame_len * 2) + i] = real_to_int16(time[i]);
-            lt_pred_stat[(frame_len * 3) + i] = real_to_int16(overlap[i]);
-        }
-    } else {
-#endif
-        for (i = 0; i < frame_len; i++)
-        {
-            lt_pred_stat[i]                   = lt_pred_stat[i + frame_len];
-            lt_pred_stat[frame_len + i]       = real_to_int16(time[i]);
-            lt_pred_stat[(frame_len * 2) + i] = real_to_int16(overlap[i]);
-#if 0 /* set to zero once upon initialisation */
-            lt_pred_stat[(frame_len * 3) + i] = 0;
-#endif
-        }
-#ifdef LD_DEC
-    }
-#endif
-}
-
-#endif
diff --git a/lib/libfaad2/libfaad/lt_predict.h b/lib/libfaad2/libfaad/lt_predict.h
deleted file mode 100644 (file)
index 117f834..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: lt_predict.h,v 1.20 2007/11/01 12:33:31 menno Exp $
-**/
-
-#ifdef LTP_DEC
-
-#ifndef __LT_PREDICT_H__
-#define __LT_PREDICT_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "filtbank.h"
-
-uint8_t is_ltp_ot(uint8_t object_type);
-
-void lt_prediction(ic_stream *ics,
-                   ltp_info *ltp,
-                   real_t *spec,
-                   int16_t *lt_pred_stat,
-                   fb_info *fb,
-                   uint8_t win_shape,
-                   uint8_t win_shape_prev,
-                   uint8_t sr_index,
-                   uint8_t object_type,
-                   uint16_t frame_len);
-
-void lt_update_state(int16_t *lt_pred_stat,
-                     real_t *time,
-                     real_t *overlap,
-                     uint16_t frame_len,
-                     uint8_t object_type);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
-#endif
diff --git a/lib/libfaad2/libfaad/mdct.c b/lib/libfaad2/libfaad/mdct.c
deleted file mode 100644 (file)
index 247691e..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mdct.c,v 1.47 2007/11/01 12:33:31 menno Exp $
-**/
-
-/*
- * Fast (I)MDCT Implementation using (I)FFT ((Inverse) Fast Fourier Transform)
- * and consists of three steps: pre-(I)FFT complex multiplication, complex
- * (I)FFT, post-(I)FFT complex multiplication,
- * 
- * As described in:
- *  P. Duhamel, Y. Mahieux, and J.P. Petit, "A Fast Algorithm for the
- *  Implementation of Filter Banks Based on 'Time Domain Aliasing
- *  Cancellation\92," IEEE Proc. on ICASSP\9191, 1991, pp. 2209-2212.
- *
- *
- * As of April 6th 2002 completely rewritten.
- * This (I)MDCT can now be used for any data size n, where n is divisible by 8.
- *
- */
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-#ifdef _WIN32_WCE
-#define assert(x)
-#else
-#include <assert.h>
-#endif
-
-#include "cfft.h"
-#include "mdct.h"
-#include "mdct_tab.h"
-
-
-mdct_info *faad_mdct_init(uint16_t N)
-{
-    mdct_info *mdct = (mdct_info*)faad_malloc(sizeof(mdct_info));
-
-    assert(N % 8 == 0);
-
-    mdct->N = N;
-
-    /* NOTE: For "small framelengths" in FIXED_POINT the coefficients need to be
-     * scaled by sqrt("(nearest power of 2) > N" / N) */
-
-    /* RE(mdct->sincos[k]) = scale*(real_t)(cos(2.0*M_PI*(k+1./8.) / (real_t)N));
-     * IM(mdct->sincos[k]) = scale*(real_t)(sin(2.0*M_PI*(k+1./8.) / (real_t)N)); */
-    /* scale is 1 for fixed point, sqrt(N) for floating point */
-    switch (N)
-    {
-    case 2048: mdct->sincos = (complex_t*)mdct_tab_2048; break;
-    case 256:  mdct->sincos = (complex_t*)mdct_tab_256;  break;
-#ifdef LD_DEC
-    case 1024: mdct->sincos = (complex_t*)mdct_tab_1024; break;
-#endif
-#ifdef ALLOW_SMALL_FRAMELENGTH
-    case 1920: mdct->sincos = (complex_t*)mdct_tab_1920; break;
-    case 240:  mdct->sincos = (complex_t*)mdct_tab_240;  break;
-#ifdef LD_DEC
-    case 960:  mdct->sincos = (complex_t*)mdct_tab_960;  break;
-#endif
-#endif
-#ifdef SSR_DEC
-    case 512:  mdct->sincos = (complex_t*)mdct_tab_512;  break;
-    case 64:   mdct->sincos = (complex_t*)mdct_tab_64;   break;
-#endif
-    }
-
-    /* initialise fft */
-    mdct->cfft = cffti(N/4);
-
-#ifdef PROFILE
-    mdct->cycles = 0;
-    mdct->fft_cycles = 0;
-#endif
-
-    return mdct;
-}
-
-void faad_mdct_end(mdct_info *mdct)
-{
-    if (mdct != NULL)
-    {
-#ifdef PROFILE
-        printf("MDCT[%.4d]:         %I64d cycles\n", mdct->N, mdct->cycles);
-        printf("CFFT[%.4d]:         %I64d cycles\n", mdct->N/4, mdct->fft_cycles);
-#endif
-
-        cfftu(mdct->cfft);
-
-        faad_free(mdct);
-    }
-}
-
-void faad_imdct(mdct_info *mdct, real_t *X_in, real_t *X_out)
-{
-    uint16_t k;
-
-    complex_t x;
-#ifdef ALLOW_SMALL_FRAMELENGTH
-#ifdef FIXED_POINT
-    real_t scale, b_scale = 0;
-#endif
-#endif
-    ALIGN complex_t Z1[512];
-    complex_t *sincos = mdct->sincos;
-
-    uint16_t N  = mdct->N;
-    uint16_t N2 = N >> 1;
-    uint16_t N4 = N >> 2;
-    uint16_t N8 = N >> 3;
-
-#ifdef PROFILE
-    int64_t count1, count2 = faad_get_ts();
-#endif
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-#ifdef FIXED_POINT
-    /* detect non-power of 2 */
-    if (N & (N-1))
-    {
-        /* adjust scale for non-power of 2 MDCT */
-        /* 2048/1920 */
-        b_scale = 1;
-        scale = COEF_CONST(1.0666666666666667);
-    }
-#endif
-#endif
-
-    /* pre-IFFT complex multiplication */
-    for (k = 0; k < N4; k++)
-    {
-        ComplexMult(&IM(Z1[k]), &RE(Z1[k]),
-            X_in[2*k], X_in[N2 - 1 - 2*k], RE(sincos[k]), IM(sincos[k]));
-    }
-
-#ifdef PROFILE
-    count1 = faad_get_ts();
-#endif
-
-    /* complex IFFT, any non-scaling FFT can be used here */
-    cfftb(mdct->cfft, Z1);
-
-#ifdef PROFILE
-    count1 = faad_get_ts() - count1;
-#endif
-
-    /* post-IFFT complex multiplication */
-    for (k = 0; k < N4; k++)
-    {
-        RE(x) = RE(Z1[k]);
-        IM(x) = IM(Z1[k]);
-        ComplexMult(&IM(Z1[k]), &RE(Z1[k]),
-            IM(x), RE(x), RE(sincos[k]), IM(sincos[k]));
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-#ifdef FIXED_POINT
-        /* non-power of 2 MDCT scaling */
-        if (b_scale)
-        {
-            RE(Z1[k]) = MUL_C(RE(Z1[k]), scale);
-            IM(Z1[k]) = MUL_C(IM(Z1[k]), scale);
-        }
-#endif
-#endif
-    }
-
-    /* reordering */
-    for (k = 0; k < N8; k+=2)
-    {
-        X_out[              2*k] =  IM(Z1[N8 +     k]);
-        X_out[          2 + 2*k] =  IM(Z1[N8 + 1 + k]);
-
-        X_out[          1 + 2*k] = -RE(Z1[N8 - 1 - k]);
-        X_out[          3 + 2*k] = -RE(Z1[N8 - 2 - k]);
-
-        X_out[N4 +          2*k] =  RE(Z1[         k]);
-        X_out[N4 +    + 2 + 2*k] =  RE(Z1[     1 + k]);
-
-        X_out[N4 +      1 + 2*k] = -IM(Z1[N4 - 1 - k]);
-        X_out[N4 +      3 + 2*k] = -IM(Z1[N4 - 2 - k]);
-
-        X_out[N2 +          2*k] =  RE(Z1[N8 +     k]);
-        X_out[N2 +    + 2 + 2*k] =  RE(Z1[N8 + 1 + k]);
-
-        X_out[N2 +      1 + 2*k] = -IM(Z1[N8 - 1 - k]);
-        X_out[N2 +      3 + 2*k] = -IM(Z1[N8 - 2 - k]);
-
-        X_out[N2 + N4 +     2*k] = -IM(Z1[         k]);
-        X_out[N2 + N4 + 2 + 2*k] = -IM(Z1[     1 + k]);
-
-        X_out[N2 + N4 + 1 + 2*k] =  RE(Z1[N4 - 1 - k]);
-        X_out[N2 + N4 + 3 + 2*k] =  RE(Z1[N4 - 2 - k]);
-    }
-
-#ifdef PROFILE
-    count2 = faad_get_ts() - count2;
-    mdct->fft_cycles += count1;
-    mdct->cycles += (count2 - count1);
-#endif
-}
-
-#ifdef LTP_DEC
-void faad_mdct(mdct_info *mdct, real_t *X_in, real_t *X_out)
-{
-    uint16_t k;
-
-    complex_t x;
-    ALIGN complex_t Z1[512];
-    complex_t *sincos = mdct->sincos;
-
-    uint16_t N  = mdct->N;
-    uint16_t N2 = N >> 1;
-    uint16_t N4 = N >> 2;
-    uint16_t N8 = N >> 3;
-
-#ifndef FIXED_POINT
-       real_t scale = REAL_CONST(N);
-#else
-       real_t scale = REAL_CONST(4.0/N);
-#endif
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-#ifdef FIXED_POINT
-    /* detect non-power of 2 */
-    if (N & (N-1))
-    {
-        /* adjust scale for non-power of 2 MDCT */
-        /* *= sqrt(2048/1920) */
-        scale = MUL_C(scale, COEF_CONST(1.0327955589886444));
-    }
-#endif
-#endif
-
-    /* pre-FFT complex multiplication */
-    for (k = 0; k < N8; k++)
-    {
-        uint16_t n = k << 1;
-        RE(x) = X_in[N - N4 - 1 - n] + X_in[N - N4 +     n];
-        IM(x) = X_in[    N4 +     n] - X_in[    N4 - 1 - n];
-
-        ComplexMult(&RE(Z1[k]), &IM(Z1[k]),
-            RE(x), IM(x), RE(sincos[k]), IM(sincos[k]));
-
-        RE(Z1[k]) = MUL_R(RE(Z1[k]), scale);
-        IM(Z1[k]) = MUL_R(IM(Z1[k]), scale);
-
-        RE(x) =  X_in[N2 - 1 - n] - X_in[        n];
-        IM(x) =  X_in[N2 +     n] + X_in[N - 1 - n];
-
-        ComplexMult(&RE(Z1[k + N8]), &IM(Z1[k + N8]),
-            RE(x), IM(x), RE(sincos[k + N8]), IM(sincos[k + N8]));
-
-        RE(Z1[k + N8]) = MUL_R(RE(Z1[k + N8]), scale);
-        IM(Z1[k + N8]) = MUL_R(IM(Z1[k + N8]), scale);
-    }
-
-    /* complex FFT, any non-scaling FFT can be used here  */
-    cfftf(mdct->cfft, Z1);
-
-    /* post-FFT complex multiplication */
-    for (k = 0; k < N4; k++)
-    {
-        uint16_t n = k << 1;
-        ComplexMult(&RE(x), &IM(x),
-            RE(Z1[k]), IM(Z1[k]), RE(sincos[k]), IM(sincos[k]));
-
-        X_out[         n] = -RE(x);
-        X_out[N2 - 1 - n] =  IM(x);
-        X_out[N2 +     n] = -IM(x);
-        X_out[N  - 1 - n] =  RE(x);
-    }
-}
-#endif
diff --git a/lib/libfaad2/libfaad/mdct.h b/lib/libfaad2/libfaad/mdct.h
deleted file mode 100644 (file)
index 736180e..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mdct.h,v 1.30 2007/11/01 12:33:31 menno Exp $
-**/
-
-#ifndef __MDCT_H__
-#define __MDCT_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-mdct_info *faad_mdct_init(uint16_t N);
-void faad_mdct_end(mdct_info *mdct);
-void faad_imdct(mdct_info *mdct, real_t *X_in, real_t *X_out);
-void faad_mdct(mdct_info *mdct, real_t *X_in, real_t *X_out);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/mdct_tab.h b/lib/libfaad2/libfaad/mdct_tab.h
deleted file mode 100644 (file)
index eea285b..0000000
+++ /dev/null
@@ -1,3655 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mdct_tab.h,v 1.7 2007/11/01 12:33:32 menno Exp $
-**/
-
-#ifndef __MDCT_TAB_H__
-#define __MDCT_TAB_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef FIXED_POINT
-
-/* 256 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_2048[] =
-{
-    { FRAC_CONST(0.999999926465718), FRAC_CONST(0.000383495187571) },
-    { FRAC_CONST(0.999994043728986), FRAC_CONST(0.003451449920136) },
-    { FRAC_CONST(0.999978748667469), FRAC_CONST(0.006519372166339) },
-    { FRAC_CONST(0.999954041425130), FRAC_CONST(0.009587233049729) },
-    { FRAC_CONST(0.999919922234523), FRAC_CONST(0.012655003694430) },
-    { FRAC_CONST(0.999876391416790), FRAC_CONST(0.015722655225417) },
-    { FRAC_CONST(0.999823449381662), FRAC_CONST(0.018790158768785) },
-    { FRAC_CONST(0.999761096627447), FRAC_CONST(0.021857485452022) },
-    { FRAC_CONST(0.999689333741034), FRAC_CONST(0.024924606404281) },
-    { FRAC_CONST(0.999608161397882), FRAC_CONST(0.027991492756653) },
-    { FRAC_CONST(0.999517580362017), FRAC_CONST(0.031058115642435) },
-    { FRAC_CONST(0.999417591486022), FRAC_CONST(0.034124446197403) },
-    { FRAC_CONST(0.999308195711029), FRAC_CONST(0.037190455560088) },
-    { FRAC_CONST(0.999189394066715), FRAC_CONST(0.040256114872041) },
-    { FRAC_CONST(0.999061187671285), FRAC_CONST(0.043321395278110) },
-    { FRAC_CONST(0.998923577731466), FRAC_CONST(0.046386267926707) },
-    { FRAC_CONST(0.998776565542496), FRAC_CONST(0.049450703970085) },
-    { FRAC_CONST(0.998620152488109), FRAC_CONST(0.052514674564603) },
-    { FRAC_CONST(0.998454340040525), FRAC_CONST(0.055578150871005) },
-    { FRAC_CONST(0.998279129760433), FRAC_CONST(0.058641104054683) },
-    { FRAC_CONST(0.998094523296980), FRAC_CONST(0.061703505285957) },
-    { FRAC_CONST(0.997900522387752), FRAC_CONST(0.064765325740340) },
-    { FRAC_CONST(0.997697128858759), FRAC_CONST(0.067826536598811) },
-    { FRAC_CONST(0.997484344624418), FRAC_CONST(0.070887109048088) },
-    { FRAC_CONST(0.997262171687536), FRAC_CONST(0.073947014280897) },
-    { FRAC_CONST(0.997030612139289), FRAC_CONST(0.077006223496246) },
-    { FRAC_CONST(0.996789668159205), FRAC_CONST(0.080064707899691) },
-    { FRAC_CONST(0.996539342015138), FRAC_CONST(0.083122438703613) },
-    { FRAC_CONST(0.996279636063255), FRAC_CONST(0.086179387127485) },
-    { FRAC_CONST(0.996010552748006), FRAC_CONST(0.089235524398144) },
-    { FRAC_CONST(0.995732094602106), FRAC_CONST(0.092290821750062) },
-    { FRAC_CONST(0.995444264246510), FRAC_CONST(0.095345250425618) },
-    { FRAC_CONST(0.995147064390386), FRAC_CONST(0.098398781675364) },
-    { FRAC_CONST(0.994840497831093), FRAC_CONST(0.101451386758302) },
-    { FRAC_CONST(0.994524567454152), FRAC_CONST(0.104503036942151) },
-    { FRAC_CONST(0.994199276233219), FRAC_CONST(0.107553703503616) },
-    { FRAC_CONST(0.993864627230060), FRAC_CONST(0.110603357728662) },
-    { FRAC_CONST(0.993520623594518), FRAC_CONST(0.113651970912782) },
-    { FRAC_CONST(0.993167268564487), FRAC_CONST(0.116699514361268) },
-    { FRAC_CONST(0.992804565465879), FRAC_CONST(0.119745959389480) },
-    { FRAC_CONST(0.992432517712594), FRAC_CONST(0.122791277323117) },
-    { FRAC_CONST(0.992051128806486), FRAC_CONST(0.125835439498487) },
-    { FRAC_CONST(0.991660402337333), FRAC_CONST(0.128878417262777) },
-    { FRAC_CONST(0.991260341982802), FRAC_CONST(0.131920181974320) },
-    { FRAC_CONST(0.990850951508414), FRAC_CONST(0.134960705002869) },
-    { FRAC_CONST(0.990432234767506), FRAC_CONST(0.137999957729863) },
-    { FRAC_CONST(0.990004195701201), FRAC_CONST(0.141037911548698) },
-    { FRAC_CONST(0.989566838338365), FRAC_CONST(0.144074537864995) },
-    { FRAC_CONST(0.989120166795573), FRAC_CONST(0.147109808096872) },
-    { FRAC_CONST(0.988664185277066), FRAC_CONST(0.150143693675208) },
-    { FRAC_CONST(0.988198898074718), FRAC_CONST(0.153176166043918) },
-    { FRAC_CONST(0.987724309567987), FRAC_CONST(0.156207196660216) },
-    { FRAC_CONST(0.987240424223882), FRAC_CONST(0.159236756994888) },
-    { FRAC_CONST(0.986747246596917), FRAC_CONST(0.162264818532558) },
-    { FRAC_CONST(0.986244781329065), FRAC_CONST(0.165291352771958) },
-    { FRAC_CONST(0.985733033149723), FRAC_CONST(0.168316331226195) },
-    { FRAC_CONST(0.985212006875659), FRAC_CONST(0.171339725423019) },
-    { FRAC_CONST(0.984681707410971), FRAC_CONST(0.174361506905094) },
-    { FRAC_CONST(0.984142139747039), FRAC_CONST(0.177381647230260) },
-    { FRAC_CONST(0.983593308962479), FRAC_CONST(0.180400117971807) },
-    { FRAC_CONST(0.983035220223096), FRAC_CONST(0.183416890718739) },
-    { FRAC_CONST(0.982467878781833), FRAC_CONST(0.186431937076042) },
-    { FRAC_CONST(0.981891289978725), FRAC_CONST(0.189445228664950) },
-    { FRAC_CONST(0.981305459240845), FRAC_CONST(0.192456737123217) },
-    { FRAC_CONST(0.980710392082254), FRAC_CONST(0.195466434105377) },
-    { FRAC_CONST(0.980106094103952), FRAC_CONST(0.198474291283016) },
-    { FRAC_CONST(0.979492570993821), FRAC_CONST(0.201480280345038) },
-    { FRAC_CONST(0.978869828526574), FRAC_CONST(0.204484372997927) },
-    { FRAC_CONST(0.978237872563701), FRAC_CONST(0.207486540966021) },
-    { FRAC_CONST(0.977596709053412), FRAC_CONST(0.210486755991770) },
-    { FRAC_CONST(0.976946344030582), FRAC_CONST(0.213484989836008) },
-    { FRAC_CONST(0.976286783616694), FRAC_CONST(0.216481214278217) },
-    { FRAC_CONST(0.975618034019782), FRAC_CONST(0.219475401116790) },
-    { FRAC_CONST(0.974940101534372), FRAC_CONST(0.222467522169302) },
-    { FRAC_CONST(0.974252992541423), FRAC_CONST(0.225457549272769) },
-    { FRAC_CONST(0.973556713508266), FRAC_CONST(0.228445454283916) },
-    { FRAC_CONST(0.972851270988544), FRAC_CONST(0.231431209079446) },
-    { FRAC_CONST(0.972136671622152), FRAC_CONST(0.234414785556295) },
-    { FRAC_CONST(0.971412922135171), FRAC_CONST(0.237396155631907) },
-    { FRAC_CONST(0.970680029339806), FRAC_CONST(0.240375291244489) },
-    { FRAC_CONST(0.969938000134324), FRAC_CONST(0.243352164353285) },
-    { FRAC_CONST(0.969186841502986), FRAC_CONST(0.246326746938829) },
-    { FRAC_CONST(0.968426560515983), FRAC_CONST(0.249299011003218) },
-    { FRAC_CONST(0.967657164329370), FRAC_CONST(0.252268928570371) },
-    { FRAC_CONST(0.966878660184996), FRAC_CONST(0.255236471686292) },
-    { FRAC_CONST(0.966091055410439), FRAC_CONST(0.258201612419335) },
-    { FRAC_CONST(0.965294357418935), FRAC_CONST(0.261164322860466) },
-    { FRAC_CONST(0.964488573709308), FRAC_CONST(0.264124575123528) },
-    { FRAC_CONST(0.963673711865903), FRAC_CONST(0.267082341345496) },
-    { FRAC_CONST(0.962849779558509), FRAC_CONST(0.270037593686751) },
-    { FRAC_CONST(0.962016784542291), FRAC_CONST(0.272990304331330) },
-    { FRAC_CONST(0.961174734657714), FRAC_CONST(0.275940445487197) },
-    { FRAC_CONST(0.960323637830474), FRAC_CONST(0.278887989386500) },
-    { FRAC_CONST(0.959463502071418), FRAC_CONST(0.281832908285833) },
-    { FRAC_CONST(0.958594335476470), FRAC_CONST(0.284775174466498) },
-    { FRAC_CONST(0.957716146226559), FRAC_CONST(0.287714760234765) },
-    { FRAC_CONST(0.956828942587535), FRAC_CONST(0.290651637922133) },
-    { FRAC_CONST(0.955932732910098), FRAC_CONST(0.293585779885591) },
-    { FRAC_CONST(0.955027525629714), FRAC_CONST(0.296517158507877) },
-    { FRAC_CONST(0.954113329266539), FRAC_CONST(0.299445746197740) },
-    { FRAC_CONST(0.953190152425337), FRAC_CONST(0.302371515390196) },
-    { FRAC_CONST(0.952258003795400), FRAC_CONST(0.305294438546792) },
-    { FRAC_CONST(0.951316892150466), FRAC_CONST(0.308214488155861) },
-    { FRAC_CONST(0.950366826348636), FRAC_CONST(0.311131636732785) },
-    { FRAC_CONST(0.949407815332292), FRAC_CONST(0.314045856820251) },
-    { FRAC_CONST(0.948439868128010), FRAC_CONST(0.316957120988508) },
-    { FRAC_CONST(0.947462993846478), FRAC_CONST(0.319865401835631) },
-    { FRAC_CONST(0.946477201682409), FRAC_CONST(0.322770671987771) },
-    { FRAC_CONST(0.945482500914454), FRAC_CONST(0.325672904099420) },
-    { FRAC_CONST(0.944478900905116), FRAC_CONST(0.328572070853664) },
-    { FRAC_CONST(0.943466411100659), FRAC_CONST(0.331468144962441) },
-    { FRAC_CONST(0.942445041031025), FRAC_CONST(0.334361099166799) },
-    { FRAC_CONST(0.941414800309736), FRAC_CONST(0.337250906237151) },
-    { FRAC_CONST(0.940375698633812), FRAC_CONST(0.340137538973532) },
-    { FRAC_CONST(0.939327745783671), FRAC_CONST(0.343020970205856) },
-    { FRAC_CONST(0.938270951623047), FRAC_CONST(0.345901172794169) },
-    { FRAC_CONST(0.937205326098888), FRAC_CONST(0.348778119628908) },
-    { FRAC_CONST(0.936130879241267), FRAC_CONST(0.351651783631155) },
-    { FRAC_CONST(0.935047621163287), FRAC_CONST(0.354522137752887) },
-    { FRAC_CONST(0.933955562060987), FRAC_CONST(0.357389154977241) },
-    { FRAC_CONST(0.932854712213241), FRAC_CONST(0.360252808318757) },
-    { FRAC_CONST(0.931745081981669), FRAC_CONST(0.363113070823639) },
-    { FRAC_CONST(0.930626681810532), FRAC_CONST(0.365969915570009) },
-    { FRAC_CONST(0.929499522226639), FRAC_CONST(0.368823315668154) },
-    { FRAC_CONST(0.928363613839244), FRAC_CONST(0.371673244260787) },
-    { FRAC_CONST(0.927218967339952), FRAC_CONST(0.374519674523293) },
-    { FRAC_CONST(0.926065593502609), FRAC_CONST(0.377362579663988) },
-    { FRAC_CONST(0.924903503183211), FRAC_CONST(0.380201932924366) },
-    { FRAC_CONST(0.923732707319793), FRAC_CONST(0.383037707579352) },
-    { FRAC_CONST(0.922553216932333), FRAC_CONST(0.385869876937555) },
-    { FRAC_CONST(0.921365043122642), FRAC_CONST(0.388698414341519) },
-    { FRAC_CONST(0.920168197074266), FRAC_CONST(0.391523293167972) },
-    { FRAC_CONST(0.918962690052376), FRAC_CONST(0.394344486828080) },
-    { FRAC_CONST(0.917748533403661), FRAC_CONST(0.397161968767692) },
-    { FRAC_CONST(0.916525738556228), FRAC_CONST(0.399975712467595) },
-    { FRAC_CONST(0.915294317019487), FRAC_CONST(0.402785691443764) },
-    { FRAC_CONST(0.914054280384047), FRAC_CONST(0.405591879247604) },
-    { FRAC_CONST(0.912805640321604), FRAC_CONST(0.408394249466208) },
-    { FRAC_CONST(0.911548408584834), FRAC_CONST(0.411192775722600) },
-    { FRAC_CONST(0.910282597007282), FRAC_CONST(0.413987431675985) },
-    { FRAC_CONST(0.909008217503247), FRAC_CONST(0.416778191021998) },
-    { FRAC_CONST(0.907725282067676), FRAC_CONST(0.419565027492947) },
-    { FRAC_CONST(0.906433802776045), FRAC_CONST(0.422347914858067) },
-    { FRAC_CONST(0.905133791784250), FRAC_CONST(0.425126826923762) },
-    { FRAC_CONST(0.903825261328488), FRAC_CONST(0.427901737533854) },
-    { FRAC_CONST(0.902508223725146), FRAC_CONST(0.430672620569827) },
-    { FRAC_CONST(0.901182691370685), FRAC_CONST(0.433439449951074) },
-    { FRAC_CONST(0.899848676741519), FRAC_CONST(0.436202199635144) },
-    { FRAC_CONST(0.898506192393902), FRAC_CONST(0.438960843617984) },
-    { FRAC_CONST(0.897155250963809), FRAC_CONST(0.441715355934187) },
-    { FRAC_CONST(0.895795865166814), FRAC_CONST(0.444465710657234) },
-    { FRAC_CONST(0.894428047797974), FRAC_CONST(0.447211881899738) },
-    { FRAC_CONST(0.893051811731707), FRAC_CONST(0.449953843813691) },
-    { FRAC_CONST(0.891667169921672), FRAC_CONST(0.452691570590701) },
-    { FRAC_CONST(0.890274135400645), FRAC_CONST(0.455425036462242) },
-    { FRAC_CONST(0.888872721280396), FRAC_CONST(0.458154215699893) },
-    { FRAC_CONST(0.887462940751569), FRAC_CONST(0.460879082615579) },
-    { FRAC_CONST(0.886044807083556), FRAC_CONST(0.463599611561814) },
-    { FRAC_CONST(0.884618333624370), FRAC_CONST(0.466315776931944) },
-    { FRAC_CONST(0.883183533800523), FRAC_CONST(0.469027553160387) },
-    { FRAC_CONST(0.881740421116898), FRAC_CONST(0.471734914722871) },
-    { FRAC_CONST(0.880289009156621), FRAC_CONST(0.474437836136679) },
-    { FRAC_CONST(0.878829311580933), FRAC_CONST(0.477136291960885) },
-    { FRAC_CONST(0.877361342129065), FRAC_CONST(0.479830256796594) },
-    { FRAC_CONST(0.875885114618104), FRAC_CONST(0.482519705287184) },
-    { FRAC_CONST(0.874400642942865), FRAC_CONST(0.485204612118542) },
-    { FRAC_CONST(0.872907941075761), FRAC_CONST(0.487884952019301) },
-    { FRAC_CONST(0.871407023066671), FRAC_CONST(0.490560699761082) },
-    { FRAC_CONST(0.869897903042806), FRAC_CONST(0.493231830158728) },
-    { FRAC_CONST(0.868380595208580), FRAC_CONST(0.495898318070542) },
-    { FRAC_CONST(0.866855113845470), FRAC_CONST(0.498560138398525) },
-    { FRAC_CONST(0.865321473311890), FRAC_CONST(0.501217266088610) },
-    { FRAC_CONST(0.863779688043047), FRAC_CONST(0.503869676130899) },
-    { FRAC_CONST(0.862229772550811), FRAC_CONST(0.506517343559899) },
-    { FRAC_CONST(0.860671741423578), FRAC_CONST(0.509160243454755) },
-    { FRAC_CONST(0.859105609326130), FRAC_CONST(0.511798350939487) },
-    { FRAC_CONST(0.857531390999499), FRAC_CONST(0.514431641183223) },
-    { FRAC_CONST(0.855949101260827), FRAC_CONST(0.517060089400432) },
-    { FRAC_CONST(0.854358755003227), FRAC_CONST(0.519683670851158) },
-    { FRAC_CONST(0.852760367195645), FRAC_CONST(0.522302360841255) },
-    { FRAC_CONST(0.851153952882715), FRAC_CONST(0.524916134722613) },
-    { FRAC_CONST(0.849539527184621), FRAC_CONST(0.527524967893398) },
-    { FRAC_CONST(0.847917105296951), FRAC_CONST(0.530128835798279) },
-    { FRAC_CONST(0.846286702490560), FRAC_CONST(0.532727713928659) },
-    { FRAC_CONST(0.844648334111418), FRAC_CONST(0.535321577822907) },
-    { FRAC_CONST(0.843002015580473), FRAC_CONST(0.537910403066589) },
-    { FRAC_CONST(0.841347762393502), FRAC_CONST(0.540494165292695) },
-    { FRAC_CONST(0.839685590120966), FRAC_CONST(0.543072840181872) },
-    { FRAC_CONST(0.838015514407864), FRAC_CONST(0.545646403462649) },
-    { FRAC_CONST(0.836337550973584), FRAC_CONST(0.548214830911668) },
-    { FRAC_CONST(0.834651715611756), FRAC_CONST(0.550778098353912) },
-    { FRAC_CONST(0.832958024190107), FRAC_CONST(0.553336181662932) },
-    { FRAC_CONST(0.831256492650303), FRAC_CONST(0.555889056761074) },
-    { FRAC_CONST(0.829547137007809), FRAC_CONST(0.558436699619704) },
-    { FRAC_CONST(0.827829973351730), FRAC_CONST(0.560979086259438) },
-    { FRAC_CONST(0.826105017844665), FRAC_CONST(0.563516192750365) },
-    { FRAC_CONST(0.824372286722551), FRAC_CONST(0.566047995212271) },
-    { FRAC_CONST(0.822631796294515), FRAC_CONST(0.568574469814869) },
-    { FRAC_CONST(0.820883562942715), FRAC_CONST(0.571095592778017) },
-    { FRAC_CONST(0.819127603122188), FRAC_CONST(0.573611340371945) },
-    { FRAC_CONST(0.817363933360698), FRAC_CONST(0.576121688917478) },
-    { FRAC_CONST(0.815592570258577), FRAC_CONST(0.578626614786261) },
-    { FRAC_CONST(0.813813530488567), FRAC_CONST(0.581126094400978) },
-    { FRAC_CONST(0.812026830795670), FRAC_CONST(0.583620104235573) },
-    { FRAC_CONST(0.810232487996982), FRAC_CONST(0.586108620815476) },
-    { FRAC_CONST(0.808430518981543), FRAC_CONST(0.588591620717823) },
-    { FRAC_CONST(0.806620940710170), FRAC_CONST(0.591069080571671) },
-    { FRAC_CONST(0.804803770215303), FRAC_CONST(0.593540977058226) },
-    { FRAC_CONST(0.802979024600843), FRAC_CONST(0.596007286911057) },
-    { FRAC_CONST(0.801146721041991), FRAC_CONST(0.598467986916314) },
-    { FRAC_CONST(0.799306876785086), FRAC_CONST(0.600923053912954) },
-    { FRAC_CONST(0.797459509147442), FRAC_CONST(0.603372464792950) },
-    { FRAC_CONST(0.795604635517188), FRAC_CONST(0.605816196501515) },
-    { FRAC_CONST(0.793742273353100), FRAC_CONST(0.608254226037314) },
-    { FRAC_CONST(0.791872440184440), FRAC_CONST(0.610686530452686) },
-    { FRAC_CONST(0.789995153610791), FRAC_CONST(0.613113086853855) },
-    { FRAC_CONST(0.788110431301888), FRAC_CONST(0.615533872401147) },
-    { FRAC_CONST(0.786218290997456), FRAC_CONST(0.617948864309208) },
-    { FRAC_CONST(0.784318750507039), FRAC_CONST(0.620358039847214) },
-    { FRAC_CONST(0.782411827709837), FRAC_CONST(0.622761376339086) },
-    { FRAC_CONST(0.780497540554532), FRAC_CONST(0.625158851163708) },
-    { FRAC_CONST(0.778575907059125), FRAC_CONST(0.627550441755132) },
-    { FRAC_CONST(0.776646945310762), FRAC_CONST(0.629936125602796) },
-    { FRAC_CONST(0.774710673465566), FRAC_CONST(0.632315880251738) },
-    { FRAC_CONST(0.772767109748464), FRAC_CONST(0.634689683302798) },
-    { FRAC_CONST(0.770816272453019), FRAC_CONST(0.637057512412839) },
-    { FRAC_CONST(0.768858179941253), FRAC_CONST(0.639419345294951) },
-    { FRAC_CONST(0.766892850643481), FRAC_CONST(0.641775159718664) },
-    { FRAC_CONST(0.764920303058128), FRAC_CONST(0.644124933510155) },
-    { FRAC_CONST(0.762940555751566), FRAC_CONST(0.646468644552458) },
-    { FRAC_CONST(0.760953627357928), FRAC_CONST(0.648806270785673) },
-    { FRAC_CONST(0.758959536578942), FRAC_CONST(0.651137790207170) },
-    { FRAC_CONST(0.756958302183750), FRAC_CONST(0.653463180871802) },
-    { FRAC_CONST(0.754949943008733), FRAC_CONST(0.655782420892106) },
-    { FRAC_CONST(0.752934477957330), FRAC_CONST(0.658095488438511) },
-    { FRAC_CONST(0.750911925999868), FRAC_CONST(0.660402361739545) },
-    { FRAC_CONST(0.748882306173375), FRAC_CONST(0.662703019082037) },
-    { FRAC_CONST(0.746845637581407), FRAC_CONST(0.664997438811325) },
-    { FRAC_CONST(0.744801939393863), FRAC_CONST(0.667285599331456) },
-    { FRAC_CONST(0.742751230846809), FRAC_CONST(0.669567479105392) },
-    { FRAC_CONST(0.740693531242296), FRAC_CONST(0.671843056655212) },
-    { FRAC_CONST(0.738628859948175), FRAC_CONST(0.674112310562312) },
-    { FRAC_CONST(0.736557236397919), FRAC_CONST(0.676375219467612) },
-    { FRAC_CONST(0.734478680090438), FRAC_CONST(0.678631762071749) },
-    { FRAC_CONST(0.732393210589896), FRAC_CONST(0.680881917135287) },
-    { FRAC_CONST(0.730300847525525), FRAC_CONST(0.683125663478909) },
-    { FRAC_CONST(0.728201610591445), FRAC_CONST(0.685362979983619) },
-    { FRAC_CONST(0.726095519546471), FRAC_CONST(0.687593845590942) },
-    { FRAC_CONST(0.723982594213936), FRAC_CONST(0.689818239303122) },
-    { FRAC_CONST(0.721862854481496), FRAC_CONST(0.692036140183319) },
-    { FRAC_CONST(0.719736320300951), FRAC_CONST(0.694247527355803) },
-    { FRAC_CONST(0.717603011688049), FRAC_CONST(0.696452380006158) },
-    { FRAC_CONST(0.715462948722304), FRAC_CONST(0.698650677381469) },
-    { FRAC_CONST(0.713316151546803), FRAC_CONST(0.700842398790526) },
-    { FRAC_CONST(0.711162640368018), FRAC_CONST(0.703027523604011) },
-    { FRAC_CONST(0.709002435455618), FRAC_CONST(0.705206031254698) },
-    { FRAC_CONST(0.706835557142274), FRAC_CONST(0.707377901237642) },
-    { FRAC_CONST(0.704662025823469), FRAC_CONST(0.709543113110377) },
-    { FRAC_CONST(0.702481861957308), FRAC_CONST(0.711701646493103) },
-    { FRAC_CONST(0.700295086064324), FRAC_CONST(0.713853481068882) },
-    { FRAC_CONST(0.698101718727284), FRAC_CONST(0.715998596583829) },
-    { FRAC_CONST(0.695901780590997), FRAC_CONST(0.718136972847297) },
-    { FRAC_CONST(0.693695292362118), FRAC_CONST(0.720268589732077) },
-    { FRAC_CONST(0.691482274808956), FRAC_CONST(0.722393427174578) },
-    { FRAC_CONST(0.689262748761273), FRAC_CONST(0.724511465175020) },
-    { FRAC_CONST(0.687036735110096), FRAC_CONST(0.726622683797623) },
-    { FRAC_CONST(0.684804254807511), FRAC_CONST(0.728727063170794) },
-    { FRAC_CONST(0.682565328866473), FRAC_CONST(0.730824583487312) },
-    { FRAC_CONST(0.680319978360607), FRAC_CONST(0.732915225004518) },
-    { FRAC_CONST(0.678068224424007), FRAC_CONST(0.734998968044497) },
-    { FRAC_CONST(0.675810088251037), FRAC_CONST(0.737075792994266) },
-    { FRAC_CONST(0.673545591096136), FRAC_CONST(0.739145680305957) },
-    { FRAC_CONST(0.671274754273613), FRAC_CONST(0.741208610497004) },
-    { FRAC_CONST(0.668997599157450), FRAC_CONST(0.743264564150321) },
-    { FRAC_CONST(0.666714147181098), FRAC_CONST(0.745313521914490) },
-    { FRAC_CONST(0.664424419837275), FRAC_CONST(0.747355464503940) },
-    { FRAC_CONST(0.662128438677769), FRAC_CONST(0.749390372699130) },
-    { FRAC_CONST(0.659826225313227), FRAC_CONST(0.751418227346727) },
-    { FRAC_CONST(0.657517801412960), FRAC_CONST(0.753439009359794) },
-    { FRAC_CONST(0.655203188704732), FRAC_CONST(0.755452699717958) },
-    { FRAC_CONST(0.652882408974559), FRAC_CONST(0.757459279467601) },
-    { FRAC_CONST(0.650555484066504), FRAC_CONST(0.759458729722028) },
-    { FRAC_CONST(0.648222435882470), FRAC_CONST(0.761451031661654) },
-    { FRAC_CONST(0.645883286381996), FRAC_CONST(0.763436166534172) },
-    { FRAC_CONST(0.643538057582048), FRAC_CONST(0.765414115654738) },
-    { FRAC_CONST(0.641186771556811), FRAC_CONST(0.767384860406142) },
-    { FRAC_CONST(0.638829450437486), FRAC_CONST(0.769348382238982) },
-    { FRAC_CONST(0.636466116412077), FRAC_CONST(0.771304662671845) },
-    { FRAC_CONST(0.634096791725184), FRAC_CONST(0.773253683291473) },
-    { FRAC_CONST(0.631721498677792), FRAC_CONST(0.775195425752941) },
-    { FRAC_CONST(0.629340259627066), FRAC_CONST(0.777129871779832) },
-    { FRAC_CONST(0.626953096986133), FRAC_CONST(0.779057003164401) },
-    { FRAC_CONST(0.624560033223877), FRAC_CONST(0.780976801767754) },
-    { FRAC_CONST(0.622161090864727), FRAC_CONST(0.782889249520015) },
-    { FRAC_CONST(0.619756292488441), FRAC_CONST(0.784794328420499) },
-    { FRAC_CONST(0.617345660729897), FRAC_CONST(0.786692020537877) },
-    { FRAC_CONST(0.614929218278880), FRAC_CONST(0.788582308010347) },
-    { FRAC_CONST(0.612506987879866), FRAC_CONST(0.790465173045805) },
-    { FRAC_CONST(0.610078992331810), FRAC_CONST(0.792340597922007) },
-    { FRAC_CONST(0.607645254487931), FRAC_CONST(0.794208564986741) },
-    { FRAC_CONST(0.605205797255497), FRAC_CONST(0.796069056657988) },
-    { FRAC_CONST(0.602760643595607), FRAC_CONST(0.797922055424093) },
-    { FRAC_CONST(0.600309816522980), FRAC_CONST(0.799767543843926) },
-    { FRAC_CONST(0.597853339105734), FRAC_CONST(0.801605504547046) },
-    { FRAC_CONST(0.595391234465169), FRAC_CONST(0.803435920233868) },
-    { FRAC_CONST(0.592923525775551), FRAC_CONST(0.805258773675822) },
-    { FRAC_CONST(0.590450236263896), FRAC_CONST(0.807074047715518) },
-    { FRAC_CONST(0.587971389209745), FRAC_CONST(0.808881725266904) },
-    { FRAC_CONST(0.585487007944951), FRAC_CONST(0.810681789315431) },
-    { FRAC_CONST(0.582997115853458), FRAC_CONST(0.812474222918210) },
-    { FRAC_CONST(0.580501736371077), FRAC_CONST(0.814259009204175) },
-    { FRAC_CONST(0.578000892985270), FRAC_CONST(0.816036131374237) },
-    { FRAC_CONST(0.575494609234928), FRAC_CONST(0.817805572701444) },
-    { FRAC_CONST(0.572982908710149), FRAC_CONST(0.819567316531142) },
-    { FRAC_CONST(0.570465815052013), FRAC_CONST(0.821321346281127) },
-    { FRAC_CONST(0.567943351952366), FRAC_CONST(0.823067645441802) },
-    { FRAC_CONST(0.565415543153590), FRAC_CONST(0.824806197576334) },
-    { FRAC_CONST(0.562882412448385), FRAC_CONST(0.826536986320810) },
-    { FRAC_CONST(0.560343983679541), FRAC_CONST(0.828259995384386) },
-    { FRAC_CONST(0.557800280739717), FRAC_CONST(0.829975208549444) },
-    { FRAC_CONST(0.555251327571214), FRAC_CONST(0.831682609671745) },
-    { FRAC_CONST(0.552697148165750), FRAC_CONST(0.833382182680580) },
-    { FRAC_CONST(0.550137766564234), FRAC_CONST(0.835073911578919) },
-    { FRAC_CONST(0.547573206856540), FRAC_CONST(0.836757780443567) },
-    { FRAC_CONST(0.545003493181281), FRAC_CONST(0.838433773425308) },
-    { FRAC_CONST(0.542428649725581), FRAC_CONST(0.840101874749058) },
-    { FRAC_CONST(0.539848700724848), FRAC_CONST(0.841762068714012) },
-    { FRAC_CONST(0.537263670462543), FRAC_CONST(0.843414339693793) },
-    { FRAC_CONST(0.534673583269956), FRAC_CONST(0.845058672136595) },
-    { FRAC_CONST(0.532078463525974), FRAC_CONST(0.846695050565337) },
-    { FRAC_CONST(0.529478335656852), FRAC_CONST(0.848323459577802) },
-    { FRAC_CONST(0.526873224135985), FRAC_CONST(0.849943883846782) },
-    { FRAC_CONST(0.524263153483673), FRAC_CONST(0.851556308120229) },
-    { FRAC_CONST(0.521648148266897), FRAC_CONST(0.853160717221390) },
-    { FRAC_CONST(0.519028233099081), FRAC_CONST(0.854757096048957) },
-    { FRAC_CONST(0.516403432639864), FRAC_CONST(0.856345429577204) },
-    { FRAC_CONST(0.513773771594868), FRAC_CONST(0.857925702856130) },
-    { FRAC_CONST(0.511139274715464), FRAC_CONST(0.859497901011602) },
-    { FRAC_CONST(0.508499966798541), FRAC_CONST(0.861062009245491) },
-    { FRAC_CONST(0.505855872686269), FRAC_CONST(0.862618012835817) },
-    { FRAC_CONST(0.503207017265869), FRAC_CONST(0.864165897136879) },
-    { FRAC_CONST(0.500553425469378), FRAC_CONST(0.865705647579402) },
-    { FRAC_CONST(0.497895122273411), FRAC_CONST(0.867237249670668) },
-    { FRAC_CONST(0.495232132698931), FRAC_CONST(0.868760688994655) },
-    { FRAC_CONST(0.492564481811011), FRAC_CONST(0.870275951212172) },
-    { FRAC_CONST(0.489892194718595), FRAC_CONST(0.871783022060993) },
-    { FRAC_CONST(0.487215296574269), FRAC_CONST(0.873281887355994) },
-    { FRAC_CONST(0.484533812574016), FRAC_CONST(0.874772532989284) },
-    { FRAC_CONST(0.481847767956986), FRAC_CONST(0.876254944930338) },
-    { FRAC_CONST(0.479157188005253), FRAC_CONST(0.877729109226132) },
-    { FRAC_CONST(0.476462098043581), FRAC_CONST(0.879195012001267) },
-    { FRAC_CONST(0.473762523439183), FRAC_CONST(0.880652639458111) },
-    { FRAC_CONST(0.471058489601483), FRAC_CONST(0.882101977876918) },
-    { FRAC_CONST(0.468350021981877), FRAC_CONST(0.883543013615962) },
-    { FRAC_CONST(0.465637146073494), FRAC_CONST(0.884975733111667) },
-    { FRAC_CONST(0.462919887410955), FRAC_CONST(0.886400122878730) },
-    { FRAC_CONST(0.460198271570134), FRAC_CONST(0.887816169510255) },
-    { FRAC_CONST(0.457472324167916), FRAC_CONST(0.889223859677868) },
-    { FRAC_CONST(0.454742070861955), FRAC_CONST(0.890623180131856) },
-    { FRAC_CONST(0.452007537350437), FRAC_CONST(0.892014117701280) },
-    { FRAC_CONST(0.449268749371830), FRAC_CONST(0.893396659294108) },
-    { FRAC_CONST(0.446525732704651), FRAC_CONST(0.894770791897330) },
-    { FRAC_CONST(0.443778513167218), FRAC_CONST(0.896136502577087) },
-    { FRAC_CONST(0.441027116617407), FRAC_CONST(0.897493778478790) },
-    { FRAC_CONST(0.438271568952410), FRAC_CONST(0.898842606827242) },
-    { FRAC_CONST(0.435511896108492), FRAC_CONST(0.900182974926757) },
-    { FRAC_CONST(0.432748124060744), FRAC_CONST(0.901514870161279) },
-    { FRAC_CONST(0.429980278822841), FRAC_CONST(0.902838279994503) },
-    { FRAC_CONST(0.427208386446796), FRAC_CONST(0.904153191969992) },
-    { FRAC_CONST(0.424432473022717), FRAC_CONST(0.905459593711293) },
-    { FRAC_CONST(0.421652564678558), FRAC_CONST(0.906757472922057) },
-    { FRAC_CONST(0.418868687579875), FRAC_CONST(0.908046817386148) },
-    { FRAC_CONST(0.416080867929579), FRAC_CONST(0.909327614967767) },
-    { FRAC_CONST(0.413289131967691), FRAC_CONST(0.910599853611559) },
-    { FRAC_CONST(0.410493505971093), FRAC_CONST(0.911863521342729) },
-    { FRAC_CONST(0.407694016253280), FRAC_CONST(0.913118606267154) },
-    { FRAC_CONST(0.404890689164118), FRAC_CONST(0.914365096571498) },
-    { FRAC_CONST(0.402083551089587), FRAC_CONST(0.915602980523320) },
-    { FRAC_CONST(0.399272628451541), FRAC_CONST(0.916832246471184) },
-    { FRAC_CONST(0.396457947707454), FRAC_CONST(0.918052882844770) },
-    { FRAC_CONST(0.393639535350173), FRAC_CONST(0.919264878154985) },
-    { FRAC_CONST(0.390817417907669), FRAC_CONST(0.920468220994067) },
-    { FRAC_CONST(0.387991621942785), FRAC_CONST(0.921662900035695) },
-    { FRAC_CONST(0.385162174052990), FRAC_CONST(0.922848904035094) },
-    { FRAC_CONST(0.382329100870125), FRAC_CONST(0.924026221829144) },
-    { FRAC_CONST(0.379492429060153), FRAC_CONST(0.925194842336480) },
-    { FRAC_CONST(0.376652185322910), FRAC_CONST(0.926354754557603) },
-    { FRAC_CONST(0.373808396391851), FRAC_CONST(0.927505947574975) },
-    { FRAC_CONST(0.370961089033802), FRAC_CONST(0.928648410553131) },
-    { FRAC_CONST(0.368110290048703), FRAC_CONST(0.929782132738772) },
-    { FRAC_CONST(0.365256026269360), FRAC_CONST(0.930907103460875) },
-    { FRAC_CONST(0.362398324561191), FRAC_CONST(0.932023312130786) },
-    { FRAC_CONST(0.359537211821973), FRAC_CONST(0.933130748242325) },
-    { FRAC_CONST(0.356672714981588), FRAC_CONST(0.934229401371881) },
-    { FRAC_CONST(0.353804861001772), FRAC_CONST(0.935319261178512) },
-    { FRAC_CONST(0.350933676875858), FRAC_CONST(0.936400317404042) },
-    { FRAC_CONST(0.348059189628526), FRAC_CONST(0.937472559873159) },
-    { FRAC_CONST(0.345181426315543), FRAC_CONST(0.938535978493509) },
-    { FRAC_CONST(0.342300414023514), FRAC_CONST(0.939590563255789) },
-    { FRAC_CONST(0.339416179869623), FRAC_CONST(0.940636304233848) },
-    { FRAC_CONST(0.336528751001382), FRAC_CONST(0.941673191584771) },
-    { FRAC_CONST(0.333638154596371), FRAC_CONST(0.942701215548982) },
-    { FRAC_CONST(0.330744417861983), FRAC_CONST(0.943720366450326) },
-    { FRAC_CONST(0.327847568035171), FRAC_CONST(0.944730634696168) },
-    { FRAC_CONST(0.324947632382188), FRAC_CONST(0.945732010777477) },
-    { FRAC_CONST(0.322044638198335), FRAC_CONST(0.946724485268921) },
-    { FRAC_CONST(0.319138612807696), FRAC_CONST(0.947708048828952) },
-    { FRAC_CONST(0.316229583562890), FRAC_CONST(0.948682692199895) },
-    { FRAC_CONST(0.313317577844809), FRAC_CONST(0.949648406208035) },
-    { FRAC_CONST(0.310402623062359), FRAC_CONST(0.950605181763705) },
-    { FRAC_CONST(0.307484746652204), FRAC_CONST(0.951553009861369) },
-    { FRAC_CONST(0.304563976078509), FRAC_CONST(0.952491881579706) },
-    { FRAC_CONST(0.301640338832679), FRAC_CONST(0.953421788081700) },
-    { FRAC_CONST(0.298713862433100), FRAC_CONST(0.954342720614716) },
-    { FRAC_CONST(0.295784574424884), FRAC_CONST(0.955254670510587) },
-    { FRAC_CONST(0.292852502379605), FRAC_CONST(0.956157629185692) },
-    { FRAC_CONST(0.289917673895041), FRAC_CONST(0.957051588141041) },
-    { FRAC_CONST(0.286980116594916), FRAC_CONST(0.957936538962351) },
-    { FRAC_CONST(0.284039858128637), FRAC_CONST(0.958812473320129) },
-    { FRAC_CONST(0.281096926171038), FRAC_CONST(0.959679382969747) },
-    { FRAC_CONST(0.278151348422115), FRAC_CONST(0.960537259751520) },
-    { FRAC_CONST(0.275203152606767), FRAC_CONST(0.961386095590786) },
-    { FRAC_CONST(0.272252366474537), FRAC_CONST(0.962225882497979) },
-    { FRAC_CONST(0.269299017799346), FRAC_CONST(0.963056612568704) },
-    { FRAC_CONST(0.266343134379238), FRAC_CONST(0.963878277983814) },
-    { FRAC_CONST(0.263384744036113), FRAC_CONST(0.964690871009481) },
-    { FRAC_CONST(0.260423874615468), FRAC_CONST(0.965494383997270) },
-    { FRAC_CONST(0.257460553986133), FRAC_CONST(0.966288809384210) },
-    { FRAC_CONST(0.254494810040011), FRAC_CONST(0.967074139692867) },
-    { FRAC_CONST(0.251526670691813), FRAC_CONST(0.967850367531414) },
-    { FRAC_CONST(0.248556163878797), FRAC_CONST(0.968617485593698) },
-    { FRAC_CONST(0.245583317560504), FRAC_CONST(0.969375486659311) },
-    { FRAC_CONST(0.242608159718497), FRAC_CONST(0.970124363593660) },
-    { FRAC_CONST(0.239630718356094), FRAC_CONST(0.970864109348029) },
-    { FRAC_CONST(0.236651021498106), FRAC_CONST(0.971594716959650) },
-    { FRAC_CONST(0.233669097190577), FRAC_CONST(0.972316179551765) },
-    { FRAC_CONST(0.230684973500512), FRAC_CONST(0.973028490333694) },
-    { FRAC_CONST(0.227698678515621), FRAC_CONST(0.973731642600896) },
-    { FRAC_CONST(0.224710240344050), FRAC_CONST(0.974425629735035) },
-    { FRAC_CONST(0.221719687114115), FRAC_CONST(0.975110445204039) },
-    { FRAC_CONST(0.218727046974045), FRAC_CONST(0.975786082562164) },
-    { FRAC_CONST(0.215732348091706), FRAC_CONST(0.976452535450054) },
-    { FRAC_CONST(0.212735618654346), FRAC_CONST(0.977109797594801) },
-    { FRAC_CONST(0.209736886868323), FRAC_CONST(0.977757862810003) },
-    { FRAC_CONST(0.206736180958844), FRAC_CONST(0.978396724995823) },
-    { FRAC_CONST(0.203733529169694), FRAC_CONST(0.979026378139048) },
-    { FRAC_CONST(0.200728959762976), FRAC_CONST(0.979646816313141) },
-    { FRAC_CONST(0.197722501018842), FRAC_CONST(0.980258033678304) },
-    { FRAC_CONST(0.194714181235226), FRAC_CONST(0.980860024481524) },
-    { FRAC_CONST(0.191704028727580), FRAC_CONST(0.981452783056636) },
-    { FRAC_CONST(0.188692071828605), FRAC_CONST(0.982036303824369) },
-    { FRAC_CONST(0.185678338887988), FRAC_CONST(0.982610581292405) },
-    { FRAC_CONST(0.182662858272129), FRAC_CONST(0.983175610055424) },
-    { FRAC_CONST(0.179645658363882), FRAC_CONST(0.983731384795162) },
-    { FRAC_CONST(0.176626767562281), FRAC_CONST(0.984277900280454) },
-    { FRAC_CONST(0.173606214282275), FRAC_CONST(0.984815151367289) },
-    { FRAC_CONST(0.170584026954464), FRAC_CONST(0.985343132998855) },
-    { FRAC_CONST(0.167560234024824), FRAC_CONST(0.985861840205587) },
-    { FRAC_CONST(0.164534863954446), FRAC_CONST(0.986371268105216) },
-    { FRAC_CONST(0.161507945219266), FRAC_CONST(0.986871411902812) },
-    { FRAC_CONST(0.158479506309796), FRAC_CONST(0.987362266890832) },
-    { FRAC_CONST(0.155449575730856), FRAC_CONST(0.987843828449162) },
-    { FRAC_CONST(0.152418182001307), FRAC_CONST(0.988316092045160) },
-    { FRAC_CONST(0.149385353653780), FRAC_CONST(0.988779053233702) },
-    { FRAC_CONST(0.146351119234411), FRAC_CONST(0.989232707657220) },
-    { FRAC_CONST(0.143315507302572), FRAC_CONST(0.989677051045747) },
-    { FRAC_CONST(0.140278546430595), FRAC_CONST(0.990112079216954) },
-    { FRAC_CONST(0.137240265203516), FRAC_CONST(0.990537788076189) },
-    { FRAC_CONST(0.134200692218792), FRAC_CONST(0.990954173616519) },
-    { FRAC_CONST(0.131159856086043), FRAC_CONST(0.991361231918763) },
-    { FRAC_CONST(0.128117785426777), FRAC_CONST(0.991758959151536) },
-    { FRAC_CONST(0.125074508874121), FRAC_CONST(0.992147351571276) },
-    { FRAC_CONST(0.122030055072553), FRAC_CONST(0.992526405522286) },
-    { FRAC_CONST(0.118984452677633), FRAC_CONST(0.992896117436766) },
-    { FRAC_CONST(0.115937730355728), FRAC_CONST(0.993256483834846) },
-    { FRAC_CONST(0.112889916783750), FRAC_CONST(0.993607501324622) },
-    { FRAC_CONST(0.109841040648883), FRAC_CONST(0.993949166602181) },
-    { FRAC_CONST(0.106791130648307), FRAC_CONST(0.994281476451642) },
-    { FRAC_CONST(0.103740215488939), FRAC_CONST(0.994604427745176) },
-    { FRAC_CONST(0.100688323887154), FRAC_CONST(0.994918017443043) },
-    { FRAC_CONST(0.097635484568517), FRAC_CONST(0.995222242593618) },
-    { FRAC_CONST(0.094581726267515), FRAC_CONST(0.995517100333418) },
-    { FRAC_CONST(0.091527077727285), FRAC_CONST(0.995802587887129) },
-    { FRAC_CONST(0.088471567699341), FRAC_CONST(0.996078702567634) },
-    { FRAC_CONST(0.085415224943307), FRAC_CONST(0.996345441776036) },
-    { FRAC_CONST(0.082358078226647), FRAC_CONST(0.996602803001684) },
-    { FRAC_CONST(0.079300156324388), FRAC_CONST(0.996850783822197) },
-    { FRAC_CONST(0.076241488018856), FRAC_CONST(0.997089381903483) },
-    { FRAC_CONST(0.073182102099403), FRAC_CONST(0.997318594999769) },
-    { FRAC_CONST(0.070122027362134), FRAC_CONST(0.997538420953611) },
-    { FRAC_CONST(0.067061292609637), FRAC_CONST(0.997748857695926) },
-    { FRAC_CONST(0.063999926650714), FRAC_CONST(0.997949903246001) },
-    { FRAC_CONST(0.060937958300107), FRAC_CONST(0.998141555711521) },
-    { FRAC_CONST(0.057875416378229), FRAC_CONST(0.998323813288578) },
-    { FRAC_CONST(0.054812329710890), FRAC_CONST(0.998496674261695) },
-    { FRAC_CONST(0.051748727129028), FRAC_CONST(0.998660137003838) },
-    { FRAC_CONST(0.048684637468439), FRAC_CONST(0.998814199976435) },
-    { FRAC_CONST(0.045620089569500), FRAC_CONST(0.998958861729386) },
-    { FRAC_CONST(0.042555112276904), FRAC_CONST(0.999094120901079) },
-    { FRAC_CONST(0.039489734439384), FRAC_CONST(0.999219976218404) },
-    { FRAC_CONST(0.036423984909444), FRAC_CONST(0.999336426496761) },
-    { FRAC_CONST(0.033357892543086), FRAC_CONST(0.999443470640078) },
-    { FRAC_CONST(0.030291486199539), FRAC_CONST(0.999541107640813) },
-    { FRAC_CONST(0.027224794740988), FRAC_CONST(0.999629336579970) },
-    { FRAC_CONST(0.024157847032300), FRAC_CONST(0.999708156627105) },
-    { FRAC_CONST(0.021090671940755), FRAC_CONST(0.999777567040333) },
-    { FRAC_CONST(0.018023298335774), FRAC_CONST(0.999837567166337) },
-    { FRAC_CONST(0.014955755088644), FRAC_CONST(0.999888156440373) },
-    { FRAC_CONST(0.011888071072252), FRAC_CONST(0.999929334386276) },
-    { FRAC_CONST(0.008820275160808), FRAC_CONST(0.999961100616463) },
-    { FRAC_CONST(0.005752396229574), FRAC_CONST(0.999983454831938) },
-    { FRAC_CONST(0.002684463154596), FRAC_CONST(0.999996396822294) }
-};
-
-/* 64 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_256[] =
-{
-    { FRAC_CONST(0.999995293809576), FRAC_CONST(0.003067956762966) },
-    { FRAC_CONST(0.999618822495179), FRAC_CONST(0.027608145778966) },
-    { FRAC_CONST(0.998640218180265), FRAC_CONST(0.052131704680283) },
-    { FRAC_CONST(0.997060070339483), FRAC_CONST(0.076623861392031) },
-    { FRAC_CONST(0.994879330794806), FRAC_CONST(0.101069862754828) },
-    { FRAC_CONST(0.992099313142192), FRAC_CONST(0.125454983411546) },
-    { FRAC_CONST(0.988721691960324), FRAC_CONST(0.149764534677322) },
-    { FRAC_CONST(0.984748501801904), FRAC_CONST(0.173983873387464) },
-    { FRAC_CONST(0.980182135968117), FRAC_CONST(0.198098410717954) },
-    { FRAC_CONST(0.975025345066994), FRAC_CONST(0.222093620973204) },
-    { FRAC_CONST(0.969281235356549), FRAC_CONST(0.245955050335795) },
-    { FRAC_CONST(0.962953266873684), FRAC_CONST(0.269668325572915) },
-    { FRAC_CONST(0.956045251349996), FRAC_CONST(0.293219162694259) },
-    { FRAC_CONST(0.948561349915730), FRAC_CONST(0.316593375556166) },
-    { FRAC_CONST(0.940506070593268), FRAC_CONST(0.339776884406827) },
-    { FRAC_CONST(0.931884265581668), FRAC_CONST(0.362755724367397) },
-    { FRAC_CONST(0.922701128333879), FRAC_CONST(0.385516053843919) },
-    { FRAC_CONST(0.912962190428398), FRAC_CONST(0.408044162864979) },
-    { FRAC_CONST(0.902673318237259), FRAC_CONST(0.430326481340083) },
-    { FRAC_CONST(0.891840709392343), FRAC_CONST(0.452349587233771) },
-    { FRAC_CONST(0.880470889052161), FRAC_CONST(0.474100214650550) },
-    { FRAC_CONST(0.868570705971341), FRAC_CONST(0.495565261825773) },
-    { FRAC_CONST(0.856147328375194), FRAC_CONST(0.516731799017650) },
-    { FRAC_CONST(0.843208239641845), FRAC_CONST(0.537587076295645) },
-    { FRAC_CONST(0.829761233794523), FRAC_CONST(0.558118531220556) },
-    { FRAC_CONST(0.815814410806734), FRAC_CONST(0.578313796411656) },
-    { FRAC_CONST(0.801376171723140), FRAC_CONST(0.598160706996342) },
-    { FRAC_CONST(0.786455213599086), FRAC_CONST(0.617647307937804) },
-    { FRAC_CONST(0.771060524261814), FRAC_CONST(0.636761861236284) },
-    { FRAC_CONST(0.755201376896537), FRAC_CONST(0.655492852999615) },
-    { FRAC_CONST(0.738887324460615), FRAC_CONST(0.673829000378756) },
-    { FRAC_CONST(0.722128193929215), FRAC_CONST(0.691759258364158) },
-    { FRAC_CONST(0.704934080375905), FRAC_CONST(0.709272826438866) },
-    { FRAC_CONST(0.687315340891759), FRAC_CONST(0.726359155084346) },
-    { FRAC_CONST(0.669282588346636), FRAC_CONST(0.743007952135122) },
-    { FRAC_CONST(0.650846684996381), FRAC_CONST(0.759209188978388) },
-    { FRAC_CONST(0.632018735939809), FRAC_CONST(0.774953106594874) },
-    { FRAC_CONST(0.612810082429410), FRAC_CONST(0.790230221437310) },
-    { FRAC_CONST(0.593232295039800), FRAC_CONST(0.805031331142964) },
-    { FRAC_CONST(0.573297166698042), FRAC_CONST(0.819347520076797) },
-    { FRAC_CONST(0.553016705580028), FRAC_CONST(0.833170164701913) },
-    { FRAC_CONST(0.532403127877198), FRAC_CONST(0.846490938774052) },
-    { FRAC_CONST(0.511468850437971), FRAC_CONST(0.859301818357008) },
-    { FRAC_CONST(0.490226483288291), FRAC_CONST(0.871595086655951) },
-    { FRAC_CONST(0.468688822035828), FRAC_CONST(0.883363338665732) },
-    { FRAC_CONST(0.446868840162374), FRAC_CONST(0.894599485631383) },
-    { FRAC_CONST(0.424779681209109), FRAC_CONST(0.905296759318119) },
-    { FRAC_CONST(0.402434650859419), FRAC_CONST(0.915448716088268) },
-    { FRAC_CONST(0.379847208924051), FRAC_CONST(0.925049240782678) },
-    { FRAC_CONST(0.357030961233430), FRAC_CONST(0.934092550404259) },
-    { FRAC_CONST(0.333999651442009), FRAC_CONST(0.942573197601447) },
-    { FRAC_CONST(0.310767152749611), FRAC_CONST(0.950486073949482) },
-    { FRAC_CONST(0.287347459544730), FRAC_CONST(0.957826413027533) },
-    { FRAC_CONST(0.263754678974832), FRAC_CONST(0.964589793289813) },
-    { FRAC_CONST(0.240003022448742), FRAC_CONST(0.970772140728950) },
-    { FRAC_CONST(0.216106797076220), FRAC_CONST(0.976369731330021) },
-    { FRAC_CONST(0.192080397049892), FRAC_CONST(0.981379193313755) },
-    { FRAC_CONST(0.167938294974731), FRAC_CONST(0.985797509167567) },
-    { FRAC_CONST(0.143695033150295), FRAC_CONST(0.989622017463201) },
-    { FRAC_CONST(0.119365214810991), FRAC_CONST(0.992850414459865) },
-    { FRAC_CONST(0.094963495329639), FRAC_CONST(0.995480755491927) },
-    { FRAC_CONST(0.070504573389614), FRAC_CONST(0.997511456140303) },
-    { FRAC_CONST(0.046003182130915), FRAC_CONST(0.998941293186857) },
-    { FRAC_CONST(0.021474080275470), FRAC_CONST(0.999769405351215) }
-};
-
-#ifdef LD_DEC
-/* 256 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_1024[] =
-{
-    { FRAC_CONST(0.999999705862882), FRAC_CONST(0.000766990318743) },
-    { FRAC_CONST(0.999976174986898), FRAC_CONST(0.006902858724730) },
-    { FRAC_CONST(0.999914995573113), FRAC_CONST(0.013038467241987) },
-    { FRAC_CONST(0.999816169924900), FRAC_CONST(0.019173584868323) },
-    { FRAC_CONST(0.999679701762988), FRAC_CONST(0.025307980620025) },
-    { FRAC_CONST(0.999505596225325), FRAC_CONST(0.031441423540560) },
-    { FRAC_CONST(0.999293859866888), FRAC_CONST(0.037573682709270) },
-    { FRAC_CONST(0.999044500659429), FRAC_CONST(0.043704527250063) },
-    { FRAC_CONST(0.998757527991183), FRAC_CONST(0.049833726340107) },
-    { FRAC_CONST(0.998432952666508), FRAC_CONST(0.055961049218521) },
-    { FRAC_CONST(0.998070786905482), FRAC_CONST(0.062086265195060) },
-    { FRAC_CONST(0.997671044343441), FRAC_CONST(0.068209143658806) },
-    { FRAC_CONST(0.997233740030466), FRAC_CONST(0.074329454086846) },
-    { FRAC_CONST(0.996758890430818), FRAC_CONST(0.080446966052950) },
-    { FRAC_CONST(0.996246513422316), FRAC_CONST(0.086561449236251) },
-    { FRAC_CONST(0.995696628295664), FRAC_CONST(0.092672673429913) },
-    { FRAC_CONST(0.995109255753726), FRAC_CONST(0.098780408549800) },
-    { FRAC_CONST(0.994484417910748), FRAC_CONST(0.104884424643135) },
-    { FRAC_CONST(0.993822138291520), FRAC_CONST(0.110984491897163) },
-    { FRAC_CONST(0.993122441830496), FRAC_CONST(0.117080380647801) },
-    { FRAC_CONST(0.992385354870852), FRAC_CONST(0.123171861388280) },
-    { FRAC_CONST(0.991610905163495), FRAC_CONST(0.129258704777796) },
-    { FRAC_CONST(0.990799121866020), FRAC_CONST(0.135340681650134) },
-    { FRAC_CONST(0.989950035541609), FRAC_CONST(0.141417563022303) },
-    { FRAC_CONST(0.989063678157882), FRAC_CONST(0.147489120103154) },
-    { FRAC_CONST(0.988140083085693), FRAC_CONST(0.153555124301993) },
-    { FRAC_CONST(0.987179285097874), FRAC_CONST(0.159615347237193) },
-    { FRAC_CONST(0.986181320367928), FRAC_CONST(0.165669560744784) },
-    { FRAC_CONST(0.985146226468662), FRAC_CONST(0.171717536887050) },
-    { FRAC_CONST(0.984074042370776), FRAC_CONST(0.177759047961107) },
-    { FRAC_CONST(0.982964808441396), FRAC_CONST(0.183793866507478) },
-    { FRAC_CONST(0.981818566442553), FRAC_CONST(0.189821765318656) },
-    { FRAC_CONST(0.980635359529608), FRAC_CONST(0.195842517447658) },
-    { FRAC_CONST(0.979415232249635), FRAC_CONST(0.201855896216568) },
-    { FRAC_CONST(0.978158230539735), FRAC_CONST(0.207861675225075) },
-    { FRAC_CONST(0.976864401725313), FRAC_CONST(0.213859628358994) },
-    { FRAC_CONST(0.975533794518291), FRAC_CONST(0.219849529798779) },
-    { FRAC_CONST(0.974166459015280), FRAC_CONST(0.225831154028026) },
-    { FRAC_CONST(0.972762446695689), FRAC_CONST(0.231804275841965) },
-    { FRAC_CONST(0.971321810419786), FRAC_CONST(0.237768670355934) },
-    { FRAC_CONST(0.969844604426715), FRAC_CONST(0.243724113013852) },
-    { FRAC_CONST(0.968330884332445), FRAC_CONST(0.249670379596669) },
-    { FRAC_CONST(0.966780707127683), FRAC_CONST(0.255607246230807) },
-    { FRAC_CONST(0.965194131175725), FRAC_CONST(0.261534489396596) },
-    { FRAC_CONST(0.963571216210257), FRAC_CONST(0.267451885936678) },
-    { FRAC_CONST(0.961912023333112), FRAC_CONST(0.273359213064419) },
-    { FRAC_CONST(0.960216615011963), FRAC_CONST(0.279256248372291) },
-    { FRAC_CONST(0.958485055077976), FRAC_CONST(0.285142769840249) },
-    { FRAC_CONST(0.956717408723403), FRAC_CONST(0.291018555844085) },
-    { FRAC_CONST(0.954913742499131), FRAC_CONST(0.296883385163778) },
-    { FRAC_CONST(0.953074124312172), FRAC_CONST(0.302737036991819) },
-    { FRAC_CONST(0.951198623423113), FRAC_CONST(0.308579290941525) },
-    { FRAC_CONST(0.949287310443502), FRAC_CONST(0.314409927055337) },
-    { FRAC_CONST(0.947340257333192), FRAC_CONST(0.320228725813100) },
-    { FRAC_CONST(0.945357537397632), FRAC_CONST(0.326035468140330) },
-    { FRAC_CONST(0.943339225285108), FRAC_CONST(0.331829935416461) },
-    { FRAC_CONST(0.941285396983929), FRAC_CONST(0.337611909483075) },
-    { FRAC_CONST(0.939196129819570), FRAC_CONST(0.343381172652115) },
-    { FRAC_CONST(0.937071502451759), FRAC_CONST(0.349137507714085) },
-    { FRAC_CONST(0.934911594871516), FRAC_CONST(0.354880697946223) },
-    { FRAC_CONST(0.932716488398140), FRAC_CONST(0.360610527120662) },
-    { FRAC_CONST(0.930486265676150), FRAC_CONST(0.366326779512574) },
-    { FRAC_CONST(0.928221010672169), FRAC_CONST(0.372029239908285) },
-    { FRAC_CONST(0.925920808671770), FRAC_CONST(0.377717693613386) },
-    { FRAC_CONST(0.923585746276257), FRAC_CONST(0.383391926460809) },
-    { FRAC_CONST(0.921215911399409), FRAC_CONST(0.389051724818894) },
-    { FRAC_CONST(0.918811393264170), FRAC_CONST(0.394696875599434) },
-    { FRAC_CONST(0.916372282399289), FRAC_CONST(0.400327166265690) },
-    { FRAC_CONST(0.913898670635912), FRAC_CONST(0.405942384840403) },
-    { FRAC_CONST(0.911390651104122), FRAC_CONST(0.411542319913765) },
-    { FRAC_CONST(0.908848318229439), FRAC_CONST(0.417126760651388) },
-    { FRAC_CONST(0.906271767729258), FRAC_CONST(0.422695496802233) },
-    { FRAC_CONST(0.903661096609248), FRAC_CONST(0.428248318706532) },
-    { FRAC_CONST(0.901016403159702), FRAC_CONST(0.433785017303679) },
-    { FRAC_CONST(0.898337786951834), FRAC_CONST(0.439305384140100) },
-    { FRAC_CONST(0.895625348834030), FRAC_CONST(0.444809211377105) },
-    { FRAC_CONST(0.892879190928052), FRAC_CONST(0.450296291798709) },
-    { FRAC_CONST(0.890099416625192), FRAC_CONST(0.455766418819435) },
-    { FRAC_CONST(0.887286130582383), FRAC_CONST(0.461219386492092) },
-    { FRAC_CONST(0.884439438718254), FRAC_CONST(0.466654989515531) },
-    { FRAC_CONST(0.881559448209144), FRAC_CONST(0.472073023242369) },
-    { FRAC_CONST(0.878646267485068), FRAC_CONST(0.477473283686698) },
-    { FRAC_CONST(0.875700006225635), FRAC_CONST(0.482855567531766) },
-    { FRAC_CONST(0.872720775355914), FRAC_CONST(0.488219672137627) },
-    { FRAC_CONST(0.869708687042266), FRAC_CONST(0.493565395548775) },
-    { FRAC_CONST(0.866663854688111), FRAC_CONST(0.498892536501745) },
-    { FRAC_CONST(0.863586392929668), FRAC_CONST(0.504200894432690) },
-    { FRAC_CONST(0.860476417631632), FRAC_CONST(0.509490269484936) },
-    { FRAC_CONST(0.857334045882816), FRAC_CONST(0.514760462516501) },
-    { FRAC_CONST(0.854159395991739), FRAC_CONST(0.520011275107596) },
-    { FRAC_CONST(0.850952587482176), FRAC_CONST(0.525242509568095) },
-    { FRAC_CONST(0.847713741088654), FRAC_CONST(0.530453968944976) },
-    { FRAC_CONST(0.844442978751911), FRAC_CONST(0.535645457029741) },
-    { FRAC_CONST(0.841140423614298), FRAC_CONST(0.540816778365797) },
-    { FRAC_CONST(0.837806200015151), FRAC_CONST(0.545967738255818) },
-    { FRAC_CONST(0.834440433486103), FRAC_CONST(0.551098142769075) },
-    { FRAC_CONST(0.831043250746362), FRAC_CONST(0.556207798748740) },
-    { FRAC_CONST(0.827614779697938), FRAC_CONST(0.561296513819151) },
-    { FRAC_CONST(0.824155149420829), FRAC_CONST(0.566364096393064) },
-    { FRAC_CONST(0.820664490168157), FRAC_CONST(0.571410355678857) },
-    { FRAC_CONST(0.817142933361273), FRAC_CONST(0.576435101687722) },
-    { FRAC_CONST(0.813590611584799), FRAC_CONST(0.581438145240810) },
-    { FRAC_CONST(0.810007658581641), FRAC_CONST(0.586419297976361) },
-    { FRAC_CONST(0.806394209247956), FRAC_CONST(0.591378372356788) },
-    { FRAC_CONST(0.802750399628069), FRAC_CONST(0.596315181675744) },
-    { FRAC_CONST(0.799076366909352), FRAC_CONST(0.601229540065149) },
-    { FRAC_CONST(0.795372249417061), FRAC_CONST(0.606121262502186) },
-    { FRAC_CONST(0.791638186609126), FRAC_CONST(0.610990164816272) },
-    { FRAC_CONST(0.787874319070900), FRAC_CONST(0.615836063695985) },
-    { FRAC_CONST(0.784080788509870), FRAC_CONST(0.620658776695972) },
-    { FRAC_CONST(0.780257737750317), FRAC_CONST(0.625458122243814) },
-    { FRAC_CONST(0.776405310727940), FRAC_CONST(0.630233919646864) },
-    { FRAC_CONST(0.772523652484441), FRAC_CONST(0.634985989099049) },
-    { FRAC_CONST(0.768612909162058), FRAC_CONST(0.639714151687640) },
-    { FRAC_CONST(0.764673227998067), FRAC_CONST(0.644418229399988) },
-    { FRAC_CONST(0.760704757319237), FRAC_CONST(0.649098045130226) },
-    { FRAC_CONST(0.756707646536246), FRAC_CONST(0.653753422685936) },
-    { FRAC_CONST(0.752682046138055), FRAC_CONST(0.658384186794785) },
-    { FRAC_CONST(0.748628107686245), FRAC_CONST(0.662990163111121) },
-    { FRAC_CONST(0.744545983809307), FRAC_CONST(0.667571178222540) },
-    { FRAC_CONST(0.740435828196898), FRAC_CONST(0.672127059656412) },
-    { FRAC_CONST(0.736297795594053), FRAC_CONST(0.676657635886375) },
-    { FRAC_CONST(0.732132041795361), FRAC_CONST(0.681162736338795) },
-    { FRAC_CONST(0.727938723639099), FRAC_CONST(0.685642191399187) },
-    { FRAC_CONST(0.723717999001324), FRAC_CONST(0.690095832418600) },
-    { FRAC_CONST(0.719470026789933), FRAC_CONST(0.694523491719966) },
-    { FRAC_CONST(0.715194966938680), FRAC_CONST(0.698925002604414) },
-    { FRAC_CONST(0.710892980401152), FRAC_CONST(0.703300199357549) },
-    { FRAC_CONST(0.706564229144710), FRAC_CONST(0.707648917255684) },
-    { FRAC_CONST(0.702208876144392), FRAC_CONST(0.711970992572050) },
-    { FRAC_CONST(0.697827085376777), FRAC_CONST(0.716266262582953) },
-    { FRAC_CONST(0.693419021813812), FRAC_CONST(0.720534565573905) },
-    { FRAC_CONST(0.688984851416597), FRAC_CONST(0.724775740845711) },
-    { FRAC_CONST(0.684524741129142), FRAC_CONST(0.728989628720519) },
-    { FRAC_CONST(0.680038858872079), FRAC_CONST(0.733176070547833) },
-    { FRAC_CONST(0.675527373536339), FRAC_CONST(0.737334908710483) },
-    { FRAC_CONST(0.670990454976794), FRAC_CONST(0.741465986630563) },
-    { FRAC_CONST(0.666428274005865), FRAC_CONST(0.745569148775325) },
-    { FRAC_CONST(0.661841002387087), FRAC_CONST(0.749644240663033) },
-    { FRAC_CONST(0.657228812828643), FRAC_CONST(0.753691108868781) },
-    { FRAC_CONST(0.652591878976863), FRAC_CONST(0.757709601030268) },
-    { FRAC_CONST(0.647930375409685), FRAC_CONST(0.761699565853535) },
-    { FRAC_CONST(0.643244477630086), FRAC_CONST(0.765660853118662) },
-    { FRAC_CONST(0.638534362059467), FRAC_CONST(0.769593313685423) },
-    { FRAC_CONST(0.633800206031017), FRAC_CONST(0.773496799498899) },
-    { FRAC_CONST(0.629042187783036), FRAC_CONST(0.777371163595056) },
-    { FRAC_CONST(0.624260486452221), FRAC_CONST(0.781216260106276) },
-    { FRAC_CONST(0.619455282066924), FRAC_CONST(0.785031944266848) },
-    { FRAC_CONST(0.614626755540375), FRAC_CONST(0.788818072418420) },
-    { FRAC_CONST(0.609775088663868), FRAC_CONST(0.792574502015408) },
-    { FRAC_CONST(0.604900464099920), FRAC_CONST(0.796301091630359) },
-    { FRAC_CONST(0.600003065375389), FRAC_CONST(0.799997700959282) },
-    { FRAC_CONST(0.595083076874570), FRAC_CONST(0.803664190826924) },
-    { FRAC_CONST(0.590140683832249), FRAC_CONST(0.807300423192014) },
-    { FRAC_CONST(0.585176072326730), FRAC_CONST(0.810906261152460) },
-    { FRAC_CONST(0.580189429272832), FRAC_CONST(0.814481568950499) },
-    { FRAC_CONST(0.575180942414845), FRAC_CONST(0.818026211977813) },
-    { FRAC_CONST(0.570150800319470), FRAC_CONST(0.821540056780598) },
-    { FRAC_CONST(0.565099192368714), FRAC_CONST(0.825022971064580) },
-    { FRAC_CONST(0.560026308752760), FRAC_CONST(0.828474823700007) },
-    { FRAC_CONST(0.554932340462810), FRAC_CONST(0.831895484726578) },
-    { FRAC_CONST(0.549817479283891), FRAC_CONST(0.835284825358337) },
-    { FRAC_CONST(0.544681917787635), FRAC_CONST(0.838642717988527) },
-    { FRAC_CONST(0.539525849325029), FRAC_CONST(0.841969036194388) },
-    { FRAC_CONST(0.534349468019138), FRAC_CONST(0.845263654741918) },
-    { FRAC_CONST(0.529152968757791), FRAC_CONST(0.848526449590593) },
-    { FRAC_CONST(0.523936547186249), FRAC_CONST(0.851757297898029) },
-    { FRAC_CONST(0.518700399699835), FRAC_CONST(0.854956078024615) },
-    { FRAC_CONST(0.513444723436544), FRAC_CONST(0.858122669538086) },
-    { FRAC_CONST(0.508169716269615), FRAC_CONST(0.861256953218062) },
-    { FRAC_CONST(0.502875576800087), FRAC_CONST(0.864358811060534) },
-    { FRAC_CONST(0.497562504349319), FRAC_CONST(0.867428126282307) },
-    { FRAC_CONST(0.492230698951486), FRAC_CONST(0.870464783325398) },
-    { FRAC_CONST(0.486880361346047), FRAC_CONST(0.873468667861385) },
-    { FRAC_CONST(0.481511692970190), FRAC_CONST(0.876439666795714) },
-    { FRAC_CONST(0.476124895951244), FRAC_CONST(0.879377668271953) },
-    { FRAC_CONST(0.470720173099072), FRAC_CONST(0.882282561676009) },
-    { FRAC_CONST(0.465297727898435), FRAC_CONST(0.885154237640285) },
-    { FRAC_CONST(0.459857764501330), FRAC_CONST(0.887992588047806) },
-    { FRAC_CONST(0.454400487719304), FRAC_CONST(0.890797506036281) },
-    { FRAC_CONST(0.448926103015743), FRAC_CONST(0.893568886002136) },
-    { FRAC_CONST(0.443434816498138), FRAC_CONST(0.896306623604480) },
-    { FRAC_CONST(0.437926834910323), FRAC_CONST(0.899010615769039) },
-    { FRAC_CONST(0.432402365624690), FRAC_CONST(0.901680760692038) },
-    { FRAC_CONST(0.426861616634386), FRAC_CONST(0.904316957844028) },
-    { FRAC_CONST(0.421304796545480), FRAC_CONST(0.906919107973678) },
-    { FRAC_CONST(0.415732114569105), FRAC_CONST(0.909487113111505) },
-    { FRAC_CONST(0.410143780513590), FRAC_CONST(0.912020876573568) },
-    { FRAC_CONST(0.404540004776553), FRAC_CONST(0.914520302965104) },
-    { FRAC_CONST(0.398920998336983), FRAC_CONST(0.916985298184123) },
-    { FRAC_CONST(0.393286972747297), FRAC_CONST(0.919415769424947) },
-    { FRAC_CONST(0.387638140125373), FRAC_CONST(0.921811625181708) },
-    { FRAC_CONST(0.381974713146567), FRAC_CONST(0.924172775251791) },
-    { FRAC_CONST(0.376296905035705), FRAC_CONST(0.926499130739231) },
-    { FRAC_CONST(0.370604929559052), FRAC_CONST(0.928790604058057) },
-    { FRAC_CONST(0.364899001016267), FRAC_CONST(0.931047108935595) },
-    { FRAC_CONST(0.359179334232337), FRAC_CONST(0.933268560415712) },
-    { FRAC_CONST(0.353446144549481), FRAC_CONST(0.935454874862015) },
-    { FRAC_CONST(0.347699647819051), FRAC_CONST(0.937605969961000) },
-    { FRAC_CONST(0.341940060393402), FRAC_CONST(0.939721764725153) },
-    { FRAC_CONST(0.336167599117745), FRAC_CONST(0.941802179495998) },
-    { FRAC_CONST(0.330382481321983), FRAC_CONST(0.943847135947093) },
-    { FRAC_CONST(0.324584924812532), FRAC_CONST(0.945856557086984) },
-    { FRAC_CONST(0.318775147864118), FRAC_CONST(0.947830367262101) },
-    { FRAC_CONST(0.312953369211560), FRAC_CONST(0.949768492159607) },
-    { FRAC_CONST(0.307119808041533), FRAC_CONST(0.951670858810194) },
-    { FRAC_CONST(0.301274683984318), FRAC_CONST(0.953537395590833) },
-    { FRAC_CONST(0.295418217105532), FRAC_CONST(0.955368032227470) },
-    { FRAC_CONST(0.289550627897843), FRAC_CONST(0.957162699797670) },
-    { FRAC_CONST(0.283672137272669), FRAC_CONST(0.958921330733213) },
-    { FRAC_CONST(0.277782966551858), FRAC_CONST(0.960643858822638) },
-    { FRAC_CONST(0.271883337459360), FRAC_CONST(0.962330219213737) },
-    { FRAC_CONST(0.265973472112876), FRAC_CONST(0.963980348415994) },
-    { FRAC_CONST(0.260053593015495), FRAC_CONST(0.965594184302977) },
-    { FRAC_CONST(0.254123923047321), FRAC_CONST(0.967171666114677) },
-    { FRAC_CONST(0.248184685457075), FRAC_CONST(0.968712734459795) },
-    { FRAC_CONST(0.242236103853696), FRAC_CONST(0.970217331317979) },
-    { FRAC_CONST(0.236278402197920), FRAC_CONST(0.971685400042009) },
-    { FRAC_CONST(0.230311804793846), FRAC_CONST(0.973116885359925) },
-    { FRAC_CONST(0.224336536280494), FRAC_CONST(0.974511733377116) },
-    { FRAC_CONST(0.218352821623346), FRAC_CONST(0.975869891578341) },
-    { FRAC_CONST(0.212360886105879), FRAC_CONST(0.977191308829712) },
-    { FRAC_CONST(0.206360955321076), FRAC_CONST(0.978475935380617) },
-    { FRAC_CONST(0.200353255162940), FRAC_CONST(0.979723722865591) },
-    { FRAC_CONST(0.194338011817989), FRAC_CONST(0.980934624306142) },
-    { FRAC_CONST(0.188315451756732), FRAC_CONST(0.982108594112514) },
-    { FRAC_CONST(0.182285801725153), FRAC_CONST(0.983245588085407) },
-    { FRAC_CONST(0.176249288736168), FRAC_CONST(0.984345563417642) },
-    { FRAC_CONST(0.170206140061078), FRAC_CONST(0.985408478695768) },
-    { FRAC_CONST(0.164156583221016), FRAC_CONST(0.986434293901627) },
-    { FRAC_CONST(0.158100845978377), FRAC_CONST(0.987422970413855) },
-    { FRAC_CONST(0.152039156328246), FRAC_CONST(0.988374471009341) },
-    { FRAC_CONST(0.145971742489812), FRAC_CONST(0.989288759864625) },
-    { FRAC_CONST(0.139898832897777), FRAC_CONST(0.990165802557248) },
-    { FRAC_CONST(0.133820656193755), FRAC_CONST(0.991005566067049) },
-    { FRAC_CONST(0.127737441217662), FRAC_CONST(0.991808018777406) },
-    { FRAC_CONST(0.121649416999106), FRAC_CONST(0.992573130476429) },
-    { FRAC_CONST(0.115556812748755), FRAC_CONST(0.993300872358093) },
-    { FRAC_CONST(0.109459857849718), FRAC_CONST(0.993991217023329) },
-    { FRAC_CONST(0.103358781848900), FRAC_CONST(0.994644138481051) },
-    { FRAC_CONST(0.097253814448363), FRAC_CONST(0.995259612149133) },
-    { FRAC_CONST(0.091145185496681), FRAC_CONST(0.995837614855342) },
-    { FRAC_CONST(0.085033124980280), FRAC_CONST(0.996378124838200) },
-    { FRAC_CONST(0.078917863014785), FRAC_CONST(0.996881121747814) },
-    { FRAC_CONST(0.072799629836352), FRAC_CONST(0.997346586646633) },
-    { FRAC_CONST(0.066678655793002), FRAC_CONST(0.997774502010168) },
-    { FRAC_CONST(0.060555171335948), FRAC_CONST(0.998164851727646) },
-    { FRAC_CONST(0.054429407010919), FRAC_CONST(0.998517621102622) },
-    { FRAC_CONST(0.048301593449480), FRAC_CONST(0.998832796853528) },
-    { FRAC_CONST(0.042171961360348), FRAC_CONST(0.999110367114175) },
-    { FRAC_CONST(0.036040741520706), FRAC_CONST(0.999350321434199) },
-    { FRAC_CONST(0.029908164767517), FRAC_CONST(0.999552650779457) },
-    { FRAC_CONST(0.023774461988828), FRAC_CONST(0.999717347532362) },
-    { FRAC_CONST(0.017639864115082), FRAC_CONST(0.999844405492175) },
-    { FRAC_CONST(0.011504602110423), FRAC_CONST(0.999933819875236) },
-    { FRAC_CONST(0.005368906963996), FRAC_CONST(0.999985587315143) }
-};
-#endif // LD_DEC
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-/* 480 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_1920[] =
-{
-    { FRAC_CONST(0.999999916334328), FRAC_CONST(0.000409061532028) },
-    { FRAC_CONST(0.999993223088129), FRAC_CONST(0.003681545574400) },
-    { FRAC_CONST(0.999975820717897), FRAC_CONST(0.006953990190376) },
-    { FRAC_CONST(0.999947709409999), FRAC_CONST(0.010226360334704) },
-    { FRAC_CONST(0.999908889465485), FRAC_CONST(0.013498620962929) },
-    { FRAC_CONST(0.999859361300084), FRAC_CONST(0.016770737031768) },
-    { FRAC_CONST(0.999799125444203), FRAC_CONST(0.020042673499487) },
-    { FRAC_CONST(0.999728182542920), FRAC_CONST(0.023314395326274) },
-    { FRAC_CONST(0.999646533355977), FRAC_CONST(0.026585867474619) },
-    { FRAC_CONST(0.999554178757770), FRAC_CONST(0.029857054909681) },
-    { FRAC_CONST(0.999451119737344), FRAC_CONST(0.033127922599673) },
-    { FRAC_CONST(0.999337357398377), FRAC_CONST(0.036398435516228) },
-    { FRAC_CONST(0.999212892959173), FRAC_CONST(0.039668558634781) },
-    { FRAC_CONST(0.999077727752645), FRAC_CONST(0.042938256934941) },
-    { FRAC_CONST(0.998931863226306), FRAC_CONST(0.046207495400865) },
-    { FRAC_CONST(0.998775300942246), FRAC_CONST(0.049476239021636) },
-    { FRAC_CONST(0.998608042577122), FRAC_CONST(0.052744452791636) },
-    { FRAC_CONST(0.998430089922136), FRAC_CONST(0.056012101710921) },
-    { FRAC_CONST(0.998241444883019), FRAC_CONST(0.059279150785597) },
-    { FRAC_CONST(0.998042109480008), FRAC_CONST(0.062545565028192) },
-    { FRAC_CONST(0.997832085847824), FRAC_CONST(0.065811309458034) },
-    { FRAC_CONST(0.997611376235651), FRAC_CONST(0.069076349101624) },
-    { FRAC_CONST(0.997379983007114), FRAC_CONST(0.072340648993011) },
-    { FRAC_CONST(0.997137908640245), FRAC_CONST(0.075604174174166) },
-    { FRAC_CONST(0.996885155727469), FRAC_CONST(0.078866889695354) },
-    { FRAC_CONST(0.996621726975566), FRAC_CONST(0.082128760615515) },
-    { FRAC_CONST(0.996347625205645), FRAC_CONST(0.085389752002632) },
-    { FRAC_CONST(0.996062853353117), FRAC_CONST(0.088649828934106) },
-    { FRAC_CONST(0.995767414467660), FRAC_CONST(0.091908956497133) },
-    { FRAC_CONST(0.995461311713186), FRAC_CONST(0.095167099789075) },
-    { FRAC_CONST(0.995144548367810), FRAC_CONST(0.098424223917834) },
-    { FRAC_CONST(0.994817127823813), FRAC_CONST(0.101680294002229) },
-    { FRAC_CONST(0.994479053587606), FRAC_CONST(0.104935275172364) },
-    { FRAC_CONST(0.994130329279692), FRAC_CONST(0.108189132570007) },
-    { FRAC_CONST(0.993770958634630), FRAC_CONST(0.111441831348957) },
-    { FRAC_CONST(0.993400945500988), FRAC_CONST(0.114693336675426) },
-    { FRAC_CONST(0.993020293841312), FRAC_CONST(0.117943613728403) },
-    { FRAC_CONST(0.992629007732074), FRAC_CONST(0.121192627700032) },
-    { FRAC_CONST(0.992227091363634), FRAC_CONST(0.124440343795983) },
-    { FRAC_CONST(0.991814549040194), FRAC_CONST(0.127686727235827) },
-    { FRAC_CONST(0.991391385179751), FRAC_CONST(0.130931743253405) },
-    { FRAC_CONST(0.990957604314048), FRAC_CONST(0.134175357097202) },
-    { FRAC_CONST(0.990513211088533), FRAC_CONST(0.137417534030720) },
-    { FRAC_CONST(0.990058210262297), FRAC_CONST(0.140658239332849) },
-    { FRAC_CONST(0.989592606708036), FRAC_CONST(0.143897438298239) },
-    { FRAC_CONST(0.989116405411988), FRAC_CONST(0.147135096237670) },
-    { FRAC_CONST(0.988629611473887), FRAC_CONST(0.150371178478428) },
-    { FRAC_CONST(0.988132230106905), FRAC_CONST(0.153605650364672) },
-    { FRAC_CONST(0.987624266637598), FRAC_CONST(0.156838477257806) },
-    { FRAC_CONST(0.987105726505845), FRAC_CONST(0.160069624536852) },
-    { FRAC_CONST(0.986576615264794), FRAC_CONST(0.163299057598817) },
-    { FRAC_CONST(0.986036938580803), FRAC_CONST(0.166526741859069) },
-    { FRAC_CONST(0.985486702233375), FRAC_CONST(0.169752642751702) },
-    { FRAC_CONST(0.984925912115099), FRAC_CONST(0.172976725729910) },
-    { FRAC_CONST(0.984354574231587), FRAC_CONST(0.176198956266353) },
-    { FRAC_CONST(0.983772694701407), FRAC_CONST(0.179419299853531) },
-    { FRAC_CONST(0.983180279756024), FRAC_CONST(0.182637722004152) },
-    { FRAC_CONST(0.982577335739725), FRAC_CONST(0.185854188251500) },
-    { FRAC_CONST(0.981963869109555), FRAC_CONST(0.189068664149806) },
-    { FRAC_CONST(0.981339886435250), FRAC_CONST(0.192281115274616) },
-    { FRAC_CONST(0.980705394399163), FRAC_CONST(0.195491507223158) },
-    { FRAC_CONST(0.980060399796194), FRAC_CONST(0.198699805614714) },
-    { FRAC_CONST(0.979404909533716), FRAC_CONST(0.201905976090986) },
-    { FRAC_CONST(0.978738930631504), FRAC_CONST(0.205109984316464) },
-    { FRAC_CONST(0.978062470221657), FRAC_CONST(0.208311795978794) },
-    { FRAC_CONST(0.977375535548522), FRAC_CONST(0.211511376789145) },
-    { FRAC_CONST(0.976678133968618), FRAC_CONST(0.214708692482577) },
-    { FRAC_CONST(0.975970272950556), FRAC_CONST(0.217903708818409) },
-    { FRAC_CONST(0.975251960074958), FRAC_CONST(0.221096391580581) },
-    { FRAC_CONST(0.974523203034377), FRAC_CONST(0.224286706578026) },
-    { FRAC_CONST(0.973784009633218), FRAC_CONST(0.227474619645035) },
-    { FRAC_CONST(0.973034387787646), FRAC_CONST(0.230660096641619) },
-    { FRAC_CONST(0.972274345525510), FRAC_CONST(0.233843103453878) },
-    { FRAC_CONST(0.971503890986252), FRAC_CONST(0.237023605994367) },
-    { FRAC_CONST(0.970723032420820), FRAC_CONST(0.240201570202459) },
-    { FRAC_CONST(0.969931778191584), FRAC_CONST(0.243376962044711) },
-    { FRAC_CONST(0.969130136772239), FRAC_CONST(0.246549747515226) },
-    { FRAC_CONST(0.968318116747721), FRAC_CONST(0.249719892636022) },
-    { FRAC_CONST(0.967495726814114), FRAC_CONST(0.252887363457390) },
-    { FRAC_CONST(0.966662975778551), FRAC_CONST(0.256052126058264) },
-    { FRAC_CONST(0.965819872559127), FRAC_CONST(0.259214146546579) },
-    { FRAC_CONST(0.964966426184802), FRAC_CONST(0.262373391059634) },
-    { FRAC_CONST(0.964102645795299), FRAC_CONST(0.265529825764461) },
-    { FRAC_CONST(0.963228540641012), FRAC_CONST(0.268683416858178) },
-    { FRAC_CONST(0.962344120082907), FRAC_CONST(0.271834130568359) },
-    { FRAC_CONST(0.961449393592416), FRAC_CONST(0.274981933153391) },
-    { FRAC_CONST(0.960544370751341), FRAC_CONST(0.278126790902837) },
-    { FRAC_CONST(0.959629061251750), FRAC_CONST(0.281268670137799) },
-    { FRAC_CONST(0.958703474895872), FRAC_CONST(0.284407537211272) },
-    { FRAC_CONST(0.957767621595993), FRAC_CONST(0.287543358508512) },
-    { FRAC_CONST(0.956821511374351), FRAC_CONST(0.290676100447394) },
-    { FRAC_CONST(0.955865154363025), FRAC_CONST(0.293805729478766) },
-    { FRAC_CONST(0.954898560803832), FRAC_CONST(0.296932212086818) },
-    { FRAC_CONST(0.953921741048211), FRAC_CONST(0.300055514789431) },
-    { FRAC_CONST(0.952934705557117), FRAC_CONST(0.303175604138543) },
-    { FRAC_CONST(0.951937464900908), FRAC_CONST(0.306292446720504) },
-    { FRAC_CONST(0.950930029759229), FRAC_CONST(0.309406009156434) },
-    { FRAC_CONST(0.949912410920903), FRAC_CONST(0.312516258102580) },
-    { FRAC_CONST(0.948884619283808), FRAC_CONST(0.315623160250676) },
-    { FRAC_CONST(0.947846665854767), FRAC_CONST(0.318726682328294) },
-    { FRAC_CONST(0.946798561749429), FRAC_CONST(0.321826791099207) },
-    { FRAC_CONST(0.945740318192145), FRAC_CONST(0.324923453363742) },
-    { FRAC_CONST(0.944671946515855), FRAC_CONST(0.328016635959131) },
-    { FRAC_CONST(0.943593458161960), FRAC_CONST(0.331106305759876) },
-    { FRAC_CONST(0.942504864680205), FRAC_CONST(0.334192429678095) },
-    { FRAC_CONST(0.941406177728551), FRAC_CONST(0.337274974663880) },
-    { FRAC_CONST(0.940297409073052), FRAC_CONST(0.340353907705650) },
-    { FRAC_CONST(0.939178570587730), FRAC_CONST(0.343429195830507) },
-    { FRAC_CONST(0.938049674254446), FRAC_CONST(0.346500806104585) },
-    { FRAC_CONST(0.936910732162774), FRAC_CONST(0.349568705633406) },
-    { FRAC_CONST(0.935761756509868), FRAC_CONST(0.352632861562230) },
-    { FRAC_CONST(0.934602759600334), FRAC_CONST(0.355693241076410) },
-    { FRAC_CONST(0.933433753846097), FRAC_CONST(0.358749811401739) },
-    { FRAC_CONST(0.932254751766271), FRAC_CONST(0.361802539804806) },
-    { FRAC_CONST(0.931065765987021), FRAC_CONST(0.364851393593340) },
-    { FRAC_CONST(0.929866809241428), FRAC_CONST(0.367896340116568) },
-    { FRAC_CONST(0.928657894369357), FRAC_CONST(0.370937346765559) },
-    { FRAC_CONST(0.927439034317314), FRAC_CONST(0.373974380973575) },
-    { FRAC_CONST(0.926210242138311), FRAC_CONST(0.377007410216418) },
-    { FRAC_CONST(0.924971530991726), FRAC_CONST(0.380036402012783) },
-    { FRAC_CONST(0.923722914143160), FRAC_CONST(0.383061323924602) },
-    { FRAC_CONST(0.922464404964295), FRAC_CONST(0.386082143557389) },
-    { FRAC_CONST(0.921196016932755), FRAC_CONST(0.389098828560595) },
-    { FRAC_CONST(0.919917763631956), FRAC_CONST(0.392111346627946) },
-    { FRAC_CONST(0.918629658750963), FRAC_CONST(0.395119665497795) },
-    { FRAC_CONST(0.917331716084346), FRAC_CONST(0.398123752953462) },
-    { FRAC_CONST(0.916023949532027), FRAC_CONST(0.401123576823585) },
-    { FRAC_CONST(0.914706373099136), FRAC_CONST(0.404119104982459) },
-    { FRAC_CONST(0.913379000895858), FRAC_CONST(0.407110305350386) },
-    { FRAC_CONST(0.912041847137282), FRAC_CONST(0.410097145894012) },
-    { FRAC_CONST(0.910694926143251), FRAC_CONST(0.413079594626675) },
-    { FRAC_CONST(0.909338252338207), FRAC_CONST(0.416057619608744) },
-    { FRAC_CONST(0.907971840251037), FRAC_CONST(0.419031188947965) },
-    { FRAC_CONST(0.906595704514915), FRAC_CONST(0.422000270799800) },
-    { FRAC_CONST(0.905209859867151), FRAC_CONST(0.424964833367766) },
-    { FRAC_CONST(0.903814321149027), FRAC_CONST(0.427924844903780) },
-    { FRAC_CONST(0.902409103305641), FRAC_CONST(0.430880273708497) },
-    { FRAC_CONST(0.900994221385748), FRAC_CONST(0.433831088131649) },
-    { FRAC_CONST(0.899569690541596), FRAC_CONST(0.436777256572384) },
-    { FRAC_CONST(0.898135526028766), FRAC_CONST(0.439718747479604) },
-    { FRAC_CONST(0.896691743206008), FRAC_CONST(0.442655529352306) },
-    { FRAC_CONST(0.895238357535076), FRAC_CONST(0.445587570739915) },
-    { FRAC_CONST(0.893775384580563), FRAC_CONST(0.448514840242624) },
-    { FRAC_CONST(0.892302840009734), FRAC_CONST(0.451437306511726) },
-    { FRAC_CONST(0.890820739592359), FRAC_CONST(0.454354938249958) },
-    { FRAC_CONST(0.889329099200541), FRAC_CONST(0.457267704211826) },
-    { FRAC_CONST(0.887827934808551), FRAC_CONST(0.460175573203949) },
-    { FRAC_CONST(0.886317262492655), FRAC_CONST(0.463078514085383) },
-    { FRAC_CONST(0.884797098430938), FRAC_CONST(0.465976495767966) },
-    { FRAC_CONST(0.883267458903136), FRAC_CONST(0.468869487216642) },
-    { FRAC_CONST(0.881728360290461), FRAC_CONST(0.471757457449795) },
-    { FRAC_CONST(0.880179819075421), FRAC_CONST(0.474640375539586) },
-    { FRAC_CONST(0.878621851841649), FRAC_CONST(0.477518210612278) },
-    { FRAC_CONST(0.877054475273722), FRAC_CONST(0.480390931848569) },
-    { FRAC_CONST(0.875477706156984), FRAC_CONST(0.483258508483922) },
-    { FRAC_CONST(0.873891561377366), FRAC_CONST(0.486120909808896) },
-    { FRAC_CONST(0.872296057921204), FRAC_CONST(0.488978105169472) },
-    { FRAC_CONST(0.870691212875058), FRAC_CONST(0.491830063967383) },
-    { FRAC_CONST(0.869077043425529), FRAC_CONST(0.494676755660442) },
-    { FRAC_CONST(0.867453566859076), FRAC_CONST(0.497518149762867) },
-    { FRAC_CONST(0.865820800561827), FRAC_CONST(0.500354215845611) },
-    { FRAC_CONST(0.864178762019399), FRAC_CONST(0.503184923536685) },
-    { FRAC_CONST(0.862527468816704), FRAC_CONST(0.506010242521482) },
-    { FRAC_CONST(0.860866938637767), FRAC_CONST(0.508830142543107) },
-    { FRAC_CONST(0.859197189265532), FRAC_CONST(0.511644593402696) },
-    { FRAC_CONST(0.857518238581672), FRAC_CONST(0.514453564959741) },
-    { FRAC_CONST(0.855830104566401), FRAC_CONST(0.517257027132414) },
-    { FRAC_CONST(0.854132805298278), FRAC_CONST(0.520054949897887) },
-    { FRAC_CONST(0.852426358954015), FRAC_CONST(0.522847303292655) },
-    { FRAC_CONST(0.850710783808280), FRAC_CONST(0.525634057412856) },
-    { FRAC_CONST(0.848986098233506), FRAC_CONST(0.528415182414593) },
-    { FRAC_CONST(0.847252320699689), FRAC_CONST(0.531190648514252) },
-    { FRAC_CONST(0.845509469774194), FRAC_CONST(0.533960425988819) },
-    { FRAC_CONST(0.843757564121554), FRAC_CONST(0.536724485176205) },
-    { FRAC_CONST(0.841996622503271), FRAC_CONST(0.539482796475555) },
-    { FRAC_CONST(0.840226663777615), FRAC_CONST(0.542235330347571) },
-    { FRAC_CONST(0.838447706899422), FRAC_CONST(0.544982057314827) },
-    { FRAC_CONST(0.836659770919891), FRAC_CONST(0.547722947962084) },
-    { FRAC_CONST(0.834862874986380), FRAC_CONST(0.550457972936605) },
-    { FRAC_CONST(0.833057038342201), FRAC_CONST(0.553187102948470) },
-    { FRAC_CONST(0.831242280326413), FRAC_CONST(0.555910308770889) },
-    { FRAC_CONST(0.829418620373617), FRAC_CONST(0.558627561240515) },
-    { FRAC_CONST(0.827586078013746), FRAC_CONST(0.561338831257758) },
-    { FRAC_CONST(0.825744672871856), FRAC_CONST(0.564044089787093) },
-    { FRAC_CONST(0.823894424667918), FRAC_CONST(0.566743307857377) },
-    { FRAC_CONST(0.822035353216601), FRAC_CONST(0.569436456562150) },
-    { FRAC_CONST(0.820167478427070), FRAC_CONST(0.572123507059955) },
-    { FRAC_CONST(0.818290820302761), FRAC_CONST(0.574804430574639) },
-    { FRAC_CONST(0.816405398941175), FRAC_CONST(0.577479198395666) },
-    { FRAC_CONST(0.814511234533661), FRAC_CONST(0.580147781878420) },
-    { FRAC_CONST(0.812608347365198), FRAC_CONST(0.582810152444517) },
-    { FRAC_CONST(0.810696757814178), FRAC_CONST(0.585466281582107) },
-    { FRAC_CONST(0.808776486352191), FRAC_CONST(0.588116140846181) },
-    { FRAC_CONST(0.806847553543799), FRAC_CONST(0.590759701858874) },
-    { FRAC_CONST(0.804909980046325), FRAC_CONST(0.593396936309773) },
-    { FRAC_CONST(0.802963786609623), FRAC_CONST(0.596027815956215) },
-    { FRAC_CONST(0.801008994075862), FRAC_CONST(0.598652312623592) },
-    { FRAC_CONST(0.799045623379300), FRAC_CONST(0.601270398205654) },
-    { FRAC_CONST(0.797073695546059), FRAC_CONST(0.603882044664808) },
-    { FRAC_CONST(0.795093231693901), FRAC_CONST(0.606487224032418) },
-    { FRAC_CONST(0.793104253032005), FRAC_CONST(0.609085908409106) },
-    { FRAC_CONST(0.791106780860733), FRAC_CONST(0.611678069965050) },
-    { FRAC_CONST(0.789100836571407), FRAC_CONST(0.614263680940283) },
-    { FRAC_CONST(0.787086441646080), FRAC_CONST(0.616842713644988) },
-    { FRAC_CONST(0.785063617657302), FRAC_CONST(0.619415140459796) },
-    { FRAC_CONST(0.783032386267894), FRAC_CONST(0.621980933836084) },
-    { FRAC_CONST(0.780992769230711), FRAC_CONST(0.624540066296266) },
-    { FRAC_CONST(0.778944788388414), FRAC_CONST(0.627092510434089) },
-    { FRAC_CONST(0.776888465673232), FRAC_CONST(0.629638238914927) },
-    { FRAC_CONST(0.774823823106730), FRAC_CONST(0.632177224476073) },
-    { FRAC_CONST(0.772750882799570), FRAC_CONST(0.634709439927031) },
-    { FRAC_CONST(0.770669666951277), FRAC_CONST(0.637234858149809) },
-    { FRAC_CONST(0.768580197850002), FRAC_CONST(0.639753452099206) },
-    { FRAC_CONST(0.766482497872280), FRAC_CONST(0.642265194803105) },
-    { FRAC_CONST(0.764376589482793), FRAC_CONST(0.644770059362758) },
-    { FRAC_CONST(0.762262495234126), FRAC_CONST(0.647268018953079) },
-    { FRAC_CONST(0.760140237766532), FRAC_CONST(0.649759046822928) },
-    { FRAC_CONST(0.758009839807683), FRAC_CONST(0.652243116295397) },
-    { FRAC_CONST(0.755871324172429), FRAC_CONST(0.654720200768098) },
-    { FRAC_CONST(0.753724713762555), FRAC_CONST(0.657190273713446) },
-    { FRAC_CONST(0.751570031566534), FRAC_CONST(0.659653308678945) },
-    { FRAC_CONST(0.749407300659280), FRAC_CONST(0.662109279287469) },
-    { FRAC_CONST(0.747236544201905), FRAC_CONST(0.664558159237545) },
-    { FRAC_CONST(0.745057785441466), FRAC_CONST(0.666999922303638) },
-    { FRAC_CONST(0.742871047710719), FRAC_CONST(0.669434542336425) },
-    { FRAC_CONST(0.740676354427868), FRAC_CONST(0.671861993263083) },
-    { FRAC_CONST(0.738473729096316), FRAC_CONST(0.674282249087562) },
-    { FRAC_CONST(0.736263195304409), FRAC_CONST(0.676695283890867) },
-    { FRAC_CONST(0.734044776725190), FRAC_CONST(0.679101071831334) },
-    { FRAC_CONST(0.731818497116138), FRAC_CONST(0.681499587144906) },
-    { FRAC_CONST(0.729584380318920), FRAC_CONST(0.683890804145412) },
-    { FRAC_CONST(0.727342450259131), FRAC_CONST(0.686274697224838) },
-    { FRAC_CONST(0.725092730946042), FRAC_CONST(0.688651240853606) },
-    { FRAC_CONST(0.722835246472338), FRAC_CONST(0.691020409580841) },
-    { FRAC_CONST(0.720570021013866), FRAC_CONST(0.693382178034651) },
-    { FRAC_CONST(0.718297078829369), FRAC_CONST(0.695736520922392) },
-    { FRAC_CONST(0.716016444260233), FRAC_CONST(0.698083413030944) },
-    { FRAC_CONST(0.713728141730222), FRAC_CONST(0.700422829226978) },
-    { FRAC_CONST(0.711432195745216), FRAC_CONST(0.702754744457225) },
-    { FRAC_CONST(0.709128630892954), FRAC_CONST(0.705079133748748) },
-    { FRAC_CONST(0.706817471842764), FRAC_CONST(0.707395972209203) },
-    { FRAC_CONST(0.704498743345302), FRAC_CONST(0.709705235027113) },
-    { FRAC_CONST(0.702172470232289), FRAC_CONST(0.712006897472128) },
-    { FRAC_CONST(0.699838677416240), FRAC_CONST(0.714300934895292) },
-    { FRAC_CONST(0.697497389890200), FRAC_CONST(0.716587322729308) },
-    { FRAC_CONST(0.695148632727480), FRAC_CONST(0.718866036488799) },
-    { FRAC_CONST(0.692792431081381), FRAC_CONST(0.721137051770570) },
-    { FRAC_CONST(0.690428810184929), FRAC_CONST(0.723400344253874) },
-    { FRAC_CONST(0.688057795350606), FRAC_CONST(0.725655889700665) },
-    { FRAC_CONST(0.685679411970075), FRAC_CONST(0.727903663955865) },
-    { FRAC_CONST(0.683293685513912), FRAC_CONST(0.730143642947616) },
-    { FRAC_CONST(0.680900641531330), FRAC_CONST(0.732375802687543) },
-    { FRAC_CONST(0.678500305649909), FRAC_CONST(0.734600119271009) },
-    { FRAC_CONST(0.676092703575316), FRAC_CONST(0.736816568877370) },
-    { FRAC_CONST(0.673677861091036), FRAC_CONST(0.739025127770231) },
-    { FRAC_CONST(0.671255804058092), FRAC_CONST(0.741225772297702) },
-    { FRAC_CONST(0.668826558414768), FRAC_CONST(0.743418478892647) },
-    { FRAC_CONST(0.666390150176334), FRAC_CONST(0.745603224072940) },
-    { FRAC_CONST(0.663946605434765), FRAC_CONST(0.747779984441716) },
-    { FRAC_CONST(0.661495950358462), FRAC_CONST(0.749948736687619) },
-    { FRAC_CONST(0.659038211191971), FRAC_CONST(0.752109457585056) },
-    { FRAC_CONST(0.656573414255705), FRAC_CONST(0.754262123994441) },
-    { FRAC_CONST(0.654101585945659), FRAC_CONST(0.756406712862448) },
-    { FRAC_CONST(0.651622752733128), FRAC_CONST(0.758543201222251) },
-    { FRAC_CONST(0.649136941164425), FRAC_CONST(0.760671566193777) },
-    { FRAC_CONST(0.646644177860593), FRAC_CONST(0.762791784983948) },
-    { FRAC_CONST(0.644144489517126), FRAC_CONST(0.764903834886923) },
-    { FRAC_CONST(0.641637902903677), FRAC_CONST(0.767007693284345) },
-    { FRAC_CONST(0.639124444863776), FRAC_CONST(0.769103337645580) },
-    { FRAC_CONST(0.636604142314538), FRAC_CONST(0.771190745527961) },
-    { FRAC_CONST(0.634077022246379), FRAC_CONST(0.773269894577026) },
-    { FRAC_CONST(0.631543111722725), FRAC_CONST(0.775340762526760) },
-    { FRAC_CONST(0.629002437879721), FRAC_CONST(0.777403327199831) },
-    { FRAC_CONST(0.626455027925944), FRAC_CONST(0.779457566507828) },
-    { FRAC_CONST(0.623900909142107), FRAC_CONST(0.781503458451498) },
-    { FRAC_CONST(0.621340108880771), FRAC_CONST(0.783540981120982) },
-    { FRAC_CONST(0.618772654566049), FRAC_CONST(0.785570112696050) },
-    { FRAC_CONST(0.616198573693314), FRAC_CONST(0.787590831446332) },
-    { FRAC_CONST(0.613617893828905), FRAC_CONST(0.789603115731555) },
-    { FRAC_CONST(0.611030642609828), FRAC_CONST(0.791606944001769) },
-    { FRAC_CONST(0.608436847743468), FRAC_CONST(0.793602294797585) },
-    { FRAC_CONST(0.605836537007281), FRAC_CONST(0.795589146750397) },
-    { FRAC_CONST(0.603229738248508), FRAC_CONST(0.797567478582619) },
-    { FRAC_CONST(0.600616479383869), FRAC_CONST(0.799537269107905) },
-    { FRAC_CONST(0.597996788399267), FRAC_CONST(0.801498497231381) },
-    { FRAC_CONST(0.595370693349487), FRAC_CONST(0.803451141949871) },
-    { FRAC_CONST(0.592738222357898), FRAC_CONST(0.805395182352117) },
-    { FRAC_CONST(0.590099403616149), FRAC_CONST(0.807330597619008) },
-    { FRAC_CONST(0.587454265383869), FRAC_CONST(0.809257367023803) },
-    { FRAC_CONST(0.584802835988364), FRAC_CONST(0.811175469932349) },
-    { FRAC_CONST(0.582145143824311), FRAC_CONST(0.813084885803304) },
-    { FRAC_CONST(0.579481217353460), FRAC_CONST(0.814985594188359) },
-    { FRAC_CONST(0.576811085104321), FRAC_CONST(0.816877574732454) },
-    { FRAC_CONST(0.574134775671867), FRAC_CONST(0.818760807173997) },
-    { FRAC_CONST(0.571452317717222), FRAC_CONST(0.820635271345081) },
-    { FRAC_CONST(0.568763739967354), FRAC_CONST(0.822500947171703) },
-    { FRAC_CONST(0.566069071214772), FRAC_CONST(0.824357814673971) },
-    { FRAC_CONST(0.563368340317214), FRAC_CONST(0.826205853966327) },
-    { FRAC_CONST(0.560661576197336), FRAC_CONST(0.828045045257756) },
-    { FRAC_CONST(0.557948807842409), FRAC_CONST(0.829875368851995) },
-    { FRAC_CONST(0.555230064304002), FRAC_CONST(0.831696805147750) },
-    { FRAC_CONST(0.552505374697674), FRAC_CONST(0.833509334638900) },
-    { FRAC_CONST(0.549774768202663), FRAC_CONST(0.835312937914713) },
-    { FRAC_CONST(0.547038274061568), FRAC_CONST(0.837107595660044) },
-    { FRAC_CONST(0.544295921580046), FRAC_CONST(0.838893288655553) },
-    { FRAC_CONST(0.541547740126486), FRAC_CONST(0.840669997777901) },
-    { FRAC_CONST(0.538793759131706), FRAC_CONST(0.842437703999961) },
-    { FRAC_CONST(0.536034008088628), FRAC_CONST(0.844196388391019) },
-    { FRAC_CONST(0.533268516551970), FRAC_CONST(0.845946032116980) },
-    { FRAC_CONST(0.530497314137923), FRAC_CONST(0.847686616440563) },
-    { FRAC_CONST(0.527720430523840), FRAC_CONST(0.849418122721510) },
-    { FRAC_CONST(0.524937895447912), FRAC_CONST(0.851140532416778) },
-    { FRAC_CONST(0.522149738708856), FRAC_CONST(0.852853827080745) },
-    { FRAC_CONST(0.519355990165590), FRAC_CONST(0.854557988365401) },
-    { FRAC_CONST(0.516556679736915), FRAC_CONST(0.856252998020546) },
-    { FRAC_CONST(0.513751837401199), FRAC_CONST(0.857938837893991) },
-    { FRAC_CONST(0.510941493196049), FRAC_CONST(0.859615489931744) },
-    { FRAC_CONST(0.508125677217994), FRAC_CONST(0.861282936178208) },
-    { FRAC_CONST(0.505304419622159), FRAC_CONST(0.862941158776375) },
-    { FRAC_CONST(0.502477750621949), FRAC_CONST(0.864590139968012) },
-    { FRAC_CONST(0.499645700488717), FRAC_CONST(0.866229862093855) },
-    { FRAC_CONST(0.496808299551444), FRAC_CONST(0.867860307593799) },
-    { FRAC_CONST(0.493965578196415), FRAC_CONST(0.869481459007080) },
-    { FRAC_CONST(0.491117566866892), FRAC_CONST(0.871093298972471) },
-    { FRAC_CONST(0.488264296062789), FRAC_CONST(0.872695810228461) },
-    { FRAC_CONST(0.485405796340343), FRAC_CONST(0.874288975613440) },
-    { FRAC_CONST(0.482542098311789), FRAC_CONST(0.875872778065888) },
-    { FRAC_CONST(0.479673232645033), FRAC_CONST(0.877447200624553) },
-    { FRAC_CONST(0.476799230063322), FRAC_CONST(0.879012226428633) },
-    { FRAC_CONST(0.473920121344914), FRAC_CONST(0.880567838717962) },
-    { FRAC_CONST(0.471035937322751), FRAC_CONST(0.882114020833179) },
-    { FRAC_CONST(0.468146708884125), FRAC_CONST(0.883650756215917) },
-    { FRAC_CONST(0.465252466970353), FRAC_CONST(0.885178028408975) },
-    { FRAC_CONST(0.462353242576441), FRAC_CONST(0.886695821056495) },
-    { FRAC_CONST(0.459449066750752), FRAC_CONST(0.888204117904136) },
-    { FRAC_CONST(0.456539970594675), FRAC_CONST(0.889702902799251) },
-    { FRAC_CONST(0.453625985262295), FRAC_CONST(0.891192159691058) },
-    { FRAC_CONST(0.450707141960053), FRAC_CONST(0.892671872630812) },
-    { FRAC_CONST(0.447783471946415), FRAC_CONST(0.894142025771977) },
-    { FRAC_CONST(0.444855006531538), FRAC_CONST(0.895602603370393) },
-    { FRAC_CONST(0.441921777076935), FRAC_CONST(0.897053589784447) },
-    { FRAC_CONST(0.438983814995137), FRAC_CONST(0.898494969475242) },
-    { FRAC_CONST(0.436041151749356), FRAC_CONST(0.899926727006758) },
-    { FRAC_CONST(0.433093818853152), FRAC_CONST(0.901348847046022) },
-    { FRAC_CONST(0.430141847870093), FRAC_CONST(0.902761314363272) },
-    { FRAC_CONST(0.427185270413416), FRAC_CONST(0.904164113832116) },
-    { FRAC_CONST(0.424224118145690), FRAC_CONST(0.905557230429701) },
-    { FRAC_CONST(0.421258422778478), FRAC_CONST(0.906940649236866) },
-    { FRAC_CONST(0.418288216071994), FRAC_CONST(0.908314355438308) },
-    { FRAC_CONST(0.415313529834766), FRAC_CONST(0.909678334322736) },
-    { FRAC_CONST(0.412334395923293), FRAC_CONST(0.911032571283032) },
-    { FRAC_CONST(0.409350846241706), FRAC_CONST(0.912377051816407) },
-    { FRAC_CONST(0.406362912741425), FRAC_CONST(0.913711761524555) },
-    { FRAC_CONST(0.403370627420818), FRAC_CONST(0.915036686113806) },
-    { FRAC_CONST(0.400374022324857), FRAC_CONST(0.916351811395282) },
-    { FRAC_CONST(0.397373129544774), FRAC_CONST(0.917657123285050) },
-    { FRAC_CONST(0.394367981217720), FRAC_CONST(0.918952607804266) },
-    { FRAC_CONST(0.391358609526420), FRAC_CONST(0.920238251079332) },
-    { FRAC_CONST(0.388345046698826), FRAC_CONST(0.921514039342042) },
-    { FRAC_CONST(0.385327325007776), FRAC_CONST(0.922779958929729) },
-    { FRAC_CONST(0.382305476770645), FRAC_CONST(0.924035996285410) },
-    { FRAC_CONST(0.379279534348999), FRAC_CONST(0.925282137957935) },
-    { FRAC_CONST(0.376249530148250), FRAC_CONST(0.926518370602127) },
-    { FRAC_CONST(0.373215496617310), FRAC_CONST(0.927744680978929) },
-    { FRAC_CONST(0.370177466248239), FRAC_CONST(0.928961055955541) },
-    { FRAC_CONST(0.367135471575903), FRAC_CONST(0.930167482505564) },
-    { FRAC_CONST(0.364089545177621), FRAC_CONST(0.931363947709140) },
-    { FRAC_CONST(0.361039719672816), FRAC_CONST(0.932550438753087) },
-    { FRAC_CONST(0.357986027722671), FRAC_CONST(0.933726942931039) },
-    { FRAC_CONST(0.354928502029772), FRAC_CONST(0.934893447643582) },
-    { FRAC_CONST(0.351867175337763), FRAC_CONST(0.936049940398387) },
-    { FRAC_CONST(0.348802080430994), FRAC_CONST(0.937196408810347) },
-    { FRAC_CONST(0.345733250134169), FRAC_CONST(0.938332840601705) },
-    { FRAC_CONST(0.342660717311994), FRAC_CONST(0.939459223602190) },
-    { FRAC_CONST(0.339584514868829), FRAC_CONST(0.940575545749145) },
-    { FRAC_CONST(0.336504675748328), FRAC_CONST(0.941681795087657) },
-    { FRAC_CONST(0.333421232933097), FRAC_CONST(0.942777959770684) },
-    { FRAC_CONST(0.330334219444328), FRAC_CONST(0.943864028059183) },
-    { FRAC_CONST(0.327243668341457), FRAC_CONST(0.944939988322235) },
-    { FRAC_CONST(0.324149612721804), FRAC_CONST(0.946005829037171) },
-    { FRAC_CONST(0.321052085720218), FRAC_CONST(0.947061538789691) },
-    { FRAC_CONST(0.317951120508725), FRAC_CONST(0.948107106273994) },
-    { FRAC_CONST(0.314846750296171), FRAC_CONST(0.949142520292891) },
-    { FRAC_CONST(0.311739008327867), FRAC_CONST(0.950167769757930) },
-    { FRAC_CONST(0.308627927885232), FRAC_CONST(0.951182843689513) },
-    { FRAC_CONST(0.305513542285440), FRAC_CONST(0.952187731217013) },
-    { FRAC_CONST(0.302395884881056), FRAC_CONST(0.953182421578893) },
-    { FRAC_CONST(0.299274989059689), FRAC_CONST(0.954166904122818) },
-    { FRAC_CONST(0.296150888243624), FRAC_CONST(0.955141168305771) },
-    { FRAC_CONST(0.293023615889471), FRAC_CONST(0.956105203694164) },
-    { FRAC_CONST(0.289893205487806), FRAC_CONST(0.957058999963955) },
-    { FRAC_CONST(0.286759690562807), FRAC_CONST(0.958002546900750) },
-    { FRAC_CONST(0.283623104671904), FRAC_CONST(0.958935834399920) },
-    { FRAC_CONST(0.280483481405410), FRAC_CONST(0.959858852466706) },
-    { FRAC_CONST(0.277340854386169), FRAC_CONST(0.960771591216325) },
-    { FRAC_CONST(0.274195257269191), FRAC_CONST(0.961674040874080) },
-    { FRAC_CONST(0.271046723741295), FRAC_CONST(0.962566191775459) },
-    { FRAC_CONST(0.267895287520743), FRAC_CONST(0.963448034366243) },
-    { FRAC_CONST(0.264740982356888), FRAC_CONST(0.964319559202607) },
-    { FRAC_CONST(0.261583842029803), FRAC_CONST(0.965180756951218) },
-    { FRAC_CONST(0.258423900349924), FRAC_CONST(0.966031618389343) },
-    { FRAC_CONST(0.255261191157689), FRAC_CONST(0.966872134404937) },
-    { FRAC_CONST(0.252095748323171), FRAC_CONST(0.967702295996750) },
-    { FRAC_CONST(0.248927605745720), FRAC_CONST(0.968522094274417) },
-    { FRAC_CONST(0.245756797353599), FRAC_CONST(0.969331520458559) },
-    { FRAC_CONST(0.242583357103617), FRAC_CONST(0.970130565880871) },
-    { FRAC_CONST(0.239407318980770), FRAC_CONST(0.970919221984218) },
-    { FRAC_CONST(0.236228716997876), FRAC_CONST(0.971697480322728) },
-    { FRAC_CONST(0.233047585195206), FRAC_CONST(0.972465332561878) },
-    { FRAC_CONST(0.229863957640129), FRAC_CONST(0.973222770478587) },
-    { FRAC_CONST(0.226677868426735), FRAC_CONST(0.973969785961306) },
-    { FRAC_CONST(0.223489351675482), FRAC_CONST(0.974706371010097) },
-    { FRAC_CONST(0.220298441532823), FRAC_CONST(0.975432517736727) },
-    { FRAC_CONST(0.217105172170841), FRAC_CONST(0.976148218364747) },
-    { FRAC_CONST(0.213909577786886), FRAC_CONST(0.976853465229579) },
-    { FRAC_CONST(0.210711692603206), FRAC_CONST(0.977548250778596) },
-    { FRAC_CONST(0.207511550866582), FRAC_CONST(0.978232567571202) },
-    { FRAC_CONST(0.204309186847962), FRAC_CONST(0.978906408278914) },
-    { FRAC_CONST(0.201104634842092), FRAC_CONST(0.979569765685441) },
-    { FRAC_CONST(0.197897929167148), FRAC_CONST(0.980222632686756) },
-    { FRAC_CONST(0.194689104164373), FRAC_CONST(0.980865002291179) },
-    { FRAC_CONST(0.191478194197704), FRAC_CONST(0.981496867619447) },
-    { FRAC_CONST(0.188265233653407), FRAC_CONST(0.982118221904791) },
-    { FRAC_CONST(0.185050256939710), FRAC_CONST(0.982729058493005) },
-    { FRAC_CONST(0.181833298486427), FRAC_CONST(0.983329370842520) },
-    { FRAC_CONST(0.178614392744603), FRAC_CONST(0.983919152524473) },
-    { FRAC_CONST(0.175393574186129), FRAC_CONST(0.984498397222776) },
-    { FRAC_CONST(0.172170877303385), FRAC_CONST(0.985067098734184) },
-    { FRAC_CONST(0.168946336608867), FRAC_CONST(0.985625250968360) },
-    { FRAC_CONST(0.165719986634814), FRAC_CONST(0.986172847947943) },
-    { FRAC_CONST(0.162491861932842), FRAC_CONST(0.986709883808609) },
-    { FRAC_CONST(0.159261997073573), FRAC_CONST(0.987236352799134) },
-    { FRAC_CONST(0.156030426646266), FRAC_CONST(0.987752249281460) },
-    { FRAC_CONST(0.152797185258443), FRAC_CONST(0.988257567730749) },
-    { FRAC_CONST(0.149562307535523), FRAC_CONST(0.988752302735447) },
-    { FRAC_CONST(0.146325828120446), FRAC_CONST(0.989236448997339) },
-    { FRAC_CONST(0.143087781673307), FRAC_CONST(0.989710001331608) },
-    { FRAC_CONST(0.139848202870981), FRAC_CONST(0.990172954666889) },
-    { FRAC_CONST(0.136607126406757), FRAC_CONST(0.990625304045323) },
-    { FRAC_CONST(0.133364586989957), FRAC_CONST(0.991067044622612) },
-    { FRAC_CONST(0.130120619345575), FRAC_CONST(0.991498171668069) },
-    { FRAC_CONST(0.126875258213898), FRAC_CONST(0.991918680564670) },
-    { FRAC_CONST(0.123628538350136), FRAC_CONST(0.992328566809103) },
-    { FRAC_CONST(0.120380494524051), FRAC_CONST(0.992727826011815) },
-    { FRAC_CONST(0.117131161519582), FRAC_CONST(0.993116453897061) },
-    { FRAC_CONST(0.113880574134475), FRAC_CONST(0.993494446302948) },
-    { FRAC_CONST(0.110628767179910), FRAC_CONST(0.993861799181482) },
-    { FRAC_CONST(0.107375775480128), FRAC_CONST(0.994218508598608) },
-    { FRAC_CONST(0.104121633872055), FRAC_CONST(0.994564570734255) },
-    { FRAC_CONST(0.100866377204933), FRAC_CONST(0.994899981882376) },
-    { FRAC_CONST(0.097610040339947), FRAC_CONST(0.995224738450986) },
-    { FRAC_CONST(0.094352658149849), FRAC_CONST(0.995538836962204) },
-    { FRAC_CONST(0.091094265518583), FRAC_CONST(0.995842274052287) },
-    { FRAC_CONST(0.087834897340919), FRAC_CONST(0.996135046471667) },
-    { FRAC_CONST(0.084574588522070), FRAC_CONST(0.996417151084987) },
-    { FRAC_CONST(0.081313373977324), FRAC_CONST(0.996688584871134) },
-    { FRAC_CONST(0.078051288631670), FRAC_CONST(0.996949344923269) },
-    { FRAC_CONST(0.074788367419420), FRAC_CONST(0.997199428448862) },
-    { FRAC_CONST(0.071524645283840), FRAC_CONST(0.997438832769720) },
-    { FRAC_CONST(0.068260157176771), FRAC_CONST(0.997667555322013) },
-    { FRAC_CONST(0.064994938058259), FRAC_CONST(0.997885593656308) },
-    { FRAC_CONST(0.061729022896176), FRAC_CONST(0.998092945437590) },
-    { FRAC_CONST(0.058462446665851), FRAC_CONST(0.998289608445286) },
-    { FRAC_CONST(0.055195244349690), FRAC_CONST(0.998475580573295) },
-    { FRAC_CONST(0.051927450936806), FRAC_CONST(0.998650859830004) },
-    { FRAC_CONST(0.048659101422640), FRAC_CONST(0.998815444338313) },
-    { FRAC_CONST(0.045390230808591), FRAC_CONST(0.998969332335654) },
-    { FRAC_CONST(0.042120874101635), FRAC_CONST(0.999112522174011) },
-    { FRAC_CONST(0.038851066313958), FRAC_CONST(0.999245012319936) },
-    { FRAC_CONST(0.035580842462574), FRAC_CONST(0.999366801354564) },
-    { FRAC_CONST(0.032310237568951), FRAC_CONST(0.999477887973635) },
-    { FRAC_CONST(0.029039286658643), FRAC_CONST(0.999578270987499) },
-    { FRAC_CONST(0.025768024760904), FRAC_CONST(0.999667949321134) },
-    { FRAC_CONST(0.022496486908322), FRAC_CONST(0.999746922014158) },
-    { FRAC_CONST(0.019224708136438), FRAC_CONST(0.999815188220837) },
-    { FRAC_CONST(0.015952723483375), FRAC_CONST(0.999872747210095) },
-    { FRAC_CONST(0.012680567989461), FRAC_CONST(0.999919598365521) },
-    { FRAC_CONST(0.009408276696850), FRAC_CONST(0.999955741185376) },
-    { FRAC_CONST(0.006135884649155), FRAC_CONST(0.999981175282601) },
-    { FRAC_CONST(0.002863426891064), FRAC_CONST(0.999995900384816) }
-};
-
-#ifdef LD_DEC
-/* 240 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_960[] =
-{
-    { FRAC_CONST(0.999999665337326), FRAC_CONST(0.000818122995607) },
-    { FRAC_CONST(0.999972892444367), FRAC_CONST(0.007363041249780) },
-    { FRAC_CONST(0.999903284040864), FRAC_CONST(0.013907644095771) },
-    { FRAC_CONST(0.999790843108610), FRAC_CONST(0.020451651184577) },
-    { FRAC_CONST(0.999635574464198), FRAC_CONST(0.026994782192715) },
-    { FRAC_CONST(0.999437484758823), FRAC_CONST(0.033536756834230) },
-    { FRAC_CONST(0.999196582477986), FRAC_CONST(0.040077294872701) },
-    { FRAC_CONST(0.998912877941140), FRAC_CONST(0.046616116133247) },
-    { FRAC_CONST(0.998586383301244), FRAC_CONST(0.053152940514528) },
-    { FRAC_CONST(0.998217112544241), FRAC_CONST(0.059687488000744) },
-    { FRAC_CONST(0.997805081488460), FRAC_CONST(0.066219478673630) },
-    { FRAC_CONST(0.997350307783942), FRAC_CONST(0.072748632724445) },
-    { FRAC_CONST(0.996852810911678), FRAC_CONST(0.079274670465961) },
-    { FRAC_CONST(0.996312612182778), FRAC_CONST(0.085797312344440) },
-    { FRAC_CONST(0.995729734737558), FRAC_CONST(0.092316278951614) },
-    { FRAC_CONST(0.995104203544548), FRAC_CONST(0.098831291036650) },
-    { FRAC_CONST(0.994436045399422), FRAC_CONST(0.105342069518114) },
-    { FRAC_CONST(0.993725288923851), FRAC_CONST(0.111848335495926) },
-    { FRAC_CONST(0.992971964564277), FRAC_CONST(0.118349810263305) },
-    { FRAC_CONST(0.992176104590608), FRAC_CONST(0.124846215318711) },
-    { FRAC_CONST(0.991337743094838), FRAC_CONST(0.131337272377774) },
-    { FRAC_CONST(0.990456915989581), FRAC_CONST(0.137822703385212) },
-    { FRAC_CONST(0.989533661006540), FRAC_CONST(0.144302230526747) },
-    { FRAC_CONST(0.988568017694885), FRAC_CONST(0.150775576241001) },
-    { FRAC_CONST(0.987560027419562), FRAC_CONST(0.157242463231389) },
-    { FRAC_CONST(0.986509733359519), FRAC_CONST(0.163702614477995) },
-    { FRAC_CONST(0.985417180505858), FRAC_CONST(0.170155753249442) },
-    { FRAC_CONST(0.984282415659907), FRAC_CONST(0.176601603114742) },
-    { FRAC_CONST(0.983105487431216), FRAC_CONST(0.183039887955141) },
-    { FRAC_CONST(0.981886446235473), FRAC_CONST(0.189470331975943) },
-    { FRAC_CONST(0.980625344292344), FRAC_CONST(0.195892659718330) },
-    { FRAC_CONST(0.979322235623241), FRAC_CONST(0.202306596071156) },
-    { FRAC_CONST(0.977977176049000), FRAC_CONST(0.208711866282735) },
-    { FRAC_CONST(0.976590223187499), FRAC_CONST(0.215108195972610) },
-    { FRAC_CONST(0.975161436451181), FRAC_CONST(0.221495311143304) },
-    { FRAC_CONST(0.973690877044515), FRAC_CONST(0.227872938192063) },
-    { FRAC_CONST(0.972178607961371), FRAC_CONST(0.234240803922570) },
-    { FRAC_CONST(0.970624693982323), FRAC_CONST(0.240598635556650) },
-    { FRAC_CONST(0.969029201671875), FRAC_CONST(0.246946160745958) },
-    { FRAC_CONST(0.967392199375607), FRAC_CONST(0.253283107583640) },
-    { FRAC_CONST(0.965713757217249), FRAC_CONST(0.259609204615985) },
-    { FRAC_CONST(0.963993947095677), FRAC_CONST(0.265924180854051) },
-    { FRAC_CONST(0.962232842681832), FRAC_CONST(0.272227765785273) },
-    { FRAC_CONST(0.960430519415566), FRAC_CONST(0.278519689385053) },
-    { FRAC_CONST(0.958587054502409), FRAC_CONST(0.284799682128326) },
-    { FRAC_CONST(0.956702526910263), FRAC_CONST(0.291067475001103) },
-    { FRAC_CONST(0.954777017366017), FRAC_CONST(0.297322799511998) },
-    { FRAC_CONST(0.952810608352092), FRAC_CONST(0.303565387703730) },
-    { FRAC_CONST(0.950803384102905), FRAC_CONST(0.309794972164597) },
-    { FRAC_CONST(0.948755430601263), FRAC_CONST(0.316011286039934) },
-    { FRAC_CONST(0.946666835574676), FRAC_CONST(0.322214063043544) },
-    { FRAC_CONST(0.944537688491606), FRAC_CONST(0.328403037469105) },
-    { FRAC_CONST(0.942368080557626), FRAC_CONST(0.334577944201551) },
-    { FRAC_CONST(0.940158104711519), FRAC_CONST(0.340738518728429) },
-    { FRAC_CONST(0.937907855621296), FRAC_CONST(0.346884497151231) },
-    { FRAC_CONST(0.935617429680138), FRAC_CONST(0.353015616196696) },
-    { FRAC_CONST(0.933286925002268), FRAC_CONST(0.359131613228090) },
-    { FRAC_CONST(0.930916441418752), FRAC_CONST(0.365232226256457) },
-    { FRAC_CONST(0.928506080473216), FRAC_CONST(0.371317193951838) },
-    { FRAC_CONST(0.926055945417500), FRAC_CONST(0.377386255654469) },
-    { FRAC_CONST(0.923566141207236), FRAC_CONST(0.383439151385947) },
-    { FRAC_CONST(0.921036774497350), FRAC_CONST(0.389475621860365) },
-    { FRAC_CONST(0.918467953637492), FRAC_CONST(0.395495408495417) },
-    { FRAC_CONST(0.915859788667400), FRAC_CONST(0.401498253423481) },
-    { FRAC_CONST(0.913212391312179), FRAC_CONST(0.407483899502658) },
-    { FRAC_CONST(0.910525874977521), FRAC_CONST(0.413452090327791) },
-    { FRAC_CONST(0.907800354744844), FRAC_CONST(0.419402570241451) },
-    { FRAC_CONST(0.905035947366364), FRAC_CONST(0.425335084344881) },
-    { FRAC_CONST(0.902232771260093), FRAC_CONST(0.431249378508924) },
-    { FRAC_CONST(0.899390946504764), FRAC_CONST(0.437145199384900) },
-    { FRAC_CONST(0.896510594834693), FRAC_CONST(0.443022294415467) },
-    { FRAC_CONST(0.893591839634558), FRAC_CONST(0.448880411845433) },
-    { FRAC_CONST(0.890634805934118), FRAC_CONST(0.454719300732547) },
-    { FRAC_CONST(0.887639620402854), FRAC_CONST(0.460538710958240) },
-    { FRAC_CONST(0.884606411344546), FRAC_CONST(0.466338393238348) },
-    { FRAC_CONST(0.881535308691775), FRAC_CONST(0.472118099133784) },
-    { FRAC_CONST(0.878426444000357), FRAC_CONST(0.477877581061184) },
-    { FRAC_CONST(0.875279950443708), FRAC_CONST(0.483616592303511) },
-    { FRAC_CONST(0.872095962807140), FRAC_CONST(0.489334887020625) },
-    { FRAC_CONST(0.868874617482085), FRAC_CONST(0.495032220259813) },
-    { FRAC_CONST(0.865616052460258), FRAC_CONST(0.500708347966279) },
-    { FRAC_CONST(0.862320407327736), FRAC_CONST(0.506363026993605) },
-    { FRAC_CONST(0.858987823258990), FRAC_CONST(0.511996015114162) },
-    { FRAC_CONST(0.855618443010829), FRAC_CONST(0.517607071029487) },
-    { FRAC_CONST(0.852212410916289), FRAC_CONST(0.523195954380619) },
-    { FRAC_CONST(0.848769872878448), FRAC_CONST(0.528762425758396) },
-    { FRAC_CONST(0.845290976364179), FRAC_CONST(0.534306246713712) },
-    { FRAC_CONST(0.841775870397828), FRAC_CONST(0.539827179767727) },
-    { FRAC_CONST(0.838224705554838), FRAC_CONST(0.545324988422046) },
-    { FRAC_CONST(0.834637633955290), FRAC_CONST(0.550799437168844) },
-    { FRAC_CONST(0.831014809257393), FRAC_CONST(0.556250291500956) },
-    { FRAC_CONST(0.827356386650900), FRAC_CONST(0.561677317921925) },
-    { FRAC_CONST(0.823662522850458), FRAC_CONST(0.567080283956001) },
-    { FRAC_CONST(0.819933376088899), FRAC_CONST(0.572458958158102) },
-    { FRAC_CONST(0.816169106110459), FRAC_CONST(0.577813110123727) },
-    { FRAC_CONST(0.812369874163934), FRAC_CONST(0.583142510498826) },
-    { FRAC_CONST(0.808535842995778), FRAC_CONST(0.588446930989624) },
-    { FRAC_CONST(0.804667176843123), FRAC_CONST(0.593726144372402) },
-    { FRAC_CONST(0.800764041426753), FRAC_CONST(0.598979924503229) },
-    { FRAC_CONST(0.796826603943998), FRAC_CONST(0.604208046327650) },
-    { FRAC_CONST(0.792855033061574), FRAC_CONST(0.609410285890327) },
-    { FRAC_CONST(0.788849498908361), FRAC_CONST(0.614586420344631) },
-    { FRAC_CONST(0.784810173068109), FRAC_CONST(0.619736227962191) },
-    { FRAC_CONST(0.780737228572094), FRAC_CONST(0.624859488142386) },
-    { FRAC_CONST(0.776630839891703), FRAC_CONST(0.629955981421804) },
-    { FRAC_CONST(0.772491182930959), FRAC_CONST(0.635025489483633) },
-    { FRAC_CONST(0.768318435018988), FRAC_CONST(0.640067795167023) },
-    { FRAC_CONST(0.764112774902423), FRAC_CONST(0.645082682476378) },
-    { FRAC_CONST(0.759874382737746), FRAC_CONST(0.650069936590618) },
-    { FRAC_CONST(0.755603440083571), FRAC_CONST(0.655029343872374) },
-    { FRAC_CONST(0.751300129892866), FRAC_CONST(0.659960691877147) },
-    { FRAC_CONST(0.746964636505118), FRAC_CONST(0.664863769362399) },
-    { FRAC_CONST(0.742597145638433), FRAC_CONST(0.669738366296610) },
-    { FRAC_CONST(0.738197844381584), FRAC_CONST(0.674584273868271) },
-    { FRAC_CONST(0.733766921185995), FRAC_CONST(0.679401284494831) },
-    { FRAC_CONST(0.729304565857668), FRAC_CONST(0.684189191831585) },
-    { FRAC_CONST(0.724810969549055), FRAC_CONST(0.688947790780520) },
-    { FRAC_CONST(0.720286324750863), FRAC_CONST(0.693676877499095) },
-    { FRAC_CONST(0.715730825283819), FRAC_CONST(0.698376249408973) },
-    { FRAC_CONST(0.711144666290356), FRAC_CONST(0.703045705204703) },
-    { FRAC_CONST(0.706528044226263), FRAC_CONST(0.707685044862340) },
-    { FRAC_CONST(0.701881156852263), FRAC_CONST(0.712294069648014) },
-    { FRAC_CONST(0.697204203225545), FRAC_CONST(0.716872582126442) },
-    { FRAC_CONST(0.692497383691237), FRAC_CONST(0.721420386169390) },
-    { FRAC_CONST(0.687760899873822), FRAC_CONST(0.725937286964068) },
-    { FRAC_CONST(0.682994954668502), FRAC_CONST(0.730423091021479) },
-    { FRAC_CONST(0.678199752232508), FRAC_CONST(0.734877606184707) },
-    { FRAC_CONST(0.673375497976352), FRAC_CONST(0.739300641637149) },
-    { FRAC_CONST(0.668522398555031), FRAC_CONST(0.743692007910687) },
-    { FRAC_CONST(0.663640661859171), FRAC_CONST(0.748051516893805) },
-    { FRAC_CONST(0.658730497006124), FRAC_CONST(0.752378981839648) },
-    { FRAC_CONST(0.653792114331011), FRAC_CONST(0.756674217374021) },
-    { FRAC_CONST(0.648825725377709), FRAC_CONST(0.760937039503328) },
-    { FRAC_CONST(0.643831542889792), FRAC_CONST(0.765167265622459) },
-    { FRAC_CONST(0.638809780801414), FRAC_CONST(0.769364714522605) },
-    { FRAC_CONST(0.633760654228152), FRAC_CONST(0.773529206399025) },
-    { FRAC_CONST(0.628684379457781), FRAC_CONST(0.777660562858748) },
-    { FRAC_CONST(0.623581173941019), FRAC_CONST(0.781758606928213) },
-    { FRAC_CONST(0.618451256282204), FRAC_CONST(0.785823163060853) },
-    { FRAC_CONST(0.613294846229936), FRAC_CONST(0.789854057144609) },
-    { FRAC_CONST(0.608112164667659), FRAC_CONST(0.793851116509396) },
-    { FRAC_CONST(0.602903433604202), FRAC_CONST(0.797814169934493) },
-    { FRAC_CONST(0.597668876164268), FRAC_CONST(0.801743047655882) },
-    { FRAC_CONST(0.592408716578875), FRAC_CONST(0.805637581373517) },
-    { FRAC_CONST(0.587123180175754), FRAC_CONST(0.809497604258536) },
-    { FRAC_CONST(0.581812493369691), FRAC_CONST(0.813322950960406) },
-    { FRAC_CONST(0.576476883652835), FRAC_CONST(0.817113457614006) },
-    { FRAC_CONST(0.571116579584947), FRAC_CONST(0.820868961846646) },
-    { FRAC_CONST(0.565731810783613), FRAC_CONST(0.824589302785025) },
-    { FRAC_CONST(0.560322807914407), FRAC_CONST(0.828274321062119) },
-    { FRAC_CONST(0.554889802681009), FRAC_CONST(0.831923858824010) },
-    { FRAC_CONST(0.549433027815281), FRAC_CONST(0.835537759736646) },
-    { FRAC_CONST(0.543952717067296), FRAC_CONST(0.839115868992540) },
-    { FRAC_CONST(0.538449105195327), FRAC_CONST(0.842658033317402) },
-    { FRAC_CONST(0.532922427955790), FRAC_CONST(0.846164100976699) },
-    { FRAC_CONST(0.527372922093142), FRAC_CONST(0.849633921782164) },
-    { FRAC_CONST(0.521800825329746), FRAC_CONST(0.853067347098221) },
-    { FRAC_CONST(0.516206376355680), FRAC_CONST(0.856464229848356) },
-    { FRAC_CONST(0.510589814818519), FRAC_CONST(0.859824424521420) },
-    { FRAC_CONST(0.504951381313066), FRAC_CONST(0.863147787177854) },
-    { FRAC_CONST(0.499291317371047), FRAC_CONST(0.866434175455865) },
-    { FRAC_CONST(0.493609865450762), FRAC_CONST(0.869683448577516) },
-    { FRAC_CONST(0.487907268926702), FRAC_CONST(0.872895467354761) },
-    { FRAC_CONST(0.482183772079123), FRAC_CONST(0.876070094195407) },
-    { FRAC_CONST(0.476439620083580), FRAC_CONST(0.879207193109004) },
-    { FRAC_CONST(0.470675059000427), FRAC_CONST(0.882306629712678) },
-    { FRAC_CONST(0.464890335764274), FRAC_CONST(0.885368271236879) },
-    { FRAC_CONST(0.459085698173413), FRAC_CONST(0.888391986531075) },
-    { FRAC_CONST(0.453261394879198), FRAC_CONST(0.891377646069366) },
-    { FRAC_CONST(0.447417675375397), FRAC_CONST(0.894325121956035) },
-    { FRAC_CONST(0.441554789987504), FRAC_CONST(0.897234287931024) },
-    { FRAC_CONST(0.435672989862017), FRAC_CONST(0.900105019375345) },
-    { FRAC_CONST(0.429772526955677), FRAC_CONST(0.902937193316419) },
-    { FRAC_CONST(0.423853654024676), FRAC_CONST(0.905730688433339) },
-    { FRAC_CONST(0.417916624613831), FRAC_CONST(0.908485385062073) },
-    { FRAC_CONST(0.411961693045722), FRAC_CONST(0.911201165200584) },
-    { FRAC_CONST(0.405989114409798), FRAC_CONST(0.913877912513892) },
-    { FRAC_CONST(0.399999144551449), FRAC_CONST(0.916515512339049) },
-    { FRAC_CONST(0.393992040061048), FRAC_CONST(0.919113851690058) },
-    { FRAC_CONST(0.387968058262959), FRAC_CONST(0.921672819262709) },
-    { FRAC_CONST(0.381927457204511), FRAC_CONST(0.924192305439348) },
-    { FRAC_CONST(0.375870495644949), FRAC_CONST(0.926672202293573) },
-    { FRAC_CONST(0.369797433044349), FRAC_CONST(0.929112403594856) },
-    { FRAC_CONST(0.363708529552499), FRAC_CONST(0.931512804813095) },
-    { FRAC_CONST(0.357604045997758), FRAC_CONST(0.933873303123091) },
-    { FRAC_CONST(0.351484243875885), FRAC_CONST(0.936193797408954) },
-    { FRAC_CONST(0.345349385338836), FRAC_CONST(0.938474188268430) },
-    { FRAC_CONST(0.339199733183530), FRAC_CONST(0.940714378017165) },
-    { FRAC_CONST(0.333035550840599), FRAC_CONST(0.942914270692887) },
-    { FRAC_CONST(0.326857102363098), FRAC_CONST(0.945073772059514) },
-    { FRAC_CONST(0.320664652415198), FRAC_CONST(0.947192789611197) },
-    { FRAC_CONST(0.314458466260842), FRAC_CONST(0.949271232576274) },
-    { FRAC_CONST(0.308238809752391), FRAC_CONST(0.951309011921168) },
-    { FRAC_CONST(0.302005949319228), FRAC_CONST(0.953306040354194) },
-    { FRAC_CONST(0.295760151956351), FRAC_CONST(0.955262232329299) },
-    { FRAC_CONST(0.289501685212929), FRAC_CONST(0.957177504049732) },
-    { FRAC_CONST(0.283230817180850), FRAC_CONST(0.959051773471624) },
-    { FRAC_CONST(0.276947816483228), FRAC_CONST(0.960884960307514) },
-    { FRAC_CONST(0.270652952262902), FRAC_CONST(0.962676986029777) },
-    { FRAC_CONST(0.264346494170904), FRAC_CONST(0.964427773873996) },
-    { FRAC_CONST(0.258028712354909), FRAC_CONST(0.966137248842248) },
-    { FRAC_CONST(0.251699877447663), FRAC_CONST(0.967805337706313) },
-    { FRAC_CONST(0.245360260555389), FRAC_CONST(0.969431969010818) },
-    { FRAC_CONST(0.239010133246176), FRAC_CONST(0.971017073076290) },
-    { FRAC_CONST(0.232649767538342), FRAC_CONST(0.972560582002147) },
-    { FRAC_CONST(0.226279435888785), FRAC_CONST(0.974062429669605) },
-    { FRAC_CONST(0.219899411181310), FRAC_CONST(0.975522551744506) },
-    { FRAC_CONST(0.213509966714943), FRAC_CONST(0.976940885680082) },
-    { FRAC_CONST(0.207111376192219), FRAC_CONST(0.978317370719628) },
-    { FRAC_CONST(0.200703913707458), FRAC_CONST(0.979651947899104) },
-    { FRAC_CONST(0.194287853735029), FRAC_CONST(0.980944560049668) },
-    { FRAC_CONST(0.187863471117585), FRAC_CONST(0.982195151800116) },
-    { FRAC_CONST(0.181431041054297), FRAC_CONST(0.983403669579260) },
-    { FRAC_CONST(0.174990839089060), FRAC_CONST(0.984570061618221) },
-    { FRAC_CONST(0.168543141098691), FRAC_CONST(0.985694277952645) },
-    { FRAC_CONST(0.162088223281113), FRAC_CONST(0.986776270424848) },
-    { FRAC_CONST(0.155626362143520), FRAC_CONST(0.987815992685872) },
-    { FRAC_CONST(0.149157834490539), FRAC_CONST(0.988813400197476) },
-    { FRAC_CONST(0.142682917412363), FRAC_CONST(0.989768450234042) },
-    { FRAC_CONST(0.136201888272891), FRAC_CONST(0.990681101884405) },
-    { FRAC_CONST(0.129715024697841), FRAC_CONST(0.991551316053606) },
-    { FRAC_CONST(0.123222604562857), FRAC_CONST(0.992379055464567) },
-    { FRAC_CONST(0.116724905981611), FRAC_CONST(0.993164284659685) },
-    { FRAC_CONST(0.110222207293883), FRAC_CONST(0.993906970002356) },
-    { FRAC_CONST(0.103714787053643), FRAC_CONST(0.994607079678411) },
-    { FRAC_CONST(0.097202924017115), FRAC_CONST(0.995264583697482) },
-    { FRAC_CONST(0.090686897130838), FRAC_CONST(0.995879453894286) },
-    { FRAC_CONST(0.084166985519718), FRAC_CONST(0.996451663929828) },
-    { FRAC_CONST(0.077643468475068), FRAC_CONST(0.996981189292537) },
-    { FRAC_CONST(0.071116625442645), FRAC_CONST(0.997468007299307) },
-    { FRAC_CONST(0.064586736010684), FRAC_CONST(0.997912097096476) },
-    { FRAC_CONST(0.058054079897912), FRAC_CONST(0.998313439660714) },
-    { FRAC_CONST(0.051518936941578), FRAC_CONST(0.998672017799843) },
-    { FRAC_CONST(0.044981587085452), FRAC_CONST(0.998987816153567) },
-    { FRAC_CONST(0.038442310367847), FRAC_CONST(0.999260821194138) },
-    { FRAC_CONST(0.031901386909611), FRAC_CONST(0.999491021226926) },
-    { FRAC_CONST(0.025359096902136), FRAC_CONST(0.999678406390929) },
-    { FRAC_CONST(0.018815720595351), FRAC_CONST(0.999822968659191) },
-    { FRAC_CONST(0.012271538285720), FRAC_CONST(0.999924701839145) },
-    { FRAC_CONST(0.005726830304231), FRAC_CONST(0.999983601572879) }
-};
-#endif // LD_DEC
-
-/* 60 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_240[] =
-{
-    { FRAC_CONST(0.999994645401696), FRAC_CONST(0.003272486506527) },
-    { FRAC_CONST(0.999566308502021), FRAC_CONST(0.029448173247963) },
-    { FRAC_CONST(0.998452918783950), FRAC_CONST(0.055603677682425) },
-    { FRAC_CONST(0.996655239309180), FRAC_CONST(0.081721074133668) },
-    { FRAC_CONST(0.994174502117428), FRAC_CONST(0.107782463042759) },
-    { FRAC_CONST(0.991012407382049), FRAC_CONST(0.133769983235535) },
-    { FRAC_CONST(0.987171122244825), FRAC_CONST(0.159665824163761) },
-    { FRAC_CONST(0.982653279330712), FRAC_CONST(0.185452238111591) },
-    { FRAC_CONST(0.977461974943572), FRAC_CONST(0.211111552358965) },
-    { FRAC_CONST(0.971600766944121), FRAC_CONST(0.236626181293610) },
-    { FRAC_CONST(0.965073672311547), FRAC_CONST(0.261978638463337) },
-    { FRAC_CONST(0.957885164390477), FRAC_CONST(0.287151548560387) },
-    { FRAC_CONST(0.950040169825165), FRAC_CONST(0.312127659329594) },
-    { FRAC_CONST(0.941544065183021), FRAC_CONST(0.336889853392220) },
-    { FRAC_CONST(0.932402673269775), FRAC_CONST(0.361421159977355) },
-    { FRAC_CONST(0.922622259138823), FRAC_CONST(0.385704766552831) },
-    { FRAC_CONST(0.912209525797468), FRAC_CONST(0.409724030347695) },
-    { FRAC_CONST(0.901171609613013), FRAC_CONST(0.433462489758331) },
-    { FRAC_CONST(0.889516075421856), FRAC_CONST(0.456903875630421) },
-    { FRAC_CONST(0.877250911344924), FRAC_CONST(0.480032122409011) },
-    { FRAC_CONST(0.864384523313017), FRAC_CONST(0.502831379149042) },
-    { FRAC_CONST(0.850925729305802), FRAC_CONST(0.525286020378792) },
-    { FRAC_CONST(0.836883753308409), FRAC_CONST(0.547380656808797) },
-    { FRAC_CONST(0.822268218989775), FRAC_CONST(0.569100145878898) },
-    { FRAC_CONST(0.807089143107059), FRAC_CONST(0.590429602136201) },
-    { FRAC_CONST(0.791356928640660), FRAC_CONST(0.611354407436816) },
-    { FRAC_CONST(0.775082357664531), FRAC_CONST(0.631860220964409) },
-    { FRAC_CONST(0.758276583956687), FRAC_CONST(0.651932989058674) },
-    { FRAC_CONST(0.740951125354959), FRAC_CONST(0.671558954847018) },
-    { FRAC_CONST(0.723117855863248), FRAC_CONST(0.690724667672829) },
-    { FRAC_CONST(0.704788997513670), FRAC_CONST(0.709416992313883) },
-    { FRAC_CONST(0.685977111990193), FRAC_CONST(0.727623117984575) },
-    { FRAC_CONST(0.666695092019479), FRAC_CONST(0.745330567115786) },
-    { FRAC_CONST(0.646956152534857), FRAC_CONST(0.762527203906388) },
-    { FRAC_CONST(0.626773821619469), FRAC_CONST(0.779201242640517) },
-    { FRAC_CONST(0.606161931234795), FRAC_CONST(0.795341255764910) },
-    { FRAC_CONST(0.585134607740916), FRAC_CONST(0.810936181720784) },
-    { FRAC_CONST(0.563706262215017), FRAC_CONST(0.825975332524873) },
-    { FRAC_CONST(0.541891580574752), FRAC_CONST(0.840448401094438) },
-    { FRAC_CONST(0.519705513513249), FRAC_CONST(0.854345468311227) },
-    { FRAC_CONST(0.497163266252654), FRAC_CONST(0.867657009819544) },
-    { FRAC_CONST(0.474280288123229), FRAC_CONST(0.880373902553765) },
-    { FRAC_CONST(0.451072261975153), FRAC_CONST(0.892487430990834) },
-    { FRAC_CONST(0.427555093430282), FRAC_CONST(0.903989293123443) },
-    { FRAC_CONST(0.403744899981227), FRAC_CONST(0.914871606149819) },
-    { FRAC_CONST(0.379657999945233), FRAC_CONST(0.925126911876195) },
-    { FRAC_CONST(0.355310901280416), FRAC_CONST(0.934748181828292) },
-    { FRAC_CONST(0.330720290272038), FRAC_CONST(0.943728822068278) },
-    { FRAC_CONST(0.305903020096554), FRAC_CONST(0.952062677713924) },
-    { FRAC_CONST(0.280876099271292), FRAC_CONST(0.959744037156857) },
-    { FRAC_CONST(0.255656679997665), FRAC_CONST(0.966767635977008) },
-    { FRAC_CONST(0.230262046405902), FRAC_CONST(0.973128660550580) },
-    { FRAC_CONST(0.204709602709380), FRAC_CONST(0.978822751349072) },
-    { FRAC_CONST(0.179016861276633), FRAC_CONST(0.983846005927077) },
-    { FRAC_CONST(0.153201430629259), FRAC_CONST(0.988194981596825) },
-    { FRAC_CONST(0.127281003373913), FRAC_CONST(0.991866697787626) },
-    { FRAC_CONST(0.101273344076683), FRAC_CONST(0.994858638088611) },
-    { FRAC_CONST(0.075196277088140), FRAC_CONST(0.997168751973348) },
-    { FRAC_CONST(0.049067674327418), FRAC_CONST(0.998795456205172) },
-    { FRAC_CONST(0.022905443033697), FRAC_CONST(0.999737635922260) }
-};
-#endif // ALLOW_SMALL_FRAMELENGTH
-
-#ifdef SSR_DEC
-/* 128 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_512[] =
-{
-    { FRAC_CONST(0.999998823451702), FRAC_CONST(0.001533980186285) },
-    { FRAC_CONST(0.999904701082853), FRAC_CONST(0.013805388528060) },
-    { FRAC_CONST(0.999659996743959), FRAC_CONST(0.026074717829104) },
-    { FRAC_CONST(0.999264747286594), FRAC_CONST(0.038340120373553) },
-    { FRAC_CONST(0.998719012233873), FRAC_CONST(0.050599749036899) },
-    { FRAC_CONST(0.998022873771486), FRAC_CONST(0.062851757564161) },
-    { FRAC_CONST(0.997176436735326), FRAC_CONST(0.075094300847921) },
-    { FRAC_CONST(0.996179828595697), FRAC_CONST(0.087325535206192) },
-    { FRAC_CONST(0.995033199438119), FRAC_CONST(0.099543618660069) },
-    { FRAC_CONST(0.993736721940725), FRAC_CONST(0.111746711211127) },
-    { FRAC_CONST(0.992290591348257), FRAC_CONST(0.123932975118512) },
-    { FRAC_CONST(0.990695025442665), FRAC_CONST(0.136100575175706) },
-    { FRAC_CONST(0.988950264510303), FRAC_CONST(0.148247678986896) },
-    { FRAC_CONST(0.987056571305751), FRAC_CONST(0.160372457242928) },
-    { FRAC_CONST(0.985014231012240), FRAC_CONST(0.172473083996796) },
-    { FRAC_CONST(0.982823551198705), FRAC_CONST(0.184547736938620) },
-    { FRAC_CONST(0.980484861773469), FRAC_CONST(0.196594597670080) },
-    { FRAC_CONST(0.977998514934557), FRAC_CONST(0.208611851978263) },
-    { FRAC_CONST(0.975364885116657), FRAC_CONST(0.220597690108874) },
-    { FRAC_CONST(0.972584368934732), FRAC_CONST(0.232550307038775) },
-    { FRAC_CONST(0.969657385124292), FRAC_CONST(0.244467902747824) },
-    { FRAC_CONST(0.966584374478333), FRAC_CONST(0.256348682489943) },
-    { FRAC_CONST(0.963365799780954), FRAC_CONST(0.268190857063403) },
-    { FRAC_CONST(0.960002145737666), FRAC_CONST(0.279992643080273) },
-    { FRAC_CONST(0.956493918902395), FRAC_CONST(0.291752263234989) },
-    { FRAC_CONST(0.952841647601199), FRAC_CONST(0.303467946572011) },
-    { FRAC_CONST(0.949045881852701), FRAC_CONST(0.315137928752522) },
-    { FRAC_CONST(0.945107193285261), FRAC_CONST(0.326760452320132) },
-    { FRAC_CONST(0.941026175050889), FRAC_CONST(0.338333766965541) },
-    { FRAC_CONST(0.936803441735922), FRAC_CONST(0.349856129790135) },
-    { FRAC_CONST(0.932439629268462), FRAC_CONST(0.361325805568454) },
-    { FRAC_CONST(0.927935394822618), FRAC_CONST(0.372741067009516) },
-    { FRAC_CONST(0.923291416719528), FRAC_CONST(0.384100195016935) },
-    { FRAC_CONST(0.918508394325212), FRAC_CONST(0.395401478947816) },
-    { FRAC_CONST(0.913587047945251), FRAC_CONST(0.406643216870369) },
-    { FRAC_CONST(0.908528118716306), FRAC_CONST(0.417823715820212) },
-    { FRAC_CONST(0.903332368494512), FRAC_CONST(0.428941292055329) },
-    { FRAC_CONST(0.898000579740740), FRAC_CONST(0.439994271309633) },
-    { FRAC_CONST(0.892533555402765), FRAC_CONST(0.450980989045104) },
-    { FRAC_CONST(0.886932118794342), FRAC_CONST(0.461899790702463) },
-    { FRAC_CONST(0.881197113471222), FRAC_CONST(0.472749031950343) },
-    { FRAC_CONST(0.875329403104111), FRAC_CONST(0.483527078932919) },
-    { FRAC_CONST(0.869329871348607), FRAC_CONST(0.494232308515960) },
-    { FRAC_CONST(0.863199421712124), FRAC_CONST(0.504863108531268) },
-    { FRAC_CONST(0.856938977417829), FRAC_CONST(0.515417878019463) },
-    { FRAC_CONST(0.850549481265603), FRAC_CONST(0.525895027471085) },
-    { FRAC_CONST(0.844031895490066), FRAC_CONST(0.536292979065963) },
-    { FRAC_CONST(0.837387201615662), FRAC_CONST(0.546610166910835) },
-    { FRAC_CONST(0.830616400308846), FRAC_CONST(0.556845037275160) },
-    { FRAC_CONST(0.823720511227391), FRAC_CONST(0.566996048825109) },
-    { FRAC_CONST(0.816700572866828), FRAC_CONST(0.577061672855679) },
-    { FRAC_CONST(0.809557642404051), FRAC_CONST(0.587040393520918) },
-    { FRAC_CONST(0.802292795538116), FRAC_CONST(0.596930708062197) },
-    { FRAC_CONST(0.794907126328237), FRAC_CONST(0.606731127034524) },
-    { FRAC_CONST(0.787401747029031), FRAC_CONST(0.616440174530854) },
-    { FRAC_CONST(0.779777787923015), FRAC_CONST(0.626056388404344) },
-    { FRAC_CONST(0.772036397150385), FRAC_CONST(0.635578320488556) },
-    { FRAC_CONST(0.764178740536117), FRAC_CONST(0.645004536815544) },
-    { FRAC_CONST(0.756206001414395), FRAC_CONST(0.654333617831800) },
-    { FRAC_CONST(0.748119380450404), FRAC_CONST(0.663564158612040) },
-    { FRAC_CONST(0.739920095459516), FRAC_CONST(0.672694769070773) },
-    { FRAC_CONST(0.731609381223893), FRAC_CONST(0.681724074171650) },
-    { FRAC_CONST(0.723188489306527), FRAC_CONST(0.690650714134535) },
-    { FRAC_CONST(0.714658687862769), FRAC_CONST(0.699473344640284) },
-    { FRAC_CONST(0.706021261449340), FRAC_CONST(0.708190637033195) },
-    { FRAC_CONST(0.697277510830887), FRAC_CONST(0.716801278521100) },
-    { FRAC_CONST(0.688428752784091), FRAC_CONST(0.725303972373061) },
-    { FRAC_CONST(0.679476319899365), FRAC_CONST(0.733697438114660) },
-    { FRAC_CONST(0.670421560380173), FRAC_CONST(0.741980411720831) },
-    { FRAC_CONST(0.661265837839992), FRAC_CONST(0.750151645806215) },
-    { FRAC_CONST(0.652010531096960), FRAC_CONST(0.758209909813015) },
-    { FRAC_CONST(0.642657033966227), FRAC_CONST(0.766153990196313) },
-    { FRAC_CONST(0.633206755050057), FRAC_CONST(0.773982690606823) },
-    { FRAC_CONST(0.623661117525695), FRAC_CONST(0.781694832071059) },
-    { FRAC_CONST(0.614021558931038), FRAC_CONST(0.789289253168886) },
-    { FRAC_CONST(0.604289530948156), FRAC_CONST(0.796764810208419) },
-    { FRAC_CONST(0.594466499184665), FRAC_CONST(0.804120377398266) },
-    { FRAC_CONST(0.584553942953015), FRAC_CONST(0.811354847017064) },
-    { FRAC_CONST(0.574553355047716), FRAC_CONST(0.818467129580299) },
-    { FRAC_CONST(0.564466241520520), FRAC_CONST(0.825456154004377) },
-    { FRAC_CONST(0.554294121453620), FRAC_CONST(0.832320867767930) },
-    { FRAC_CONST(0.544038526730884), FRAC_CONST(0.839060237070313) },
-    { FRAC_CONST(0.533701001807153), FRAC_CONST(0.845673246987299) },
-    { FRAC_CONST(0.523283103475656), FRAC_CONST(0.852158901623920) },
-    { FRAC_CONST(0.512786400633563), FRAC_CONST(0.858516224264443) },
-    { FRAC_CONST(0.502212474045711), FRAC_CONST(0.864744257519462) },
-    { FRAC_CONST(0.491562916106550), FRAC_CONST(0.870842063470079) },
-    { FRAC_CONST(0.480839330600334), FRAC_CONST(0.876808723809146) },
-    { FRAC_CONST(0.470043332459596), FRAC_CONST(0.882643339979563) },
-    { FRAC_CONST(0.459176547521944), FRAC_CONST(0.888345033309596) },
-    { FRAC_CONST(0.448240612285220), FRAC_CONST(0.893912945145203) },
-    { FRAC_CONST(0.437237173661044), FRAC_CONST(0.899346236979341) },
-    { FRAC_CONST(0.426167888726800), FRAC_CONST(0.904644090578246) },
-    { FRAC_CONST(0.415034424476082), FRAC_CONST(0.909805708104652) },
-    { FRAC_CONST(0.403838457567654), FRAC_CONST(0.914830312237946) },
-    { FRAC_CONST(0.392581674072952), FRAC_CONST(0.919717146291227) },
-    { FRAC_CONST(0.381265769222162), FRAC_CONST(0.924465474325263) },
-    { FRAC_CONST(0.369892447148934), FRAC_CONST(0.929074581259316) },
-    { FRAC_CONST(0.358463420633737), FRAC_CONST(0.933543772978836) },
-    { FRAC_CONST(0.346980410845924), FRAC_CONST(0.937872376439990) },
-    { FRAC_CONST(0.335445147084532), FRAC_CONST(0.942059739771017) },
-    { FRAC_CONST(0.323859366517853), FRAC_CONST(0.946105232370403) },
-    { FRAC_CONST(0.312224813921825), FRAC_CONST(0.950008245001843) },
-    { FRAC_CONST(0.300543241417273), FRAC_CONST(0.953768189885990) },
-    { FRAC_CONST(0.288816408206049), FRAC_CONST(0.957384500788976) },
-    { FRAC_CONST(0.277046080306100), FRAC_CONST(0.960856633107680) },
-    { FRAC_CONST(0.265234030285512), FRAC_CONST(0.964184063951746) },
-    { FRAC_CONST(0.253382036995570), FRAC_CONST(0.967366292222329) },
-    { FRAC_CONST(0.241491885302869), FRAC_CONST(0.970402838687556) },
-    { FRAC_CONST(0.229565365820519), FRAC_CONST(0.973293246054698) },
-    { FRAC_CONST(0.217604274638484), FRAC_CONST(0.976037079039039) },
-    { FRAC_CONST(0.205610413053099), FRAC_CONST(0.978633924429423) },
-    { FRAC_CONST(0.193585587295804), FRAC_CONST(0.981083391150487) },
-    { FRAC_CONST(0.181531608261125), FRAC_CONST(0.983385110321551) },
-    { FRAC_CONST(0.169450291233968), FRAC_CONST(0.985538735312176) },
-    { FRAC_CONST(0.157343455616238), FRAC_CONST(0.987543941794359) },
-    { FRAC_CONST(0.145212924652848), FRAC_CONST(0.989400427791380) },
-    { FRAC_CONST(0.133060525157139), FRAC_CONST(0.991107913723277) },
-    { FRAC_CONST(0.120888087235777), FRAC_CONST(0.992666142448948) },
-    { FRAC_CONST(0.108697444013139), FRAC_CONST(0.994074879304879) },
-    { FRAC_CONST(0.096490431355253), FRAC_CONST(0.995333912140482) },
-    { FRAC_CONST(0.084268887593324), FRAC_CONST(0.996443051350043) },
-    { FRAC_CONST(0.072034653246889), FRAC_CONST(0.997402129901275) },
-    { FRAC_CONST(0.059789570746640), FRAC_CONST(0.998211003360478) },
-    { FRAC_CONST(0.047535484156959), FRAC_CONST(0.998869549914284) },
-    { FRAC_CONST(0.035274238898214), FRAC_CONST(0.999377670388003) },
-    { FRAC_CONST(0.023007681468839), FRAC_CONST(0.999735288260562) },
-    { FRAC_CONST(0.010737659167265), FRAC_CONST(0.999942349676024) }
-};
-
-/* 16 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_64[] =
-{
-    { FRAC_CONST(0.999924701839145), FRAC_CONST(0.012271538285720) },
-    { FRAC_CONST(0.993906970002356), FRAC_CONST(0.110222207293883) },
-    { FRAC_CONST(0.978317370719628), FRAC_CONST(0.207111376192219) },
-    { FRAC_CONST(0.953306040354194), FRAC_CONST(0.302005949319228) },
-    { FRAC_CONST(0.919113851690058), FRAC_CONST(0.393992040061048) },
-    { FRAC_CONST(0.876070094195407), FRAC_CONST(0.482183772079123) },
-    { FRAC_CONST(0.824589302785025), FRAC_CONST(0.565731810783613) },
-    { FRAC_CONST(0.765167265622459), FRAC_CONST(0.643831542889791) },
-    { FRAC_CONST(0.698376249408973), FRAC_CONST(0.715730825283819) },
-    { FRAC_CONST(0.624859488142386), FRAC_CONST(0.780737228572094) },
-    { FRAC_CONST(0.545324988422046), FRAC_CONST(0.838224705554838) },
-    { FRAC_CONST(0.460538710958240), FRAC_CONST(0.887639620402854) },
-    { FRAC_CONST(0.371317193951838), FRAC_CONST(0.928506080473215) },
-    { FRAC_CONST(0.278519689385053), FRAC_CONST(0.960430519415566) },
-    { FRAC_CONST(0.183039887955141), FRAC_CONST(0.983105487431216) },
-    { FRAC_CONST(0.085797312344440), FRAC_CONST(0.996312612182778) }
-};
-#endif // SSR_DEC
-
-#else // FIXED_POINT
-
-/* 256 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_2048[] =
-{
-    { FRAC_CONST(0.031249997702054), FRAC_CONST(0.000011984224612) },
-    { FRAC_CONST(0.031249813866531), FRAC_CONST(0.000107857810004) },
-    { FRAC_CONST(0.031249335895858), FRAC_CONST(0.000203730380198) },
-    { FRAC_CONST(0.031248563794535), FRAC_CONST(0.000299601032804) },
-    { FRAC_CONST(0.031247497569829), FRAC_CONST(0.000395468865451) },
-    { FRAC_CONST(0.031246137231775), FRAC_CONST(0.000491332975794) },
-    { FRAC_CONST(0.031244482793177), FRAC_CONST(0.000587192461525) },
-    { FRAC_CONST(0.031242534269608), FRAC_CONST(0.000683046420376) },
-    { FRAC_CONST(0.031240291679407), FRAC_CONST(0.000778893950134) },
-    { FRAC_CONST(0.031237755043684), FRAC_CONST(0.000874734148645) },
-    { FRAC_CONST(0.031234924386313), FRAC_CONST(0.000970566113826) },
-    { FRAC_CONST(0.031231799733938), FRAC_CONST(0.001066388943669) },
-    { FRAC_CONST(0.031228381115970), FRAC_CONST(0.001162201736253) },
-    { FRAC_CONST(0.031224668564585), FRAC_CONST(0.001258003589751) },
-    { FRAC_CONST(0.031220662114728), FRAC_CONST(0.001353793602441) },
-    { FRAC_CONST(0.031216361804108), FRAC_CONST(0.001449570872710) },
-    { FRAC_CONST(0.031211767673203), FRAC_CONST(0.001545334499065) },
-    { FRAC_CONST(0.031206879765253), FRAC_CONST(0.001641083580144) },
-    { FRAC_CONST(0.031201698126266), FRAC_CONST(0.001736817214719) },
-    { FRAC_CONST(0.031196222805014), FRAC_CONST(0.001832534501709) },
-    { FRAC_CONST(0.031190453853031), FRAC_CONST(0.001928234540186) },
-    { FRAC_CONST(0.031184391324617), FRAC_CONST(0.002023916429386) },
-    { FRAC_CONST(0.031178035276836), FRAC_CONST(0.002119579268713) },
-    { FRAC_CONST(0.031171385769513), FRAC_CONST(0.002215222157753) },
-    { FRAC_CONST(0.031164442865236), FRAC_CONST(0.002310844196278) },
-    { FRAC_CONST(0.031157206629353), FRAC_CONST(0.002406444484258) },
-    { FRAC_CONST(0.031149677129975), FRAC_CONST(0.002502022121865) },
-    { FRAC_CONST(0.031141854437973), FRAC_CONST(0.002597576209488) },
-    { FRAC_CONST(0.031133738626977), FRAC_CONST(0.002693105847734) },
-    { FRAC_CONST(0.031125329773375), FRAC_CONST(0.002788610137442) },
-    { FRAC_CONST(0.031116627956316), FRAC_CONST(0.002884088179689) },
-    { FRAC_CONST(0.031107633257703), FRAC_CONST(0.002979539075801) },
-    { FRAC_CONST(0.031098345762200), FRAC_CONST(0.003074961927355) },
-    { FRAC_CONST(0.031088765557222), FRAC_CONST(0.003170355836197) },
-    { FRAC_CONST(0.031078892732942), FRAC_CONST(0.003265719904442) },
-    { FRAC_CONST(0.031068727382288), FRAC_CONST(0.003361053234488) },
-    { FRAC_CONST(0.031058269600939), FRAC_CONST(0.003456354929021) },
-    { FRAC_CONST(0.031047519487329), FRAC_CONST(0.003551624091024) },
-    { FRAC_CONST(0.031036477142640), FRAC_CONST(0.003646859823790) },
-    { FRAC_CONST(0.031025142670809), FRAC_CONST(0.003742061230921) },
-    { FRAC_CONST(0.031013516178519), FRAC_CONST(0.003837227416347) },
-    { FRAC_CONST(0.031001597775203), FRAC_CONST(0.003932357484328) },
-    { FRAC_CONST(0.030989387573042), FRAC_CONST(0.004027450539462) },
-    { FRAC_CONST(0.030976885686963), FRAC_CONST(0.004122505686697) },
-    { FRAC_CONST(0.030964092234638), FRAC_CONST(0.004217522031340) },
-    { FRAC_CONST(0.030951007336485), FRAC_CONST(0.004312498679058) },
-    { FRAC_CONST(0.030937631115663), FRAC_CONST(0.004407434735897) },
-    { FRAC_CONST(0.030923963698074), FRAC_CONST(0.004502329308281) },
-    { FRAC_CONST(0.030910005212362), FRAC_CONST(0.004597181503027) },
-    { FRAC_CONST(0.030895755789908), FRAC_CONST(0.004691990427350) },
-    { FRAC_CONST(0.030881215564835), FRAC_CONST(0.004786755188872) },
-    { FRAC_CONST(0.030866384674000), FRAC_CONST(0.004881474895632) },
-    { FRAC_CONST(0.030851263256996), FRAC_CONST(0.004976148656090) },
-    { FRAC_CONST(0.030835851456154), FRAC_CONST(0.005070775579142) },
-    { FRAC_CONST(0.030820149416533), FRAC_CONST(0.005165354774124) },
-    { FRAC_CONST(0.030804157285929), FRAC_CONST(0.005259885350819) },
-    { FRAC_CONST(0.030787875214864), FRAC_CONST(0.005354366419469) },
-    { FRAC_CONST(0.030771303356593), FRAC_CONST(0.005448797090784) },
-    { FRAC_CONST(0.030754441867095), FRAC_CONST(0.005543176475946) },
-    { FRAC_CONST(0.030737290905077), FRAC_CONST(0.005637503686619) },
-    { FRAC_CONST(0.030719850631972), FRAC_CONST(0.005731777834961) },
-    { FRAC_CONST(0.030702121211932), FRAC_CONST(0.005825998033626) },
-    { FRAC_CONST(0.030684102811835), FRAC_CONST(0.005920163395780) },
-    { FRAC_CONST(0.030665795601276), FRAC_CONST(0.006014273035101) },
-    { FRAC_CONST(0.030647199752570), FRAC_CONST(0.006108326065793) },
-    { FRAC_CONST(0.030628315440748), FRAC_CONST(0.006202321602594) },
-    { FRAC_CONST(0.030609142843557), FRAC_CONST(0.006296258760782) },
-    { FRAC_CONST(0.030589682141455), FRAC_CONST(0.006390136656185) },
-    { FRAC_CONST(0.030569933517616), FRAC_CONST(0.006483954405188) },
-    { FRAC_CONST(0.030549897157919), FRAC_CONST(0.006577711124743) },
-    { FRAC_CONST(0.030529573250956), FRAC_CONST(0.006671405932375) },
-    { FRAC_CONST(0.030508961988022), FRAC_CONST(0.006765037946194) },
-    { FRAC_CONST(0.030488063563118), FRAC_CONST(0.006858606284900) },
-    { FRAC_CONST(0.030466878172949), FRAC_CONST(0.006952110067791) },
-    { FRAC_CONST(0.030445406016919), FRAC_CONST(0.007045548414774) },
-    { FRAC_CONST(0.030423647297133), FRAC_CONST(0.007138920446372) },
-    { FRAC_CONST(0.030401602218392), FRAC_CONST(0.007232225283733) },
-    { FRAC_CONST(0.030379270988192), FRAC_CONST(0.007325462048634) },
-    { FRAC_CONST(0.030356653816724), FRAC_CONST(0.007418629863497) },
-    { FRAC_CONST(0.030333750916869), FRAC_CONST(0.007511727851390) },
-    { FRAC_CONST(0.030310562504198), FRAC_CONST(0.007604755136040) },
-    { FRAC_CONST(0.030287088796968), FRAC_CONST(0.007697710841838) },
-    { FRAC_CONST(0.030263330016124), FRAC_CONST(0.007790594093851) },
-    { FRAC_CONST(0.030239286385293), FRAC_CONST(0.007883404017824) },
-    { FRAC_CONST(0.030214958130781), FRAC_CONST(0.007976139740197) },
-    { FRAC_CONST(0.030190345481576), FRAC_CONST(0.008068800388104) },
-    { FRAC_CONST(0.030165448669342), FRAC_CONST(0.008161385089390) },
-    { FRAC_CONST(0.030140267928416), FRAC_CONST(0.008253892972610) },
-    { FRAC_CONST(0.030114803495809), FRAC_CONST(0.008346323167047) },
-    { FRAC_CONST(0.030089055611203), FRAC_CONST(0.008438674802711) },
-    { FRAC_CONST(0.030063024516947), FRAC_CONST(0.008530947010354) },
-    { FRAC_CONST(0.030036710458054), FRAC_CONST(0.008623138921475) },
-    { FRAC_CONST(0.030010113682202), FRAC_CONST(0.008715249668328) },
-    { FRAC_CONST(0.029983234439732), FRAC_CONST(0.008807278383932) },
-    { FRAC_CONST(0.029956072983640), FRAC_CONST(0.008899224202078) },
-    { FRAC_CONST(0.029928629569580), FRAC_CONST(0.008991086257336) },
-    { FRAC_CONST(0.029900904455860), FRAC_CONST(0.009082863685067) },
-    { FRAC_CONST(0.029872897903441), FRAC_CONST(0.009174555621425) },
-    { FRAC_CONST(0.029844610175929), FRAC_CONST(0.009266161203371) },
-    { FRAC_CONST(0.029816041539579), FRAC_CONST(0.009357679568679) },
-    { FRAC_CONST(0.029787192263292), FRAC_CONST(0.009449109855944) },
-    { FRAC_CONST(0.029758062618606), FRAC_CONST(0.009540451204587) },
-    { FRAC_CONST(0.029728652879702), FRAC_CONST(0.009631702754871) },
-    { FRAC_CONST(0.029698963323395), FRAC_CONST(0.009722863647900) },
-    { FRAC_CONST(0.029668994229134), FRAC_CONST(0.009813933025633) },
-    { FRAC_CONST(0.029638745879000), FRAC_CONST(0.009904910030891) },
-    { FRAC_CONST(0.029608218557702), FRAC_CONST(0.009995793807363) },
-    { FRAC_CONST(0.029577412552575), FRAC_CONST(0.010086583499618) },
-    { FRAC_CONST(0.029546328153577), FRAC_CONST(0.010177278253107) },
-    { FRAC_CONST(0.029514965653285), FRAC_CONST(0.010267877214177) },
-    { FRAC_CONST(0.029483325346896), FRAC_CONST(0.010358379530076) },
-    { FRAC_CONST(0.029451407532220), FRAC_CONST(0.010448784348962) },
-    { FRAC_CONST(0.029419212509679), FRAC_CONST(0.010539090819911) },
-    { FRAC_CONST(0.029386740582307), FRAC_CONST(0.010629298092923) },
-    { FRAC_CONST(0.029353992055740), FRAC_CONST(0.010719405318933) },
-    { FRAC_CONST(0.029320967238220), FRAC_CONST(0.010809411649818) },
-    { FRAC_CONST(0.029287666440590), FRAC_CONST(0.010899316238403) },
-    { FRAC_CONST(0.029254089976290), FRAC_CONST(0.010989118238474) },
-    { FRAC_CONST(0.029220238161353), FRAC_CONST(0.011078816804778) },
-    { FRAC_CONST(0.029186111314406), FRAC_CONST(0.011168411093039) },
-    { FRAC_CONST(0.029151709756664), FRAC_CONST(0.011257900259961) },
-    { FRAC_CONST(0.029117033811927), FRAC_CONST(0.011347283463239) },
-    { FRAC_CONST(0.029082083806579), FRAC_CONST(0.011436559861563) },
-    { FRAC_CONST(0.029046860069582), FRAC_CONST(0.011525728614630) },
-    { FRAC_CONST(0.029011362932476), FRAC_CONST(0.011614788883150) },
-    { FRAC_CONST(0.028975592729373), FRAC_CONST(0.011703739828853) },
-    { FRAC_CONST(0.028939549796957), FRAC_CONST(0.011792580614500) },
-    { FRAC_CONST(0.028903234474475), FRAC_CONST(0.011881310403886) },
-    { FRAC_CONST(0.028866647103744), FRAC_CONST(0.011969928361855) },
-    { FRAC_CONST(0.028829788029135), FRAC_CONST(0.012058433654299) },
-    { FRAC_CONST(0.028792657597583), FRAC_CONST(0.012146825448172) },
-    { FRAC_CONST(0.028755256158571), FRAC_CONST(0.012235102911499) },
-    { FRAC_CONST(0.028717584064137), FRAC_CONST(0.012323265213377) },
-    { FRAC_CONST(0.028679641668864), FRAC_CONST(0.012411311523990) },
-    { FRAC_CONST(0.028641429329882), FRAC_CONST(0.012499241014612) },
-    { FRAC_CONST(0.028602947406859), FRAC_CONST(0.012587052857618) },
-    { FRAC_CONST(0.028564196262001), FRAC_CONST(0.012674746226488) },
-    { FRAC_CONST(0.028525176260050), FRAC_CONST(0.012762320295819) },
-    { FRAC_CONST(0.028485887768276), FRAC_CONST(0.012849774241331) },
-    { FRAC_CONST(0.028446331156478), FRAC_CONST(0.012937107239875) },
-    { FRAC_CONST(0.028406506796976), FRAC_CONST(0.013024318469437) },
-    { FRAC_CONST(0.028366415064615), FRAC_CONST(0.013111407109155) },
-    { FRAC_CONST(0.028326056336751), FRAC_CONST(0.013198372339315) },
-    { FRAC_CONST(0.028285430993258), FRAC_CONST(0.013285213341368) },
-    { FRAC_CONST(0.028244539416515), FRAC_CONST(0.013371929297933) },
-    { FRAC_CONST(0.028203381991411), FRAC_CONST(0.013458519392807) },
-    { FRAC_CONST(0.028161959105334), FRAC_CONST(0.013544982810971) },
-    { FRAC_CONST(0.028120271148172), FRAC_CONST(0.013631318738598) },
-    { FRAC_CONST(0.028078318512309), FRAC_CONST(0.013717526363062) },
-    { FRAC_CONST(0.028036101592619), FRAC_CONST(0.013803604872943) },
-    { FRAC_CONST(0.027993620786463), FRAC_CONST(0.013889553458039) },
-    { FRAC_CONST(0.027950876493687), FRAC_CONST(0.013975371309367) },
-    { FRAC_CONST(0.027907869116616), FRAC_CONST(0.014061057619178) },
-    { FRAC_CONST(0.027864599060052), FRAC_CONST(0.014146611580959) },
-    { FRAC_CONST(0.027821066731270), FRAC_CONST(0.014232032389445) },
-    { FRAC_CONST(0.027777272540012), FRAC_CONST(0.014317319240622) },
-    { FRAC_CONST(0.027733216898487), FRAC_CONST(0.014402471331737) },
-    { FRAC_CONST(0.027688900221361), FRAC_CONST(0.014487487861307) },
-    { FRAC_CONST(0.027644322925762), FRAC_CONST(0.014572368029123) },
-    { FRAC_CONST(0.027599485431266), FRAC_CONST(0.014657111036262) },
-    { FRAC_CONST(0.027554388159903), FRAC_CONST(0.014741716085090) },
-    { FRAC_CONST(0.027509031536144), FRAC_CONST(0.014826182379271) },
-    { FRAC_CONST(0.027463415986904), FRAC_CONST(0.014910509123778) },
-    { FRAC_CONST(0.027417541941533), FRAC_CONST(0.014994695524894) },
-    { FRAC_CONST(0.027371409831816), FRAC_CONST(0.015078740790225) },
-    { FRAC_CONST(0.027325020091965), FRAC_CONST(0.015162644128704) },
-    { FRAC_CONST(0.027278373158618), FRAC_CONST(0.015246404750603) },
-    { FRAC_CONST(0.027231469470833), FRAC_CONST(0.015330021867534) },
-    { FRAC_CONST(0.027184309470088), FRAC_CONST(0.015413494692460) },
-    { FRAC_CONST(0.027136893600268), FRAC_CONST(0.015496822439704) },
-    { FRAC_CONST(0.027089222307671), FRAC_CONST(0.015580004324954) },
-    { FRAC_CONST(0.027041296040997), FRAC_CONST(0.015663039565269) },
-    { FRAC_CONST(0.026993115251345), FRAC_CONST(0.015745927379091) },
-    { FRAC_CONST(0.026944680392213), FRAC_CONST(0.015828666986247) },
-    { FRAC_CONST(0.026895991919487), FRAC_CONST(0.015911257607961) },
-    { FRAC_CONST(0.026847050291442), FRAC_CONST(0.015993698466859) },
-    { FRAC_CONST(0.026797855968734), FRAC_CONST(0.016075988786976) },
-    { FRAC_CONST(0.026748409414401), FRAC_CONST(0.016158127793763) },
-    { FRAC_CONST(0.026698711093851), FRAC_CONST(0.016240114714099) },
-    { FRAC_CONST(0.026648761474864), FRAC_CONST(0.016321948776289) },
-    { FRAC_CONST(0.026598561027585), FRAC_CONST(0.016403629210082) },
-    { FRAC_CONST(0.026548110224519), FRAC_CONST(0.016485155246669) },
-    { FRAC_CONST(0.026497409540530), FRAC_CONST(0.016566526118696) },
-    { FRAC_CONST(0.026446459452830), FRAC_CONST(0.016647741060271) },
-    { FRAC_CONST(0.026395260440982), FRAC_CONST(0.016728799306966) },
-    { FRAC_CONST(0.026343812986890), FRAC_CONST(0.016809700095831) },
-    { FRAC_CONST(0.026292117574797), FRAC_CONST(0.016890442665397) },
-    { FRAC_CONST(0.026240174691280), FRAC_CONST(0.016971026255683) },
-    { FRAC_CONST(0.026187984825246), FRAC_CONST(0.017051450108208) },
-    { FRAC_CONST(0.026135548467924), FRAC_CONST(0.017131713465990) },
-    { FRAC_CONST(0.026082866112867), FRAC_CONST(0.017211815573560) },
-    { FRAC_CONST(0.026029938255941), FRAC_CONST(0.017291755676967) },
-    { FRAC_CONST(0.025976765395322), FRAC_CONST(0.017371533023784) },
-    { FRAC_CONST(0.025923348031494), FRAC_CONST(0.017451146863116) },
-    { FRAC_CONST(0.025869686667242), FRAC_CONST(0.017530596445607) },
-    { FRAC_CONST(0.025815781807646), FRAC_CONST(0.017609881023449) },
-    { FRAC_CONST(0.025761633960080), FRAC_CONST(0.017688999850383) },
-    { FRAC_CONST(0.025707243634204), FRAC_CONST(0.017767952181715) },
-    { FRAC_CONST(0.025652611341960), FRAC_CONST(0.017846737274313) },
-    { FRAC_CONST(0.025597737597568), FRAC_CONST(0.017925354386623) },
-    { FRAC_CONST(0.025542622917522), FRAC_CONST(0.018003802778671) },
-    { FRAC_CONST(0.025487267820581), FRAC_CONST(0.018082081712071) },
-    { FRAC_CONST(0.025431672827768), FRAC_CONST(0.018160190450031) },
-    { FRAC_CONST(0.025375838462365), FRAC_CONST(0.018238128257362) },
-    { FRAC_CONST(0.025319765249906), FRAC_CONST(0.018315894400484) },
-    { FRAC_CONST(0.025263453718173), FRAC_CONST(0.018393488147432) },
-    { FRAC_CONST(0.025206904397193), FRAC_CONST(0.018470908767865) },
-    { FRAC_CONST(0.025150117819228), FRAC_CONST(0.018548155533070) },
-    { FRAC_CONST(0.025093094518776), FRAC_CONST(0.018625227715971) },
-    { FRAC_CONST(0.025035835032562), FRAC_CONST(0.018702124591135) },
-    { FRAC_CONST(0.024978339899534), FRAC_CONST(0.018778845434780) },
-    { FRAC_CONST(0.024920609660858), FRAC_CONST(0.018855389524780) },
-    { FRAC_CONST(0.024862644859912), FRAC_CONST(0.018931756140672) },
-    { FRAC_CONST(0.024804446042284), FRAC_CONST(0.019007944563666) },
-    { FRAC_CONST(0.024746013755764), FRAC_CONST(0.019083954076646) },
-    { FRAC_CONST(0.024687348550337), FRAC_CONST(0.019159783964183) },
-    { FRAC_CONST(0.024628450978184), FRAC_CONST(0.019235433512536) },
-    { FRAC_CONST(0.024569321593670), FRAC_CONST(0.019310902009663) },
-    { FRAC_CONST(0.024509960953345), FRAC_CONST(0.019386188745225) },
-    { FRAC_CONST(0.024450369615932), FRAC_CONST(0.019461293010596) },
-    { FRAC_CONST(0.024390548142329), FRAC_CONST(0.019536214098866) },
-    { FRAC_CONST(0.024330497095598), FRAC_CONST(0.019610951304848) },
-    { FRAC_CONST(0.024270217040961), FRAC_CONST(0.019685503925087) },
-    { FRAC_CONST(0.024209708545799), FRAC_CONST(0.019759871257867) },
-    { FRAC_CONST(0.024148972179639), FRAC_CONST(0.019834052603212) },
-    { FRAC_CONST(0.024088008514157), FRAC_CONST(0.019908047262901) },
-    { FRAC_CONST(0.024026818123164), FRAC_CONST(0.019981854540467) },
-    { FRAC_CONST(0.023965401582609), FRAC_CONST(0.020055473741208) },
-    { FRAC_CONST(0.023903759470567), FRAC_CONST(0.020128904172192) },
-    { FRAC_CONST(0.023841892367236), FRAC_CONST(0.020202145142264) },
-    { FRAC_CONST(0.023779800854935), FRAC_CONST(0.020275195962052) },
-    { FRAC_CONST(0.023717485518092), FRAC_CONST(0.020348055943974) },
-    { FRAC_CONST(0.023654946943242), FRAC_CONST(0.020420724402244) },
-    { FRAC_CONST(0.023592185719023), FRAC_CONST(0.020493200652878) },
-    { FRAC_CONST(0.023529202436167), FRAC_CONST(0.020565484013703) },
-    { FRAC_CONST(0.023465997687496), FRAC_CONST(0.020637573804361) },
-    { FRAC_CONST(0.023402572067918), FRAC_CONST(0.020709469346314) },
-    { FRAC_CONST(0.023338926174419), FRAC_CONST(0.020781169962854) },
-    { FRAC_CONST(0.023275060606058), FRAC_CONST(0.020852674979108) },
-    { FRAC_CONST(0.023210975963963), FRAC_CONST(0.020923983722044) },
-    { FRAC_CONST(0.023146672851322), FRAC_CONST(0.020995095520475) },
-    { FRAC_CONST(0.023082151873380), FRAC_CONST(0.021066009705072) },
-    { FRAC_CONST(0.023017413637435), FRAC_CONST(0.021136725608363) },
-    { FRAC_CONST(0.022952458752826), FRAC_CONST(0.021207242564742) },
-    { FRAC_CONST(0.022887287830934), FRAC_CONST(0.021277559910478) },
-    { FRAC_CONST(0.022821901485173), FRAC_CONST(0.021347676983716) },
-    { FRAC_CONST(0.022756300330983), FRAC_CONST(0.021417593124488) },
-    { FRAC_CONST(0.022690484985827), FRAC_CONST(0.021487307674717) },
-    { FRAC_CONST(0.022624456069185), FRAC_CONST(0.021556819978223) },
-    { FRAC_CONST(0.022558214202547), FRAC_CONST(0.021626129380729) },
-    { FRAC_CONST(0.022491760009405), FRAC_CONST(0.021695235229869) },
-    { FRAC_CONST(0.022425094115252), FRAC_CONST(0.021764136875192) },
-    { FRAC_CONST(0.022358217147572), FRAC_CONST(0.021832833668171) },
-    { FRAC_CONST(0.022291129735838), FRAC_CONST(0.021901324962204) },
-    { FRAC_CONST(0.022223832511501), FRAC_CONST(0.021969610112625) },
-    { FRAC_CONST(0.022156326107988), FRAC_CONST(0.022037688476709) },
-    { FRAC_CONST(0.022088611160696), FRAC_CONST(0.022105559413676) },
-    { FRAC_CONST(0.022020688306983), FRAC_CONST(0.022173222284699) },
-    { FRAC_CONST(0.021952558186166), FRAC_CONST(0.022240676452909) },
-    { FRAC_CONST(0.021884221439510), FRAC_CONST(0.022307921283403) },
-    { FRAC_CONST(0.021815678710228), FRAC_CONST(0.022374956143245) },
-    { FRAC_CONST(0.021746930643469), FRAC_CONST(0.022441780401478) },
-    { FRAC_CONST(0.021677977886316), FRAC_CONST(0.022508393429127) },
-    { FRAC_CONST(0.021608821087780), FRAC_CONST(0.022574794599206) },
-    { FRAC_CONST(0.021539460898790), FRAC_CONST(0.022640983286719) },
-    { FRAC_CONST(0.021469897972190), FRAC_CONST(0.022706958868676) },
-    { FRAC_CONST(0.021400132962735), FRAC_CONST(0.022772720724087) },
-    { FRAC_CONST(0.021330166527077), FRAC_CONST(0.022838268233979) },
-    { FRAC_CONST(0.021259999323769), FRAC_CONST(0.022903600781391) },
-    { FRAC_CONST(0.021189632013250), FRAC_CONST(0.022968717751391) },
-    { FRAC_CONST(0.021119065257845), FRAC_CONST(0.023033618531071) },
-    { FRAC_CONST(0.021048299721754), FRAC_CONST(0.023098302509561) },
-    { FRAC_CONST(0.020977336071050), FRAC_CONST(0.023162769078031) },
-    { FRAC_CONST(0.020906174973670), FRAC_CONST(0.023227017629698) },
-    { FRAC_CONST(0.020834817099409), FRAC_CONST(0.023291047559828) },
-    { FRAC_CONST(0.020763263119915), FRAC_CONST(0.023354858265748) },
-    { FRAC_CONST(0.020691513708680), FRAC_CONST(0.023418449146848) },
-    { FRAC_CONST(0.020619569541038), FRAC_CONST(0.023481819604585) },
-    { FRAC_CONST(0.020547431294155), FRAC_CONST(0.023544969042494) },
-    { FRAC_CONST(0.020475099647023), FRAC_CONST(0.023607896866186) },
-    { FRAC_CONST(0.020402575280455), FRAC_CONST(0.023670602483363) },
-    { FRAC_CONST(0.020329858877078), FRAC_CONST(0.023733085303813) },
-    { FRAC_CONST(0.020256951121327), FRAC_CONST(0.023795344739427) },
-    { FRAC_CONST(0.020183852699437), FRAC_CONST(0.023857380204193) },
-    { FRAC_CONST(0.020110564299439), FRAC_CONST(0.023919191114211) },
-    { FRAC_CONST(0.020037086611150), FRAC_CONST(0.023980776887692) },
-    { FRAC_CONST(0.019963420326171), FRAC_CONST(0.024042136944968) },
-    { FRAC_CONST(0.019889566137877), FRAC_CONST(0.024103270708495) },
-    { FRAC_CONST(0.019815524741412), FRAC_CONST(0.024164177602859) },
-    { FRAC_CONST(0.019741296833681), FRAC_CONST(0.024224857054779) },
-    { FRAC_CONST(0.019666883113346), FRAC_CONST(0.024285308493120) },
-    { FRAC_CONST(0.019592284280817), FRAC_CONST(0.024345531348888) },
-    { FRAC_CONST(0.019517501038246), FRAC_CONST(0.024405525055242) },
-    { FRAC_CONST(0.019442534089523), FRAC_CONST(0.024465289047500) },
-    { FRAC_CONST(0.019367384140264), FRAC_CONST(0.024524822763141) },
-    { FRAC_CONST(0.019292051897809), FRAC_CONST(0.024584125641809) },
-    { FRAC_CONST(0.019216538071215), FRAC_CONST(0.024643197125323) },
-    { FRAC_CONST(0.019140843371246), FRAC_CONST(0.024702036657681) },
-    { FRAC_CONST(0.019064968510369), FRAC_CONST(0.024760643685063) },
-    { FRAC_CONST(0.018988914202748), FRAC_CONST(0.024819017655836) },
-    { FRAC_CONST(0.018912681164234), FRAC_CONST(0.024877158020562) },
-    { FRAC_CONST(0.018836270112363), FRAC_CONST(0.024935064232003) },
-    { FRAC_CONST(0.018759681766343), FRAC_CONST(0.024992735745123) },
-    { FRAC_CONST(0.018682916847054), FRAC_CONST(0.025050172017095) },
-    { FRAC_CONST(0.018605976077037), FRAC_CONST(0.025107372507308) },
-    { FRAC_CONST(0.018528860180486), FRAC_CONST(0.025164336677369) },
-    { FRAC_CONST(0.018451569883247), FRAC_CONST(0.025221063991110) },
-    { FRAC_CONST(0.018374105912805), FRAC_CONST(0.025277553914591) },
-    { FRAC_CONST(0.018296468998280), FRAC_CONST(0.025333805916107) },
-    { FRAC_CONST(0.018218659870421), FRAC_CONST(0.025389819466194) },
-    { FRAC_CONST(0.018140679261596), FRAC_CONST(0.025445594037630) },
-    { FRAC_CONST(0.018062527905790), FRAC_CONST(0.025501129105445) },
-    { FRAC_CONST(0.017984206538592), FRAC_CONST(0.025556424146920) },
-    { FRAC_CONST(0.017905715897192), FRAC_CONST(0.025611478641598) },
-    { FRAC_CONST(0.017827056720375), FRAC_CONST(0.025666292071285) },
-    { FRAC_CONST(0.017748229748511), FRAC_CONST(0.025720863920056) },
-    { FRAC_CONST(0.017669235723550), FRAC_CONST(0.025775193674260) },
-    { FRAC_CONST(0.017590075389012), FRAC_CONST(0.025829280822525) },
-    { FRAC_CONST(0.017510749489986), FRAC_CONST(0.025883124855762) },
-    { FRAC_CONST(0.017431258773116), FRAC_CONST(0.025936725267170) },
-    { FRAC_CONST(0.017351603986600), FRAC_CONST(0.025990081552242) },
-    { FRAC_CONST(0.017271785880180), FRAC_CONST(0.026043193208768) },
-    { FRAC_CONST(0.017191805205132), FRAC_CONST(0.026096059736841) },
-    { FRAC_CONST(0.017111662714267), FRAC_CONST(0.026148680638861) },
-    { FRAC_CONST(0.017031359161915), FRAC_CONST(0.026201055419541) },
-    { FRAC_CONST(0.016950895303924), FRAC_CONST(0.026253183585908) },
-    { FRAC_CONST(0.016870271897651), FRAC_CONST(0.026305064647313) },
-    { FRAC_CONST(0.016789489701954), FRAC_CONST(0.026356698115431) },
-    { FRAC_CONST(0.016708549477186), FRAC_CONST(0.026408083504269) },
-    { FRAC_CONST(0.016627451985187), FRAC_CONST(0.026459220330167) },
-    { FRAC_CONST(0.016546197989277), FRAC_CONST(0.026510108111806) },
-    { FRAC_CONST(0.016464788254250), FRAC_CONST(0.026560746370212) },
-    { FRAC_CONST(0.016383223546365), FRAC_CONST(0.026611134628757) },
-    { FRAC_CONST(0.016301504633341), FRAC_CONST(0.026661272413168) },
-    { FRAC_CONST(0.016219632284346), FRAC_CONST(0.026711159251530) },
-    { FRAC_CONST(0.016137607269996), FRAC_CONST(0.026760794674288) },
-    { FRAC_CONST(0.016055430362340), FRAC_CONST(0.026810178214254) },
-    { FRAC_CONST(0.015973102334858), FRAC_CONST(0.026859309406613) },
-    { FRAC_CONST(0.015890623962454), FRAC_CONST(0.026908187788922) },
-    { FRAC_CONST(0.015807996021446), FRAC_CONST(0.026956812901119) },
-    { FRAC_CONST(0.015725219289558), FRAC_CONST(0.027005184285527) },
-    { FRAC_CONST(0.015642294545918), FRAC_CONST(0.027053301486856) },
-    { FRAC_CONST(0.015559222571044), FRAC_CONST(0.027101164052208) },
-    { FRAC_CONST(0.015476004146842), FRAC_CONST(0.027148771531083) },
-    { FRAC_CONST(0.015392640056594), FRAC_CONST(0.027196123475380) },
-    { FRAC_CONST(0.015309131084956), FRAC_CONST(0.027243219439406) },
-    { FRAC_CONST(0.015225478017946), FRAC_CONST(0.027290058979875) },
-    { FRAC_CONST(0.015141681642938), FRAC_CONST(0.027336641655915) },
-    { FRAC_CONST(0.015057742748656), FRAC_CONST(0.027382967029073) },
-    { FRAC_CONST(0.014973662125164), FRAC_CONST(0.027429034663317) },
-    { FRAC_CONST(0.014889440563862), FRAC_CONST(0.027474844125040) },
-    { FRAC_CONST(0.014805078857474), FRAC_CONST(0.027520394983066) },
-    { FRAC_CONST(0.014720577800046), FRAC_CONST(0.027565686808654) },
-    { FRAC_CONST(0.014635938186934), FRAC_CONST(0.027610719175499) },
-    { FRAC_CONST(0.014551160814797), FRAC_CONST(0.027655491659740) },
-    { FRAC_CONST(0.014466246481592), FRAC_CONST(0.027700003839960) },
-    { FRAC_CONST(0.014381195986567), FRAC_CONST(0.027744255297195) },
-    { FRAC_CONST(0.014296010130247), FRAC_CONST(0.027788245614933) },
-    { FRAC_CONST(0.014210689714436), FRAC_CONST(0.027831974379120) },
-    { FRAC_CONST(0.014125235542201), FRAC_CONST(0.027875441178165) },
-    { FRAC_CONST(0.014039648417870), FRAC_CONST(0.027918645602941) },
-    { FRAC_CONST(0.013953929147020), FRAC_CONST(0.027961587246792) },
-    { FRAC_CONST(0.013868078536476), FRAC_CONST(0.028004265705534) },
-    { FRAC_CONST(0.013782097394294), FRAC_CONST(0.028046680577462) },
-    { FRAC_CONST(0.013695986529763), FRAC_CONST(0.028088831463351) },
-    { FRAC_CONST(0.013609746753390), FRAC_CONST(0.028130717966461) },
-    { FRAC_CONST(0.013523378876898), FRAC_CONST(0.028172339692540) },
-    { FRAC_CONST(0.013436883713214), FRAC_CONST(0.028213696249828) },
-    { FRAC_CONST(0.013350262076462), FRAC_CONST(0.028254787249062) },
-    { FRAC_CONST(0.013263514781960), FRAC_CONST(0.028295612303478) },
-    { FRAC_CONST(0.013176642646205), FRAC_CONST(0.028336171028814) },
-    { FRAC_CONST(0.013089646486871), FRAC_CONST(0.028376463043317) },
-    { FRAC_CONST(0.013002527122799), FRAC_CONST(0.028416487967743) },
-    { FRAC_CONST(0.012915285373990), FRAC_CONST(0.028456245425361) },
-    { FRAC_CONST(0.012827922061597), FRAC_CONST(0.028495735041960) },
-    { FRAC_CONST(0.012740438007915), FRAC_CONST(0.028534956445849) },
-    { FRAC_CONST(0.012652834036379), FRAC_CONST(0.028573909267859) },
-    { FRAC_CONST(0.012565110971550), FRAC_CONST(0.028612593141354) },
-    { FRAC_CONST(0.012477269639111), FRAC_CONST(0.028651007702224) },
-    { FRAC_CONST(0.012389310865858), FRAC_CONST(0.028689152588899) },
-    { FRAC_CONST(0.012301235479693), FRAC_CONST(0.028727027442343) },
-    { FRAC_CONST(0.012213044309615), FRAC_CONST(0.028764631906065) },
-    { FRAC_CONST(0.012124738185712), FRAC_CONST(0.028801965626115) },
-    { FRAC_CONST(0.012036317939156), FRAC_CONST(0.028839028251097) },
-    { FRAC_CONST(0.011947784402191), FRAC_CONST(0.028875819432161) },
-    { FRAC_CONST(0.011859138408130), FRAC_CONST(0.028912338823015) },
-    { FRAC_CONST(0.011770380791341), FRAC_CONST(0.028948586079925) },
-    { FRAC_CONST(0.011681512387245), FRAC_CONST(0.028984560861718) },
-    { FRAC_CONST(0.011592534032306), FRAC_CONST(0.029020262829785) },
-    { FRAC_CONST(0.011503446564022), FRAC_CONST(0.029055691648087) },
-    { FRAC_CONST(0.011414250820918), FRAC_CONST(0.029090846983152) },
-    { FRAC_CONST(0.011324947642537), FRAC_CONST(0.029125728504087) },
-    { FRAC_CONST(0.011235537869437), FRAC_CONST(0.029160335882573) },
-    { FRAC_CONST(0.011146022343175), FRAC_CONST(0.029194668792871) },
-    { FRAC_CONST(0.011056401906305), FRAC_CONST(0.029228726911828) },
-    { FRAC_CONST(0.010966677402371), FRAC_CONST(0.029262509918876) },
-    { FRAC_CONST(0.010876849675891), FRAC_CONST(0.029296017496036) },
-    { FRAC_CONST(0.010786919572361), FRAC_CONST(0.029329249327922) },
-    { FRAC_CONST(0.010696887938235), FRAC_CONST(0.029362205101743) },
-    { FRAC_CONST(0.010606755620926), FRAC_CONST(0.029394884507308) },
-    { FRAC_CONST(0.010516523468793), FRAC_CONST(0.029427287237024) },
-    { FRAC_CONST(0.010426192331137), FRAC_CONST(0.029459412985906) },
-    { FRAC_CONST(0.010335763058187), FRAC_CONST(0.029491261451573) },
-    { FRAC_CONST(0.010245236501099), FRAC_CONST(0.029522832334255) },
-    { FRAC_CONST(0.010154613511943), FRAC_CONST(0.029554125336796) },
-    { FRAC_CONST(0.010063894943698), FRAC_CONST(0.029585140164654) },
-    { FRAC_CONST(0.009973081650240), FRAC_CONST(0.029615876525905) },
-    { FRAC_CONST(0.009882174486340), FRAC_CONST(0.029646334131247) },
-    { FRAC_CONST(0.009791174307650), FRAC_CONST(0.029676512694001) },
-    { FRAC_CONST(0.009700081970699), FRAC_CONST(0.029706411930116) },
-    { FRAC_CONST(0.009608898332881), FRAC_CONST(0.029736031558168) },
-    { FRAC_CONST(0.009517624252453), FRAC_CONST(0.029765371299366) },
-    { FRAC_CONST(0.009426260588521), FRAC_CONST(0.029794430877553) },
-    { FRAC_CONST(0.009334808201034), FRAC_CONST(0.029823210019210) },
-    { FRAC_CONST(0.009243267950778), FRAC_CONST(0.029851708453456) },
-    { FRAC_CONST(0.009151640699363), FRAC_CONST(0.029879925912053) },
-    { FRAC_CONST(0.009059927309220), FRAC_CONST(0.029907862129408) },
-    { FRAC_CONST(0.008968128643591), FRAC_CONST(0.029935516842573) },
-    { FRAC_CONST(0.008876245566520), FRAC_CONST(0.029962889791254) },
-    { FRAC_CONST(0.008784278942845), FRAC_CONST(0.029989980717805) },
-    { FRAC_CONST(0.008692229638191), FRAC_CONST(0.030016789367235) },
-    { FRAC_CONST(0.008600098518961), FRAC_CONST(0.030043315487212) },
-    { FRAC_CONST(0.008507886452329), FRAC_CONST(0.030069558828062) },
-    { FRAC_CONST(0.008415594306230), FRAC_CONST(0.030095519142772) },
-    { FRAC_CONST(0.008323222949351), FRAC_CONST(0.030121196186994) },
-    { FRAC_CONST(0.008230773251129), FRAC_CONST(0.030146589719046) },
-    { FRAC_CONST(0.008138246081733), FRAC_CONST(0.030171699499915) },
-    { FRAC_CONST(0.008045642312067), FRAC_CONST(0.030196525293257) },
-    { FRAC_CONST(0.007952962813750), FRAC_CONST(0.030221066865402) },
-    { FRAC_CONST(0.007860208459119), FRAC_CONST(0.030245323985357) },
-    { FRAC_CONST(0.007767380121212), FRAC_CONST(0.030269296424803) },
-    { FRAC_CONST(0.007674478673766), FRAC_CONST(0.030292983958103) },
-    { FRAC_CONST(0.007581504991203), FRAC_CONST(0.030316386362302) },
-    { FRAC_CONST(0.007488459948628), FRAC_CONST(0.030339503417126) },
-    { FRAC_CONST(0.007395344421816), FRAC_CONST(0.030362334904989) },
-    { FRAC_CONST(0.007302159287206), FRAC_CONST(0.030384880610993) },
-    { FRAC_CONST(0.007208905421891), FRAC_CONST(0.030407140322928) },
-    { FRAC_CONST(0.007115583703613), FRAC_CONST(0.030429113831278) },
-    { FRAC_CONST(0.007022195010752), FRAC_CONST(0.030450800929220) },
-    { FRAC_CONST(0.006928740222316), FRAC_CONST(0.030472201412626) },
-    { FRAC_CONST(0.006835220217939), FRAC_CONST(0.030493315080068) },
-    { FRAC_CONST(0.006741635877866), FRAC_CONST(0.030514141732814) },
-    { FRAC_CONST(0.006647988082948), FRAC_CONST(0.030534681174838) },
-    { FRAC_CONST(0.006554277714635), FRAC_CONST(0.030554933212813) },
-    { FRAC_CONST(0.006460505654964), FRAC_CONST(0.030574897656119) },
-    { FRAC_CONST(0.006366672786553), FRAC_CONST(0.030594574316845) },
-    { FRAC_CONST(0.006272779992593), FRAC_CONST(0.030613963009786) },
-    { FRAC_CONST(0.006178828156839), FRAC_CONST(0.030633063552447) },
-    { FRAC_CONST(0.006084818163601), FRAC_CONST(0.030651875765048) },
-    { FRAC_CONST(0.005990750897737), FRAC_CONST(0.030670399470520) },
-    { FRAC_CONST(0.005896627244644), FRAC_CONST(0.030688634494512) },
-    { FRAC_CONST(0.005802448090250), FRAC_CONST(0.030706580665388) },
-    { FRAC_CONST(0.005708214321004), FRAC_CONST(0.030724237814232) },
-    { FRAC_CONST(0.005613926823871), FRAC_CONST(0.030741605774849) },
-    { FRAC_CONST(0.005519586486321), FRAC_CONST(0.030758684383764) },
-    { FRAC_CONST(0.005425194196321), FRAC_CONST(0.030775473480228) },
-    { FRAC_CONST(0.005330750842327), FRAC_CONST(0.030791972906214) },
-    { FRAC_CONST(0.005236257313276), FRAC_CONST(0.030808182506425) },
-    { FRAC_CONST(0.005141714498576), FRAC_CONST(0.030824102128288) },
-    { FRAC_CONST(0.005047123288102), FRAC_CONST(0.030839731621963) },
-    { FRAC_CONST(0.004952484572181), FRAC_CONST(0.030855070840339) },
-    { FRAC_CONST(0.004857799241589), FRAC_CONST(0.030870119639036) },
-    { FRAC_CONST(0.004763068187541), FRAC_CONST(0.030884877876411) },
-    { FRAC_CONST(0.004668292301681), FRAC_CONST(0.030899345413553) },
-    { FRAC_CONST(0.004573472476075), FRAC_CONST(0.030913522114288) },
-    { FRAC_CONST(0.004478609603205), FRAC_CONST(0.030927407845180) },
-    { FRAC_CONST(0.004383704575956), FRAC_CONST(0.030941002475530) },
-    { FRAC_CONST(0.004288758287610), FRAC_CONST(0.030954305877381) },
-    { FRAC_CONST(0.004193771631837), FRAC_CONST(0.030967317925516) },
-    { FRAC_CONST(0.004098745502689), FRAC_CONST(0.030980038497461) },
-    { FRAC_CONST(0.004003680794587), FRAC_CONST(0.030992467473486) },
-    { FRAC_CONST(0.003908578402316), FRAC_CONST(0.031004604736602) },
-    { FRAC_CONST(0.003813439221017), FRAC_CONST(0.031016450172571) },
-    { FRAC_CONST(0.003718264146176), FRAC_CONST(0.031028003669899) },
-    { FRAC_CONST(0.003623054073616), FRAC_CONST(0.031039265119839) },
-    { FRAC_CONST(0.003527809899492), FRAC_CONST(0.031050234416394) },
-    { FRAC_CONST(0.003432532520278), FRAC_CONST(0.031060911456318) },
-    { FRAC_CONST(0.003337222832760), FRAC_CONST(0.031071296139114) },
-    { FRAC_CONST(0.003241881734029), FRAC_CONST(0.031081388367037) },
-    { FRAC_CONST(0.003146510121474), FRAC_CONST(0.031091188045095) },
-    { FRAC_CONST(0.003051108892766), FRAC_CONST(0.031100695081051) },
-    { FRAC_CONST(0.002955678945860), FRAC_CONST(0.031109909385419) },
-    { FRAC_CONST(0.002860221178978), FRAC_CONST(0.031118830871473) },
-    { FRAC_CONST(0.002764736490604), FRAC_CONST(0.031127459455239) },
-    { FRAC_CONST(0.002669225779478), FRAC_CONST(0.031135795055501) },
-    { FRAC_CONST(0.002573689944583), FRAC_CONST(0.031143837593803) },
-    { FRAC_CONST(0.002478129885137), FRAC_CONST(0.031151586994444) },
-    { FRAC_CONST(0.002382546500589), FRAC_CONST(0.031159043184484) },
-    { FRAC_CONST(0.002286940690606), FRAC_CONST(0.031166206093743) },
-    { FRAC_CONST(0.002191313355067), FRAC_CONST(0.031173075654800) },
-    { FRAC_CONST(0.002095665394051), FRAC_CONST(0.031179651802998) },
-    { FRAC_CONST(0.001999997707835), FRAC_CONST(0.031185934476438) },
-    { FRAC_CONST(0.001904311196878), FRAC_CONST(0.031191923615985) },
-    { FRAC_CONST(0.001808606761820), FRAC_CONST(0.031197619165268) },
-    { FRAC_CONST(0.001712885303465), FRAC_CONST(0.031203021070678) },
-    { FRAC_CONST(0.001617147722782), FRAC_CONST(0.031208129281370) },
-    { FRAC_CONST(0.001521394920889), FRAC_CONST(0.031212943749264) },
-    { FRAC_CONST(0.001425627799047), FRAC_CONST(0.031217464429043) },
-    { FRAC_CONST(0.001329847258653), FRAC_CONST(0.031221691278159) },
-    { FRAC_CONST(0.001234054201231), FRAC_CONST(0.031225624256825) },
-    { FRAC_CONST(0.001138249528420), FRAC_CONST(0.031229263328024) },
-    { FRAC_CONST(0.001042434141971), FRAC_CONST(0.031232608457502) },
-    { FRAC_CONST(0.000946608943736), FRAC_CONST(0.031235659613775) },
-    { FRAC_CONST(0.000850774835656), FRAC_CONST(0.031238416768124) },
-    { FRAC_CONST(0.000754932719759), FRAC_CONST(0.031240879894597) },
-    { FRAC_CONST(0.000659083498149), FRAC_CONST(0.031243048970010) },
-    { FRAC_CONST(0.000563228072993), FRAC_CONST(0.031244923973948) },
-    { FRAC_CONST(0.000467367346520), FRAC_CONST(0.031246504888762) },
-    { FRAC_CONST(0.000371502221008), FRAC_CONST(0.031247791699571) },
-    { FRAC_CONST(0.000275633598775), FRAC_CONST(0.031248784394264) },
-    { FRAC_CONST(0.000179762382174), FRAC_CONST(0.031249482963498) },
-    { FRAC_CONST(0.000083889473581), FRAC_CONST(0.031249887400697) }
-};
-
-/* 64 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_256[] =
-{
-    { FRAC_CONST(0.088387931675923), FRAC_CONST(0.000271171628935) },
-    { FRAC_CONST(0.088354655998507), FRAC_CONST(0.002440238387037) },
-    { FRAC_CONST(0.088268158780110), FRAC_CONST(0.004607835236780) },
-    { FRAC_CONST(0.088128492123423), FRAC_CONST(0.006772656498875) },
-    { FRAC_CONST(0.087935740158418), FRAC_CONST(0.008933398165942) },
-    { FRAC_CONST(0.087690018991670), FRAC_CONST(0.011088758687994) },
-    { FRAC_CONST(0.087391476636423), FRAC_CONST(0.013237439756448) },
-    { FRAC_CONST(0.087040292923427), FRAC_CONST(0.015378147086172) },
-    { FRAC_CONST(0.086636679392621), FRAC_CONST(0.017509591195118) },
-    { FRAC_CONST(0.086180879165703), FRAC_CONST(0.019630488181053) },
-    { FRAC_CONST(0.085673166799686), FRAC_CONST(0.021739560494940) },
-    { FRAC_CONST(0.085113848121515), FRAC_CONST(0.023835537710479) },
-    { FRAC_CONST(0.084503260043847), FRAC_CONST(0.025917157289369) },
-    { FRAC_CONST(0.083841770362110), FRAC_CONST(0.027983165341813) },
-    { FRAC_CONST(0.083129777532952), FRAC_CONST(0.030032317381813) },
-    { FRAC_CONST(0.082367710434230), FRAC_CONST(0.032063379076803) },
-    { FRAC_CONST(0.081556028106671), FRAC_CONST(0.034075126991164) },
-    { FRAC_CONST(0.080695219477356), FRAC_CONST(0.036066349323177) },
-    { FRAC_CONST(0.079785803065216), FRAC_CONST(0.038035846634965) },
-    { FRAC_CONST(0.078828326668693), FRAC_CONST(0.039982432574992) },
-    { FRAC_CONST(0.077823367035766), FRAC_CONST(0.041904934592675) },
-    { FRAC_CONST(0.076771529516540), FRAC_CONST(0.043802194644686) },
-    { FRAC_CONST(0.075673447698606), FRAC_CONST(0.045673069892513) },
-    { FRAC_CONST(0.074529783025390), FRAC_CONST(0.047516433390863) },
-    { FRAC_CONST(0.073341224397728), FRAC_CONST(0.049331174766491) },
-    { FRAC_CONST(0.072108487758894), FRAC_CONST(0.051116200887052) },
-    { FRAC_CONST(0.070832315663343), FRAC_CONST(0.052870436519557) },
-    { FRAC_CONST(0.069513476829429), FRAC_CONST(0.054592824978055) },
-    { FRAC_CONST(0.068152765676348), FRAC_CONST(0.056282328760143) },
-    { FRAC_CONST(0.066751001845620), FRAC_CONST(0.057937930171918) },
-    { FRAC_CONST(0.065309029707361), FRAC_CONST(0.059558631940996) },
-    { FRAC_CONST(0.063827717851668), FRAC_CONST(0.061143457817234) },
-    { FRAC_CONST(0.062307958565413), FRAC_CONST(0.062691453160784) },
-    { FRAC_CONST(0.060750667294763), FRAC_CONST(0.064201685517134) },
-    { FRAC_CONST(0.059156782093749), FRAC_CONST(0.065673245178784) },
-    { FRAC_CONST(0.057527263059216), FRAC_CONST(0.067105245733220) },
-    { FRAC_CONST(0.055863091752499), FRAC_CONST(0.068496824596852) },
-    { FRAC_CONST(0.054165270608165), FRAC_CONST(0.069847143534609) },
-    { FRAC_CONST(0.052434822330188), FRAC_CONST(0.071155389164853) },
-    { FRAC_CONST(0.050672789275903), FRAC_CONST(0.072420773449336) },
-    { FRAC_CONST(0.048880232828135), FRAC_CONST(0.073642534167879) },
-    { FRAC_CONST(0.047058232755862), FRAC_CONST(0.074819935377512) },
-    { FRAC_CONST(0.045207886563797), FRAC_CONST(0.075952267855771) },
-    { FRAC_CONST(0.043330308831298), FRAC_CONST(0.077038849527912) },
-    { FRAC_CONST(0.041426630540984), FRAC_CONST(0.078079025877766) },
-    { FRAC_CONST(0.039497998397473), FRAC_CONST(0.079072170341994) },
-    { FRAC_CONST(0.037545574136653), FRAC_CONST(0.080017684687506) },
-    { FRAC_CONST(0.035570533825892), FRAC_CONST(0.080914999371817) },
-    { FRAC_CONST(0.033574067155622), FRAC_CONST(0.081763573886112) },
-    { FRAC_CONST(0.031557376722714), FRAC_CONST(0.082562897080836) },
-    { FRAC_CONST(0.029521677306074), FRAC_CONST(0.083312487473584) },
-    { FRAC_CONST(0.027468195134911), FRAC_CONST(0.084011893539132) },
-    { FRAC_CONST(0.025398167150101), FRAC_CONST(0.084660693981419) },
-    { FRAC_CONST(0.023312840259098), FRAC_CONST(0.085258497987320) },
-    { FRAC_CONST(0.021213470584847), FRAC_CONST(0.085804945462053) },
-    { FRAC_CONST(0.019101322709138), FRAC_CONST(0.086299707246093) },
-    { FRAC_CONST(0.016977668910873), FRAC_CONST(0.086742485313442) },
-    { FRAC_CONST(0.014843788399692), FRAC_CONST(0.087133012951149) },
-    { FRAC_CONST(0.012700966545425), FRAC_CONST(0.087471054919968) },
-    { FRAC_CONST(0.010550494103830), FRAC_CONST(0.087756407596056) },
-    { FRAC_CONST(0.008393666439096), FRAC_CONST(0.087988899093631) },
-    { FRAC_CONST(0.006231782743558), FRAC_CONST(0.088168389368510) },
-    { FRAC_CONST(0.004066145255116), FRAC_CONST(0.088294770302461) },
-    { FRAC_CONST(0.001898058472816), FRAC_CONST(0.088367965768336) }
-};
-
-#ifdef LD_DEC
-/* 128 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_1024[] =
-{
-    { FRAC_CONST(0.044194160825012), FRAC_CONST(0.000033896503468) },
-    { FRAC_CONST(0.044193120897389), FRAC_CONST(0.000305066138364) },
-    { FRAC_CONST(0.044190417123742), FRAC_CONST(0.000576224287693) },
-    { FRAC_CONST(0.044186049605866), FRAC_CONST(0.000847360742503) },
-    { FRAC_CONST(0.044180018508197), FRAC_CONST(0.001118465294660) },
-    { FRAC_CONST(0.044172324057802), FRAC_CONST(0.001389527737231) },
-    { FRAC_CONST(0.044162966544372), FRAC_CONST(0.001660537864867) },
-    { FRAC_CONST(0.044151946320213), FRAC_CONST(0.001931485474192) },
-    { FRAC_CONST(0.044139263800230), FRAC_CONST(0.002202360364180) },
-    { FRAC_CONST(0.044124919461912), FRAC_CONST(0.002473152336546) },
-    { FRAC_CONST(0.044108913845316), FRAC_CONST(0.002743851196123) },
-    { FRAC_CONST(0.044091247553044), FRAC_CONST(0.003014446751254) },
-    { FRAC_CONST(0.044071921250223), FRAC_CONST(0.003284928814169) },
-    { FRAC_CONST(0.044050935664476), FRAC_CONST(0.003555287201370) },
-    { FRAC_CONST(0.044028291585898), FRAC_CONST(0.003825511734018) },
-    { FRAC_CONST(0.044003989867028), FRAC_CONST(0.004095592238311) },
-    { FRAC_CONST(0.043978031422810), FRAC_CONST(0.004365518545871) },
-    { FRAC_CONST(0.043950417230565), FRAC_CONST(0.004635280494126) },
-    { FRAC_CONST(0.043921148329953), FRAC_CONST(0.004904867926689) },
-    { FRAC_CONST(0.043890225822930), FRAC_CONST(0.005174270693748) },
-    { FRAC_CONST(0.043857650873712), FRAC_CONST(0.005443478652439) },
-    { FRAC_CONST(0.043823424708727), FRAC_CONST(0.005712481667236) },
-    { FRAC_CONST(0.043787548616571), FRAC_CONST(0.005981269610326) },
-    { FRAC_CONST(0.043750023947958), FRAC_CONST(0.006249832361997) },
-    { FRAC_CONST(0.043710852115672), FRAC_CONST(0.006518159811011) },
-    { FRAC_CONST(0.043670034594508), FRAC_CONST(0.006786241854993) },
-    { FRAC_CONST(0.043627572921225), FRAC_CONST(0.007054068400804) },
-    { FRAC_CONST(0.043583468694479), FRAC_CONST(0.007321629364927) },
-    { FRAC_CONST(0.043537723574771), FRAC_CONST(0.007588914673843) },
-    { FRAC_CONST(0.043490339284377), FRAC_CONST(0.007855914264410) },
-    { FRAC_CONST(0.043441317607290), FRAC_CONST(0.008122618084246) },
-    { FRAC_CONST(0.043390660389149), FRAC_CONST(0.008389016092101) },
-    { FRAC_CONST(0.043338369537168), FRAC_CONST(0.008655098258243) },
-    { FRAC_CONST(0.043284447020070), FRAC_CONST(0.008920854564826) },
-    { FRAC_CONST(0.043228894868005), FRAC_CONST(0.009186275006278) },
-    { FRAC_CONST(0.043171715172482), FRAC_CONST(0.009451349589667) },
-    { FRAC_CONST(0.043112910086283), FRAC_CONST(0.009716068335087) },
-    { FRAC_CONST(0.043052481823387), FRAC_CONST(0.009980421276025) },
-    { FRAC_CONST(0.042990432658884), FRAC_CONST(0.010244398459743) },
-    { FRAC_CONST(0.042926764928889), FRAC_CONST(0.010507989947649) },
-    { FRAC_CONST(0.042861481030457), FRAC_CONST(0.010771185815673) },
-    { FRAC_CONST(0.042794583421490), FRAC_CONST(0.011033976154639) },
-    { FRAC_CONST(0.042726074620644), FRAC_CONST(0.011296351070639) },
-    { FRAC_CONST(0.042655957207238), FRAC_CONST(0.011558300685406) },
-    { FRAC_CONST(0.042584233821153), FRAC_CONST(0.011819815136685) },
-    { FRAC_CONST(0.042510907162732), FRAC_CONST(0.012080884578604) },
-    { FRAC_CONST(0.042435979992684), FRAC_CONST(0.012341499182048) },
-    { FRAC_CONST(0.042359455131975), FRAC_CONST(0.012601649135022) },
-    { FRAC_CONST(0.042281335461721), FRAC_CONST(0.012861324643029) },
-    { FRAC_CONST(0.042201623923085), FRAC_CONST(0.013120515929433) },
-    { FRAC_CONST(0.042120323517160), FRAC_CONST(0.013379213235827) },
-    { FRAC_CONST(0.042037437304862), FRAC_CONST(0.013637406822406) },
-    { FRAC_CONST(0.041952968406809), FRAC_CONST(0.013895086968325) },
-    { FRAC_CONST(0.041866920003207), FRAC_CONST(0.014152243972073) },
-    { FRAC_CONST(0.041779295333730), FRAC_CONST(0.014408868151835) },
-    { FRAC_CONST(0.041690097697398), FRAC_CONST(0.014664949845855) },
-    { FRAC_CONST(0.041599330452450), FRAC_CONST(0.014920479412801) },
-    { FRAC_CONST(0.041506997016224), FRAC_CONST(0.015175447232131) },
-    { FRAC_CONST(0.041413100865019), FRAC_CONST(0.015429843704450) },
-    { FRAC_CONST(0.041317645533974), FRAC_CONST(0.015683659251874) },
-    { FRAC_CONST(0.041220634616927), FRAC_CONST(0.015936884318392) },
-    { FRAC_CONST(0.041122071766285), FRAC_CONST(0.016189509370223) },
-    { FRAC_CONST(0.041021960692883), FRAC_CONST(0.016441524896177) },
-    { FRAC_CONST(0.040920305165846), FRAC_CONST(0.016692921408010) },
-    { FRAC_CONST(0.040817109012449), FRAC_CONST(0.016943689440788) },
-    { FRAC_CONST(0.040712376117967), FRAC_CONST(0.017193819553235) },
-    { FRAC_CONST(0.040606110425535), FRAC_CONST(0.017443302328094) },
-    { FRAC_CONST(0.040498315935996), FRAC_CONST(0.017692128372479) },
-    { FRAC_CONST(0.040388996707752), FRAC_CONST(0.017940288318230) },
-    { FRAC_CONST(0.040278156856609), FRAC_CONST(0.018187772822267) },
-    { FRAC_CONST(0.040165800555627), FRAC_CONST(0.018434572566936) },
-    { FRAC_CONST(0.040051932034955), FRAC_CONST(0.018680678260367) },
-    { FRAC_CONST(0.039936555581679), FRAC_CONST(0.018926080636820) },
-    { FRAC_CONST(0.039819675539659), FRAC_CONST(0.019170770457035) },
-    { FRAC_CONST(0.039701296309360), FRAC_CONST(0.019414738508577) },
-    { FRAC_CONST(0.039581422347694), FRAC_CONST(0.019657975606187) },
-    { FRAC_CONST(0.039460058167849), FRAC_CONST(0.019900472592126) },
-    { FRAC_CONST(0.039337208339116), FRAC_CONST(0.020142220336521) },
-    { FRAC_CONST(0.039212877486723), FRAC_CONST(0.020383209737704) },
-    { FRAC_CONST(0.039087070291656), FRAC_CONST(0.020623431722561) },
-    { FRAC_CONST(0.038959791490485), FRAC_CONST(0.020862877246870) },
-    { FRAC_CONST(0.038831045875184), FRAC_CONST(0.021101537295642) },
-    { FRAC_CONST(0.038700838292953), FRAC_CONST(0.021339402883462) },
-    { FRAC_CONST(0.038569173646034), FRAC_CONST(0.021576465054824) },
-    { FRAC_CONST(0.038436056891527), FRAC_CONST(0.021812714884472) },
-    { FRAC_CONST(0.038301493041202), FRAC_CONST(0.022048143477734) },
-    { FRAC_CONST(0.038165487161312), FRAC_CONST(0.022282741970855) },
-    { FRAC_CONST(0.038028044372402), FRAC_CONST(0.022516501531335) },
-    { FRAC_CONST(0.037889169849115), FRAC_CONST(0.022749413358259) },
-    { FRAC_CONST(0.037748868819998), FRAC_CONST(0.022981468682628) },
-    { FRAC_CONST(0.037607146567305), FRAC_CONST(0.023212658767690) },
-    { FRAC_CONST(0.037464008426800), FRAC_CONST(0.023442974909269) },
-    { FRAC_CONST(0.037319459787553), FRAC_CONST(0.023672408436094) },
-    { FRAC_CONST(0.037173506091737), FRAC_CONST(0.023900950710120) },
-    { FRAC_CONST(0.037026152834428), FRAC_CONST(0.024128593126861) },
-    { FRAC_CONST(0.036877405563392), FRAC_CONST(0.024355327115708) },
-    { FRAC_CONST(0.036727269878879), FRAC_CONST(0.024581144140255) },
-    { FRAC_CONST(0.036575751433414), FRAC_CONST(0.024806035698618) },
-    { FRAC_CONST(0.036422855931580), FRAC_CONST(0.025029993323758) },
-    { FRAC_CONST(0.036268589129807), FRAC_CONST(0.025253008583796) },
-    { FRAC_CONST(0.036112956836151), FRAC_CONST(0.025475073082334) },
-    { FRAC_CONST(0.035955964910083), FRAC_CONST(0.025696178458769) },
-    { FRAC_CONST(0.035797619262257), FRAC_CONST(0.025916316388609) },
-    { FRAC_CONST(0.035637925854300), FRAC_CONST(0.026135478583784) },
-    { FRAC_CONST(0.035476890698576), FRAC_CONST(0.026353656792963) },
-    { FRAC_CONST(0.035314519857970), FRAC_CONST(0.026570842801858) },
-    { FRAC_CONST(0.035150819445650), FRAC_CONST(0.026787028433540) },
-    { FRAC_CONST(0.034985795624846), FRAC_CONST(0.027002205548742) },
-    { FRAC_CONST(0.034819454608610), FRAC_CONST(0.027216366046166) },
-    { FRAC_CONST(0.034651802659589), FRAC_CONST(0.027429501862792) },
-    { FRAC_CONST(0.034482846089783), FRAC_CONST(0.027641604974175) },
-    { FRAC_CONST(0.034312591260311), FRAC_CONST(0.027852667394755) },
-    { FRAC_CONST(0.034141044581172), FRAC_CONST(0.028062681178149) },
-    { FRAC_CONST(0.033968212511001), FRAC_CONST(0.028271638417458) },
-    { FRAC_CONST(0.033794101556828), FRAC_CONST(0.028479531245560) },
-    { FRAC_CONST(0.033618718273831), FRAC_CONST(0.028686351835407) },
-    { FRAC_CONST(0.033442069265093), FRAC_CONST(0.028892092400321) },
-    { FRAC_CONST(0.033264161181349), FRAC_CONST(0.029096745194286) },
-    { FRAC_CONST(0.033085000720737), FRAC_CONST(0.029300302512241) },
-    { FRAC_CONST(0.032904594628548), FRAC_CONST(0.029502756690366) },
-    { FRAC_CONST(0.032722949696969), FRAC_CONST(0.029704100106376) },
-    { FRAC_CONST(0.032540072764829), FRAC_CONST(0.029904325179807) },
-    { FRAC_CONST(0.032355970717341), FRAC_CONST(0.030103424372297) },
-    { FRAC_CONST(0.032170650485843), FRAC_CONST(0.030301390187873) },
-    { FRAC_CONST(0.031984119047537), FRAC_CONST(0.030498215173235) },
-    { FRAC_CONST(0.031796383425227), FRAC_CONST(0.030693891918034) },
-    { FRAC_CONST(0.031607450687052), FRAC_CONST(0.030888413055150) },
-    { FRAC_CONST(0.031417327946223), FRAC_CONST(0.031081771260973) },
-    { FRAC_CONST(0.031226022360754), FRAC_CONST(0.031273959255676) },
-    { FRAC_CONST(0.031033541133193), FRAC_CONST(0.031464969803488) },
-    { FRAC_CONST(0.030839891510348), FRAC_CONST(0.031654795712972) },
-    { FRAC_CONST(0.030645080783018), FRAC_CONST(0.031843429837288) },
-    { FRAC_CONST(0.030449116285718), FRAC_CONST(0.032030865074469) },
-    { FRAC_CONST(0.030252005396399), FRAC_CONST(0.032217094367684) },
-    { FRAC_CONST(0.030053755536176), FRAC_CONST(0.032402110705505) },
-    { FRAC_CONST(0.029854374169043), FRAC_CONST(0.032585907122172) },
-    { FRAC_CONST(0.029653868801596), FRAC_CONST(0.032768476697853) },
-    { FRAC_CONST(0.029452246982750), FRAC_CONST(0.032949812558907) },
-    { FRAC_CONST(0.029249516303451), FRAC_CONST(0.033129907878142) },
-    { FRAC_CONST(0.029045684396395), FRAC_CONST(0.033308755875070) },
-    { FRAC_CONST(0.028840758935738), FRAC_CONST(0.033486349816166) },
-    { FRAC_CONST(0.028634747636808), FRAC_CONST(0.033662683015118) },
-    { FRAC_CONST(0.028427658255815), FRAC_CONST(0.033837748833080) },
-    { FRAC_CONST(0.028219498589555), FRAC_CONST(0.034011540678924) },
-    { FRAC_CONST(0.028010276475123), FRAC_CONST(0.034184052009485) },
-    { FRAC_CONST(0.027799999789613), FRAC_CONST(0.034355276329809) },
-    { FRAC_CONST(0.027588676449824), FRAC_CONST(0.034525207193396) },
-    { FRAC_CONST(0.027376314411959), FRAC_CONST(0.034693838202447) },
-    { FRAC_CONST(0.027162921671330), FRAC_CONST(0.034861163008098) },
-    { FRAC_CONST(0.026948506262053), FRAC_CONST(0.035027175310665) },
-    { FRAC_CONST(0.026733076256746), FRAC_CONST(0.035191868859880) },
-    { FRAC_CONST(0.026516639766228), FRAC_CONST(0.035355237455122) },
-    { FRAC_CONST(0.026299204939210), FRAC_CONST(0.035517274945657) },
-    { FRAC_CONST(0.026080779961991), FRAC_CONST(0.035677975230865) },
-    { FRAC_CONST(0.025861373058146), FRAC_CONST(0.035837332260471) },
-    { FRAC_CONST(0.025640992488223), FRAC_CONST(0.035995340034772) },
-    { FRAC_CONST(0.025419646549425), FRAC_CONST(0.036151992604866) },
-    { FRAC_CONST(0.025197343575302), FRAC_CONST(0.036307284072871) },
-    { FRAC_CONST(0.024974091935435), FRAC_CONST(0.036461208592152) },
-    { FRAC_CONST(0.024749900035122), FRAC_CONST(0.036613760367538) },
-    { FRAC_CONST(0.024524776315061), FRAC_CONST(0.036764933655540) },
-    { FRAC_CONST(0.024298729251033), FRAC_CONST(0.036914722764569) },
-    { FRAC_CONST(0.024071767353583), FRAC_CONST(0.037063122055150) },
-    { FRAC_CONST(0.023843899167697), FRAC_CONST(0.037210125940135) },
-    { FRAC_CONST(0.023615133272485), FRAC_CONST(0.037355728884908) },
-    { FRAC_CONST(0.023385478280852), FRAC_CONST(0.037499925407603) },
-    { FRAC_CONST(0.023154942839179), FRAC_CONST(0.037642710079302) },
-    { FRAC_CONST(0.022923535626995), FRAC_CONST(0.037784077524241) },
-    { FRAC_CONST(0.022691265356652), FRAC_CONST(0.037924022420018) },
-    { FRAC_CONST(0.022458140772993), FRAC_CONST(0.038062539497785) },
-    { FRAC_CONST(0.022224170653027), FRAC_CONST(0.038199623542453) },
-    { FRAC_CONST(0.021989363805598), FRAC_CONST(0.038335269392885) },
-    { FRAC_CONST(0.021753729071049), FRAC_CONST(0.038469471942092) },
-    { FRAC_CONST(0.021517275320897), FRAC_CONST(0.038602226137423) },
-    { FRAC_CONST(0.021280011457490), FRAC_CONST(0.038733526980758) },
-    { FRAC_CONST(0.021041946413679), FRAC_CONST(0.038863369528695) },
-    { FRAC_CONST(0.020803089152479), FRAC_CONST(0.038991748892734) },
-    { FRAC_CONST(0.020563448666730), FRAC_CONST(0.039118660239466) },
-    { FRAC_CONST(0.020323033978761), FRAC_CONST(0.039244098790750) },
-    { FRAC_CONST(0.020081854140050), FRAC_CONST(0.039368059823895) },
-    { FRAC_CONST(0.019839918230880), FRAC_CONST(0.039490538671839) },
-    { FRAC_CONST(0.019597235360003), FRAC_CONST(0.039611530723322) },
-    { FRAC_CONST(0.019353814664291), FRAC_CONST(0.039731031423061) },
-    { FRAC_CONST(0.019109665308395), FRAC_CONST(0.039849036271924) },
-    { FRAC_CONST(0.018864796484402), FRAC_CONST(0.039965540827094) },
-    { FRAC_CONST(0.018619217411483), FRAC_CONST(0.040080540702240) },
-    { FRAC_CONST(0.018372937335552), FRAC_CONST(0.040194031567683) },
-    { FRAC_CONST(0.018125965528915), FRAC_CONST(0.040306009150554) },
-    { FRAC_CONST(0.017878311289921), FRAC_CONST(0.040416469234963) },
-    { FRAC_CONST(0.017629983942612), FRAC_CONST(0.040525407662148) },
-    { FRAC_CONST(0.017380992836371), FRAC_CONST(0.040632820330639) },
-    { FRAC_CONST(0.017131347345575), FRAC_CONST(0.040738703196411) },
-    { FRAC_CONST(0.016881056869233), FRAC_CONST(0.040843052273033) },
-    { FRAC_CONST(0.016630130830641), FRAC_CONST(0.040945863631822) },
-    { FRAC_CONST(0.016378578677023), FRAC_CONST(0.041047133401988) },
-    { FRAC_CONST(0.016126409879175), FRAC_CONST(0.041146857770781) },
-    { FRAC_CONST(0.015873633931110), FRAC_CONST(0.041245032983635) },
-    { FRAC_CONST(0.015620260349699), FRAC_CONST(0.041341655344309) },
-    { FRAC_CONST(0.015366298674314), FRAC_CONST(0.041436721215026) },
-    { FRAC_CONST(0.015111758466470), FRAC_CONST(0.041530227016609) },
-    { FRAC_CONST(0.014856649309460), FRAC_CONST(0.041622169228618) },
-    { FRAC_CONST(0.014600980808001), FRAC_CONST(0.041712544389481) },
-    { FRAC_CONST(0.014344762587867), FRAC_CONST(0.041801349096623) },
-    { FRAC_CONST(0.014088004295529), FRAC_CONST(0.041888580006598) },
-    { FRAC_CONST(0.013830715597792), FRAC_CONST(0.041974233835211) },
-    { FRAC_CONST(0.013572906181430), FRAC_CONST(0.042058307357645) },
-    { FRAC_CONST(0.013314585752822), FRAC_CONST(0.042140797408577) },
-    { FRAC_CONST(0.013055764037585), FRAC_CONST(0.042221700882306) },
-    { FRAC_CONST(0.012796450780212), FRAC_CONST(0.042301014732860) },
-    { FRAC_CONST(0.012536655743699), FRAC_CONST(0.042378735974118) },
-    { FRAC_CONST(0.012276388709183), FRAC_CONST(0.042454861679919) },
-    { FRAC_CONST(0.012015659475571), FRAC_CONST(0.042529388984173) },
-    { FRAC_CONST(0.011754477859172), FRAC_CONST(0.042602315080970) },
-    { FRAC_CONST(0.011492853693324), FRAC_CONST(0.042673637224683) },
-    { FRAC_CONST(0.011230796828031), FRAC_CONST(0.042743352730074) },
-    { FRAC_CONST(0.010968317129584), FRAC_CONST(0.042811458972393) },
-    { FRAC_CONST(0.010705424480197), FRAC_CONST(0.042877953387479) },
-    { FRAC_CONST(0.010442128777629), FRAC_CONST(0.042942833471854) },
-    { FRAC_CONST(0.010178439934815), FRAC_CONST(0.043006096782821) },
-    { FRAC_CONST(0.009914367879490), FRAC_CONST(0.043067740938551) },
-    { FRAC_CONST(0.009649922553818), FRAC_CONST(0.043127763618177) },
-    { FRAC_CONST(0.009385113914016), FRAC_CONST(0.043186162561878) },
-    { FRAC_CONST(0.009119951929979), FRAC_CONST(0.043242935570968) },
-    { FRAC_CONST(0.008854446584907), FRAC_CONST(0.043298080507974) },
-    { FRAC_CONST(0.008588607874926), FRAC_CONST(0.043351595296722) },
-    { FRAC_CONST(0.008322445808712), FRAC_CONST(0.043403477922409) },
-    { FRAC_CONST(0.008055970407118), FRAC_CONST(0.043453726431684) },
-    { FRAC_CONST(0.007789191702791), FRAC_CONST(0.043502338932719) },
-    { FRAC_CONST(0.007522119739798), FRAC_CONST(0.043549313595281) },
-    { FRAC_CONST(0.007254764573250), FRAC_CONST(0.043594648650800) },
-    { FRAC_CONST(0.006987136268915), FRAC_CONST(0.043638342392438) },
-    { FRAC_CONST(0.006719244902849), FRAC_CONST(0.043680393175148) },
-    { FRAC_CONST(0.006451100561010), FRAC_CONST(0.043720799415744) },
-    { FRAC_CONST(0.006182713338881), FRAC_CONST(0.043759559592953) },
-    { FRAC_CONST(0.005914093341090), FRAC_CONST(0.043796672247476) },
-    { FRAC_CONST(0.005645250681027), FRAC_CONST(0.043832135982044) },
-    { FRAC_CONST(0.005376195480466), FRAC_CONST(0.043865949461465) },
-    { FRAC_CONST(0.005106937869184), FRAC_CONST(0.043898111412683) },
-    { FRAC_CONST(0.004837487984578), FRAC_CONST(0.043928620624817) },
-    { FRAC_CONST(0.004567855971284), FRAC_CONST(0.043957475949213) },
-    { FRAC_CONST(0.004298051980793), FRAC_CONST(0.043984676299484) },
-    { FRAC_CONST(0.004028086171076), FRAC_CONST(0.044010220651553) },
-    { FRAC_CONST(0.003757968706190), FRAC_CONST(0.044034108043689) },
-    { FRAC_CONST(0.003487709755907), FRAC_CONST(0.044056337576546) },
-    { FRAC_CONST(0.003217319495322), FRAC_CONST(0.044076908413193) },
-    { FRAC_CONST(0.002946808104477), FRAC_CONST(0.044095819779151) },
-    { FRAC_CONST(0.002676185767973), FRAC_CONST(0.044113070962418) },
-    { FRAC_CONST(0.002405462674586), FRAC_CONST(0.044128661313495) },
-    { FRAC_CONST(0.002134649016890), FRAC_CONST(0.044142590245416) },
-    { FRAC_CONST(0.001863754990865), FRAC_CONST(0.044154857233763) },
-    { FRAC_CONST(0.001592790795518), FRAC_CONST(0.044165461816692) },
-    { FRAC_CONST(0.001321766632497), FRAC_CONST(0.044174403594946) },
-    { FRAC_CONST(0.001050692705710), FRAC_CONST(0.044181682231873) },
-    { FRAC_CONST(0.000779579220936), FRAC_CONST(0.044187297453434) },
-    { FRAC_CONST(0.000508436385446), FRAC_CONST(0.044191249048222) },
-    { FRAC_CONST(0.000237274407613), FRAC_CONST(0.044193536867459) }
-};
-#endif // LD_DEC
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-/* 480 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_1920[] =
-{
-    { FRAC_CONST(0.032274858518097), FRAC_CONST(0.000013202404176) },
-    { FRAC_CONST(0.032274642494505), FRAC_CONST(0.000118821372483) },
-    { FRAC_CONST(0.032274080835421), FRAC_CONST(0.000224439068308) },
-    { FRAC_CONST(0.032273173546860), FRAC_CONST(0.000330054360572) },
-    { FRAC_CONST(0.032271920638538), FRAC_CONST(0.000435666118218) },
-    { FRAC_CONST(0.032270322123873), FRAC_CONST(0.000541273210231) },
-    { FRAC_CONST(0.032268378019984), FRAC_CONST(0.000646874505642) },
-    { FRAC_CONST(0.032266088347691), FRAC_CONST(0.000752468873546) },
-    { FRAC_CONST(0.032263453131514), FRAC_CONST(0.000858055183114) },
-    { FRAC_CONST(0.032260472399674), FRAC_CONST(0.000963632303600) },
-    { FRAC_CONST(0.032257146184092), FRAC_CONST(0.001069199104358) },
-    { FRAC_CONST(0.032253474520390), FRAC_CONST(0.001174754454853) },
-    { FRAC_CONST(0.032249457447888), FRAC_CONST(0.001280297224671) },
-    { FRAC_CONST(0.032245095009606), FRAC_CONST(0.001385826283535) },
-    { FRAC_CONST(0.032240387252262), FRAC_CONST(0.001491340501313) },
-    { FRAC_CONST(0.032235334226272), FRAC_CONST(0.001596838748031) },
-    { FRAC_CONST(0.032229935985750), FRAC_CONST(0.001702319893890) },
-    { FRAC_CONST(0.032224192588507), FRAC_CONST(0.001807782809271) },
-    { FRAC_CONST(0.032218104096050), FRAC_CONST(0.001913226364749) },
-    { FRAC_CONST(0.032211670573582), FRAC_CONST(0.002018649431111) },
-    { FRAC_CONST(0.032204892090000), FRAC_CONST(0.002124050879359) },
-    { FRAC_CONST(0.032197768717898), FRAC_CONST(0.002229429580728) },
-    { FRAC_CONST(0.032190300533560), FRAC_CONST(0.002334784406698) },
-    { FRAC_CONST(0.032182487616965), FRAC_CONST(0.002440114229003) },
-    { FRAC_CONST(0.032174330051782), FRAC_CONST(0.002545417919644) },
-    { FRAC_CONST(0.032165827925374), FRAC_CONST(0.002650694350905) },
-    { FRAC_CONST(0.032156981328790), FRAC_CONST(0.002755942395358) },
-    { FRAC_CONST(0.032147790356771), FRAC_CONST(0.002861160925883) },
-    { FRAC_CONST(0.032138255107744), FRAC_CONST(0.002966348815672) },
-    { FRAC_CONST(0.032128375683825), FRAC_CONST(0.003071504938250) },
-    { FRAC_CONST(0.032118152190814), FRAC_CONST(0.003176628167476) },
-    { FRAC_CONST(0.032107584738196), FRAC_CONST(0.003281717377568) },
-    { FRAC_CONST(0.032096673439141), FRAC_CONST(0.003386771443102) },
-    { FRAC_CONST(0.032085418410500), FRAC_CONST(0.003491789239036) },
-    { FRAC_CONST(0.032073819772804), FRAC_CONST(0.003596769640711) },
-    { FRAC_CONST(0.032061877650267), FRAC_CONST(0.003701711523874) },
-    { FRAC_CONST(0.032049592170778), FRAC_CONST(0.003806613764680) },
-    { FRAC_CONST(0.032036963465906), FRAC_CONST(0.003911475239711) },
-    { FRAC_CONST(0.032023991670893), FRAC_CONST(0.004016294825985) },
-    { FRAC_CONST(0.032010676924657), FRAC_CONST(0.004121071400967) },
-    { FRAC_CONST(0.031997019369789), FRAC_CONST(0.004225803842586) },
-    { FRAC_CONST(0.031983019152549), FRAC_CONST(0.004330491029241) },
-    { FRAC_CONST(0.031968676422869), FRAC_CONST(0.004435131839816) },
-    { FRAC_CONST(0.031953991334348), FRAC_CONST(0.004539725153692) },
-    { FRAC_CONST(0.031938964044252), FRAC_CONST(0.004644269850758) },
-    { FRAC_CONST(0.031923594713510), FRAC_CONST(0.004748764811426) },
-    { FRAC_CONST(0.031907883506716), FRAC_CONST(0.004853208916638) },
-    { FRAC_CONST(0.031891830592124), FRAC_CONST(0.004957601047881) },
-    { FRAC_CONST(0.031875436141648), FRAC_CONST(0.005061940087200) },
-    { FRAC_CONST(0.031858700330859), FRAC_CONST(0.005166224917208) },
-    { FRAC_CONST(0.031841623338985), FRAC_CONST(0.005270454421097) },
-    { FRAC_CONST(0.031824205348907), FRAC_CONST(0.005374627482653) },
-    { FRAC_CONST(0.031806446547156), FRAC_CONST(0.005478742986267) },
-    { FRAC_CONST(0.031788347123916), FRAC_CONST(0.005582799816945) },
-    { FRAC_CONST(0.031769907273017), FRAC_CONST(0.005686796860323) },
-    { FRAC_CONST(0.031751127191935), FRAC_CONST(0.005790733002674) },
-    { FRAC_CONST(0.031732007081789), FRAC_CONST(0.005894607130928) },
-    { FRAC_CONST(0.031712547147340), FRAC_CONST(0.005998418132675) },
-    { FRAC_CONST(0.031692747596989), FRAC_CONST(0.006102164896182) },
-    { FRAC_CONST(0.031672608642773), FRAC_CONST(0.006205846310406) },
-    { FRAC_CONST(0.031652130500364), FRAC_CONST(0.006309461265002) },
-    { FRAC_CONST(0.031631313389067), FRAC_CONST(0.006413008650337) },
-    { FRAC_CONST(0.031610157531816), FRAC_CONST(0.006516487357501) },
-    { FRAC_CONST(0.031588663155172), FRAC_CONST(0.006619896278321) },
-    { FRAC_CONST(0.031566830489325), FRAC_CONST(0.006723234305370) },
-    { FRAC_CONST(0.031544659768083), FRAC_CONST(0.006826500331981) },
-    { FRAC_CONST(0.031522151228878), FRAC_CONST(0.006929693252258) },
-    { FRAC_CONST(0.031499305112758), FRAC_CONST(0.007032811961088) },
-    { FRAC_CONST(0.031476121664387), FRAC_CONST(0.007135855354151) },
-    { FRAC_CONST(0.031452601132040), FRAC_CONST(0.007238822327937) },
-    { FRAC_CONST(0.031428743767604), FRAC_CONST(0.007341711779751) },
-    { FRAC_CONST(0.031404549826572), FRAC_CONST(0.007444522607730) },
-    { FRAC_CONST(0.031380019568042), FRAC_CONST(0.007547253710853) },
-    { FRAC_CONST(0.031355153254712), FRAC_CONST(0.007649903988952) },
-    { FRAC_CONST(0.031329951152882), FRAC_CONST(0.007752472342725) },
-    { FRAC_CONST(0.031304413532445), FRAC_CONST(0.007854957673748) },
-    { FRAC_CONST(0.031278540666888), FRAC_CONST(0.007957358884484) },
-    { FRAC_CONST(0.031252332833290), FRAC_CONST(0.008059674878300) },
-    { FRAC_CONST(0.031225790312316), FRAC_CONST(0.008161904559473) },
-    { FRAC_CONST(0.031198913388214), FRAC_CONST(0.008264046833205) },
-    { FRAC_CONST(0.031171702348814), FRAC_CONST(0.008366100605636) },
-    { FRAC_CONST(0.031144157485525), FRAC_CONST(0.008468064783849) },
-    { FRAC_CONST(0.031116279093331), FRAC_CONST(0.008569938275893) },
-    { FRAC_CONST(0.031088067470786), FRAC_CONST(0.008671719990782) },
-    { FRAC_CONST(0.031059522920014), FRAC_CONST(0.008773408838517) },
-    { FRAC_CONST(0.031030645746705), FRAC_CONST(0.008875003730092) },
-    { FRAC_CONST(0.031001436260110), FRAC_CONST(0.008976503577507) },
-    { FRAC_CONST(0.030971894773039), FRAC_CONST(0.009077907293780) },
-    { FRAC_CONST(0.030942021601857), FRAC_CONST(0.009179213792959) },
-    { FRAC_CONST(0.030911817066483), FRAC_CONST(0.009280421990133) },
-    { FRAC_CONST(0.030881281490382), FRAC_CONST(0.009381530801444) },
-    { FRAC_CONST(0.030850415200566), FRAC_CONST(0.009482539144097) },
-    { FRAC_CONST(0.030819218527589), FRAC_CONST(0.009583445936373) },
-    { FRAC_CONST(0.030787691805541), FRAC_CONST(0.009684250097643) },
-    { FRAC_CONST(0.030755835372048), FRAC_CONST(0.009784950548375) },
-    { FRAC_CONST(0.030723649568268), FRAC_CONST(0.009885546210147) },
-    { FRAC_CONST(0.030691134738883), FRAC_CONST(0.009986036005661) },
-    { FRAC_CONST(0.030658291232103), FRAC_CONST(0.010086418858753) },
-    { FRAC_CONST(0.030625119399655), FRAC_CONST(0.010186693694402) },
-    { FRAC_CONST(0.030591619596781), FRAC_CONST(0.010286859438745) },
-    { FRAC_CONST(0.030557792182239), FRAC_CONST(0.010386915019088) },
-    { FRAC_CONST(0.030523637518292), FRAC_CONST(0.010486859363916) },
-    { FRAC_CONST(0.030489155970710), FRAC_CONST(0.010586691402906) },
-    { FRAC_CONST(0.030454347908763), FRAC_CONST(0.010686410066936) },
-    { FRAC_CONST(0.030419213705216), FRAC_CONST(0.010786014288099) },
-    { FRAC_CONST(0.030383753736329), FRAC_CONST(0.010885502999714) },
-    { FRAC_CONST(0.030347968381849), FRAC_CONST(0.010984875136338) },
-    { FRAC_CONST(0.030311858025010), FRAC_CONST(0.011084129633775) },
-    { FRAC_CONST(0.030275423052523), FRAC_CONST(0.011183265429088) },
-    { FRAC_CONST(0.030238663854579), FRAC_CONST(0.011282281460612) },
-    { FRAC_CONST(0.030201580824838), FRAC_CONST(0.011381176667967) },
-    { FRAC_CONST(0.030164174360430), FRAC_CONST(0.011479949992062) },
-    { FRAC_CONST(0.030126444861948), FRAC_CONST(0.011578600375117) },
-    { FRAC_CONST(0.030088392733446), FRAC_CONST(0.011677126760663) },
-    { FRAC_CONST(0.030050018382430), FRAC_CONST(0.011775528093563) },
-    { FRAC_CONST(0.030011322219859), FRAC_CONST(0.011873803320018) },
-    { FRAC_CONST(0.029972304660138), FRAC_CONST(0.011971951387578) },
-    { FRAC_CONST(0.029932966121114), FRAC_CONST(0.012069971245157) },
-    { FRAC_CONST(0.029893307024070), FRAC_CONST(0.012167861843041) },
-    { FRAC_CONST(0.029853327793724), FRAC_CONST(0.012265622132901) },
-    { FRAC_CONST(0.029813028858222), FRAC_CONST(0.012363251067801) },
-    { FRAC_CONST(0.029772410649132), FRAC_CONST(0.012460747602215) },
-    { FRAC_CONST(0.029731473601443), FRAC_CONST(0.012558110692033) },
-    { FRAC_CONST(0.029690218153558), FRAC_CONST(0.012655339294575) },
-    { FRAC_CONST(0.029648644747289), FRAC_CONST(0.012752432368600) },
-    { FRAC_CONST(0.029606753827855), FRAC_CONST(0.012849388874320) },
-    { FRAC_CONST(0.029564545843872), FRAC_CONST(0.012946207773407) },
-    { FRAC_CONST(0.029522021247356), FRAC_CONST(0.013042888029011) },
-    { FRAC_CONST(0.029479180493710), FRAC_CONST(0.013139428605762) },
-    { FRAC_CONST(0.029436024041725), FRAC_CONST(0.013235828469789) },
-    { FRAC_CONST(0.029392552353570), FRAC_CONST(0.013332086588727) },
-    { FRAC_CONST(0.029348765894794), FRAC_CONST(0.013428201931728) },
-    { FRAC_CONST(0.029304665134313), FRAC_CONST(0.013524173469475) },
-    { FRAC_CONST(0.029260250544412), FRAC_CONST(0.013620000174189) },
-    { FRAC_CONST(0.029215522600735), FRAC_CONST(0.013715681019643) },
-    { FRAC_CONST(0.029170481782283), FRAC_CONST(0.013811214981173) },
-    { FRAC_CONST(0.029125128571406), FRAC_CONST(0.013906601035686) },
-    { FRAC_CONST(0.029079463453801), FRAC_CONST(0.014001838161674) },
-    { FRAC_CONST(0.029033486918505), FRAC_CONST(0.014096925339225) },
-    { FRAC_CONST(0.028987199457889), FRAC_CONST(0.014191861550031) },
-    { FRAC_CONST(0.028940601567655), FRAC_CONST(0.014286645777401) },
-    { FRAC_CONST(0.028893693746829), FRAC_CONST(0.014381277006273) },
-    { FRAC_CONST(0.028846476497755), FRAC_CONST(0.014475754223221) },
-    { FRAC_CONST(0.028798950326094), FRAC_CONST(0.014570076416472) },
-    { FRAC_CONST(0.028751115740811), FRAC_CONST(0.014664242575910) },
-    { FRAC_CONST(0.028702973254178), FRAC_CONST(0.014758251693091) },
-    { FRAC_CONST(0.028654523381760), FRAC_CONST(0.014852102761253) },
-    { FRAC_CONST(0.028605766642418), FRAC_CONST(0.014945794775326) },
-    { FRAC_CONST(0.028556703558297), FRAC_CONST(0.015039326731945) },
-    { FRAC_CONST(0.028507334654823), FRAC_CONST(0.015132697629457) },
-    { FRAC_CONST(0.028457660460698), FRAC_CONST(0.015225906467935) },
-    { FRAC_CONST(0.028407681507891), FRAC_CONST(0.015318952249187) },
-    { FRAC_CONST(0.028357398331639), FRAC_CONST(0.015411833976768) },
-    { FRAC_CONST(0.028306811470432), FRAC_CONST(0.015504550655988) },
-    { FRAC_CONST(0.028255921466016), FRAC_CONST(0.015597101293927) },
-    { FRAC_CONST(0.028204728863381), FRAC_CONST(0.015689484899442) },
-    { FRAC_CONST(0.028153234210760), FRAC_CONST(0.015781700483179) },
-    { FRAC_CONST(0.028101438059619), FRAC_CONST(0.015873747057582) },
-    { FRAC_CONST(0.028049340964652), FRAC_CONST(0.015965623636907) },
-    { FRAC_CONST(0.027996943483779), FRAC_CONST(0.016057329237229) },
-    { FRAC_CONST(0.027944246178133), FRAC_CONST(0.016148862876456) },
-    { FRAC_CONST(0.027891249612061), FRAC_CONST(0.016240223574335) },
-    { FRAC_CONST(0.027837954353113), FRAC_CONST(0.016331410352467) },
-    { FRAC_CONST(0.027784360972039), FRAC_CONST(0.016422422234315) },
-    { FRAC_CONST(0.027730470042780), FRAC_CONST(0.016513258245214) },
-    { FRAC_CONST(0.027676282142466), FRAC_CONST(0.016603917412384) },
-    { FRAC_CONST(0.027621797851405), FRAC_CONST(0.016694398764938) },
-    { FRAC_CONST(0.027567017753080), FRAC_CONST(0.016784701333894) },
-    { FRAC_CONST(0.027511942434143), FRAC_CONST(0.016874824152183) },
-    { FRAC_CONST(0.027456572484404), FRAC_CONST(0.016964766254662) },
-    { FRAC_CONST(0.027400908496833), FRAC_CONST(0.017054526678124) },
-    { FRAC_CONST(0.027344951067546), FRAC_CONST(0.017144104461307) },
-    { FRAC_CONST(0.027288700795801), FRAC_CONST(0.017233498644904) },
-    { FRAC_CONST(0.027232158283994), FRAC_CONST(0.017322708271577) },
-    { FRAC_CONST(0.027175324137651), FRAC_CONST(0.017411732385960) },
-    { FRAC_CONST(0.027118198965418), FRAC_CONST(0.017500570034678) },
-    { FRAC_CONST(0.027060783379060), FRAC_CONST(0.017589220266351) },
-    { FRAC_CONST(0.027003077993454), FRAC_CONST(0.017677682131607) },
-    { FRAC_CONST(0.026945083426576), FRAC_CONST(0.017765954683088) },
-    { FRAC_CONST(0.026886800299502), FRAC_CONST(0.017854036975468) },
-    { FRAC_CONST(0.026828229236397), FRAC_CONST(0.017941928065456) },
-    { FRAC_CONST(0.026769370864511), FRAC_CONST(0.018029627011808) },
-    { FRAC_CONST(0.026710225814170), FRAC_CONST(0.018117132875340) },
-    { FRAC_CONST(0.026650794718768), FRAC_CONST(0.018204444718934) },
-    { FRAC_CONST(0.026591078214767), FRAC_CONST(0.018291561607551) },
-    { FRAC_CONST(0.026531076941680), FRAC_CONST(0.018378482608238) },
-    { FRAC_CONST(0.026470791542075), FRAC_CONST(0.018465206790142) },
-    { FRAC_CONST(0.026410222661558), FRAC_CONST(0.018551733224515) },
-    { FRAC_CONST(0.026349370948775), FRAC_CONST(0.018638060984730) },
-    { FRAC_CONST(0.026288237055398), FRAC_CONST(0.018724189146286) },
-    { FRAC_CONST(0.026226821636121), FRAC_CONST(0.018810116786819) },
-    { FRAC_CONST(0.026165125348656), FRAC_CONST(0.018895842986112) },
-    { FRAC_CONST(0.026103148853718), FRAC_CONST(0.018981366826109) },
-    { FRAC_CONST(0.026040892815028), FRAC_CONST(0.019066687390916) },
-    { FRAC_CONST(0.025978357899296), FRAC_CONST(0.019151803766819) },
-    { FRAC_CONST(0.025915544776223), FRAC_CONST(0.019236715042290) },
-    { FRAC_CONST(0.025852454118485), FRAC_CONST(0.019321420307998) },
-    { FRAC_CONST(0.025789086601733), FRAC_CONST(0.019405918656817) },
-    { FRAC_CONST(0.025725442904582), FRAC_CONST(0.019490209183837) },
-    { FRAC_CONST(0.025661523708606), FRAC_CONST(0.019574290986376) },
-    { FRAC_CONST(0.025597329698327), FRAC_CONST(0.019658163163984) },
-    { FRAC_CONST(0.025532861561211), FRAC_CONST(0.019741824818458) },
-    { FRAC_CONST(0.025468119987662), FRAC_CONST(0.019825275053848) },
-    { FRAC_CONST(0.025403105671008), FRAC_CONST(0.019908512976470) },
-    { FRAC_CONST(0.025337819307501), FRAC_CONST(0.019991537694913) },
-    { FRAC_CONST(0.025272261596305), FRAC_CONST(0.020074348320047) },
-    { FRAC_CONST(0.025206433239491), FRAC_CONST(0.020156943965039) },
-    { FRAC_CONST(0.025140334942028), FRAC_CONST(0.020239323745355) },
-    { FRAC_CONST(0.025073967411776), FRAC_CONST(0.020321486778774) },
-    { FRAC_CONST(0.025007331359476), FRAC_CONST(0.020403432185395) },
-    { FRAC_CONST(0.024940427498748), FRAC_CONST(0.020485159087650) },
-    { FRAC_CONST(0.024873256546079), FRAC_CONST(0.020566666610309) },
-    { FRAC_CONST(0.024805819220816), FRAC_CONST(0.020647953880491) },
-    { FRAC_CONST(0.024738116245157), FRAC_CONST(0.020729020027676) },
-    { FRAC_CONST(0.024670148344147), FRAC_CONST(0.020809864183709) },
-    { FRAC_CONST(0.024601916245669), FRAC_CONST(0.020890485482816) },
-    { FRAC_CONST(0.024533420680433), FRAC_CONST(0.020970883061607) },
-    { FRAC_CONST(0.024464662381971), FRAC_CONST(0.021051056059087) },
-    { FRAC_CONST(0.024395642086630), FRAC_CONST(0.021131003616670) },
-    { FRAC_CONST(0.024326360533561), FRAC_CONST(0.021210724878181) },
-    { FRAC_CONST(0.024256818464715), FRAC_CONST(0.021290218989868) },
-    { FRAC_CONST(0.024187016624830), FRAC_CONST(0.021369485100415) },
-    { FRAC_CONST(0.024116955761430), FRAC_CONST(0.021448522360944) },
-    { FRAC_CONST(0.024046636624808), FRAC_CONST(0.021527329925030) },
-    { FRAC_CONST(0.023976059968027), FRAC_CONST(0.021605906948708) },
-    { FRAC_CONST(0.023905226546906), FRAC_CONST(0.021684252590480) },
-    { FRAC_CONST(0.023834137120014), FRAC_CONST(0.021762366011328) },
-    { FRAC_CONST(0.023762792448662), FRAC_CONST(0.021840246374720) },
-    { FRAC_CONST(0.023691193296893), FRAC_CONST(0.021917892846620) },
-    { FRAC_CONST(0.023619340431478), FRAC_CONST(0.021995304595495) },
-    { FRAC_CONST(0.023547234621902), FRAC_CONST(0.022072480792330) },
-    { FRAC_CONST(0.023474876640361), FRAC_CONST(0.022149420610628) },
-    { FRAC_CONST(0.023402267261751), FRAC_CONST(0.022226123226426) },
-    { FRAC_CONST(0.023329407263659), FRAC_CONST(0.022302587818300) },
-    { FRAC_CONST(0.023256297426359), FRAC_CONST(0.022378813567377) },
-    { FRAC_CONST(0.023182938532797), FRAC_CONST(0.022454799657339) },
-    { FRAC_CONST(0.023109331368588), FRAC_CONST(0.022530545274437) },
-    { FRAC_CONST(0.023035476722006), FRAC_CONST(0.022606049607496) },
-    { FRAC_CONST(0.022961375383975), FRAC_CONST(0.022681311847926) },
-    { FRAC_CONST(0.022887028148061), FRAC_CONST(0.022756331189727) },
-    { FRAC_CONST(0.022812435810462), FRAC_CONST(0.022831106829504) },
-    { FRAC_CONST(0.022737599170003), FRAC_CONST(0.022905637966469) },
-    { FRAC_CONST(0.022662519028125), FRAC_CONST(0.022979923802453) },
-    { FRAC_CONST(0.022587196188874), FRAC_CONST(0.023053963541915) },
-    { FRAC_CONST(0.022511631458899), FRAC_CONST(0.023127756391950) },
-    { FRAC_CONST(0.022435825647437), FRAC_CONST(0.023201301562294) },
-    { FRAC_CONST(0.022359779566306), FRAC_CONST(0.023274598265338) },
-    { FRAC_CONST(0.022283494029900), FRAC_CONST(0.023347645716133) },
-    { FRAC_CONST(0.022206969855176), FRAC_CONST(0.023420443132400) },
-    { FRAC_CONST(0.022130207861645), FRAC_CONST(0.023492989734537) },
-    { FRAC_CONST(0.022053208871367), FRAC_CONST(0.023565284745628) },
-    { FRAC_CONST(0.021975973708940), FRAC_CONST(0.023637327391451) },
-    { FRAC_CONST(0.021898503201489), FRAC_CONST(0.023709116900488) },
-    { FRAC_CONST(0.021820798178663), FRAC_CONST(0.023780652503931) },
-    { FRAC_CONST(0.021742859472618), FRAC_CONST(0.023851933435691) },
-    { FRAC_CONST(0.021664687918017), FRAC_CONST(0.023922958932406) },
-    { FRAC_CONST(0.021586284352013), FRAC_CONST(0.023993728233451) },
-    { FRAC_CONST(0.021507649614247), FRAC_CONST(0.024064240580942) },
-    { FRAC_CONST(0.021428784546832), FRAC_CONST(0.024134495219750) },
-    { FRAC_CONST(0.021349689994350), FRAC_CONST(0.024204491397504) },
-    { FRAC_CONST(0.021270366803840), FRAC_CONST(0.024274228364600) },
-    { FRAC_CONST(0.021190815824791), FRAC_CONST(0.024343705374213) },
-    { FRAC_CONST(0.021111037909128), FRAC_CONST(0.024412921682298) },
-    { FRAC_CONST(0.021031033911210), FRAC_CONST(0.024481876547605) },
-    { FRAC_CONST(0.020950804687815), FRAC_CONST(0.024550569231683) },
-    { FRAC_CONST(0.020870351098134), FRAC_CONST(0.024618998998889) },
-    { FRAC_CONST(0.020789674003759), FRAC_CONST(0.024687165116394) },
-    { FRAC_CONST(0.020708774268678), FRAC_CONST(0.024755066854194) },
-    { FRAC_CONST(0.020627652759262), FRAC_CONST(0.024822703485116) },
-    { FRAC_CONST(0.020546310344257), FRAC_CONST(0.024890074284826) },
-    { FRAC_CONST(0.020464747894775), FRAC_CONST(0.024957178531837) },
-    { FRAC_CONST(0.020382966284284), FRAC_CONST(0.025024015507516) },
-    { FRAC_CONST(0.020300966388600), FRAC_CONST(0.025090584496093) },
-    { FRAC_CONST(0.020218749085876), FRAC_CONST(0.025156884784668) },
-    { FRAC_CONST(0.020136315256592), FRAC_CONST(0.025222915663218) },
-    { FRAC_CONST(0.020053665783549), FRAC_CONST(0.025288676424605) },
-    { FRAC_CONST(0.019970801551857), FRAC_CONST(0.025354166364584) },
-    { FRAC_CONST(0.019887723448925), FRAC_CONST(0.025419384781811) },
-    { FRAC_CONST(0.019804432364452), FRAC_CONST(0.025484330977848) },
-    { FRAC_CONST(0.019720929190419), FRAC_CONST(0.025549004257175) },
-    { FRAC_CONST(0.019637214821078), FRAC_CONST(0.025613403927192) },
-    { FRAC_CONST(0.019553290152943), FRAC_CONST(0.025677529298230) },
-    { FRAC_CONST(0.019469156084779), FRAC_CONST(0.025741379683559) },
-    { FRAC_CONST(0.019384813517595), FRAC_CONST(0.025804954399392) },
-    { FRAC_CONST(0.019300263354632), FRAC_CONST(0.025868252764895) },
-    { FRAC_CONST(0.019215506501354), FRAC_CONST(0.025931274102193) },
-    { FRAC_CONST(0.019130543865439), FRAC_CONST(0.025994017736379) },
-    { FRAC_CONST(0.019045376356769), FRAC_CONST(0.026056482995518) },
-    { FRAC_CONST(0.018960004887419), FRAC_CONST(0.026118669210657) },
-    { FRAC_CONST(0.018874430371648), FRAC_CONST(0.026180575715833) },
-    { FRAC_CONST(0.018788653725892), FRAC_CONST(0.026242201848076) },
-    { FRAC_CONST(0.018702675868750), FRAC_CONST(0.026303546947421) },
-    { FRAC_CONST(0.018616497720974), FRAC_CONST(0.026364610356909) },
-    { FRAC_CONST(0.018530120205464), FRAC_CONST(0.026425391422602) },
-    { FRAC_CONST(0.018443544247254), FRAC_CONST(0.026485889493583) },
-    { FRAC_CONST(0.018356770773502), FRAC_CONST(0.026546103921965) },
-    { FRAC_CONST(0.018269800713483), FRAC_CONST(0.026606034062902) },
-    { FRAC_CONST(0.018182634998576), FRAC_CONST(0.026665679274589) },
-    { FRAC_CONST(0.018095274562256), FRAC_CONST(0.026725038918274) },
-    { FRAC_CONST(0.018007720340083), FRAC_CONST(0.026784112358263) },
-    { FRAC_CONST(0.017919973269692), FRAC_CONST(0.026842898961926) },
-    { FRAC_CONST(0.017832034290785), FRAC_CONST(0.026901398099707) },
-    { FRAC_CONST(0.017743904345116), FRAC_CONST(0.026959609145127) },
-    { FRAC_CONST(0.017655584376488), FRAC_CONST(0.027017531474792) },
-    { FRAC_CONST(0.017567075330734), FRAC_CONST(0.027075164468401) },
-    { FRAC_CONST(0.017478378155718), FRAC_CONST(0.027132507508750) },
-    { FRAC_CONST(0.017389493801313), FRAC_CONST(0.027189559981742) },
-    { FRAC_CONST(0.017300423219401), FRAC_CONST(0.027246321276391) },
-    { FRAC_CONST(0.017211167363854), FRAC_CONST(0.027302790784828) },
-    { FRAC_CONST(0.017121727190533), FRAC_CONST(0.027358967902310) },
-    { FRAC_CONST(0.017032103657269), FRAC_CONST(0.027414852027226) },
-    { FRAC_CONST(0.016942297723858), FRAC_CONST(0.027470442561102) },
-    { FRAC_CONST(0.016852310352050), FRAC_CONST(0.027525738908608) },
-    { FRAC_CONST(0.016762142505537), FRAC_CONST(0.027580740477564) },
-    { FRAC_CONST(0.016671795149944), FRAC_CONST(0.027635446678948) },
-    { FRAC_CONST(0.016581269252819), FRAC_CONST(0.027689856926900) },
-    { FRAC_CONST(0.016490565783622), FRAC_CONST(0.027743970638730) },
-    { FRAC_CONST(0.016399685713714), FRAC_CONST(0.027797787234924) },
-    { FRAC_CONST(0.016308630016347), FRAC_CONST(0.027851306139149) },
-    { FRAC_CONST(0.016217399666655), FRAC_CONST(0.027904526778260) },
-    { FRAC_CONST(0.016125995641641), FRAC_CONST(0.027957448582309) },
-    { FRAC_CONST(0.016034418920170), FRAC_CONST(0.028010070984544) },
-    { FRAC_CONST(0.015942670482954), FRAC_CONST(0.028062393421421) },
-    { FRAC_CONST(0.015850751312545), FRAC_CONST(0.028114415332610) },
-    { FRAC_CONST(0.015758662393324), FRAC_CONST(0.028166136160998) },
-    { FRAC_CONST(0.015666404711489), FRAC_CONST(0.028217555352697) },
-    { FRAC_CONST(0.015573979255046), FRAC_CONST(0.028268672357047) },
-    { FRAC_CONST(0.015481387013797), FRAC_CONST(0.028319486626627) },
-    { FRAC_CONST(0.015388628979331), FRAC_CONST(0.028369997617257) },
-    { FRAC_CONST(0.015295706145012), FRAC_CONST(0.028420204788004) },
-    { FRAC_CONST(0.015202619505968), FRAC_CONST(0.028470107601191) },
-    { FRAC_CONST(0.015109370059084), FRAC_CONST(0.028519705522399) },
-    { FRAC_CONST(0.015015958802984), FRAC_CONST(0.028568998020472) },
-    { FRAC_CONST(0.014922386738030), FRAC_CONST(0.028617984567529) },
-    { FRAC_CONST(0.014828654866302), FRAC_CONST(0.028666664638963) },
-    { FRAC_CONST(0.014734764191593), FRAC_CONST(0.028715037713449) },
-    { FRAC_CONST(0.014640715719398), FRAC_CONST(0.028763103272951) },
-    { FRAC_CONST(0.014546510456900), FRAC_CONST(0.028810860802724) },
-    { FRAC_CONST(0.014452149412962), FRAC_CONST(0.028858309791325) },
-    { FRAC_CONST(0.014357633598114), FRAC_CONST(0.028905449730613) },
-    { FRAC_CONST(0.014262964024545), FRAC_CONST(0.028952280115756) },
-    { FRAC_CONST(0.014168141706090), FRAC_CONST(0.028998800445240) },
-    { FRAC_CONST(0.014073167658220), FRAC_CONST(0.029045010220868) },
-    { FRAC_CONST(0.013978042898030), FRAC_CONST(0.029090908947771) },
-    { FRAC_CONST(0.013882768444231), FRAC_CONST(0.029136496134411) },
-    { FRAC_CONST(0.013787345317136), FRAC_CONST(0.029181771292585) },
-    { FRAC_CONST(0.013691774538648), FRAC_CONST(0.029226733937433) },
-    { FRAC_CONST(0.013596057132255), FRAC_CONST(0.029271383587441) },
-    { FRAC_CONST(0.013500194123014), FRAC_CONST(0.029315719764447) },
-    { FRAC_CONST(0.013404186537539), FRAC_CONST(0.029359741993647) },
-    { FRAC_CONST(0.013308035403995), FRAC_CONST(0.029403449803598) },
-    { FRAC_CONST(0.013211741752084), FRAC_CONST(0.029446842726223) },
-    { FRAC_CONST(0.013115306613032), FRAC_CONST(0.029489920296820) },
-    { FRAC_CONST(0.013018731019584), FRAC_CONST(0.029532682054063) },
-    { FRAC_CONST(0.012922016005985), FRAC_CONST(0.029575127540008) },
-    { FRAC_CONST(0.012825162607977), FRAC_CONST(0.029617256300097) },
-    { FRAC_CONST(0.012728171862781), FRAC_CONST(0.029659067883165) },
-    { FRAC_CONST(0.012631044809089), FRAC_CONST(0.029700561841444) },
-    { FRAC_CONST(0.012533782487056), FRAC_CONST(0.029741737730567) },
-    { FRAC_CONST(0.012436385938281), FRAC_CONST(0.029782595109573) },
-    { FRAC_CONST(0.012338856205805), FRAC_CONST(0.029823133540913) },
-    { FRAC_CONST(0.012241194334091), FRAC_CONST(0.029863352590452) },
-    { FRAC_CONST(0.012143401369021), FRAC_CONST(0.029903251827477) },
-    { FRAC_CONST(0.012045478357878), FRAC_CONST(0.029942830824699) },
-    { FRAC_CONST(0.011947426349339), FRAC_CONST(0.029982089158259) },
-    { FRAC_CONST(0.011849246393462), FRAC_CONST(0.030021026407731) },
-    { FRAC_CONST(0.011750939541676), FRAC_CONST(0.030059642156129) },
-    { FRAC_CONST(0.011652506846768), FRAC_CONST(0.030097935989909) },
-    { FRAC_CONST(0.011553949362874), FRAC_CONST(0.030135907498976) },
-    { FRAC_CONST(0.011455268145464), FRAC_CONST(0.030173556276684) },
-    { FRAC_CONST(0.011356464251335), FRAC_CONST(0.030210881919845) },
-    { FRAC_CONST(0.011257538738598), FRAC_CONST(0.030247884028732) },
-    { FRAC_CONST(0.011158492666665), FRAC_CONST(0.030284562207083) },
-    { FRAC_CONST(0.011059327096240), FRAC_CONST(0.030320916062102) },
-    { FRAC_CONST(0.010960043089307), FRAC_CONST(0.030356945204470) },
-    { FRAC_CONST(0.010860641709118), FRAC_CONST(0.030392649248343) },
-    { FRAC_CONST(0.010761124020182), FRAC_CONST(0.030428027811361) },
-    { FRAC_CONST(0.010661491088253), FRAC_CONST(0.030463080514646) },
-    { FRAC_CONST(0.010561743980319), FRAC_CONST(0.030497806982812) },
-    { FRAC_CONST(0.010461883764593), FRAC_CONST(0.030532206843968) },
-    { FRAC_CONST(0.010361911510496), FRAC_CONST(0.030566279729717) },
-    { FRAC_CONST(0.010261828288652), FRAC_CONST(0.030600025275167) },
-    { FRAC_CONST(0.010161635170872), FRAC_CONST(0.030633443118931) },
-    { FRAC_CONST(0.010061333230142), FRAC_CONST(0.030666532903129) },
-    { FRAC_CONST(0.009960923540617), FRAC_CONST(0.030699294273397) },
-    { FRAC_CONST(0.009860407177603), FRAC_CONST(0.030731726878888) },
-    { FRAC_CONST(0.009759785217550), FRAC_CONST(0.030763830372273) },
-    { FRAC_CONST(0.009659058738038), FRAC_CONST(0.030795604409750) },
-    { FRAC_CONST(0.009558228817767), FRAC_CONST(0.030827048651045) },
-    { FRAC_CONST(0.009457296536545), FRAC_CONST(0.030858162759415) },
-    { FRAC_CONST(0.009356262975275), FRAC_CONST(0.030888946401653) },
-    { FRAC_CONST(0.009255129215945), FRAC_CONST(0.030919399248091) },
-    { FRAC_CONST(0.009153896341616), FRAC_CONST(0.030949520972603) },
-    { FRAC_CONST(0.009052565436412), FRAC_CONST(0.030979311252611) },
-    { FRAC_CONST(0.008951137585505), FRAC_CONST(0.031008769769084) },
-    { FRAC_CONST(0.008849613875105), FRAC_CONST(0.031037896206544) },
-    { FRAC_CONST(0.008747995392451), FRAC_CONST(0.031066690253072) },
-    { FRAC_CONST(0.008646283225794), FRAC_CONST(0.031095151600306) },
-    { FRAC_CONST(0.008544478464390), FRAC_CONST(0.031123279943448) },
-    { FRAC_CONST(0.008442582198486), FRAC_CONST(0.031151074981266) },
-    { FRAC_CONST(0.008340595519310), FRAC_CONST(0.031178536416098) },
-    { FRAC_CONST(0.008238519519057), FRAC_CONST(0.031205663953853) },
-    { FRAC_CONST(0.008136355290878), FRAC_CONST(0.031232457304017) },
-    { FRAC_CONST(0.008034103928871), FRAC_CONST(0.031258916179656) },
-    { FRAC_CONST(0.007931766528065), FRAC_CONST(0.031285040297416) },
-    { FRAC_CONST(0.007829344184412), FRAC_CONST(0.031310829377528) },
-    { FRAC_CONST(0.007726837994772), FRAC_CONST(0.031336283143813) },
-    { FRAC_CONST(0.007624249056906), FRAC_CONST(0.031361401323680) },
-    { FRAC_CONST(0.007521578469457), FRAC_CONST(0.031386183648135) },
-    { FRAC_CONST(0.007418827331946), FRAC_CONST(0.031410629851778) },
-    { FRAC_CONST(0.007315996744755), FRAC_CONST(0.031434739672811) },
-    { FRAC_CONST(0.007213087809115), FRAC_CONST(0.031458512853036) },
-    { FRAC_CONST(0.007110101627101), FRAC_CONST(0.031481949137863) },
-    { FRAC_CONST(0.007007039301610), FRAC_CONST(0.031505048276306) },
-    { FRAC_CONST(0.006903901936357), FRAC_CONST(0.031527810020993) },
-    { FRAC_CONST(0.006800690635862), FRAC_CONST(0.031550234128164) },
-    { FRAC_CONST(0.006697406505433), FRAC_CONST(0.031572320357675) },
-    { FRAC_CONST(0.006594050651161), FRAC_CONST(0.031594068473000) },
-    { FRAC_CONST(0.006490624179905), FRAC_CONST(0.031615478241233) },
-    { FRAC_CONST(0.006387128199278), FRAC_CONST(0.031636549433095) },
-    { FRAC_CONST(0.006283563817639), FRAC_CONST(0.031657281822929) },
-    { FRAC_CONST(0.006179932144080), FRAC_CONST(0.031677675188707) },
-    { FRAC_CONST(0.006076234288412), FRAC_CONST(0.031697729312034) },
-    { FRAC_CONST(0.005972471361157), FRAC_CONST(0.031717443978146) },
-    { FRAC_CONST(0.005868644473532), FRAC_CONST(0.031736818975914) },
-    { FRAC_CONST(0.005764754737440), FRAC_CONST(0.031755854097848) },
-    { FRAC_CONST(0.005660803265456), FRAC_CONST(0.031774549140098) },
-    { FRAC_CONST(0.005556791170816), FRAC_CONST(0.031792903902453) },
-    { FRAC_CONST(0.005452719567407), FRAC_CONST(0.031810918188350) },
-    { FRAC_CONST(0.005348589569753), FRAC_CONST(0.031828591804869) },
-    { FRAC_CONST(0.005244402293001), FRAC_CONST(0.031845924562742) },
-    { FRAC_CONST(0.005140158852914), FRAC_CONST(0.031862916276347) },
-    { FRAC_CONST(0.005035860365855), FRAC_CONST(0.031879566763717) },
-    { FRAC_CONST(0.004931507948778), FRAC_CONST(0.031895875846539) },
-    { FRAC_CONST(0.004827102719212), FRAC_CONST(0.031911843350155) },
-    { FRAC_CONST(0.004722645795254), FRAC_CONST(0.031927469103567) },
-    { FRAC_CONST(0.004618138295554), FRAC_CONST(0.031942752939435) },
-    { FRAC_CONST(0.004513581339303), FRAC_CONST(0.031957694694082) },
-    { FRAC_CONST(0.004408976046222), FRAC_CONST(0.031972294207493) },
-    { FRAC_CONST(0.004304323536549), FRAC_CONST(0.031986551323320) },
-    { FRAC_CONST(0.004199624931030), FRAC_CONST(0.032000465888879) },
-    { FRAC_CONST(0.004094881350902), FRAC_CONST(0.032014037755158) },
-    { FRAC_CONST(0.003990093917884), FRAC_CONST(0.032027266776813) },
-    { FRAC_CONST(0.003885263754166), FRAC_CONST(0.032040152812170) },
-    { FRAC_CONST(0.003780391982394), FRAC_CONST(0.032052695723232) },
-    { FRAC_CONST(0.003675479725661), FRAC_CONST(0.032064895375674) },
-    { FRAC_CONST(0.003570528107494), FRAC_CONST(0.032076751638847) },
-    { FRAC_CONST(0.003465538251839), FRAC_CONST(0.032088264385780) },
-    { FRAC_CONST(0.003360511283053), FRAC_CONST(0.032099433493181) },
-    { FRAC_CONST(0.003255448325892), FRAC_CONST(0.032110258841438) },
-    { FRAC_CONST(0.003150350505494), FRAC_CONST(0.032120740314619) },
-    { FRAC_CONST(0.003045218947373), FRAC_CONST(0.032130877800478) },
-    { FRAC_CONST(0.002940054777404), FRAC_CONST(0.032140671190449) },
-    { FRAC_CONST(0.002834859121810), FRAC_CONST(0.032150120379653) },
-    { FRAC_CONST(0.002729633107153), FRAC_CONST(0.032159225266897) },
-    { FRAC_CONST(0.002624377860318), FRAC_CONST(0.032167985754674) },
-    { FRAC_CONST(0.002519094508504), FRAC_CONST(0.032176401749168) },
-    { FRAC_CONST(0.002413784179212), FRAC_CONST(0.032184473160250) },
-    { FRAC_CONST(0.002308448000231), FRAC_CONST(0.032192199901481) },
-    { FRAC_CONST(0.002203087099626), FRAC_CONST(0.032199581890114) },
-    { FRAC_CONST(0.002097702605728), FRAC_CONST(0.032206619047093) },
-    { FRAC_CONST(0.001992295647121), FRAC_CONST(0.032213311297057) },
-    { FRAC_CONST(0.001886867352628), FRAC_CONST(0.032219658568338) },
-    { FRAC_CONST(0.001781418851302), FRAC_CONST(0.032225660792960) },
-    { FRAC_CONST(0.001675951272410), FRAC_CONST(0.032231317906644) },
-    { FRAC_CONST(0.001570465745428), FRAC_CONST(0.032236629848809) },
-    { FRAC_CONST(0.001464963400018), FRAC_CONST(0.032241596562566) },
-    { FRAC_CONST(0.001359445366028), FRAC_CONST(0.032246217994727) },
-    { FRAC_CONST(0.001253912773470), FRAC_CONST(0.032250494095799) },
-    { FRAC_CONST(0.001148366752513), FRAC_CONST(0.032254424819990) },
-    { FRAC_CONST(0.001042808433471), FRAC_CONST(0.032258010125204) },
-    { FRAC_CONST(0.000937238946789), FRAC_CONST(0.032261249973045) },
-    { FRAC_CONST(0.000831659423030), FRAC_CONST(0.032264144328817) },
-    { FRAC_CONST(0.000726070992868), FRAC_CONST(0.032266693161525) },
-    { FRAC_CONST(0.000620474787068), FRAC_CONST(0.032268896443871) },
-    { FRAC_CONST(0.000514871936481), FRAC_CONST(0.032270754152261) },
-    { FRAC_CONST(0.000409263572030), FRAC_CONST(0.032272266266801) },
-    { FRAC_CONST(0.000303650824695), FRAC_CONST(0.032273432771295) },
-    { FRAC_CONST(0.000198034825504), FRAC_CONST(0.032274253653254) },
-    { FRAC_CONST(0.000092416705518), FRAC_CONST(0.032274728903884) }
-};
-
-#ifdef LD_DEC
-/* 240 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_960[] =
-{
-    { FRAC_CONST(0.045643531183573), FRAC_CONST(0.000037342034959) },
-    { FRAC_CONST(0.045642309173789), FRAC_CONST(0.000336075315362) },
-    { FRAC_CONST(0.045639131999390), FRAC_CONST(0.000634794199417) },
-    { FRAC_CONST(0.045633999796474), FRAC_CONST(0.000933485891002) },
-    { FRAC_CONST(0.045626912784890), FRAC_CONST(0.001232137595157) },
-    { FRAC_CONST(0.045617871268219), FRAC_CONST(0.001530736518639) },
-    { FRAC_CONST(0.045606875633772), FRAC_CONST(0.001829269870464) },
-    { FRAC_CONST(0.045593926352564), FRAC_CONST(0.002127724862455) },
-    { FRAC_CONST(0.045579023979299), FRAC_CONST(0.002426088709795) },
-    { FRAC_CONST(0.045562169152346), FRAC_CONST(0.002724348631569) },
-    { FRAC_CONST(0.045543362593709), FRAC_CONST(0.003022491851315) },
-    { FRAC_CONST(0.045522605108999), FRAC_CONST(0.003320505597570) },
-    { FRAC_CONST(0.045499897587396), FRAC_CONST(0.003618377104416) },
-    { FRAC_CONST(0.045475241001617), FRAC_CONST(0.003916093612031) },
-    { FRAC_CONST(0.045448636407866), FRAC_CONST(0.004213642367228) },
-    { FRAC_CONST(0.045420084945797), FRAC_CONST(0.004511010624011) },
-    { FRAC_CONST(0.045389587838458), FRAC_CONST(0.004808185644112) },
-    { FRAC_CONST(0.045357146392244), FRAC_CONST(0.005105154697544) },
-    { FRAC_CONST(0.045322761996840), FRAC_CONST(0.005401905063139) },
-    { FRAC_CONST(0.045286436125157), FRAC_CONST(0.005698424029100) },
-    { FRAC_CONST(0.045248170333275), FRAC_CONST(0.005994698893542) },
-    { FRAC_CONST(0.045207966260374), FRAC_CONST(0.006290716965035) },
-    { FRAC_CONST(0.045165825628663), FRAC_CONST(0.006586465563151) },
-    { FRAC_CONST(0.045121750243305), FRAC_CONST(0.006881932019003) },
-    { FRAC_CONST(0.045075741992343), FRAC_CONST(0.007177103675792) },
-    { FRAC_CONST(0.045027802846618), FRAC_CONST(0.007471967889347) },
-    { FRAC_CONST(0.044977934859683), FRAC_CONST(0.007766512028667) },
-    { FRAC_CONST(0.044926140167717), FRAC_CONST(0.008060723476460) },
-    { FRAC_CONST(0.044872420989432), FRAC_CONST(0.008354589629687) },
-    { FRAC_CONST(0.044816779625979), FRAC_CONST(0.008648097900101) },
-    { FRAC_CONST(0.044759218460849), FRAC_CONST(0.008941235714784) },
-    { FRAC_CONST(0.044699739959770), FRAC_CONST(0.009233990516688) },
-    { FRAC_CONST(0.044638346670603), FRAC_CONST(0.009526349765171) },
-    { FRAC_CONST(0.044575041223233), FRAC_CONST(0.009818300936537) },
-    { FRAC_CONST(0.044509826329454), FRAC_CONST(0.010109831524568) },
-    { FRAC_CONST(0.044442704782856), FRAC_CONST(0.010400929041064) },
-    { FRAC_CONST(0.044373679458701), FRAC_CONST(0.010691581016378) },
-    { FRAC_CONST(0.044302753313806), FRAC_CONST(0.010981774999945) },
-    { FRAC_CONST(0.044229929386409), FRAC_CONST(0.011271498560822) },
-    { FRAC_CONST(0.044155210796046), FRAC_CONST(0.011560739288214) },
-    { FRAC_CONST(0.044078600743413), FRAC_CONST(0.011849484792012) },
-    { FRAC_CONST(0.044000102510229), FRAC_CONST(0.012137722703321) },
-    { FRAC_CONST(0.043919719459097), FRAC_CONST(0.012425440674986) },
-    { FRAC_CONST(0.043837455033359), FRAC_CONST(0.012712626382127) },
-    { FRAC_CONST(0.043753312756950), FRAC_CONST(0.012999267522665) },
-    { FRAC_CONST(0.043667296234245), FRAC_CONST(0.013285351817848) },
-    { FRAC_CONST(0.043579409149906), FRAC_CONST(0.013570867012776) },
-    { FRAC_CONST(0.043489655268722), FRAC_CONST(0.013855800876928) },
-    { FRAC_CONST(0.043398038435451), FRAC_CONST(0.014140141204686) },
-    { FRAC_CONST(0.043304562574653), FRAC_CONST(0.014423875815857) },
-    { FRAC_CONST(0.043209231690524), FRAC_CONST(0.014706992556195) },
-    { FRAC_CONST(0.043112049866720), FRAC_CONST(0.014989479297920) },
-    { FRAC_CONST(0.043013021266188), FRAC_CONST(0.015271323940241) },
-    { FRAC_CONST(0.042912150130984), FRAC_CONST(0.015552514409871) },
-    { FRAC_CONST(0.042809440782090), FRAC_CONST(0.015833038661547) },
-    { FRAC_CONST(0.042704897619235), FRAC_CONST(0.016112884678543) },
-    { FRAC_CONST(0.042598525120698), FRAC_CONST(0.016392040473187) },
-    { FRAC_CONST(0.042490327843124), FRAC_CONST(0.016670494087374) },
-    { FRAC_CONST(0.042380310421324), FRAC_CONST(0.016948233593079) },
-    { FRAC_CONST(0.042268477568078), FRAC_CONST(0.017225247092864) },
-    { FRAC_CONST(0.042154834073934), FRAC_CONST(0.017501522720393) },
-    { FRAC_CONST(0.042039384807000), FRAC_CONST(0.017777048640940) },
-    { FRAC_CONST(0.041922134712739), FRAC_CONST(0.018051813051888) },
-    { FRAC_CONST(0.041803088813754), FRAC_CONST(0.018325804183247) },
-    { FRAC_CONST(0.041682252209576), FRAC_CONST(0.018599010298148) },
-    { FRAC_CONST(0.041559630076443), FRAC_CONST(0.018871419693350) },
-    { FRAC_CONST(0.041435227667079), FRAC_CONST(0.019143020699741) },
-    { FRAC_CONST(0.041309050310468), FRAC_CONST(0.019413801682838) },
-    { FRAC_CONST(0.041181103411629), FRAC_CONST(0.019683751043285) },
-    { FRAC_CONST(0.041051392451382), FRAC_CONST(0.019952857217350) },
-    { FRAC_CONST(0.040919922986111), FRAC_CONST(0.020221108677421) },
-    { FRAC_CONST(0.040786700647532), FRAC_CONST(0.020488493932496) },
-    { FRAC_CONST(0.040651731142446), FRAC_CONST(0.020755001528683) },
-    { FRAC_CONST(0.040515020252497), FRAC_CONST(0.021020620049682) },
-    { FRAC_CONST(0.040376573833925), FRAC_CONST(0.021285338117280) },
-    { FRAC_CONST(0.040236397817314), FRAC_CONST(0.021549144391836) },
-    { FRAC_CONST(0.040094498207337), FRAC_CONST(0.021812027572768) },
-    { FRAC_CONST(0.039950881082502), FRAC_CONST(0.022073976399034) },
-    { FRAC_CONST(0.039805552594888), FRAC_CONST(0.022334979649620) },
-    { FRAC_CONST(0.039658518969884), FRAC_CONST(0.022595026144014) },
-    { FRAC_CONST(0.039509786505922), FRAC_CONST(0.022854104742690) },
-    { FRAC_CONST(0.039359361574204), FRAC_CONST(0.023112204347583) },
-    { FRAC_CONST(0.039207250618434), FRAC_CONST(0.023369313902565) },
-    { FRAC_CONST(0.039053460154540), FRAC_CONST(0.023625422393919) },
-    { FRAC_CONST(0.038897996770393), FRAC_CONST(0.023880518850809) },
-    { FRAC_CONST(0.038740867125527), FRAC_CONST(0.024134592345752) },
-    { FRAC_CONST(0.038582077950852), FRAC_CONST(0.024387631995085) },
-    { FRAC_CONST(0.038421636048370), FRAC_CONST(0.024639626959432) },
-    { FRAC_CONST(0.038259548290876), FRAC_CONST(0.024890566444167) },
-    { FRAC_CONST(0.038095821621671), FRAC_CONST(0.025140439699877) },
-    { FRAC_CONST(0.037930463054261), FRAC_CONST(0.025389236022825) },
-    { FRAC_CONST(0.037763479672055), FRAC_CONST(0.025636944755403) },
-    { FRAC_CONST(0.037594878628068), FRAC_CONST(0.025883555286595) },
-    { FRAC_CONST(0.037424667144605), FRAC_CONST(0.026129057052425) },
-    { FRAC_CONST(0.037252852512960), FRAC_CONST(0.026373439536415) },
-    { FRAC_CONST(0.037079442093102), FRAC_CONST(0.026616692270033) },
-    { FRAC_CONST(0.036904443313354), FRAC_CONST(0.026858804833142) },
-    { FRAC_CONST(0.036727863670081), FRAC_CONST(0.027099766854444) },
-    { FRAC_CONST(0.036549710727369), FRAC_CONST(0.027339568011930) },
-    { FRAC_CONST(0.036369992116697), FRAC_CONST(0.027578198033315) },
-    { FRAC_CONST(0.036188715536611), FRAC_CONST(0.027815646696484) },
-    { FRAC_CONST(0.036005888752396), FRAC_CONST(0.028051903829926) },
-    { FRAC_CONST(0.035821519595745), FRAC_CONST(0.028286959313171) },
-    { FRAC_CONST(0.035635615964417), FRAC_CONST(0.028520803077226) },
-    { FRAC_CONST(0.035448185821906), FRAC_CONST(0.028753425105002) },
-    { FRAC_CONST(0.035259237197095), FRAC_CONST(0.028984815431745) },
-    { FRAC_CONST(0.035068778183914), FRAC_CONST(0.029214964145465) },
-    { FRAC_CONST(0.034876816940994), FRAC_CONST(0.029443861387355) },
-    { FRAC_CONST(0.034683361691315), FRAC_CONST(0.029671497352220) },
-    { FRAC_CONST(0.034488420721856), FRAC_CONST(0.029897862288892) },
-    { FRAC_CONST(0.034292002383240), FRAC_CONST(0.030122946500652) },
-    { FRAC_CONST(0.034094115089375), FRAC_CONST(0.030346740345641) },
-    { FRAC_CONST(0.033894767317093), FRAC_CONST(0.030569234237276) },
-    { FRAC_CONST(0.033693967605790), FRAC_CONST(0.030790418644658) },
-    { FRAC_CONST(0.033491724557057), FRAC_CONST(0.031010284092984) },
-    { FRAC_CONST(0.033288046834313), FRAC_CONST(0.031228821163949) },
-    { FRAC_CONST(0.033082943162434), FRAC_CONST(0.031446020496153) },
-    { FRAC_CONST(0.032876422327378), FRAC_CONST(0.031661872785500) },
-    { FRAC_CONST(0.032668493175811), FRAC_CONST(0.031876368785596) },
-    { FRAC_CONST(0.032459164614726), FRAC_CONST(0.032089499308145) },
-    { FRAC_CONST(0.032248445611061), FRAC_CONST(0.032301255223347) },
-    { FRAC_CONST(0.032036345191317), FRAC_CONST(0.032511627460281) },
-    { FRAC_CONST(0.031822872441171), FRAC_CONST(0.032720607007302) },
-    { FRAC_CONST(0.031608036505083), FRAC_CONST(0.032928184912422) },
-    { FRAC_CONST(0.031391846585912), FRAC_CONST(0.033134352283693) },
-    { FRAC_CONST(0.031174311944513), FRAC_CONST(0.033339100289593) },
-    { FRAC_CONST(0.030955441899347), FRAC_CONST(0.033542420159397) },
-    { FRAC_CONST(0.030735245826077), FRAC_CONST(0.033744303183559) },
-    { FRAC_CONST(0.030513733157171), FRAC_CONST(0.033944740714083) },
-    { FRAC_CONST(0.030290913381494), FRAC_CONST(0.034143724164891) },
-    { FRAC_CONST(0.030066796043904), FRAC_CONST(0.034341245012195) },
-    { FRAC_CONST(0.029841390744841), FRAC_CONST(0.034537294794860) },
-    { FRAC_CONST(0.029614707139919), FRAC_CONST(0.034731865114764) },
-    { FRAC_CONST(0.029386754939508), FRAC_CONST(0.034924947637164) },
-    { FRAC_CONST(0.029157543908322), FRAC_CONST(0.035116534091046) },
-    { FRAC_CONST(0.028927083864999), FRAC_CONST(0.035306616269485) },
-    { FRAC_CONST(0.028695384681680), FRAC_CONST(0.035495186029992) },
-    { FRAC_CONST(0.028462456283587), FRAC_CONST(0.035682235294866) },
-    { FRAC_CONST(0.028228308648598), FRAC_CONST(0.035867756051541) },
-    { FRAC_CONST(0.027992951806817), FRAC_CONST(0.036051740352923) },
-    { FRAC_CONST(0.027756395840148), FRAC_CONST(0.036234180317738) },
-    { FRAC_CONST(0.027518650881862), FRAC_CONST(0.036415068130865) },
-    { FRAC_CONST(0.027279727116161), FRAC_CONST(0.036594396043672) },
-    { FRAC_CONST(0.027039634777745), FRAC_CONST(0.036772156374348) },
-    { FRAC_CONST(0.026798384151369), FRAC_CONST(0.036948341508233) },
-    { FRAC_CONST(0.026555985571409), FRAC_CONST(0.037122943898140) },
-    { FRAC_CONST(0.026312449421412), FRAC_CONST(0.037295956064686) },
-    { FRAC_CONST(0.026067786133656), FRAC_CONST(0.037467370596605) },
-    { FRAC_CONST(0.025822006188702), FRAC_CONST(0.037637180151068) },
-    { FRAC_CONST(0.025575120114946), FRAC_CONST(0.037805377454000) },
-    { FRAC_CONST(0.025327138488165), FRAC_CONST(0.037971955300388) },
-    { FRAC_CONST(0.025078071931066), FRAC_CONST(0.038136906554591) },
-    { FRAC_CONST(0.024827931112832), FRAC_CONST(0.038300224150647) },
-    { FRAC_CONST(0.024576726748663), FRAC_CONST(0.038461901092573) },
-    { FRAC_CONST(0.024324469599317), FRAC_CONST(0.038621930454668) },
-    { FRAC_CONST(0.024071170470652), FRAC_CONST(0.038780305381806) },
-    { FRAC_CONST(0.023816840213160), FRAC_CONST(0.038937019089732) },
-    { FRAC_CONST(0.023561489721501), FRAC_CONST(0.039092064865353) },
-    { FRAC_CONST(0.023305129934041), FRAC_CONST(0.039245436067023) },
-    { FRAC_CONST(0.023047771832380), FRAC_CONST(0.039397126124832) },
-    { FRAC_CONST(0.022789426440883), FRAC_CONST(0.039547128540881) },
-    { FRAC_CONST(0.022530104826206), FRAC_CONST(0.039695436889566) },
-    { FRAC_CONST(0.022269818096825), FRAC_CONST(0.039842044817851) },
-    { FRAC_CONST(0.022008577402555), FRAC_CONST(0.039986946045542) },
-    { FRAC_CONST(0.021746393934081), FRAC_CONST(0.040130134365550) },
-    { FRAC_CONST(0.021483278922467), FRAC_CONST(0.040271603644166) },
-    { FRAC_CONST(0.021219243638687), FRAC_CONST(0.040411347821316) },
-    { FRAC_CONST(0.020954299393132), FRAC_CONST(0.040549360910825) },
-    { FRAC_CONST(0.020688457535133), FRAC_CONST(0.040685637000671) },
-    { FRAC_CONST(0.020421729452469), FRAC_CONST(0.040820170253240) },
-    { FRAC_CONST(0.020154126570884), FRAC_CONST(0.040952954905576) },
-    { FRAC_CONST(0.019885660353596), FRAC_CONST(0.041083985269625) },
-    { FRAC_CONST(0.019616342300802), FRAC_CONST(0.041213255732484) },
-    { FRAC_CONST(0.019346183949192), FRAC_CONST(0.041340760756635) },
-    { FRAC_CONST(0.019075196871451), FRAC_CONST(0.041466494880189) },
-    { FRAC_CONST(0.018803392675763), FRAC_CONST(0.041590452717113) },
-    { FRAC_CONST(0.018530783005316), FRAC_CONST(0.041712628957466) },
-    { FRAC_CONST(0.018257379537800), FRAC_CONST(0.041833018367625) },
-    { FRAC_CONST(0.017983193984910), FRAC_CONST(0.041951615790509) },
-    { FRAC_CONST(0.017708238091842), FRAC_CONST(0.042068416145797) },
-    { FRAC_CONST(0.017432523636792), FRAC_CONST(0.042183414430153) },
-    { FRAC_CONST(0.017156062430449), FRAC_CONST(0.042296605717432) },
-    { FRAC_CONST(0.016878866315491), FRAC_CONST(0.042407985158896) },
-    { FRAC_CONST(0.016600947166078), FRAC_CONST(0.042517547983420) },
-    { FRAC_CONST(0.016322316887341), FRAC_CONST(0.042625289497698) },
-    { FRAC_CONST(0.016042987414872), FRAC_CONST(0.042731205086442) },
-    { FRAC_CONST(0.015762970714219), FRAC_CONST(0.042835290212581) },
-    { FRAC_CONST(0.015482278780363), FRAC_CONST(0.042937540417454) },
-    { FRAC_CONST(0.015200923637213), FRAC_CONST(0.043037951321002) },
-    { FRAC_CONST(0.014918917337087), FRAC_CONST(0.043136518621958) },
-    { FRAC_CONST(0.014636271960196), FRAC_CONST(0.043233238098025) },
-    { FRAC_CONST(0.014352999614128), FRAC_CONST(0.043328105606063) },
-    { FRAC_CONST(0.014069112433327), FRAC_CONST(0.043421117082265) },
-    { FRAC_CONST(0.013784622578575), FRAC_CONST(0.043512268542327) },
-    { FRAC_CONST(0.013499542236471), FRAC_CONST(0.043601556081625) },
-    { FRAC_CONST(0.013213883618907), FRAC_CONST(0.043688975875378) },
-    { FRAC_CONST(0.012927658962548), FRAC_CONST(0.043774524178812) },
-    { FRAC_CONST(0.012640880528305), FRAC_CONST(0.043858197327323) },
-    { FRAC_CONST(0.012353560600813), FRAC_CONST(0.043939991736633) },
-    { FRAC_CONST(0.012065711487901), FRAC_CONST(0.044019903902940) },
-    { FRAC_CONST(0.011777345520066), FRAC_CONST(0.044097930403073) },
-    { FRAC_CONST(0.011488475049948), FRAC_CONST(0.044174067894638) },
-    { FRAC_CONST(0.011199112451794), FRAC_CONST(0.044248313116156) },
-    { FRAC_CONST(0.010909270120937), FRAC_CONST(0.044320662887211) },
-    { FRAC_CONST(0.010618960473257), FRAC_CONST(0.044391114108577) },
-    { FRAC_CONST(0.010328195944653), FRAC_CONST(0.044459663762361) },
-    { FRAC_CONST(0.010036988990509), FRAC_CONST(0.044526308912122) },
-    { FRAC_CONST(0.009745352085163), FRAC_CONST(0.044591046703005) },
-    { FRAC_CONST(0.009453297721368), FRAC_CONST(0.044653874361857) },
-    { FRAC_CONST(0.009160838409762), FRAC_CONST(0.044714789197351) },
-    { FRAC_CONST(0.008867986678328), FRAC_CONST(0.044773788600099) },
-    { FRAC_CONST(0.008574755071860), FRAC_CONST(0.044830870042761) },
-    { FRAC_CONST(0.008281156151424), FRAC_CONST(0.044886031080160) },
-    { FRAC_CONST(0.007987202493820), FRAC_CONST(0.044939269349379) },
-    { FRAC_CONST(0.007692906691044), FRAC_CONST(0.044990582569869) },
-    { FRAC_CONST(0.007398281349750), FRAC_CONST(0.045039968543542) },
-    { FRAC_CONST(0.007103339090706), FRAC_CONST(0.045087425154868) },
-    { FRAC_CONST(0.006808092548258), FRAC_CONST(0.045132950370962) },
-    { FRAC_CONST(0.006512554369783), FRAC_CONST(0.045176542241676) },
-    { FRAC_CONST(0.006216737215155), FRAC_CONST(0.045218198899680) },
-    { FRAC_CONST(0.005920653756196), FRAC_CONST(0.045257918560541) },
-    { FRAC_CONST(0.005624316676135), FRAC_CONST(0.045295699522801) },
-    { FRAC_CONST(0.005327738669067), FRAC_CONST(0.045331540168049) },
-    { FRAC_CONST(0.005030932439406), FRAC_CONST(0.045365438960992) },
-    { FRAC_CONST(0.004733910701344), FRAC_CONST(0.045397394449517) },
-    { FRAC_CONST(0.004436686178303), FRAC_CONST(0.045427405264758) },
-    { FRAC_CONST(0.004139271602393), FRAC_CONST(0.045455470121152) },
-    { FRAC_CONST(0.003841679713863), FRAC_CONST(0.045481587816494) },
-    { FRAC_CONST(0.003543923260561), FRAC_CONST(0.045505757231988) },
-    { FRAC_CONST(0.003246014997382), FRAC_CONST(0.045527977332297) },
-    { FRAC_CONST(0.002947967685724), FRAC_CONST(0.045548247165585) },
-    { FRAC_CONST(0.002649794092941), FRAC_CONST(0.045566565863562) },
-    { FRAC_CONST(0.002351506991799), FRAC_CONST(0.045582932641515) },
-    { FRAC_CONST(0.002053119159924), FRAC_CONST(0.045597346798344) },
-    { FRAC_CONST(0.001754643379257), FRAC_CONST(0.045609807716597) },
-    { FRAC_CONST(0.001456092435508), FRAC_CONST(0.045620314862489) },
-    { FRAC_CONST(0.001157479117605), FRAC_CONST(0.045628867785927) },
-    { FRAC_CONST(0.000858816217149), FRAC_CONST(0.045635466120535) },
-    { FRAC_CONST(0.000560116527865), FRAC_CONST(0.045640109583661) },
-    { FRAC_CONST(0.000261392845053), FRAC_CONST(0.045642797976394) }
-};
-#endif // LD_DEC
-
-/* 60 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_240[] =
-{
-    { FRAC_CONST(0.091286604111815), FRAC_CONST(0.000298735779793) },
-    { FRAC_CONST(0.091247502481454), FRAC_CONST(0.002688238127538) },
-    { FRAC_CONST(0.091145864370807), FRAC_CONST(0.005075898091152) },
-    { FRAC_CONST(0.090981759437558), FRAC_CONST(0.007460079287760) },
-    { FRAC_CONST(0.090755300151030), FRAC_CONST(0.009839147718664) },
-    { FRAC_CONST(0.090466641715108), FRAC_CONST(0.012211472889198) },
-    { FRAC_CONST(0.090115981961863), FRAC_CONST(0.014575428926191) },
-    { FRAC_CONST(0.089703561215976), FRAC_CONST(0.016929395692256) },
-    { FRAC_CONST(0.089229662130024), FRAC_CONST(0.019271759896156) },
-    { FRAC_CONST(0.088694609490769), FRAC_CONST(0.021600916198470) },
-    { FRAC_CONST(0.088098769996564), FRAC_CONST(0.023915268311810) },
-    { FRAC_CONST(0.087442552006035), FRAC_CONST(0.026213230094844) },
-    { FRAC_CONST(0.086726405258214), FRAC_CONST(0.028493226639351) },
-    { FRAC_CONST(0.085950820564309), FRAC_CONST(0.030753695349588) },
-    { FRAC_CONST(0.085116329471329), FRAC_CONST(0.032993087013213) },
-    { FRAC_CONST(0.084223503897785), FRAC_CONST(0.035209866863042) },
-    { FRAC_CONST(0.083272955741727), FRAC_CONST(0.037402515628894) },
-    { FRAC_CONST(0.082265336461381), FRAC_CONST(0.039569530578832) },
-    { FRAC_CONST(0.081201336628670), FRAC_CONST(0.041709426549053) },
-    { FRAC_CONST(0.080081685455930), FRAC_CONST(0.043820736961749) },
-    { FRAC_CONST(0.078907150296148), FRAC_CONST(0.045902014830227) },
-    { FRAC_CONST(0.077678536117054), FRAC_CONST(0.047951833750597) },
-    { FRAC_CONST(0.076396684949434), FRAC_CONST(0.049968788879362) },
-    { FRAC_CONST(0.075062475310050), FRAC_CONST(0.051951497896226) },
-    { FRAC_CONST(0.073676821599542), FRAC_CONST(0.053898601951466) },
-    { FRAC_CONST(0.072240673475749), FRAC_CONST(0.055808766597225) },
-    { FRAC_CONST(0.070755015202858), FRAC_CONST(0.057680682702068) },
-    { FRAC_CONST(0.069220864976840), FRAC_CONST(0.059513067348201) },
-    { FRAC_CONST(0.067639274227625), FRAC_CONST(0.061304664710718) },
-    { FRAC_CONST(0.066011326898512), FRAC_CONST(0.063054246918278) },
-    { FRAC_CONST(0.064338138703282), FRAC_CONST(0.064760614894630) },
-    { FRAC_CONST(0.062620856361546), FRAC_CONST(0.066422599180399) },
-    { FRAC_CONST(0.060860656812842), FRAC_CONST(0.068039060734572) },
-    { FRAC_CONST(0.059058746410016), FRAC_CONST(0.069608891715145) },
-    { FRAC_CONST(0.057216360092450), FRAC_CONST(0.071131016238378) },
-    { FRAC_CONST(0.055334760539699), FRAC_CONST(0.072604391116154) },
-    { FRAC_CONST(0.053415237306106), FRAC_CONST(0.074028006570930) },
-    { FRAC_CONST(0.051459105937014), FRAC_CONST(0.075400886927784) },
-    { FRAC_CONST(0.049467707067153), FRAC_CONST(0.076722091283096) },
-    { FRAC_CONST(0.047442405501835), FRAC_CONST(0.077990714149396) },
-    { FRAC_CONST(0.045384589281588), FRAC_CONST(0.079205886075941) },
-    { FRAC_CONST(0.043295668730857), FRAC_CONST(0.080366774244592) },
-    { FRAC_CONST(0.041177075491445), FRAC_CONST(0.081472583040586) },
-    { FRAC_CONST(0.039030261541332), FRAC_CONST(0.082522554597810) },
-    { FRAC_CONST(0.036856698199564), FRAC_CONST(0.083515969318206) },
-    { FRAC_CONST(0.034657875117883), FRAC_CONST(0.084452146364948) },
-    { FRAC_CONST(0.032435299259796), FRAC_CONST(0.085330444129049) },
-    { FRAC_CONST(0.030190493867775), FRAC_CONST(0.086150260669096) },
-    { FRAC_CONST(0.027924997419306), FRAC_CONST(0.086911034123781) },
-    { FRAC_CONST(0.025640362572491), FRAC_CONST(0.087612243096981) },
-    { FRAC_CONST(0.023338155101933), FRAC_CONST(0.088253407015092) },
-    { FRAC_CONST(0.021019952825636), FRAC_CONST(0.088834086456390) },
-    { FRAC_CONST(0.018687344523641), FRAC_CONST(0.089353883452193) },
-    { FRAC_CONST(0.016341928849164), FRAC_CONST(0.089812441759604) },
-    { FRAC_CONST(0.013985313232951), FRAC_CONST(0.090209447105664) },
-    { FRAC_CONST(0.011619112781631), FRAC_CONST(0.090544627402740) },
-    { FRAC_CONST(0.009244949170797), FRAC_CONST(0.090817752935000) },
-    { FRAC_CONST(0.006864449533597), FRAC_CONST(0.091028636515846) },
-    { FRAC_CONST(0.004479245345574), FRAC_CONST(0.091177133616206) },
-    { FRAC_CONST(0.002090971306534), FRAC_CONST(0.091263142463585) }
-};
-#endif // ALLOW_SMALL_FRAMELENGTH
-
-#ifdef SSR_DEC
-/* 128 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_512[] =
-{
-    { FRAC_CONST(0.062499926465731), FRAC_CONST(0.000095873761643) },
-    { FRAC_CONST(0.062494043817678), FRAC_CONST(0.000862836783004) },
-    { FRAC_CONST(0.062478749796497), FRAC_CONST(0.001629669864319) },
-    { FRAC_CONST(0.062454046705412), FRAC_CONST(0.002396257523347) },
-    { FRAC_CONST(0.062419938264617), FRAC_CONST(0.003162484314806) },
-    { FRAC_CONST(0.062376429610718), FRAC_CONST(0.003928234847760) },
-    { FRAC_CONST(0.062323527295958), FRAC_CONST(0.004693393802995) },
-    { FRAC_CONST(0.062261239287231), FRAC_CONST(0.005457845950387) },
-    { FRAC_CONST(0.062189574964882), FRAC_CONST(0.006221476166254) },
-    { FRAC_CONST(0.062108545121295), FRAC_CONST(0.006984169450695) },
-    { FRAC_CONST(0.062018161959266), FRAC_CONST(0.007745810944907) },
-    { FRAC_CONST(0.061918439090167), FRAC_CONST(0.008506285948482) },
-    { FRAC_CONST(0.061809391531894), FRAC_CONST(0.009265479936681) },
-    { FRAC_CONST(0.061691035706609), FRAC_CONST(0.010023278577683) },
-    { FRAC_CONST(0.061563389438265), FRAC_CONST(0.010779567749800) },
-    { FRAC_CONST(0.061426471949919), FRAC_CONST(0.011534233558664) },
-    { FRAC_CONST(0.061280303860842), FRAC_CONST(0.012287162354380) },
-    { FRAC_CONST(0.061124907183410), FRAC_CONST(0.013038240748641) },
-    { FRAC_CONST(0.060960305319791), FRAC_CONST(0.013787355631805) },
-    { FRAC_CONST(0.060786523058421), FRAC_CONST(0.014534394189923) },
-    { FRAC_CONST(0.060603586570268), FRAC_CONST(0.015279243921739) },
-    { FRAC_CONST(0.060411523404896), FRAC_CONST(0.016021792655621) },
-    { FRAC_CONST(0.060210362486310), FRAC_CONST(0.016761928566463) },
-    { FRAC_CONST(0.060000134108604), FRAC_CONST(0.017499540192517) },
-    { FRAC_CONST(0.059780869931400), FRAC_CONST(0.018234516452187) },
-    { FRAC_CONST(0.059552602975075), FRAC_CONST(0.018966746660751) },
-    { FRAC_CONST(0.059315367615794), FRAC_CONST(0.019696120547033) },
-    { FRAC_CONST(0.059069199580329), FRAC_CONST(0.020422528270008) },
-    { FRAC_CONST(0.058814135940681), FRAC_CONST(0.021145860435346) },
-    { FRAC_CONST(0.058550215108495), FRAC_CONST(0.021866008111883) },
-    { FRAC_CONST(0.058277476829279), FRAC_CONST(0.022582862848028) },
-    { FRAC_CONST(0.057995962176414), FRAC_CONST(0.023296316688095) },
-    { FRAC_CONST(0.057705713544970), FRAC_CONST(0.024006262188558) },
-    { FRAC_CONST(0.057406774645326), FRAC_CONST(0.024712592434239) },
-    { FRAC_CONST(0.057099190496578), FRAC_CONST(0.025415201054398) },
-    { FRAC_CONST(0.056783007419769), FRAC_CONST(0.026113982238763) },
-    { FRAC_CONST(0.056458273030907), FRAC_CONST(0.026808830753458) },
-    { FRAC_CONST(0.056125036233796), FRAC_CONST(0.027499641956852) },
-    { FRAC_CONST(0.055783347212673), FRAC_CONST(0.028186311815319) },
-    { FRAC_CONST(0.055433257424646), FRAC_CONST(0.028868736918904) },
-    { FRAC_CONST(0.055074819591951), FRAC_CONST(0.029546814496896) },
-    { FRAC_CONST(0.054708087694007), FRAC_CONST(0.030220442433307) },
-    { FRAC_CONST(0.054333116959288), FRAC_CONST(0.030889519282247) },
-    { FRAC_CONST(0.053949963857008), FRAC_CONST(0.031553944283204) },
-    { FRAC_CONST(0.053558686088614), FRAC_CONST(0.032213617376216) },
-    { FRAC_CONST(0.053159342579100), FRAC_CONST(0.032868439216943) },
-    { FRAC_CONST(0.052751993468129), FRAC_CONST(0.033518311191623) },
-    { FRAC_CONST(0.052336700100979), FRAC_CONST(0.034163135431927) },
-    { FRAC_CONST(0.051913525019303), FRAC_CONST(0.034802814829698) },
-    { FRAC_CONST(0.051482531951712), FRAC_CONST(0.035437253051569) },
-    { FRAC_CONST(0.051043785804177), FRAC_CONST(0.036066354553480) },
-    { FRAC_CONST(0.050597352650253), FRAC_CONST(0.036690024595057) },
-    { FRAC_CONST(0.050143299721132), FRAC_CONST(0.037308169253887) },
-    { FRAC_CONST(0.049681695395515), FRAC_CONST(0.037920695439658) },
-    { FRAC_CONST(0.049212609189314), FRAC_CONST(0.038527510908178) },
-    { FRAC_CONST(0.048736111745188), FRAC_CONST(0.039128524275271) },
-    { FRAC_CONST(0.048252274821899), FRAC_CONST(0.039723645030535) },
-    { FRAC_CONST(0.047761171283507), FRAC_CONST(0.040312783550971) },
-    { FRAC_CONST(0.047262875088400), FRAC_CONST(0.040895851114488) },
-    { FRAC_CONST(0.046757461278150), FRAC_CONST(0.041472759913252) },
-    { FRAC_CONST(0.046245005966220), FRAC_CONST(0.042043423066923) },
-    { FRAC_CONST(0.045725586326493), FRAC_CONST(0.042607754635728) },
-    { FRAC_CONST(0.045199280581658), FRAC_CONST(0.043165669633408) },
-    { FRAC_CONST(0.044666167991423), FRAC_CONST(0.043717084040018) },
-    { FRAC_CONST(0.044126328840584), FRAC_CONST(0.044261914814575) },
-    { FRAC_CONST(0.043579844426930), FRAC_CONST(0.044800079907569) },
-    { FRAC_CONST(0.043026797049006), FRAC_CONST(0.045331498273316) },
-    { FRAC_CONST(0.042467269993710), FRAC_CONST(0.045856089882166) },
-    { FRAC_CONST(0.041901347523761), FRAC_CONST(0.046373775732552) },
-    { FRAC_CONST(0.041329114865000), FRAC_CONST(0.046884477862888) },
-    { FRAC_CONST(0.040750658193560), FRAC_CONST(0.047388119363313) },
-    { FRAC_CONST(0.040166064622889), FRAC_CONST(0.047884624387270) },
-    { FRAC_CONST(0.039575422190629), FRAC_CONST(0.048373918162926) },
-    { FRAC_CONST(0.038978819845356), FRAC_CONST(0.048855927004441) },
-    { FRAC_CONST(0.038376347433190), FRAC_CONST(0.049330578323055) },
-    { FRAC_CONST(0.037768095684260), FRAC_CONST(0.049797800638026) },
-    { FRAC_CONST(0.037154156199042), FRAC_CONST(0.050257523587392) },
-    { FRAC_CONST(0.036534621434563), FRAC_CONST(0.050709677938566) },
-    { FRAC_CONST(0.035909584690482), FRAC_CONST(0.051154195598769) },
-    { FRAC_CONST(0.035279140095032), FRAC_CONST(0.051591009625274) },
-    { FRAC_CONST(0.034643382590851), FRAC_CONST(0.052020054235496) },
-    { FRAC_CONST(0.034002407920680), FRAC_CONST(0.052441264816895) },
-    { FRAC_CONST(0.033356312612947), FRAC_CONST(0.052854577936706) },
-    { FRAC_CONST(0.032705193967229), FRAC_CONST(0.053259931351495) },
-    { FRAC_CONST(0.032049150039598), FRAC_CONST(0.053657264016528) },
-    { FRAC_CONST(0.031388279627857), FRAC_CONST(0.054046516094966) },
-    { FRAC_CONST(0.030722682256659), FRAC_CONST(0.054427628966880) },
-    { FRAC_CONST(0.030052458162521), FRAC_CONST(0.054800545238072) },
-    { FRAC_CONST(0.029377708278725), FRAC_CONST(0.055165208748723) },
-    { FRAC_CONST(0.028698534220122), FRAC_CONST(0.055521564581850) },
-    { FRAC_CONST(0.028015038267826), FRAC_CONST(0.055869559071575) },
-    { FRAC_CONST(0.027327323353815), FRAC_CONST(0.056209139811209) },
-    { FRAC_CONST(0.026635493045425), FRAC_CONST(0.056540255661140) },
-    { FRAC_CONST(0.025939651529755), FRAC_CONST(0.056862856756541) },
-    { FRAC_CONST(0.025239903597978), FRAC_CONST(0.057176894514872) },
-    { FRAC_CONST(0.024536354629559), FRAC_CONST(0.057482321643202) },
-    { FRAC_CONST(0.023829110576385), FRAC_CONST(0.057779092145329) },
-    { FRAC_CONST(0.023118277946808), FRAC_CONST(0.058067161328707) },
-    { FRAC_CONST(0.022403963789609), FRAC_CONST(0.058346485811177) },
-    { FRAC_CONST(0.021686275677870), FRAC_CONST(0.058617023527499) },
-    { FRAC_CONST(0.020965321692783), FRAC_CONST(0.058878733735689) },
-    { FRAC_CONST(0.020241210407366), FRAC_CONST(0.059131577023150) },
-    { FRAC_CONST(0.019514050870114), FRAC_CONST(0.059375515312615) },
-    { FRAC_CONST(0.018783952588580), FRAC_CONST(0.059610511867874) },
-    { FRAC_CONST(0.018051025512878), FRAC_CONST(0.059836531299311) },
-    { FRAC_CONST(0.017315380019131), FRAC_CONST(0.060053539569230) },
-    { FRAC_CONST(0.016577126892844), FRAC_CONST(0.060261503996984) },
-    { FRAC_CONST(0.015836377312223), FRAC_CONST(0.060460393263896) },
-    { FRAC_CONST(0.015093242831429), FRAC_CONST(0.060650177417972) },
-    { FRAC_CONST(0.014347835363782), FRAC_CONST(0.060830827878419) },
-    { FRAC_CONST(0.013600267164905), FRAC_CONST(0.061002317439940) },
-    { FRAC_CONST(0.012850650815819), FRAC_CONST(0.061164620276839) },
-    { FRAC_CONST(0.012099099205988), FRAC_CONST(0.061317711946905) },
-    { FRAC_CONST(0.011345725516320), FRAC_CONST(0.061461569395097) },
-    { FRAC_CONST(0.010590643202123), FRAC_CONST(0.061596170957011) },
-    { FRAC_CONST(0.009833965976015), FRAC_CONST(0.061721496362147) },
-    { FRAC_CONST(0.009075807790803), FRAC_CONST(0.061837526736961) },
-    { FRAC_CONST(0.008316282822321), FRAC_CONST(0.061944244607705) },
-    { FRAC_CONST(0.007555505452236), FRAC_CONST(0.062041633903059) },
-    { FRAC_CONST(0.006793590250821), FRAC_CONST(0.062129679956555) },
-    { FRAC_CONST(0.006030651959703), FRAC_CONST(0.062208369508780) },
-    { FRAC_CONST(0.005266805474583), FRAC_CONST(0.062277690709378) },
-    { FRAC_CONST(0.004502165827931), FRAC_CONST(0.062337633118830) },
-    { FRAC_CONST(0.003736848171665), FRAC_CONST(0.062388187710030) },
-    { FRAC_CONST(0.002970967759810), FRAC_CONST(0.062429346869643) },
-    { FRAC_CONST(0.002204639931138), FRAC_CONST(0.062461104399250) },
-    { FRAC_CONST(0.001437980091802), FRAC_CONST(0.062483455516285) },
-    { FRAC_CONST(0.000671103697954), FRAC_CONST(0.062496396854751) }
-};
-
-/* 16 (N/4) complex twiddle factors */
-ALIGN static const complex_t mdct_tab_64[] =
-{
-    { FRAC_CONST(0.176763384336599), FRAC_CONST(0.002169321984356) },
-    { FRAC_CONST(0.175699589589310), FRAC_CONST(0.019484717553714) },
-    { FRAC_CONST(0.172943711747111), FRAC_CONST(0.036612464641599) },
-    { FRAC_CONST(0.168522291420137), FRAC_CONST(0.053387613680577) },
-    { FRAC_CONST(0.162477909303132), FRAC_CONST(0.069648610815172) },
-    { FRAC_CONST(0.154868776100077), FRAC_CONST(0.085238853753814) },
-    { FRAC_CONST(0.145768171923295), FRAC_CONST(0.100008199934509) },
-    { FRAC_CONST(0.135263740565902), FRAC_CONST(0.113814412479792) },
-    { FRAC_CONST(0.123456645444178), FRAC_CONST(0.126524530015608) },
-    { FRAC_CONST(0.110460595338559), FRAC_CONST(0.138016147162030) },
-    { FRAC_CONST(0.096400749315926), FRAC_CONST(0.148178593363981) },
-    { FRAC_CONST(0.081412511379371), FRAC_CONST(0.156913998709178) },
-    { FRAC_CONST(0.065640226453626), FRAC_CONST(0.164138236468888) },
-    { FRAC_CONST(0.049235790264535), FRAC_CONST(0.169781733284316) },
-    { FRAC_CONST(0.032357186500177), FRAC_CONST(0.173790139196080) },
-    { FRAC_CONST(0.015166965341583), FRAC_CONST(0.176124851064031) }
-};
-#endif // SSR_DEC
-
-#endif // FIXED_POINT
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/mp4.c b/lib/libfaad2/libfaad/mp4.c
deleted file mode 100644 (file)
index ef3f8a9..0000000
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mp4.c,v 1.38 2007/11/01 12:33:32 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-
-#include "bits.h"
-#include "mp4.h"
-#include "syntax.h"
-
-/* defines if an object type can be decoded by this library or not */
-static uint8_t ObjectTypesTable[32] = {
-    0, /*  0 NULL */
-#ifdef MAIN_DEC
-    1, /*  1 AAC Main */
-#else
-    0, /*  1 AAC Main */
-#endif
-    1, /*  2 AAC LC */
-#ifdef SSR_DEC
-    1, /*  3 AAC SSR */
-#else
-    0, /*  3 AAC SSR */
-#endif
-#ifdef LTP_DEC
-    1, /*  4 AAC LTP */
-#else
-    0, /*  4 AAC LTP */
-#endif
-#ifdef SBR_DEC
-    1, /*  5 SBR */
-#else
-    0, /*  5 SBR */
-#endif
-    0, /*  6 AAC Scalable */
-    0, /*  7 TwinVQ */
-    0, /*  8 CELP */
-    0, /*  9 HVXC */
-    0, /* 10 Reserved */
-    0, /* 11 Reserved */
-    0, /* 12 TTSI */
-    0, /* 13 Main synthetic */
-    0, /* 14 Wavetable synthesis */
-    0, /* 15 General MIDI */
-    0, /* 16 Algorithmic Synthesis and Audio FX */
-
-    /* MPEG-4 Version 2 */
-#ifdef ERROR_RESILIENCE
-    1, /* 17 ER AAC LC */
-    0, /* 18 (Reserved) */
-#ifdef LTP_DEC
-    1, /* 19 ER AAC LTP */
-#else
-    0, /* 19 ER AAC LTP */
-#endif
-    0, /* 20 ER AAC scalable */
-    0, /* 21 ER TwinVQ */
-    0, /* 22 ER BSAC */
-#ifdef LD_DEC
-    1, /* 23 ER AAC LD */
-#else
-    0, /* 23 ER AAC LD */
-#endif
-    0, /* 24 ER CELP */
-    0, /* 25 ER HVXC */
-    0, /* 26 ER HILN */
-    0, /* 27 ER Parametric */
-#else /* No ER defined */
-    0, /* 17 ER AAC LC */
-    0, /* 18 (Reserved) */
-    0, /* 19 ER AAC LTP */
-    0, /* 20 ER AAC scalable */
-    0, /* 21 ER TwinVQ */
-    0, /* 22 ER BSAC */
-    0, /* 23 ER AAC LD */
-    0, /* 24 ER CELP */
-    0, /* 25 ER HVXC */
-    0, /* 26 ER HILN */
-    0, /* 27 ER Parametric */
-#endif
-    0, /* 28 (Reserved) */
-    0, /* 29 (Reserved) */
-    0, /* 30 (Reserved) */
-    0  /* 31 (Reserved) */
-};
-
-/* Table 1.6.1 */
-int8_t NEAACDECAPI NeAACDecAudioSpecificConfig(uint8_t *pBuffer,
-                                               uint32_t buffer_size,
-                                               mp4AudioSpecificConfig *mp4ASC)
-{
-    return AudioSpecificConfig2(pBuffer, buffer_size, mp4ASC, NULL);
-}
-
-int8_t AudioSpecificConfig2(uint8_t *pBuffer,
-                            uint32_t buffer_size,
-                            mp4AudioSpecificConfig *mp4ASC,
-                            program_config *pce)
-{
-    bitfile ld;
-    int8_t result = 0;
-#ifdef SBR_DEC
-    int8_t bits_to_decode = 0;
-#endif
-
-    if (pBuffer == NULL)
-        return -7;
-    if (mp4ASC == NULL)
-        return -8;
-
-    memset(mp4ASC, 0, sizeof(mp4AudioSpecificConfig));
-
-    faad_initbits(&ld, pBuffer, buffer_size);
-    faad_byte_align(&ld);
-
-    mp4ASC->objectTypeIndex = (uint8_t)faad_getbits(&ld, 5
-        DEBUGVAR(1,1,"parse_audio_decoder_specific_info(): ObjectTypeIndex"));
-
-    mp4ASC->samplingFrequencyIndex = (uint8_t)faad_getbits(&ld, 4
-        DEBUGVAR(1,2,"parse_audio_decoder_specific_info(): SamplingFrequencyIndex"));
-
-    mp4ASC->channelsConfiguration = (uint8_t)faad_getbits(&ld, 4
-        DEBUGVAR(1,3,"parse_audio_decoder_specific_info(): ChannelsConfiguration"));
-
-    mp4ASC->samplingFrequency = get_sample_rate(mp4ASC->samplingFrequencyIndex);
-
-    if (ObjectTypesTable[mp4ASC->objectTypeIndex] != 1)
-    {
-        faad_endbits(&ld);
-        return -1;
-    }
-
-    if (mp4ASC->samplingFrequency == 0)
-    {
-        faad_endbits(&ld);
-        return -2;
-    }
-
-    if (mp4ASC->channelsConfiguration > 7)
-    {
-        faad_endbits(&ld);
-        return -3;
-    }
-
-#if (defined(PS_DEC) || defined(DRM_PS))
-    /* check if we have a mono file */
-    if (mp4ASC->channelsConfiguration == 1)
-    {
-        /* upMatrix to 2 channels for implicit signalling of PS */
-        mp4ASC->channelsConfiguration = 2;
-    }
-#endif
-
-#ifdef SBR_DEC
-    mp4ASC->sbr_present_flag = -1;
-    if (mp4ASC->objectTypeIndex == 5)
-    {
-        uint8_t tmp;
-
-        mp4ASC->sbr_present_flag = 1;
-        tmp = (uint8_t)faad_getbits(&ld, 4
-            DEBUGVAR(1,5,"parse_audio_decoder_specific_info(): extensionSamplingFrequencyIndex"));
-        /* check for downsampled SBR */
-        if (tmp == mp4ASC->samplingFrequencyIndex)
-            mp4ASC->downSampledSBR = 1;
-        mp4ASC->samplingFrequencyIndex = tmp;
-        if (mp4ASC->samplingFrequencyIndex == 15)
-        {
-            mp4ASC->samplingFrequency = (uint32_t)faad_getbits(&ld, 24
-                DEBUGVAR(1,6,"parse_audio_decoder_specific_info(): extensionSamplingFrequencyIndex"));
-        } else {
-            mp4ASC->samplingFrequency = get_sample_rate(mp4ASC->samplingFrequencyIndex);
-        }
-        mp4ASC->objectTypeIndex = (uint8_t)faad_getbits(&ld, 5
-            DEBUGVAR(1,7,"parse_audio_decoder_specific_info(): ObjectTypeIndex"));
-    }
-#endif
-
-    /* get GASpecificConfig */
-    if (mp4ASC->objectTypeIndex == 1 || mp4ASC->objectTypeIndex == 2 ||
-        mp4ASC->objectTypeIndex == 3 || mp4ASC->objectTypeIndex == 4 ||
-        mp4ASC->objectTypeIndex == 6 || mp4ASC->objectTypeIndex == 7)
-    {
-        result = GASpecificConfig(&ld, mp4ASC, pce);
-
-#ifdef ERROR_RESILIENCE
-    } else if (mp4ASC->objectTypeIndex >= ER_OBJECT_START) { /* ER */
-        result = GASpecificConfig(&ld, mp4ASC, pce);
-        mp4ASC->epConfig = (uint8_t)faad_getbits(&ld, 2
-            DEBUGVAR(1,143,"parse_audio_decoder_specific_info(): epConfig"));
-
-        if (mp4ASC->epConfig != 0)
-            result = -5;
-#endif
-
-    } else {
-        result = -4;
-    }
-
-#ifdef SSR_DEC
-    /* shorter frames not allowed for SSR */
-    if ((mp4ASC->objectTypeIndex == 4) && mp4ASC->frameLengthFlag)
-        return -6;
-#endif
-
-
-#ifdef SBR_DEC
-    bits_to_decode = (int8_t)(buffer_size*8 - faad_get_processed_bits(&ld));
-
-    if ((mp4ASC->objectTypeIndex != 5) && (bits_to_decode >= 16))
-    {
-        int16_t syncExtensionType = (int16_t)faad_getbits(&ld, 11
-            DEBUGVAR(1,9,"parse_audio_decoder_specific_info(): syncExtensionType"));
-
-        if (syncExtensionType == 0x2b7)
-        {
-            uint8_t tmp_OTi = (uint8_t)faad_getbits(&ld, 5
-                DEBUGVAR(1,10,"parse_audio_decoder_specific_info(): extensionAudioObjectType"));
-
-            if (tmp_OTi == 5)
-            {
-                mp4ASC->sbr_present_flag = (uint8_t)faad_get1bit(&ld
-                    DEBUGVAR(1,11,"parse_audio_decoder_specific_info(): sbr_present_flag"));
-
-                if (mp4ASC->sbr_present_flag)
-                {
-                    uint8_t tmp;
-
-                                       /* Don't set OT to SBR until checked that it is actually there */
-                                       mp4ASC->objectTypeIndex = tmp_OTi;
-
-                    tmp = (uint8_t)faad_getbits(&ld, 4
-                        DEBUGVAR(1,12,"parse_audio_decoder_specific_info(): extensionSamplingFrequencyIndex"));
-
-                    /* check for downsampled SBR */
-                    if (tmp == mp4ASC->samplingFrequencyIndex)
-                        mp4ASC->downSampledSBR = 1;
-                    mp4ASC->samplingFrequencyIndex = tmp;
-
-                    if (mp4ASC->samplingFrequencyIndex == 15)
-                    {
-                        mp4ASC->samplingFrequency = (uint32_t)faad_getbits(&ld, 24
-                            DEBUGVAR(1,13,"parse_audio_decoder_specific_info(): extensionSamplingFrequencyIndex"));
-                    } else {
-                        mp4ASC->samplingFrequency = get_sample_rate(mp4ASC->samplingFrequencyIndex);
-                    }
-                }
-            }
-        }
-    }
-
-    /* no SBR signalled, this could mean either implicit signalling or no SBR in this file */
-    /* MPEG specification states: assume SBR on files with samplerate <= 24000 Hz */
-    if (mp4ASC->sbr_present_flag == -1)
-    {
-        if (mp4ASC->samplingFrequency <= 24000)
-        {
-            mp4ASC->samplingFrequency *= 2;
-            mp4ASC->forceUpSampling = 1;
-        } else /* > 24000*/ {
-            mp4ASC->downSampledSBR = 1;
-        }
-    }
-#endif
-
-    faad_endbits(&ld);
-
-    return result;
-}
diff --git a/lib/libfaad2/libfaad/mp4.h b/lib/libfaad2/libfaad/mp4.h
deleted file mode 100644 (file)
index 532ba35..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: mp4.h,v 1.25 2007/11/01 12:33:32 menno Exp $
-**/
-
-#ifndef __MP4_H__
-#define __MP4_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "decoder.h"
-
-int8_t NEAACDECAPI NeAACDecAudioSpecificConfig(uint8_t *pBuffer,
-                                               uint32_t buffer_size,
-                                               mp4AudioSpecificConfig *mp4ASC);
-
-int8_t AudioSpecificConfig2(uint8_t *pBuffer,
-                            uint32_t buffer_size,
-                            mp4AudioSpecificConfig *mp4ASC,
-                            program_config *pce);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/ms.c b/lib/libfaad2/libfaad/ms.c
deleted file mode 100644 (file)
index 97c8fb1..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ms.c,v 1.21 2007/11/01 12:33:32 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include "syntax.h"
-#include "ms.h"
-#include "is.h"
-#include "pns.h"
-
-void ms_decode(ic_stream *ics, ic_stream *icsr, real_t *l_spec, real_t *r_spec,
-               uint16_t frame_len)
-{
-    uint8_t g, b, sfb;
-    uint8_t group = 0;
-    uint16_t nshort = frame_len/8;
-
-    uint16_t i, k;
-    real_t tmp;
-
-    if (ics->ms_mask_present >= 1)
-    {
-        for (g = 0; g < ics->num_window_groups; g++) 
-        {
-            for (b = 0; b < ics->window_group_length[g]; b++)
-            {
-                for (sfb = 0; sfb < ics->max_sfb; sfb++)
-                {
-                    /* If intensity stereo coding or noise substitution is on
-                       for a particular scalefactor band, no M/S stereo decoding
-                       is carried out.
-                     */
-                    if ((ics->ms_used[g][sfb] || ics->ms_mask_present == 2) &&
-                        !is_intensity(icsr, g, sfb) && !is_noise(ics, g, sfb))
-                    {
-                        for (i = ics->swb_offset[sfb]; i < min(ics->swb_offset[sfb+1], ics->swb_offset_max); i++)
-                        {
-                            k = (group*nshort) + i;
-                            tmp = l_spec[k] - r_spec[k];
-                            l_spec[k] = l_spec[k] + r_spec[k];
-                            r_spec[k] = tmp;
-                        }
-                    }
-                }
-                group++;
-            }
-        }
-    }
-}
diff --git a/lib/libfaad2/libfaad/ms.h b/lib/libfaad2/libfaad/ms.h
deleted file mode 100644 (file)
index 30cfada..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ms.h,v 1.19 2007/11/01 12:33:32 menno Exp $
-**/
-
-#ifndef __MS_H__
-#define __MS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void ms_decode(ic_stream *ics, ic_stream *icsr, real_t *l_spec, real_t *r_spec,
-               uint16_t frame_len);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/output.c b/lib/libfaad2/libfaad/output.c
deleted file mode 100644 (file)
index a96ebd9..0000000
+++ /dev/null
@@ -1,560 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: output.c,v 1.46 2007/11/01 12:33:32 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include "output.h"
-#include "decoder.h"
-
-#ifndef FIXED_POINT
-
-
-#define FLOAT_SCALE (1.0f/(1<<15))
-
-#define DM_MUL REAL_CONST(0.3203772410170407) // 1/(1+sqrt(2) + 1/sqrt(2))
-#define RSQRT2 REAL_CONST(0.7071067811865475244) // 1/sqrt(2)
-
-
-static INLINE real_t get_sample(real_t **input, uint8_t channel, uint16_t sample,
-                                uint8_t down_matrix, uint8_t *internal_channel)
-{
-    if (!down_matrix)
-        return input[internal_channel[channel]][sample];
-
-    if (channel == 0)
-    {
-        return DM_MUL * (input[internal_channel[1]][sample] +
-            input[internal_channel[0]][sample] * RSQRT2 +
-            input[internal_channel[3]][sample] * RSQRT2);
-    } else {
-        return DM_MUL * (input[internal_channel[2]][sample] +
-            input[internal_channel[0]][sample] * RSQRT2 +
-            input[internal_channel[4]][sample] * RSQRT2);
-    }
-}
-
-#ifndef HAS_LRINTF
-#define CLIP(sample, max, min) \
-if (sample >= 0.0f)            \
-{                              \
-    sample += 0.5f;            \
-    if (sample >= max)         \
-        sample = max;          \
-} else {                       \
-    sample += -0.5f;           \
-    if (sample <= min)         \
-        sample = min;          \
-}
-#else
-#define CLIP(sample, max, min) \
-if (sample >= 0.0f)            \
-{                              \
-    if (sample >= max)         \
-        sample = max;          \
-} else {                       \
-    if (sample <= min)         \
-        sample = min;          \
-}
-#endif
-
-#define CONV(a,b) ((a<<1)|(b&0x1))
-
-static void to_PCM_16bit(NeAACDecHandle hDecoder, real_t **input,
-                         uint8_t channels, uint16_t frame_len,
-                         int16_t **sample_buffer)
-{
-    uint8_t ch, ch1;
-    uint16_t i;
-
-    switch (CONV(channels,hDecoder->downMatrix))
-    {
-    case CONV(1,0):
-    case CONV(1,1):
-        for(i = 0; i < frame_len; i++)
-        {
-            real_t inp = input[hDecoder->internal_channel[0]][i];
-
-            CLIP(inp, 32767.0f, -32768.0f);
-
-            (*sample_buffer)[i] = (int16_t)lrintf(inp);
-        }
-        break;
-    case CONV(2,0):
-        if (hDecoder->upMatrix)
-        {
-            ch  = hDecoder->internal_channel[0];
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp0 = input[ch][i];
-
-                CLIP(inp0, 32767.0f, -32768.0f);
-
-                (*sample_buffer)[(i*2)+0] = (int16_t)lrintf(inp0);
-                (*sample_buffer)[(i*2)+1] = (int16_t)lrintf(inp0);
-            }
-        } else {
-            ch  = hDecoder->internal_channel[0];
-            ch1 = hDecoder->internal_channel[1];
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp0 = input[ch ][i];
-                real_t inp1 = input[ch1][i];
-
-                CLIP(inp0, 32767.0f, -32768.0f);
-                CLIP(inp1, 32767.0f, -32768.0f);
-
-                (*sample_buffer)[(i*2)+0] = (int16_t)lrintf(inp0);
-                (*sample_buffer)[(i*2)+1] = (int16_t)lrintf(inp1);
-            }
-        }
-        break;
-    default:
-        for (ch = 0; ch < channels; ch++)
-        {
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp = get_sample(input, ch, i, hDecoder->downMatrix, hDecoder->internal_channel);
-
-                CLIP(inp, 32767.0f, -32768.0f);
-
-                (*sample_buffer)[(i*channels)+ch] = (int16_t)lrintf(inp);
-            }
-        }
-        break;
-    }
-}
-
-static void to_PCM_24bit(NeAACDecHandle hDecoder, real_t **input,
-                         uint8_t channels, uint16_t frame_len,
-                         int32_t **sample_buffer)
-{
-    uint8_t ch, ch1;
-    uint16_t i;
-
-    switch (CONV(channels,hDecoder->downMatrix))
-    {
-    case CONV(1,0):
-    case CONV(1,1):
-        for(i = 0; i < frame_len; i++)
-        {
-            real_t inp = input[hDecoder->internal_channel[0]][i];
-
-            inp *= 256.0f;
-            CLIP(inp, 8388607.0f, -8388608.0f);
-
-            (*sample_buffer)[i] = (int32_t)lrintf(inp);
-        }
-        break;
-    case CONV(2,0):
-        if (hDecoder->upMatrix)
-        {
-            ch = hDecoder->internal_channel[0];
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp0 = input[ch][i];
-
-                inp0 *= 256.0f;
-                CLIP(inp0, 8388607.0f, -8388608.0f);
-
-                (*sample_buffer)[(i*2)+0] = (int32_t)lrintf(inp0);
-                (*sample_buffer)[(i*2)+1] = (int32_t)lrintf(inp0);
-            }
-        } else {
-            ch  = hDecoder->internal_channel[0];
-            ch1 = hDecoder->internal_channel[1];
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp0 = input[ch ][i];
-                real_t inp1 = input[ch1][i];
-
-                inp0 *= 256.0f;
-                inp1 *= 256.0f;
-                CLIP(inp0, 8388607.0f, -8388608.0f);
-                CLIP(inp1, 8388607.0f, -8388608.0f);
-
-                (*sample_buffer)[(i*2)+0] = (int32_t)lrintf(inp0);
-                (*sample_buffer)[(i*2)+1] = (int32_t)lrintf(inp1);
-            }
-        }
-        break;
-    default:
-        for (ch = 0; ch < channels; ch++)
-        {
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp = get_sample(input, ch, i, hDecoder->downMatrix, hDecoder->internal_channel);
-
-                inp *= 256.0f;
-                CLIP(inp, 8388607.0f, -8388608.0f);
-
-                (*sample_buffer)[(i*channels)+ch] = (int32_t)lrintf(inp);
-            }
-        }
-        break;
-    }
-}
-
-static void to_PCM_32bit(NeAACDecHandle hDecoder, real_t **input,
-                         uint8_t channels, uint16_t frame_len,
-                         int32_t **sample_buffer)
-{
-    uint8_t ch, ch1;
-    uint16_t i;
-
-    switch (CONV(channels,hDecoder->downMatrix))
-    {
-    case CONV(1,0):
-    case CONV(1,1):
-        for(i = 0; i < frame_len; i++)
-        {
-            real_t inp = input[hDecoder->internal_channel[0]][i];
-
-            inp *= 65536.0f;
-            CLIP(inp, 2147483647.0f, -2147483648.0f);
-
-            (*sample_buffer)[i] = (int32_t)lrintf(inp);
-        }
-        break;
-    case CONV(2,0):
-        if (hDecoder->upMatrix)
-        {
-            ch = hDecoder->internal_channel[0];
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp0 = input[ch][i];
-
-                inp0 *= 65536.0f;
-                CLIP(inp0, 2147483647.0f, -2147483648.0f);
-
-                (*sample_buffer)[(i*2)+0] = (int32_t)lrintf(inp0);
-                (*sample_buffer)[(i*2)+1] = (int32_t)lrintf(inp0);
-            }
-        } else {
-            ch  = hDecoder->internal_channel[0];
-            ch1 = hDecoder->internal_channel[1];
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp0 = input[ch ][i];
-                real_t inp1 = input[ch1][i];
-
-                inp0 *= 65536.0f;
-                inp1 *= 65536.0f;
-                CLIP(inp0, 2147483647.0f, -2147483648.0f);
-                CLIP(inp1, 2147483647.0f, -2147483648.0f);
-
-                (*sample_buffer)[(i*2)+0] = (int32_t)lrintf(inp0);
-                (*sample_buffer)[(i*2)+1] = (int32_t)lrintf(inp1);
-            }
-        }
-        break;
-    default:
-        for (ch = 0; ch < channels; ch++)
-        {
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp = get_sample(input, ch, i, hDecoder->downMatrix, hDecoder->internal_channel);
-
-                inp *= 65536.0f;
-                CLIP(inp, 2147483647.0f, -2147483648.0f);
-
-                (*sample_buffer)[(i*channels)+ch] = (int32_t)lrintf(inp);
-            }
-        }
-        break;
-    }
-}
-
-static void to_PCM_float(NeAACDecHandle hDecoder, real_t **input,
-                         uint8_t channels, uint16_t frame_len,
-                         float32_t **sample_buffer)
-{
-    uint8_t ch, ch1;
-    uint16_t i;
-
-    switch (CONV(channels,hDecoder->downMatrix))
-    {
-    case CONV(1,0):
-    case CONV(1,1):
-        for(i = 0; i < frame_len; i++)
-        {
-            real_t inp = input[hDecoder->internal_channel[0]][i];
-            (*sample_buffer)[i] = inp*FLOAT_SCALE;
-        }
-        break;
-    case CONV(2,0):
-        if (hDecoder->upMatrix)
-        {
-            ch = hDecoder->internal_channel[0];
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp0 = input[ch][i];
-                (*sample_buffer)[(i*2)+0] = inp0*FLOAT_SCALE;
-                (*sample_buffer)[(i*2)+1] = inp0*FLOAT_SCALE;
-            }
-        } else {
-            ch  = hDecoder->internal_channel[0];
-            ch1 = hDecoder->internal_channel[1];
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp0 = input[ch ][i];
-                real_t inp1 = input[ch1][i];
-                (*sample_buffer)[(i*2)+0] = inp0*FLOAT_SCALE;
-                (*sample_buffer)[(i*2)+1] = inp1*FLOAT_SCALE;
-            }
-        }
-        break;
-    default:
-        for (ch = 0; ch < channels; ch++)
-        {
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp = get_sample(input, ch, i, hDecoder->downMatrix, hDecoder->internal_channel);
-                (*sample_buffer)[(i*channels)+ch] = inp*FLOAT_SCALE;
-            }
-        }
-        break;
-    }
-}
-
-static void to_PCM_double(NeAACDecHandle hDecoder, real_t **input,
-                          uint8_t channels, uint16_t frame_len,
-                          double **sample_buffer)
-{
-    uint8_t ch, ch1;
-    uint16_t i;
-
-    switch (CONV(channels,hDecoder->downMatrix))
-    {
-    case CONV(1,0):
-    case CONV(1,1):
-        for(i = 0; i < frame_len; i++)
-        {
-            real_t inp = input[hDecoder->internal_channel[0]][i];
-            (*sample_buffer)[i] = (double)inp*FLOAT_SCALE;
-        }
-        break;
-    case CONV(2,0):
-        if (hDecoder->upMatrix)
-        {
-            ch = hDecoder->internal_channel[0];
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp0 = input[ch][i];
-                (*sample_buffer)[(i*2)+0] = (double)inp0*FLOAT_SCALE;
-                (*sample_buffer)[(i*2)+1] = (double)inp0*FLOAT_SCALE;
-            }
-        } else {
-            ch  = hDecoder->internal_channel[0];
-            ch1 = hDecoder->internal_channel[1];
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp0 = input[ch ][i];
-                real_t inp1 = input[ch1][i];
-                (*sample_buffer)[(i*2)+0] = (double)inp0*FLOAT_SCALE;
-                (*sample_buffer)[(i*2)+1] = (double)inp1*FLOAT_SCALE;
-            }
-        }
-        break;
-    default:
-        for (ch = 0; ch < channels; ch++)
-        {
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t inp = get_sample(input, ch, i, hDecoder->downMatrix, hDecoder->internal_channel);
-                (*sample_buffer)[(i*channels)+ch] = (double)inp*FLOAT_SCALE;
-            }
-        }
-        break;
-    }
-}
-
-void *output_to_PCM(NeAACDecHandle hDecoder,
-                    real_t **input, void *sample_buffer, uint8_t channels,
-                    uint16_t frame_len, uint8_t format)
-{
-    int16_t   *short_sample_buffer = (int16_t*)sample_buffer;
-    int32_t   *int_sample_buffer = (int32_t*)sample_buffer;
-    float32_t *float_sample_buffer = (float32_t*)sample_buffer;
-    double    *double_sample_buffer = (double*)sample_buffer;
-
-#ifdef PROFILE
-    int64_t count = faad_get_ts();
-#endif
-
-    /* Copy output to a standard PCM buffer */
-    switch (format)
-    {
-    case FAAD_FMT_16BIT:
-        to_PCM_16bit(hDecoder, input, channels, frame_len, &short_sample_buffer);
-        break;
-    case FAAD_FMT_24BIT:
-        to_PCM_24bit(hDecoder, input, channels, frame_len, &int_sample_buffer);
-        break;
-    case FAAD_FMT_32BIT:
-        to_PCM_32bit(hDecoder, input, channels, frame_len, &int_sample_buffer);
-        break;
-    case FAAD_FMT_FLOAT:
-        to_PCM_float(hDecoder, input, channels, frame_len, &float_sample_buffer);
-        break;
-    case FAAD_FMT_DOUBLE:
-        to_PCM_double(hDecoder, input, channels, frame_len, &double_sample_buffer);
-        break;
-    }
-
-#ifdef PROFILE
-    count = faad_get_ts() - count;
-    hDecoder->output_cycles += count;
-#endif
-
-    return sample_buffer;
-}
-
-#else
-
-#define DM_MUL FRAC_CONST(0.3203772410170407) // 1/(1+sqrt(2) + 1/sqrt(2))
-#define RSQRT2 FRAC_CONST(0.7071067811865475244) // 1/sqrt(2)
-
-static INLINE real_t get_sample(real_t **input, uint8_t channel, uint16_t sample,
-                                uint8_t down_matrix, uint8_t up_matrix,
-                                uint8_t *internal_channel)
-{
-    if (up_matrix == 1)
-        return input[internal_channel[0]][sample];
-
-    if (!down_matrix)
-        return input[internal_channel[channel]][sample];
-
-    if (channel == 0)
-    {
-        real_t C   = MUL_F(input[internal_channel[0]][sample], RSQRT2);
-        real_t L_S = MUL_F(input[internal_channel[3]][sample], RSQRT2);
-        real_t cum = input[internal_channel[1]][sample] + C + L_S;
-        return MUL_F(cum, DM_MUL);
-    } else {
-        real_t C   = MUL_F(input[internal_channel[0]][sample], RSQRT2);
-        real_t R_S = MUL_F(input[internal_channel[4]][sample], RSQRT2);
-        real_t cum = input[internal_channel[2]][sample] + C + R_S;
-        return MUL_F(cum, DM_MUL);
-    }
-}
-
-void* output_to_PCM(NeAACDecHandle hDecoder,
-                    real_t **input, void *sample_buffer, uint8_t channels,
-                    uint16_t frame_len, uint8_t format)
-{
-    uint8_t ch;
-    uint16_t i;
-    int16_t *short_sample_buffer = (int16_t*)sample_buffer;
-    int32_t *int_sample_buffer = (int32_t*)sample_buffer;
-
-    /* Copy output to a standard PCM buffer */
-    for (ch = 0; ch < channels; ch++)
-    {
-        switch (format)
-        {
-        case FAAD_FMT_16BIT:
-            for(i = 0; i < frame_len; i++)
-            {
-                int32_t tmp = get_sample(input, ch, i, hDecoder->downMatrix, hDecoder->upMatrix,
-                    hDecoder->internal_channel);
-                if (tmp >= 0)
-                {
-                    tmp += (1 << (REAL_BITS-1));
-                    if (tmp >= REAL_CONST(32767))
-                    {
-                        tmp = REAL_CONST(32767);
-                    }
-                } else {
-                    tmp += -(1 << (REAL_BITS-1));
-                    if (tmp <= REAL_CONST(-32768))
-                    {
-                        tmp = REAL_CONST(-32768);
-                    }
-                }
-                tmp >>= REAL_BITS;
-                short_sample_buffer[(i*channels)+ch] = (int16_t)tmp;
-            }
-            break;
-        case FAAD_FMT_24BIT:
-            for(i = 0; i < frame_len; i++)
-            {
-                int32_t tmp = get_sample(input, ch, i, hDecoder->downMatrix, hDecoder->upMatrix,
-                    hDecoder->internal_channel);
-                if (tmp >= 0)
-                {
-                    tmp += (1 << (REAL_BITS-9));
-                    tmp >>= (REAL_BITS-8);
-                    if (tmp >= 8388607)
-                    {
-                        tmp = 8388607;
-                    }
-                } else {
-                    tmp += -(1 << (REAL_BITS-9));
-                    tmp >>= (REAL_BITS-8);
-                    if (tmp <= -8388608)
-                    {
-                        tmp = -8388608;
-                    }
-                }
-                int_sample_buffer[(i*channels)+ch] = (int32_t)tmp;
-            }
-            break;
-        case FAAD_FMT_32BIT:
-            for(i = 0; i < frame_len; i++)
-            {
-                int32_t tmp = get_sample(input, ch, i, hDecoder->downMatrix, hDecoder->upMatrix,
-                    hDecoder->internal_channel);
-                if (tmp >= 0)
-                {
-                    tmp += (1 << (16-REAL_BITS-1));
-                    tmp <<= (16-REAL_BITS);
-                } else {
-                    tmp += -(1 << (16-REAL_BITS-1));
-                    tmp <<= (16-REAL_BITS);
-                }
-                int_sample_buffer[(i*channels)+ch] = (int32_t)tmp;
-            }
-            break;
-        case FAAD_FMT_FIXED:
-            for(i = 0; i < frame_len; i++)
-            {
-                real_t tmp = get_sample(input, ch, i, hDecoder->downMatrix, hDecoder->upMatrix,
-                    hDecoder->internal_channel);
-                int_sample_buffer[(i*channels)+ch] = (int32_t)tmp;
-            }
-            break;
-        }
-    }
-
-    return sample_buffer;
-}
-
-#endif
diff --git a/lib/libfaad2/libfaad/output.h b/lib/libfaad2/libfaad/output.h
deleted file mode 100644 (file)
index 0451d8b..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: output.h,v 1.25 2007/11/01 12:33:32 menno Exp $
-**/
-
-#ifndef __OUTPUT_H__
-#define __OUTPUT_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void* output_to_PCM(NeAACDecHandle hDecoder,
-                    real_t **input,
-                    void *samplebuffer,
-                    uint8_t channels,
-                    uint16_t frame_len,
-                    uint8_t format);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/pns.c b/lib/libfaad2/libfaad/pns.c
deleted file mode 100644 (file)
index 248fd05..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: pns.c,v 1.38 2007/11/01 12:33:32 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include "pns.h"
-
-
-/* static function declarations */
-static void gen_rand_vector(real_t *spec, int16_t scale_factor, uint16_t size,
-                            uint8_t sub,
-                            /* RNG states */ uint32_t *__r1, uint32_t *__r2);
-
-
-#ifdef FIXED_POINT
-
-#define DIV(A, B) (((int64_t)A << REAL_BITS)/B)
-
-#define step(shift) \
-    if ((0x40000000l >> shift) + root <= value)       \
-    {                                                 \
-        value -= (0x40000000l >> shift) + root;       \
-        root = (root >> 1) | (0x40000000l >> shift);  \
-    } else {                                          \
-        root = root >> 1;                             \
-    }
-
-/* fixed point square root approximation */
-/* !!!! ONLY WORKS FOR EVEN %REAL_BITS% !!!! */
-real_t fp_sqrt(real_t value)
-{
-    real_t root = 0;
-
-    step( 0); step( 2); step( 4); step( 6);
-    step( 8); step(10); step(12); step(14);
-    step(16); step(18); step(20); step(22);
-    step(24); step(26); step(28); step(30);
-
-    if (root < value)
-        ++root;
-
-    root <<= (REAL_BITS/2);
-
-    return root;
-}
-
-static real_t const pow2_table[] =
-{
-    COEF_CONST(1.0),
-    COEF_CONST(1.18920711500272),
-    COEF_CONST(1.41421356237310),
-    COEF_CONST(1.68179283050743)
-};
-#endif
-
-/* The function gen_rand_vector(addr, size) generates a vector of length
-   <size> with signed random values of average energy MEAN_NRG per random
-   value. A suitable random number generator can be realized using one
-   multiplication/accumulation per random value.
-*/
-static INLINE void gen_rand_vector(real_t *spec, int16_t scale_factor, uint16_t size,
-                                   uint8_t sub,
-                                   /* RNG states */ uint32_t *__r1, uint32_t *__r2)
-{
-#ifndef FIXED_POINT
-    uint16_t i;
-    real_t energy = 0.0;
-
-    real_t scale = (real_t)1.0/(real_t)size;
-
-    for (i = 0; i < size; i++)
-    {
-        real_t tmp = scale*(real_t)(int32_t)ne_rng(__r1, __r2);
-        spec[i] = tmp;
-        energy += tmp*tmp;
-    }
-
-    scale = (real_t)1.0/(real_t)sqrt(energy);
-    scale *= (real_t)pow(2.0, 0.25 * scale_factor);
-    for (i = 0; i < size; i++)
-    {
-        spec[i] *= scale;
-    }
-#else
-    uint16_t i;
-    real_t energy = 0, scale;
-    int32_t exp, frac;
-
-    for (i = 0; i < size; i++)
-    {
-        /* this can be replaced by a 16 bit random generator!!!! */
-        real_t tmp = (int32_t)ne_rng(__r1, __r2);
-        if (tmp < 0)
-            tmp = -(tmp & ((1<<(REAL_BITS-1))-1));
-        else
-            tmp = (tmp & ((1<<(REAL_BITS-1))-1));
-
-        energy += MUL_R(tmp,tmp);
-
-        spec[i] = tmp;
-    }
-
-    energy = fp_sqrt(energy);
-    if (energy > 0)
-    {
-        scale = DIV(REAL_CONST(1),energy);
-
-        exp = scale_factor >> 2;
-        frac = scale_factor & 3;
-
-        /* IMDCT pre-scaling */
-        exp -= sub;
-
-        if (exp < 0)
-            scale >>= -exp;
-        else
-            scale <<= exp;
-
-        if (frac)
-            scale = MUL_C(scale, pow2_table[frac]);
-
-        for (i = 0; i < size; i++)
-        {
-            spec[i] = MUL_R(spec[i], scale);
-        }
-    }
-#endif
-}
-
-void pns_decode(ic_stream *ics_left, ic_stream *ics_right,
-                real_t *spec_left, real_t *spec_right, uint16_t frame_len,
-                uint8_t channel_pair, uint8_t object_type,
-                /* RNG states */ uint32_t *__r1, uint32_t *__r2)
-{
-    uint8_t g, sfb, b;
-    uint16_t size, offs;
-
-    uint8_t group = 0;
-    uint16_t nshort = frame_len >> 3;
-
-    uint8_t sub = 0;
-
-#ifdef FIXED_POINT
-    /* IMDCT scaling */
-    if (object_type == LD)
-    {
-        sub = 9 /*9*/;
-    } else {
-        if (ics_left->window_sequence == EIGHT_SHORT_SEQUENCE)
-            sub = 7 /*7*/;
-        else
-            sub = 10 /*10*/;
-    }
-#endif
-
-    for (g = 0; g < ics_left->num_window_groups; g++)
-    {
-        /* Do perceptual noise substitution decoding */
-        for (b = 0; b < ics_left->window_group_length[g]; b++)
-        {
-            for (sfb = 0; sfb < ics_left->max_sfb; sfb++)
-            {
-                if (is_noise(ics_left, g, sfb))
-                {
-#ifdef LTP_DEC
-                    /* Simultaneous use of LTP and PNS is not prevented in the
-                       syntax. If both LTP, and PNS are enabled on the same
-                       scalefactor band, PNS takes precedence, and no prediction
-                       is applied to this band.
-                    */
-                    ics_left->ltp.long_used[sfb] = 0;
-                    ics_left->ltp2.long_used[sfb] = 0;
-#endif
-
-#ifdef MAIN_DEC
-                    /* For scalefactor bands coded using PNS the corresponding
-                       predictors are switched to "off".
-                    */
-                    ics_left->pred.prediction_used[sfb] = 0;
-#endif
-
-                    offs = ics_left->swb_offset[sfb];
-                    size = min(ics_left->swb_offset[sfb+1], ics_left->swb_offset_max) - offs;
-
-                    /* Generate random vector */
-                    gen_rand_vector(&spec_left[(group*nshort)+offs],
-                        ics_left->scale_factors[g][sfb], size, sub, __r1, __r2);
-                }
-
-/* From the spec:
-   If the same scalefactor band and group is coded by perceptual noise
-   substitution in both channels of a channel pair, the correlation of
-   the noise signal can be controlled by means of the ms_used field: While
-   the default noise generation process works independently for each channel
-   (separate generation of random vectors), the same random vector is used
-   for both channels if ms_used[] is set for a particular scalefactor band
-   and group. In this case, no M/S stereo coding is carried out (because M/S
-   stereo coding and noise substitution coding are mutually exclusive).
-   If the same scalefactor band and group is coded by perceptual noise
-   substitution in only one channel of a channel pair the setting of ms_used[]
-   is not evaluated.
-*/
-                if (channel_pair)
-                {
-                    if (is_noise(ics_right, g, sfb))
-                    {
-                        if (((ics_left->ms_mask_present == 1) &&
-                            (ics_left->ms_used[g][sfb])) ||
-                            (ics_left->ms_mask_present == 2))
-                        {
-                            uint16_t c;
-
-                            offs = ics_right->swb_offset[sfb];
-                            size = min(ics_right->swb_offset[sfb+1], ics_right->swb_offset_max) - offs;
-
-                            for (c = 0; c < size; c++)
-                            {
-                                spec_right[(group*nshort) + offs + c] =
-                                    spec_left[(group*nshort) + offs + c];
-                            }
-                        } else /*if (ics_left->ms_mask_present == 0)*/ {
-#ifdef LTP_DEC
-                            ics_right->ltp.long_used[sfb] = 0;
-                            ics_right->ltp2.long_used[sfb] = 0;
-#endif
-#ifdef MAIN_DEC
-                            ics_right->pred.prediction_used[sfb] = 0;
-#endif
-
-                            offs = ics_right->swb_offset[sfb];
-                            size = min(ics_right->swb_offset[sfb+1], ics_right->swb_offset_max) - offs;
-
-                            /* Generate random vector */
-                            gen_rand_vector(&spec_right[(group*nshort)+offs],
-                                ics_right->scale_factors[g][sfb], size, sub, __r1, __r2);
-                        }
-                    }
-                }
-            } /* sfb */
-            group++;
-        } /* b */
-    } /* g */
-}
diff --git a/lib/libfaad2/libfaad/pns.h b/lib/libfaad2/libfaad/pns.h
deleted file mode 100644 (file)
index 38ced25..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: pns.h,v 1.27 2007/11/01 12:33:33 menno Exp $
-**/
-
-#ifndef __PNS_H__
-#define __PNS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "syntax.h"
-
-#define NOISE_OFFSET 90
-
-void pns_decode(ic_stream *ics_left, ic_stream *ics_right,
-                real_t *spec_left, real_t *spec_right, uint16_t frame_len,
-                uint8_t channel_pair, uint8_t object_type,
-                /* RNG states */ uint32_t *__r1, uint32_t *__r2);
-
-static INLINE uint8_t is_noise(ic_stream *ics, uint8_t group, uint8_t sfb)
-{
-    if (ics->sfb_cb[group][sfb] == NOISE_HCB)
-        return 1;
-    return 0;
-}
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/ps_dec.c b/lib/libfaad2/libfaad/ps_dec.c
deleted file mode 100644 (file)
index aebfe0a..0000000
+++ /dev/null
@@ -1,2008 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ps_dec.c,v 1.14 2007/11/01 12:33:33 menno Exp $
-**/
-
-#include "common.h"
-
-#ifdef PS_DEC
-
-#include <stdlib.h>
-#include "ps_dec.h"
-#include "ps_tables.h"
-
-/* constants */
-#define NEGATE_IPD_MASK            (0x1000)
-#define DECAY_SLOPE                FRAC_CONST(0.05)
-#define COEF_SQRT2                 COEF_CONST(1.4142135623731)
-
-/* tables */
-/* filters are mirrored in coef 6, second half left out */
-static const real_t p8_13_20[7] =
-{
-    FRAC_CONST(0.00746082949812),
-    FRAC_CONST(0.02270420949825),
-    FRAC_CONST(0.04546865930473),
-    FRAC_CONST(0.07266113929591),
-    FRAC_CONST(0.09885108575264),
-    FRAC_CONST(0.11793710567217),
-    FRAC_CONST(0.125)
-};
-
-static const real_t p2_13_20[7] =
-{
-    FRAC_CONST(0.0),
-    FRAC_CONST(0.01899487526049),
-    FRAC_CONST(0.0),
-    FRAC_CONST(-0.07293139167538),
-    FRAC_CONST(0.0),
-    FRAC_CONST(0.30596630545168),
-    FRAC_CONST(0.5)
-};
-
-static const real_t p12_13_34[7] =
-{
-    FRAC_CONST(0.04081179924692),
-    FRAC_CONST(0.03812810994926),
-    FRAC_CONST(0.05144908135699),
-    FRAC_CONST(0.06399831151592),
-    FRAC_CONST(0.07428313801106),
-    FRAC_CONST(0.08100347892914),
-    FRAC_CONST(0.08333333333333)
-};
-
-static const real_t p8_13_34[7] =
-{
-    FRAC_CONST(0.01565675600122),
-    FRAC_CONST(0.03752716391991),
-    FRAC_CONST(0.05417891378782),
-    FRAC_CONST(0.08417044116767),
-    FRAC_CONST(0.10307344158036),
-    FRAC_CONST(0.12222452249753),
-    FRAC_CONST(0.125)
-};
-
-static const real_t p4_13_34[7] =
-{
-    FRAC_CONST(-0.05908211155639),
-    FRAC_CONST(-0.04871498374946),
-    FRAC_CONST(0.0),
-    FRAC_CONST(0.07778723915851),
-    FRAC_CONST(0.16486303567403),
-    FRAC_CONST(0.23279856662996),
-    FRAC_CONST(0.25)
-};
-
-#ifdef PARAM_32KHZ
-static const uint8_t delay_length_d[2][NO_ALLPASS_LINKS] = {
-    { 1, 2, 3 } /* d_24kHz */,
-    { 3, 4, 5 } /* d_48kHz */
-};
-#else
-static const uint8_t delay_length_d[NO_ALLPASS_LINKS] = {
-    3, 4, 5 /* d_48kHz */
-};
-#endif
-static const real_t filter_a[NO_ALLPASS_LINKS] = { /* a(m) = exp(-d_48kHz(m)/7) */
-    FRAC_CONST(0.65143905753106),
-    FRAC_CONST(0.56471812200776),
-    FRAC_CONST(0.48954165955695)
-};
-
-static const uint8_t group_border20[10+12 + 1] =
-{
-    6, 7, 0, 1, 2, 3, /* 6 subqmf subbands */
-    9, 8,             /* 2 subqmf subbands */
-    10, 11,           /* 2 subqmf subbands */
-    3, 4, 5, 6, 7, 8, 9, 11, 14, 18, 23, 35, 64
-};
-
-static const uint8_t group_border34[32+18 + 1] =
-{
-     0,  1,  2,  3,  4,  5,  6,  7,  8,  9,  10, 11, /* 12 subqmf subbands */
-     12, 13, 14, 15, 16, 17, 18, 19,                 /*  8 subqmf subbands */
-     20, 21, 22, 23,                                 /*  4 subqmf subbands */
-     24, 25, 26, 27,                                 /*  4 subqmf subbands */
-     28, 29, 30, 31,                                 /*  4 subqmf subbands */
-     32-27, 33-27, 34-27, 35-27, 36-27, 37-27, 38-27, 40-27, 42-27, 44-27, 46-27, 48-27, 51-27, 54-27, 57-27, 60-27, 64-27, 68-27, 91-27
-};
-
-static const uint16_t map_group2bk20[10+12] =
-{
-    (NEGATE_IPD_MASK | 1), (NEGATE_IPD_MASK | 0),
-    0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19
-};
-
-static const uint16_t map_group2bk34[32+18] =
-{
-    0,  1,  2,  3,  4,  5,  6,  6,  7, (NEGATE_IPD_MASK | 2), (NEGATE_IPD_MASK | 1), (NEGATE_IPD_MASK | 0),
-    10, 10, 4,  5,  6,  7,  8,  9,
-    10, 11, 12, 9,
-    14, 11, 12, 13,
-    14, 15, 16, 13,
-    16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33
-};
-
-/* type definitions */
-typedef struct
-{
-    uint8_t frame_len;
-    uint8_t resolution20[3];
-    uint8_t resolution34[5];
-
-    qmf_t *work;
-    qmf_t **buffer;
-    qmf_t **temp;
-} hyb_info;
-
-/* static function declarations */
-static void ps_data_decode(ps_info *ps);
-static hyb_info *hybrid_init();
-static void channel_filter2(hyb_info *hyb, uint8_t frame_len, const real_t *filter,
-                            qmf_t *buffer, qmf_t **X_hybrid);
-static void INLINE DCT3_4_unscaled(real_t *y, real_t *x);
-static void channel_filter8(hyb_info *hyb, uint8_t frame_len, const real_t *filter,
-                            qmf_t *buffer, qmf_t **X_hybrid);
-static void hybrid_analysis(hyb_info *hyb, qmf_t X[32][64], qmf_t X_hybrid[32][32],
-                            uint8_t use34);
-static void hybrid_synthesis(hyb_info *hyb, qmf_t X[32][64], qmf_t X_hybrid[32][32],
-                             uint8_t use34);
-static int8_t delta_clip(int8_t i, int8_t min, int8_t max);
-static void delta_decode(uint8_t enable, int8_t *index, int8_t *index_prev,
-                         uint8_t dt_flag, uint8_t nr_par, uint8_t stride,
-                         int8_t min_index, int8_t max_index);
-static void delta_modulo_decode(uint8_t enable, int8_t *index, int8_t *index_prev,
-                                uint8_t dt_flag, uint8_t nr_par, uint8_t stride,
-                                int8_t and_modulo);
-static void map20indexto34(int8_t *index, uint8_t bins);
-#ifdef PS_LOW_POWER
-static void map34indexto20(int8_t *index, uint8_t bins);
-#endif
-static void ps_data_decode(ps_info *ps);
-static void ps_decorrelate(ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64],
-                           qmf_t X_hybrid_left[32][32], qmf_t X_hybrid_right[32][32]);
-static void ps_mix_phase(ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64],
-                         qmf_t X_hybrid_left[32][32], qmf_t X_hybrid_right[32][32]);
-
-/*  */
-
-
-static hyb_info *hybrid_init()
-{
-    uint8_t i;
-
-    hyb_info *hyb = (hyb_info*)faad_malloc(sizeof(hyb_info));
-
-    hyb->resolution34[0] = 12;
-    hyb->resolution34[1] = 8;
-    hyb->resolution34[2] = 4;
-    hyb->resolution34[3] = 4;
-    hyb->resolution34[4] = 4;
-
-    hyb->resolution20[0] = 8;
-    hyb->resolution20[1] = 2;
-    hyb->resolution20[2] = 2;
-
-    hyb->frame_len = 32;
-
-    hyb->work = (qmf_t*)faad_malloc((hyb->frame_len+12) * sizeof(qmf_t));
-    memset(hyb->work, 0, (hyb->frame_len+12) * sizeof(qmf_t));
-
-    hyb->buffer = (qmf_t**)faad_malloc(5 * sizeof(qmf_t*));
-    for (i = 0; i < 5; i++)
-    {
-        hyb->buffer[i] = (qmf_t*)faad_malloc(hyb->frame_len * sizeof(qmf_t));
-        memset(hyb->buffer[i], 0, hyb->frame_len * sizeof(qmf_t));
-    }
-
-    hyb->temp = (qmf_t**)faad_malloc(hyb->frame_len * sizeof(qmf_t*));
-    for (i = 0; i < hyb->frame_len; i++)
-    {
-        hyb->temp[i] = (qmf_t*)faad_malloc(12 /*max*/ * sizeof(qmf_t));
-    }
-
-    return hyb;
-}
-
-static void hybrid_free(hyb_info *hyb)
-{
-    uint8_t i;
-
-    if (hyb->work)
-        faad_free(hyb->work);
-
-    for (i = 0; i < 5; i++)
-    {
-        if (hyb->buffer[i])
-            faad_free(hyb->buffer[i]);
-    }
-    if (hyb->buffer)
-        faad_free(hyb->buffer);
-
-    for (i = 0; i < hyb->frame_len; i++)
-    {
-        if (hyb->temp[i])
-            faad_free(hyb->temp[i]);
-    }
-    if (hyb->temp)
-        faad_free(hyb->temp);
-}
-
-/* real filter, size 2 */
-static void channel_filter2(hyb_info *hyb, uint8_t frame_len, const real_t *filter,
-                            qmf_t *buffer, qmf_t **X_hybrid)
-{
-    uint8_t i;
-
-    for (i = 0; i < frame_len; i++)
-    {
-        real_t r0 = MUL_F(filter[0],(QMF_RE(buffer[0+i]) + QMF_RE(buffer[12+i])));
-        real_t r1 = MUL_F(filter[1],(QMF_RE(buffer[1+i]) + QMF_RE(buffer[11+i])));
-        real_t r2 = MUL_F(filter[2],(QMF_RE(buffer[2+i]) + QMF_RE(buffer[10+i])));
-        real_t r3 = MUL_F(filter[3],(QMF_RE(buffer[3+i]) + QMF_RE(buffer[9+i])));
-        real_t r4 = MUL_F(filter[4],(QMF_RE(buffer[4+i]) + QMF_RE(buffer[8+i])));
-        real_t r5 = MUL_F(filter[5],(QMF_RE(buffer[5+i]) + QMF_RE(buffer[7+i])));
-        real_t r6 = MUL_F(filter[6],QMF_RE(buffer[6+i]));
-        real_t i0 = MUL_F(filter[0],(QMF_IM(buffer[0+i]) + QMF_IM(buffer[12+i])));
-        real_t i1 = MUL_F(filter[1],(QMF_IM(buffer[1+i]) + QMF_IM(buffer[11+i])));
-        real_t i2 = MUL_F(filter[2],(QMF_IM(buffer[2+i]) + QMF_IM(buffer[10+i])));
-        real_t i3 = MUL_F(filter[3],(QMF_IM(buffer[3+i]) + QMF_IM(buffer[9+i])));
-        real_t i4 = MUL_F(filter[4],(QMF_IM(buffer[4+i]) + QMF_IM(buffer[8+i])));
-        real_t i5 = MUL_F(filter[5],(QMF_IM(buffer[5+i]) + QMF_IM(buffer[7+i])));
-        real_t i6 = MUL_F(filter[6],QMF_IM(buffer[6+i]));
-
-        /* q = 0 */
-        QMF_RE(X_hybrid[i][0]) = r0 + r1 + r2 + r3 + r4 + r5 + r6;
-        QMF_IM(X_hybrid[i][0]) = i0 + i1 + i2 + i3 + i4 + i5 + i6;
-
-        /* q = 1 */
-        QMF_RE(X_hybrid[i][1]) = r0 - r1 + r2 - r3 + r4 - r5 + r6;
-        QMF_IM(X_hybrid[i][1]) = i0 - i1 + i2 - i3 + i4 - i5 + i6;
-    }
-}
-
-/* complex filter, size 4 */
-static void channel_filter4(hyb_info *hyb, uint8_t frame_len, const real_t *filter,
-                            qmf_t *buffer, qmf_t **X_hybrid)
-{
-    uint8_t i;
-    real_t input_re1[2], input_re2[2], input_im1[2], input_im2[2];
-
-    for (i = 0; i < frame_len; i++)
-    {
-        input_re1[0] = -MUL_F(filter[2], (QMF_RE(buffer[i+2]) + QMF_RE(buffer[i+10]))) +
-            MUL_F(filter[6], QMF_RE(buffer[i+6]));
-        input_re1[1] = MUL_F(FRAC_CONST(-0.70710678118655),
-            (MUL_F(filter[1], (QMF_RE(buffer[i+1]) + QMF_RE(buffer[i+11]))) +
-            MUL_F(filter[3], (QMF_RE(buffer[i+3]) + QMF_RE(buffer[i+9]))) -
-            MUL_F(filter[5], (QMF_RE(buffer[i+5]) + QMF_RE(buffer[i+7])))));
-
-        input_im1[0] = MUL_F(filter[0], (QMF_IM(buffer[i+0]) - QMF_IM(buffer[i+12]))) -
-            MUL_F(filter[4], (QMF_IM(buffer[i+4]) - QMF_IM(buffer[i+8])));
-        input_im1[1] = MUL_F(FRAC_CONST(0.70710678118655),
-            (MUL_F(filter[1], (QMF_IM(buffer[i+1]) - QMF_IM(buffer[i+11]))) -
-            MUL_F(filter[3], (QMF_IM(buffer[i+3]) - QMF_IM(buffer[i+9]))) -
-            MUL_F(filter[5], (QMF_IM(buffer[i+5]) - QMF_IM(buffer[i+7])))));
-
-        input_re2[0] = MUL_F(filter[0], (QMF_RE(buffer[i+0]) - QMF_RE(buffer[i+12]))) -
-            MUL_F(filter[4], (QMF_RE(buffer[i+4]) - QMF_RE(buffer[i+8])));
-        input_re2[1] = MUL_F(FRAC_CONST(0.70710678118655),
-            (MUL_F(filter[1], (QMF_RE(buffer[i+1]) - QMF_RE(buffer[i+11]))) -
-            MUL_F(filter[3], (QMF_RE(buffer[i+3]) - QMF_RE(buffer[i+9]))) -
-            MUL_F(filter[5], (QMF_RE(buffer[i+5]) - QMF_RE(buffer[i+7])))));
-
-        input_im2[0] = -MUL_F(filter[2], (QMF_IM(buffer[i+2]) + QMF_IM(buffer[i+10]))) +
-            MUL_F(filter[6], QMF_IM(buffer[i+6]));
-        input_im2[1] = MUL_F(FRAC_CONST(-0.70710678118655),
-            (MUL_F(filter[1], (QMF_IM(buffer[i+1]) + QMF_IM(buffer[i+11]))) +
-            MUL_F(filter[3], (QMF_IM(buffer[i+3]) + QMF_IM(buffer[i+9]))) -
-            MUL_F(filter[5], (QMF_IM(buffer[i+5]) + QMF_IM(buffer[i+7])))));
-
-        /* q == 0 */
-        QMF_RE(X_hybrid[i][0]) =  input_re1[0] + input_re1[1] + input_im1[0] + input_im1[1];
-        QMF_IM(X_hybrid[i][0]) = -input_re2[0] - input_re2[1] + input_im2[0] + input_im2[1];
-
-        /* q == 1 */
-        QMF_RE(X_hybrid[i][1]) =  input_re1[0] - input_re1[1] - input_im1[0] + input_im1[1];
-        QMF_IM(X_hybrid[i][1]) =  input_re2[0] - input_re2[1] + input_im2[0] - input_im2[1];
-
-        /* q == 2 */
-        QMF_RE(X_hybrid[i][2]) =  input_re1[0] - input_re1[1] + input_im1[0] - input_im1[1];
-        QMF_IM(X_hybrid[i][2]) = -input_re2[0] + input_re2[1] + input_im2[0] - input_im2[1];
-
-        /* q == 3 */
-        QMF_RE(X_hybrid[i][3]) =  input_re1[0] + input_re1[1] - input_im1[0] - input_im1[1];
-        QMF_IM(X_hybrid[i][3]) =  input_re2[0] + input_re2[1] + input_im2[0] + input_im2[1];
-    }
-}
-
-static void INLINE DCT3_4_unscaled(real_t *y, real_t *x)
-{
-    real_t f0, f1, f2, f3, f4, f5, f6, f7, f8;
-
-    f0 = MUL_F(x[2], FRAC_CONST(0.7071067811865476));
-    f1 = x[0] - f0;
-    f2 = x[0] + f0;
-    f3 = x[1] + x[3];
-    f4 = MUL_C(x[1], COEF_CONST(1.3065629648763766));
-    f5 = MUL_F(f3, FRAC_CONST(-0.9238795325112866));
-    f6 = MUL_F(x[3], FRAC_CONST(-0.5411961001461967));
-    f7 = f4 + f5;
-    f8 = f6 - f5;
-    y[3] = f2 - f8;
-    y[0] = f2 + f8;
-    y[2] = f1 - f7;
-    y[1] = f1 + f7;
-}
-
-/* complex filter, size 8 */
-static void channel_filter8(hyb_info *hyb, uint8_t frame_len, const real_t *filter,
-                            qmf_t *buffer, qmf_t **X_hybrid)
-{
-    uint8_t i, n;
-    real_t input_re1[4], input_re2[4], input_im1[4], input_im2[4];
-    real_t x[4];
-
-    for (i = 0; i < frame_len; i++)
-    {
-        input_re1[0] =  MUL_F(filter[6],QMF_RE(buffer[6+i]));
-        input_re1[1] =  MUL_F(filter[5],(QMF_RE(buffer[5+i]) + QMF_RE(buffer[7+i])));
-        input_re1[2] = -MUL_F(filter[0],(QMF_RE(buffer[0+i]) + QMF_RE(buffer[12+i]))) + MUL_F(filter[4],(QMF_RE(buffer[4+i]) + QMF_RE(buffer[8+i])));
-        input_re1[3] = -MUL_F(filter[1],(QMF_RE(buffer[1+i]) + QMF_RE(buffer[11+i]))) + MUL_F(filter[3],(QMF_RE(buffer[3+i]) + QMF_RE(buffer[9+i])));
-
-        input_im1[0] = MUL_F(filter[5],(QMF_IM(buffer[7+i]) - QMF_IM(buffer[5+i])));
-        input_im1[1] = MUL_F(filter[0],(QMF_IM(buffer[12+i]) - QMF_IM(buffer[0+i]))) + MUL_F(filter[4],(QMF_IM(buffer[8+i]) - QMF_IM(buffer[4+i])));
-        input_im1[2] = MUL_F(filter[1],(QMF_IM(buffer[11+i]) - QMF_IM(buffer[1+i]))) + MUL_F(filter[3],(QMF_IM(buffer[9+i]) - QMF_IM(buffer[3+i])));
-        input_im1[3] = MUL_F(filter[2],(QMF_IM(buffer[10+i]) - QMF_IM(buffer[2+i])));
-
-        for (n = 0; n < 4; n++)
-        {
-            x[n] = input_re1[n] - input_im1[3-n];
-        }
-        DCT3_4_unscaled(x, x);
-        QMF_RE(X_hybrid[i][7]) = x[0];
-        QMF_RE(X_hybrid[i][5]) = x[2];
-        QMF_RE(X_hybrid[i][3]) = x[3];
-        QMF_RE(X_hybrid[i][1]) = x[1];
-
-        for (n = 0; n < 4; n++)
-        {
-            x[n] = input_re1[n] + input_im1[3-n];
-        }
-        DCT3_4_unscaled(x, x);
-        QMF_RE(X_hybrid[i][6]) = x[1];
-        QMF_RE(X_hybrid[i][4]) = x[3];
-        QMF_RE(X_hybrid[i][2]) = x[2];
-        QMF_RE(X_hybrid[i][0]) = x[0];
-
-        input_im2[0] =  MUL_F(filter[6],QMF_IM(buffer[6+i]));
-        input_im2[1] =  MUL_F(filter[5],(QMF_IM(buffer[5+i]) + QMF_IM(buffer[7+i])));
-        input_im2[2] = -MUL_F(filter[0],(QMF_IM(buffer[0+i]) + QMF_IM(buffer[12+i]))) + MUL_F(filter[4],(QMF_IM(buffer[4+i]) + QMF_IM(buffer[8+i])));
-        input_im2[3] = -MUL_F(filter[1],(QMF_IM(buffer[1+i]) + QMF_IM(buffer[11+i]))) + MUL_F(filter[3],(QMF_IM(buffer[3+i]) + QMF_IM(buffer[9+i])));
-
-        input_re2[0] = MUL_F(filter[5],(QMF_RE(buffer[7+i]) - QMF_RE(buffer[5+i])));
-        input_re2[1] = MUL_F(filter[0],(QMF_RE(buffer[12+i]) - QMF_RE(buffer[0+i]))) + MUL_F(filter[4],(QMF_RE(buffer[8+i]) - QMF_RE(buffer[4+i])));
-        input_re2[2] = MUL_F(filter[1],(QMF_RE(buffer[11+i]) - QMF_RE(buffer[1+i]))) + MUL_F(filter[3],(QMF_RE(buffer[9+i]) - QMF_RE(buffer[3+i])));
-        input_re2[3] = MUL_F(filter[2],(QMF_RE(buffer[10+i]) - QMF_RE(buffer[2+i])));
-
-        for (n = 0; n < 4; n++)
-        {
-            x[n] = input_im2[n] + input_re2[3-n];
-        }
-        DCT3_4_unscaled(x, x);
-        QMF_IM(X_hybrid[i][7]) = x[0];
-        QMF_IM(X_hybrid[i][5]) = x[2];
-        QMF_IM(X_hybrid[i][3]) = x[3];
-        QMF_IM(X_hybrid[i][1]) = x[1];
-
-        for (n = 0; n < 4; n++)
-        {
-            x[n] = input_im2[n] - input_re2[3-n];
-        }
-        DCT3_4_unscaled(x, x);
-        QMF_IM(X_hybrid[i][6]) = x[1];
-        QMF_IM(X_hybrid[i][4]) = x[3];
-        QMF_IM(X_hybrid[i][2]) = x[2];
-        QMF_IM(X_hybrid[i][0]) = x[0];
-    }
-}
-
-static void INLINE DCT3_6_unscaled(real_t *y, real_t *x)
-{
-    real_t f0, f1, f2, f3, f4, f5, f6, f7;
-
-    f0 = MUL_F(x[3], FRAC_CONST(0.70710678118655));
-    f1 = x[0] + f0;
-    f2 = x[0] - f0;
-    f3 = MUL_F((x[1] - x[5]), FRAC_CONST(0.70710678118655));
-    f4 = MUL_F(x[2], FRAC_CONST(0.86602540378444)) + MUL_F(x[4], FRAC_CONST(0.5));
-    f5 = f4 - x[4];
-    f6 = MUL_F(x[1], FRAC_CONST(0.96592582628907)) + MUL_F(x[5], FRAC_CONST(0.25881904510252));
-    f7 = f6 - f3;
-    y[0] = f1 + f6 + f4;
-    y[1] = f2 + f3 - x[4];
-    y[2] = f7 + f2 - f5;
-    y[3] = f1 - f7 - f5;
-    y[4] = f1 - f3 - x[4];
-    y[5] = f2 - f6 + f4;
-}
-
-/* complex filter, size 12 */
-static void channel_filter12(hyb_info *hyb, uint8_t frame_len, const real_t *filter,
-                             qmf_t *buffer, qmf_t **X_hybrid)
-{
-    uint8_t i, n;
-    real_t input_re1[6], input_re2[6], input_im1[6], input_im2[6];
-    real_t out_re1[6], out_re2[6], out_im1[6], out_im2[6];
-
-    for (i = 0; i < frame_len; i++)
-    {
-        for (n = 0; n < 6; n++)
-        {
-            if (n == 0)
-            {
-                input_re1[0] = MUL_F(QMF_RE(buffer[6+i]), filter[6]);
-                input_re2[0] = MUL_F(QMF_IM(buffer[6+i]), filter[6]);
-            } else {
-                input_re1[6-n] = MUL_F((QMF_RE(buffer[n+i]) + QMF_RE(buffer[12-n+i])), filter[n]);
-                input_re2[6-n] = MUL_F((QMF_IM(buffer[n+i]) + QMF_IM(buffer[12-n+i])), filter[n]);
-            }
-            input_im2[n] = MUL_F((QMF_RE(buffer[n+i]) - QMF_RE(buffer[12-n+i])), filter[n]);
-            input_im1[n] = MUL_F((QMF_IM(buffer[n+i]) - QMF_IM(buffer[12-n+i])), filter[n]);
-        }
-
-        DCT3_6_unscaled(out_re1, input_re1);
-        DCT3_6_unscaled(out_re2, input_re2);
-
-        DCT3_6_unscaled(out_im1, input_im1);
-        DCT3_6_unscaled(out_im2, input_im2);
-
-        for (n = 0; n < 6; n += 2)
-        {
-            QMF_RE(X_hybrid[i][n]) = out_re1[n] - out_im1[n];
-            QMF_IM(X_hybrid[i][n]) = out_re2[n] + out_im2[n];
-            QMF_RE(X_hybrid[i][n+1]) = out_re1[n+1] + out_im1[n+1];
-            QMF_IM(X_hybrid[i][n+1]) = out_re2[n+1] - out_im2[n+1];
-
-            QMF_RE(X_hybrid[i][10-n]) = out_re1[n+1] - out_im1[n+1];
-            QMF_IM(X_hybrid[i][10-n]) = out_re2[n+1] + out_im2[n+1];
-            QMF_RE(X_hybrid[i][11-n]) = out_re1[n] + out_im1[n];
-            QMF_IM(X_hybrid[i][11-n]) = out_re2[n] - out_im2[n];
-        }
-    }
-}
-
-/* Hybrid analysis: further split up QMF subbands
- * to improve frequency resolution
- */
-static void hybrid_analysis(hyb_info *hyb, qmf_t X[32][64], qmf_t X_hybrid[32][32],
-                            uint8_t use34)
-{
-    uint8_t k, n, band;
-    uint8_t offset = 0;
-    uint8_t qmf_bands = (use34) ? 5 : 3;
-    uint8_t *resolution = (use34) ? hyb->resolution34 : hyb->resolution20;
-
-    for (band = 0; band < qmf_bands; band++)
-    {
-        /* build working buffer */
-        memcpy(hyb->work, hyb->buffer[band], 12 * sizeof(qmf_t));
-
-        /* add new samples */
-        for (n = 0; n < hyb->frame_len; n++)
-        {
-            QMF_RE(hyb->work[12 + n]) = QMF_RE(X[n + 6 /*delay*/][band]);
-            QMF_IM(hyb->work[12 + n]) = QMF_IM(X[n + 6 /*delay*/][band]);
-        }
-
-        /* store samples */
-        memcpy(hyb->buffer[band], hyb->work + hyb->frame_len, 12 * sizeof(qmf_t));
-
-
-        switch(resolution[band])
-        {
-        case 2:
-            /* Type B real filter, Q[p] = 2 */
-            channel_filter2(hyb, hyb->frame_len, p2_13_20, hyb->work, hyb->temp);
-            break;
-        case 4:
-            /* Type A complex filter, Q[p] = 4 */
-            channel_filter4(hyb, hyb->frame_len, p4_13_34, hyb->work, hyb->temp);
-            break;
-        case 8:
-            /* Type A complex filter, Q[p] = 8 */
-            channel_filter8(hyb, hyb->frame_len, (use34) ? p8_13_34 : p8_13_20,
-                hyb->work, hyb->temp);
-            break;
-        case 12:
-            /* Type A complex filter, Q[p] = 12 */
-            channel_filter12(hyb, hyb->frame_len, p12_13_34, hyb->work, hyb->temp);
-            break;
-        }
-
-        for (n = 0; n < hyb->frame_len; n++)
-        {
-            for (k = 0; k < resolution[band]; k++)
-            {
-                QMF_RE(X_hybrid[n][offset + k]) = QMF_RE(hyb->temp[n][k]);
-                QMF_IM(X_hybrid[n][offset + k]) = QMF_IM(hyb->temp[n][k]);
-            }
-        }
-        offset += resolution[band];
-    }
-
-    /* group hybrid channels */
-    if (!use34)
-    {
-        for (n = 0; n < 32 /*30?*/; n++)
-        {
-            QMF_RE(X_hybrid[n][3]) += QMF_RE(X_hybrid[n][4]);
-            QMF_IM(X_hybrid[n][3]) += QMF_IM(X_hybrid[n][4]);
-            QMF_RE(X_hybrid[n][4]) = 0;
-            QMF_IM(X_hybrid[n][4]) = 0;
-
-            QMF_RE(X_hybrid[n][2]) += QMF_RE(X_hybrid[n][5]);
-            QMF_IM(X_hybrid[n][2]) += QMF_IM(X_hybrid[n][5]);
-            QMF_RE(X_hybrid[n][5]) = 0;
-            QMF_IM(X_hybrid[n][5]) = 0;
-        }
-    }
-}
-
-static void hybrid_synthesis(hyb_info *hyb, qmf_t X[32][64], qmf_t X_hybrid[32][32],
-                             uint8_t use34)
-{
-    uint8_t k, n, band;
-    uint8_t offset = 0;
-    uint8_t qmf_bands = (use34) ? 5 : 3;
-    uint8_t *resolution = (use34) ? hyb->resolution34 : hyb->resolution20;
-
-    for(band = 0; band < qmf_bands; band++)
-    {
-        for (n = 0; n < hyb->frame_len; n++)
-        {
-            QMF_RE(X[n][band]) = 0;
-            QMF_IM(X[n][band]) = 0;
-
-            for (k = 0; k < resolution[band]; k++)
-            {
-                QMF_RE(X[n][band]) += QMF_RE(X_hybrid[n][offset + k]);
-                QMF_IM(X[n][band]) += QMF_IM(X_hybrid[n][offset + k]);
-            }
-        }
-        offset += resolution[band];
-    }
-}
-
-/* limits the value i to the range [min,max] */
-static int8_t delta_clip(int8_t i, int8_t min, int8_t max)
-{
-    if (i < min)
-        return min;
-    else if (i > max)
-        return max;
-    else
-        return i;
-}
-
-//int iid = 0;
-
-/* delta decode array */
-static void delta_decode(uint8_t enable, int8_t *index, int8_t *index_prev,
-                         uint8_t dt_flag, uint8_t nr_par, uint8_t stride,
-                         int8_t min_index, int8_t max_index)
-{
-    int8_t i;
-
-    if (enable == 1)
-    {
-        if (dt_flag == 0)
-        {
-            /* delta coded in frequency direction */
-            index[0] = 0 + index[0];
-            index[0] = delta_clip(index[0], min_index, max_index);
-
-            for (i = 1; i < nr_par; i++)
-            {
-                index[i] = index[i-1] + index[i];
-                index[i] = delta_clip(index[i], min_index, max_index);
-            }
-        } else {
-            /* delta coded in time direction */
-            for (i = 0; i < nr_par; i++)
-            {
-                //int8_t tmp2;
-                //int8_t tmp = index[i];
-
-                //printf("%d %d\n", index_prev[i*stride], index[i]);
-                //printf("%d\n", index[i]);
-
-                index[i] = index_prev[i*stride] + index[i];
-                //tmp2 = index[i];
-                index[i] = delta_clip(index[i], min_index, max_index);
-
-                //if (iid)
-                //{
-                //    if (index[i] == 7)
-                //    {
-                //        printf("%d %d %d\n", index_prev[i*stride], tmp, tmp2);
-                //    }
-                //}
-            }
-        }
-    } else {
-        /* set indices to zero */
-        for (i = 0; i < nr_par; i++)
-        {
-            index[i] = 0;
-        }
-    }
-
-    /* coarse */
-    if (stride == 2)
-    {
-        for (i = (nr_par<<1)-1; i > 0; i--)
-        {
-            index[i] = index[i>>1];
-        }
-    }
-}
-
-/* delta modulo decode array */
-/* in: log2 value of the modulo value to allow using AND instead of MOD */
-static void delta_modulo_decode(uint8_t enable, int8_t *index, int8_t *index_prev,
-                                uint8_t dt_flag, uint8_t nr_par, uint8_t stride,
-                                int8_t and_modulo)
-{
-    int8_t i;
-
-    if (enable == 1)
-    {
-        if (dt_flag == 0)
-        {
-            /* delta coded in frequency direction */
-            index[0] = 0 + index[0];
-            index[0] &= and_modulo;
-
-            for (i = 1; i < nr_par; i++)
-            {
-                index[i] = index[i-1] + index[i];
-                index[i] &= and_modulo;
-            }
-        } else {
-            /* delta coded in time direction */
-            for (i = 0; i < nr_par; i++)
-            {
-                index[i] = index_prev[i*stride] + index[i];
-                index[i] &= and_modulo;
-            }
-        }
-    } else {
-        /* set indices to zero */
-        for (i = 0; i < nr_par; i++)
-        {
-            index[i] = 0;
-        }
-    }
-
-    /* coarse */
-    if (stride == 2)
-    {
-        index[0] = 0;
-        for (i = (nr_par<<1)-1; i > 0; i--)
-        {
-            index[i] = index[i>>1];
-        }
-    }
-}
-
-#ifdef PS_LOW_POWER
-static void map34indexto20(int8_t *index, uint8_t bins)
-{
-    index[0] = (2*index[0]+index[1])/3;
-    index[1] = (index[1]+2*index[2])/3;
-    index[2] = (2*index[3]+index[4])/3;
-    index[3] = (index[4]+2*index[5])/3;
-    index[4] = (index[6]+index[7])/2;
-    index[5] = (index[8]+index[9])/2;
-    index[6] = index[10];
-    index[7] = index[11];
-    index[8] = (index[12]+index[13])/2;
-    index[9] = (index[14]+index[15])/2;
-    index[10] = index[16];
-
-    if (bins == 34)
-    {
-        index[11] = index[17];
-        index[12] = index[18];
-        index[13] = index[19];
-        index[14] = (index[20]+index[21])/2;
-        index[15] = (index[22]+index[23])/2;
-        index[16] = (index[24]+index[25])/2;
-        index[17] = (index[26]+index[27])/2;
-        index[18] = (index[28]+index[29]+index[30]+index[31])/4;
-        index[19] = (index[32]+index[33])/2;
-    }
-}
-#endif
-
-static void map20indexto34(int8_t *index, uint8_t bins)
-{
-    index[0] = index[0];
-    index[1] = (index[0] + index[1])/2;
-    index[2] = index[1];
-    index[3] = index[2];
-    index[4] = (index[2] + index[3])/2;
-    index[5] = index[3];
-    index[6] = index[4];
-    index[7] = index[4];
-    index[8] = index[5];
-    index[9] = index[5];
-    index[10] = index[6];
-    index[11] = index[7];
-    index[12] = index[8];
-    index[13] = index[8];
-    index[14] = index[9];
-    index[15] = index[9];
-    index[16] = index[10];
-
-    if (bins == 34)
-    {
-        index[17] = index[11];
-        index[18] = index[12];
-        index[19] = index[13];
-        index[20] = index[14];
-        index[21] = index[14];
-        index[22] = index[15];
-        index[23] = index[15];
-        index[24] = index[16];
-        index[25] = index[16];
-        index[26] = index[17];
-        index[27] = index[17];
-        index[28] = index[18];
-        index[29] = index[18];
-        index[30] = index[18];
-        index[31] = index[18];
-        index[32] = index[19];
-        index[33] = index[19];
-    }
-}
-
-/* parse the bitstream data decoded in ps_data() */
-static void ps_data_decode(ps_info *ps)
-{
-    uint8_t env, bin;
-
-    /* ps data not available, use data from previous frame */
-    if (ps->ps_data_available == 0)
-    {
-        ps->num_env = 0;
-    }
-
-    for (env = 0; env < ps->num_env; env++)
-    {
-        int8_t *iid_index_prev;
-        int8_t *icc_index_prev;
-        int8_t *ipd_index_prev;
-        int8_t *opd_index_prev;
-
-        int8_t num_iid_steps = (ps->iid_mode < 3) ? 7 : 15 /*fine quant*/;
-
-        if (env == 0)
-        {
-            /* take last envelope from previous frame */
-            iid_index_prev = ps->iid_index_prev;
-            icc_index_prev = ps->icc_index_prev;
-            ipd_index_prev = ps->ipd_index_prev;
-            opd_index_prev = ps->opd_index_prev;
-        } else {
-            /* take index values from previous envelope */
-            iid_index_prev = ps->iid_index[env - 1];
-            icc_index_prev = ps->icc_index[env - 1];
-            ipd_index_prev = ps->ipd_index[env - 1];
-            opd_index_prev = ps->opd_index[env - 1];
-        }
-
-//        iid = 1;
-        /* delta decode iid parameters */
-        delta_decode(ps->enable_iid, ps->iid_index[env], iid_index_prev,
-            ps->iid_dt[env], ps->nr_iid_par,
-            (ps->iid_mode == 0 || ps->iid_mode == 3) ? 2 : 1,
-            -num_iid_steps, num_iid_steps);
-//        iid = 0;
-
-        /* delta decode icc parameters */
-        delta_decode(ps->enable_icc, ps->icc_index[env], icc_index_prev,
-            ps->icc_dt[env], ps->nr_icc_par,
-            (ps->icc_mode == 0 || ps->icc_mode == 3) ? 2 : 1,
-            0, 7);
-
-        /* delta modulo decode ipd parameters */
-        delta_modulo_decode(ps->enable_ipdopd, ps->ipd_index[env], ipd_index_prev,
-            ps->ipd_dt[env], ps->nr_ipdopd_par, 1, 7);
-
-        /* delta modulo decode opd parameters */
-        delta_modulo_decode(ps->enable_ipdopd, ps->opd_index[env], opd_index_prev,
-            ps->opd_dt[env], ps->nr_ipdopd_par, 1, 7);
-    }
-
-    /* handle error case */
-    if (ps->num_env == 0)
-    {
-        /* force to 1 */
-        ps->num_env = 1;
-
-        if (ps->enable_iid)
-        {
-            for (bin = 0; bin < 34; bin++)
-                ps->iid_index[0][bin] = ps->iid_index_prev[bin];
-        } else {
-            for (bin = 0; bin < 34; bin++)
-                ps->iid_index[0][bin] = 0;
-        }
-
-        if (ps->enable_icc)
-        {
-            for (bin = 0; bin < 34; bin++)
-                ps->icc_index[0][bin] = ps->icc_index_prev[bin];
-        } else {
-            for (bin = 0; bin < 34; bin++)
-                ps->icc_index[0][bin] = 0;
-        }
-
-        if (ps->enable_ipdopd)
-        {
-            for (bin = 0; bin < 17; bin++)
-            {
-                ps->ipd_index[0][bin] = ps->ipd_index_prev[bin];
-                ps->opd_index[0][bin] = ps->opd_index_prev[bin];
-            }
-        } else {
-            for (bin = 0; bin < 17; bin++)
-            {
-                ps->ipd_index[0][bin] = 0;
-                ps->opd_index[0][bin] = 0;
-            }
-        }
-    }
-
-    /* update previous indices */
-    for (bin = 0; bin < 34; bin++)
-        ps->iid_index_prev[bin] = ps->iid_index[ps->num_env-1][bin];
-    for (bin = 0; bin < 34; bin++)
-        ps->icc_index_prev[bin] = ps->icc_index[ps->num_env-1][bin];
-    for (bin = 0; bin < 17; bin++)
-    {
-        ps->ipd_index_prev[bin] = ps->ipd_index[ps->num_env-1][bin];
-        ps->opd_index_prev[bin] = ps->opd_index[ps->num_env-1][bin];
-    }
-
-    ps->ps_data_available = 0;
-
-    if (ps->frame_class == 0)
-    {
-        ps->border_position[0] = 0;
-        for (env = 1; env < ps->num_env; env++)
-        {
-            ps->border_position[env] = (env * 32 /* 30 for 960? */) / ps->num_env;
-        }
-        ps->border_position[ps->num_env] = 32 /* 30 for 960? */;
-    } else {
-        ps->border_position[0] = 0;
-
-        if (ps->border_position[ps->num_env] < 32 /* 30 for 960? */)
-        {
-            for (bin = 0; bin < 34; bin++)
-            {
-                ps->iid_index[ps->num_env][bin] = ps->iid_index[ps->num_env-1][bin];
-                ps->icc_index[ps->num_env][bin] = ps->icc_index[ps->num_env-1][bin];
-            }
-            for (bin = 0; bin < 17; bin++)
-            {
-                ps->ipd_index[ps->num_env][bin] = ps->ipd_index[ps->num_env-1][bin];
-                ps->opd_index[ps->num_env][bin] = ps->opd_index[ps->num_env-1][bin];
-            }
-            ps->num_env++;
-            ps->border_position[ps->num_env] = 32 /* 30 for 960? */;
-        }
-
-        for (env = 1; env < ps->num_env; env++)
-        {
-            int8_t thr = 32 /* 30 for 960? */ - (ps->num_env - env);
-
-            if (ps->border_position[env] > thr)
-            {
-                ps->border_position[env] = thr;
-            } else {
-                thr = ps->border_position[env-1]+1;
-                if (ps->border_position[env] < thr)
-                {
-                    ps->border_position[env] = thr;
-                }
-            }
-        }
-    }
-
-    /* make sure that the indices of all parameters can be mapped
-     * to the same hybrid synthesis filterbank
-     */
-#ifdef PS_LOW_POWER
-    for (env = 0; env < ps->num_env; env++)
-    {
-        if (ps->iid_mode == 2 || ps->iid_mode == 5)
-            map34indexto20(ps->iid_index[env], 34);
-        if (ps->icc_mode == 2 || ps->icc_mode == 5)
-            map34indexto20(ps->icc_index[env], 34);
-
-        /* disable ipd/opd */
-        for (bin = 0; bin < 17; bin++)
-        {
-            ps->aaIpdIndex[env][bin] = 0;
-            ps->aaOpdIndex[env][bin] = 0;
-        }
-    }
-#else
-    if (ps->use34hybrid_bands)
-    {
-        for (env = 0; env < ps->num_env; env++)
-        {
-            if (ps->iid_mode != 2 && ps->iid_mode != 5)
-                map20indexto34(ps->iid_index[env], 34);
-            if (ps->icc_mode != 2 && ps->icc_mode != 5)
-                map20indexto34(ps->icc_index[env], 34);
-            if (ps->ipd_mode != 2 && ps->ipd_mode != 5)
-            {
-                map20indexto34(ps->ipd_index[env], 17);
-                map20indexto34(ps->opd_index[env], 17);
-            }
-        }
-    }
-#endif
-
-#if 0
-    for (env = 0; env < ps->num_env; env++)
-    {
-        printf("iid[env:%d]:", env);
-        for (bin = 0; bin < 34; bin++)
-        {
-            printf(" %d", ps->iid_index[env][bin]);
-        }
-        printf("\n");
-    }
-    for (env = 0; env < ps->num_env; env++)
-    {
-        printf("icc[env:%d]:", env);
-        for (bin = 0; bin < 34; bin++)
-        {
-            printf(" %d", ps->icc_index[env][bin]);
-        }
-        printf("\n");
-    }
-    for (env = 0; env < ps->num_env; env++)
-    {
-        printf("ipd[env:%d]:", env);
-        for (bin = 0; bin < 17; bin++)
-        {
-            printf(" %d", ps->ipd_index[env][bin]);
-        }
-        printf("\n");
-    }
-    for (env = 0; env < ps->num_env; env++)
-    {
-        printf("opd[env:%d]:", env);
-        for (bin = 0; bin < 17; bin++)
-        {
-            printf(" %d", ps->opd_index[env][bin]);
-        }
-        printf("\n");
-    }
-    printf("\n");
-#endif
-}
-
-/* decorrelate the mono signal using an allpass filter */
-static void ps_decorrelate(ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64],
-                           qmf_t X_hybrid_left[32][32], qmf_t X_hybrid_right[32][32])
-{
-    uint8_t gr, n, m, bk;
-    uint8_t temp_delay;
-    uint8_t sb, maxsb;
-    const complex_t *Phi_Fract_SubQmf;
-    uint8_t temp_delay_ser[NO_ALLPASS_LINKS];
-    real_t P_SmoothPeakDecayDiffNrg, nrg;
-    real_t P[32][34];
-    real_t G_TransientRatio[32][34] = {{0}};
-    complex_t inputLeft;
-
-
-    /* chose hybrid filterbank: 20 or 34 band case */
-    if (ps->use34hybrid_bands)
-    {
-        Phi_Fract_SubQmf = Phi_Fract_SubQmf34;
-    } else{
-        Phi_Fract_SubQmf = Phi_Fract_SubQmf20;
-    }
-
-    /* clear the energy values */
-    for (n = 0; n < 32; n++)
-    {
-        for (bk = 0; bk < 34; bk++)
-        {
-            P[n][bk] = 0;
-        }
-    }
-
-    /* calculate the energy in each parameter band b(k) */
-    for (gr = 0; gr < ps->num_groups; gr++)
-    {
-        /* select the parameter index b(k) to which this group belongs */
-        bk = (~NEGATE_IPD_MASK) & ps->map_group2bk[gr];
-
-        /* select the upper subband border for this group */
-        maxsb = (gr < ps->num_hybrid_groups) ? ps->group_border[gr]+1 : ps->group_border[gr+1];
-
-        for (sb = ps->group_border[gr]; sb < maxsb; sb++)
-        {
-            for (n = ps->border_position[0]; n < ps->border_position[ps->num_env]; n++)
-            {
-#ifdef FIXED_POINT
-                uint32_t in_re, in_im;
-#endif
-
-                /* input from hybrid subbands or QMF subbands */
-                if (gr < ps->num_hybrid_groups)
-                {
-                    RE(inputLeft) = QMF_RE(X_hybrid_left[n][sb]);
-                    IM(inputLeft) = QMF_IM(X_hybrid_left[n][sb]);
-                } else {
-                    RE(inputLeft) = QMF_RE(X_left[n][sb]);
-                    IM(inputLeft) = QMF_IM(X_left[n][sb]);
-                }
-
-                /* accumulate energy */
-#ifdef FIXED_POINT
-                /* NOTE: all input is scaled by 2^(-5) because of fixed point QMF
-                 * meaning that P will be scaled by 2^(-10) compared to floating point version
-                 */
-                in_re = ((abs(RE(inputLeft))+(1<<(REAL_BITS-1)))>>REAL_BITS);
-                in_im = ((abs(IM(inputLeft))+(1<<(REAL_BITS-1)))>>REAL_BITS);
-                P[n][bk] += in_re*in_re + in_im*in_im;
-#else
-                P[n][bk] += MUL_R(RE(inputLeft),RE(inputLeft)) + MUL_R(IM(inputLeft),IM(inputLeft));
-#endif
-            }
-        }
-    }
-
-#if 0
-    for (n = 0; n < 32; n++)
-    {
-        for (bk = 0; bk < 34; bk++)
-        {
-#ifdef FIXED_POINT
-            printf("%d %d: %d\n", n, bk, P[n][bk] /*/(float)REAL_PRECISION*/);
-#else
-            printf("%d %d: %f\n", n, bk, P[n][bk]/1024.0);
-#endif
-        }
-    }
-#endif
-
-    /* calculate transient reduction ratio for each parameter band b(k) */
-    for (bk = 0; bk < ps->nr_par_bands; bk++)
-    {
-        for (n = ps->border_position[0]; n < ps->border_position[ps->num_env]; n++)
-        {
-            const real_t gamma = COEF_CONST(1.5);
-
-            ps->P_PeakDecayNrg[bk] = MUL_F(ps->P_PeakDecayNrg[bk], ps->alpha_decay);
-            if (ps->P_PeakDecayNrg[bk] < P[n][bk])
-                ps->P_PeakDecayNrg[bk] = P[n][bk];
-
-            /* apply smoothing filter to peak decay energy */
-            P_SmoothPeakDecayDiffNrg = ps->P_SmoothPeakDecayDiffNrg_prev[bk];
-            P_SmoothPeakDecayDiffNrg += MUL_F((ps->P_PeakDecayNrg[bk] - P[n][bk] - ps->P_SmoothPeakDecayDiffNrg_prev[bk]), ps->alpha_smooth);
-            ps->P_SmoothPeakDecayDiffNrg_prev[bk] = P_SmoothPeakDecayDiffNrg;
-
-            /* apply smoothing filter to energy */
-            nrg = ps->P_prev[bk];
-            nrg += MUL_F((P[n][bk] - ps->P_prev[bk]), ps->alpha_smooth);
-            ps->P_prev[bk] = nrg;
-
-            /* calculate transient ratio */
-            if (MUL_C(P_SmoothPeakDecayDiffNrg, gamma) <= nrg)
-            {
-                G_TransientRatio[n][bk] = REAL_CONST(1.0);
-            } else {
-                G_TransientRatio[n][bk] = DIV_R(nrg, (MUL_C(P_SmoothPeakDecayDiffNrg, gamma)));
-            }
-        }
-    }
-
-#if 0
-    for (n = 0; n < 32; n++)
-    {
-        for (bk = 0; bk < 34; bk++)
-        {
-#ifdef FIXED_POINT
-            printf("%d %d: %f\n", n, bk, G_TransientRatio[n][bk]/(float)REAL_PRECISION);
-#else
-            printf("%d %d: %f\n", n, bk, G_TransientRatio[n][bk]);
-#endif
-        }
-    }
-#endif
-
-    /* apply stereo decorrelation filter to the signal */
-    for (gr = 0; gr < ps->num_groups; gr++)
-    {
-        if (gr < ps->num_hybrid_groups)
-            maxsb = ps->group_border[gr] + 1;
-        else
-            maxsb = ps->group_border[gr + 1];
-
-        /* QMF channel */
-        for (sb = ps->group_border[gr]; sb < maxsb; sb++)
-        {
-            real_t g_DecaySlope;
-            real_t g_DecaySlope_filt[NO_ALLPASS_LINKS];
-
-            /* g_DecaySlope: [0..1] */
-            if (gr < ps->num_hybrid_groups || sb <= ps->decay_cutoff)
-            {
-                g_DecaySlope = FRAC_CONST(1.0);
-            } else {
-                int8_t decay = ps->decay_cutoff - sb;
-                if (decay <= -20 /* -1/DECAY_SLOPE */)
-                {
-                    g_DecaySlope = 0;
-                } else {
-                    /* decay(int)*decay_slope(frac) = g_DecaySlope(frac) */
-                    g_DecaySlope = FRAC_CONST(1.0) + DECAY_SLOPE * decay;
-                }
-            }
-
-            /* calculate g_DecaySlope_filt for every m multiplied by filter_a[m] */
-            for (m = 0; m < NO_ALLPASS_LINKS; m++)
-            {
-                g_DecaySlope_filt[m] = MUL_F(g_DecaySlope, filter_a[m]);
-            }
-
-
-            /* set delay indices */
-            temp_delay = ps->saved_delay;
-            for (n = 0; n < NO_ALLPASS_LINKS; n++)
-                temp_delay_ser[n] = ps->delay_buf_index_ser[n];
-
-            for (n = ps->border_position[0]; n < ps->border_position[ps->num_env]; n++)
-            {
-                complex_t tmp, tmp0, R0;
-
-                if (gr < ps->num_hybrid_groups)
-                {
-                    /* hybrid filterbank input */
-                    RE(inputLeft) = QMF_RE(X_hybrid_left[n][sb]);
-                    IM(inputLeft) = QMF_IM(X_hybrid_left[n][sb]);
-                } else {
-                    /* QMF filterbank input */
-                    RE(inputLeft) = QMF_RE(X_left[n][sb]);
-                    IM(inputLeft) = QMF_IM(X_left[n][sb]);
-                }
-
-                if (sb > ps->nr_allpass_bands && gr >= ps->num_hybrid_groups)
-                {
-                    /* delay */
-
-                    /* never hybrid subbands here, always QMF subbands */
-                    RE(tmp) = RE(ps->delay_Qmf[ps->delay_buf_index_delay[sb]][sb]);
-                    IM(tmp) = IM(ps->delay_Qmf[ps->delay_buf_index_delay[sb]][sb]);
-                    RE(R0) = RE(tmp);
-                    IM(R0) = IM(tmp);
-                    RE(ps->delay_Qmf[ps->delay_buf_index_delay[sb]][sb]) = RE(inputLeft);
-                    IM(ps->delay_Qmf[ps->delay_buf_index_delay[sb]][sb]) = IM(inputLeft);
-                } else {
-                    /* allpass filter */
-                    uint8_t m;
-                    complex_t Phi_Fract;
-
-                    /* fetch parameters */
-                    if (gr < ps->num_hybrid_groups)
-                    {
-                        /* select data from the hybrid subbands */
-                        RE(tmp0) = RE(ps->delay_SubQmf[temp_delay][sb]);
-                        IM(tmp0) = IM(ps->delay_SubQmf[temp_delay][sb]);
-
-                        RE(ps->delay_SubQmf[temp_delay][sb]) = RE(inputLeft);
-                        IM(ps->delay_SubQmf[temp_delay][sb]) = IM(inputLeft);
-
-                        RE(Phi_Fract) = RE(Phi_Fract_SubQmf[sb]);
-                        IM(Phi_Fract) = IM(Phi_Fract_SubQmf[sb]);
-                    } else {
-                        /* select data from the QMF subbands */
-                        RE(tmp0) = RE(ps->delay_Qmf[temp_delay][sb]);
-                        IM(tmp0) = IM(ps->delay_Qmf[temp_delay][sb]);
-
-                        RE(ps->delay_Qmf[temp_delay][sb]) = RE(inputLeft);
-                        IM(ps->delay_Qmf[temp_delay][sb]) = IM(inputLeft);
-
-                        RE(Phi_Fract) = RE(Phi_Fract_Qmf[sb]);
-                        IM(Phi_Fract) = IM(Phi_Fract_Qmf[sb]);
-                    }
-
-                    /* z^(-2) * Phi_Fract[k] */
-                    ComplexMult(&RE(tmp), &IM(tmp), RE(tmp0), IM(tmp0), RE(Phi_Fract), IM(Phi_Fract));
-
-                    RE(R0) = RE(tmp);
-                    IM(R0) = IM(tmp);
-                    for (m = 0; m < NO_ALLPASS_LINKS; m++)
-                    {
-                        complex_t Q_Fract_allpass, tmp2;
-
-                        /* fetch parameters */
-                        if (gr < ps->num_hybrid_groups)
-                        {
-                            /* select data from the hybrid subbands */
-                            RE(tmp0) = RE(ps->delay_SubQmf_ser[m][temp_delay_ser[m]][sb]);
-                            IM(tmp0) = IM(ps->delay_SubQmf_ser[m][temp_delay_ser[m]][sb]);
-
-                            if (ps->use34hybrid_bands)
-                            {
-                                RE(Q_Fract_allpass) = RE(Q_Fract_allpass_SubQmf34[sb][m]);
-                                IM(Q_Fract_allpass) = IM(Q_Fract_allpass_SubQmf34[sb][m]);
-                            } else {
-                                RE(Q_Fract_allpass) = RE(Q_Fract_allpass_SubQmf20[sb][m]);
-                                IM(Q_Fract_allpass) = IM(Q_Fract_allpass_SubQmf20[sb][m]);
-                            }
-                        } else {
-                            /* select data from the QMF subbands */
-                            RE(tmp0) = RE(ps->delay_Qmf_ser[m][temp_delay_ser[m]][sb]);
-                            IM(tmp0) = IM(ps->delay_Qmf_ser[m][temp_delay_ser[m]][sb]);
-
-                            RE(Q_Fract_allpass) = RE(Q_Fract_allpass_Qmf[sb][m]);
-                            IM(Q_Fract_allpass) = IM(Q_Fract_allpass_Qmf[sb][m]);
-                        }
-
-                        /* delay by a fraction */
-                        /* z^(-d(m)) * Q_Fract_allpass[k,m] */
-                        ComplexMult(&RE(tmp), &IM(tmp), RE(tmp0), IM(tmp0), RE(Q_Fract_allpass), IM(Q_Fract_allpass));
-
-                        /* -a(m) * g_DecaySlope[k] */
-                        RE(tmp) += -MUL_F(g_DecaySlope_filt[m], RE(R0));
-                        IM(tmp) += -MUL_F(g_DecaySlope_filt[m], IM(R0));
-
-                        /* -a(m) * g_DecaySlope[k] * Q_Fract_allpass[k,m] * z^(-d(m)) */
-                        RE(tmp2) = RE(R0) + MUL_F(g_DecaySlope_filt[m], RE(tmp));
-                        IM(tmp2) = IM(R0) + MUL_F(g_DecaySlope_filt[m], IM(tmp));
-
-                        /* store sample */
-                        if (gr < ps->num_hybrid_groups)
-                        {
-                            RE(ps->delay_SubQmf_ser[m][temp_delay_ser[m]][sb]) = RE(tmp2);
-                            IM(ps->delay_SubQmf_ser[m][temp_delay_ser[m]][sb]) = IM(tmp2);
-                        } else {
-                            RE(ps->delay_Qmf_ser[m][temp_delay_ser[m]][sb]) = RE(tmp2);
-                            IM(ps->delay_Qmf_ser[m][temp_delay_ser[m]][sb]) = IM(tmp2);
-                        }
-
-                        /* store for next iteration (or as output value if last iteration) */
-                        RE(R0) = RE(tmp);
-                        IM(R0) = IM(tmp);
-                    }
-                }
-
-                /* select b(k) for reading the transient ratio */
-                bk = (~NEGATE_IPD_MASK) & ps->map_group2bk[gr];
-
-                /* duck if a past transient is found */
-                RE(R0) = MUL_R(G_TransientRatio[n][bk], RE(R0));
-                IM(R0) = MUL_R(G_TransientRatio[n][bk], IM(R0));
-
-                if (gr < ps->num_hybrid_groups)
-                {
-                    /* hybrid */
-                    QMF_RE(X_hybrid_right[n][sb]) = RE(R0);
-                    QMF_IM(X_hybrid_right[n][sb]) = IM(R0);
-                } else {
-                    /* QMF */
-                    QMF_RE(X_right[n][sb]) = RE(R0);
-                    QMF_IM(X_right[n][sb]) = IM(R0);
-                }
-
-                /* Update delay buffer index */
-                if (++temp_delay >= 2)
-                {
-                    temp_delay = 0;
-                }
-
-                /* update delay indices */
-                if (sb > ps->nr_allpass_bands && gr >= ps->num_hybrid_groups)
-                {
-                    /* delay_D depends on the samplerate, it can hold the values 14 and 1 */
-                    if (++ps->delay_buf_index_delay[sb] >= ps->delay_D[sb])
-                    {
-                        ps->delay_buf_index_delay[sb] = 0;
-                    }
-                }
-
-                for (m = 0; m < NO_ALLPASS_LINKS; m++)
-                {
-                    if (++temp_delay_ser[m] >= ps->num_sample_delay_ser[m])
-                    {
-                        temp_delay_ser[m] = 0;
-                    }
-                }
-            }
-        }
-    }
-
-    /* update delay indices */
-    ps->saved_delay = temp_delay;
-    for (m = 0; m < NO_ALLPASS_LINKS; m++)
-        ps->delay_buf_index_ser[m] = temp_delay_ser[m];
-}
-
-#ifdef FIXED_POINT
-#define step(shift) \
-    if ((0x40000000l >> shift) + root <= value)       \
-    {                                                 \
-        value -= (0x40000000l >> shift) + root;       \
-        root = (root >> 1) | (0x40000000l >> shift);  \
-    } else {                                          \
-        root = root >> 1;                             \
-    }
-
-/* fixed point square root approximation */
-static real_t ps_sqrt(real_t value)
-{
-    real_t root = 0;
-
-    step( 0); step( 2); step( 4); step( 6);
-    step( 8); step(10); step(12); step(14);
-    step(16); step(18); step(20); step(22);
-    step(24); step(26); step(28); step(30);
-
-    if (root < value)
-        ++root;
-
-    root <<= (REAL_BITS/2);
-
-    return root;
-}
-#else
-#define ps_sqrt(A) sqrt(A)
-#endif
-
-static const real_t ipdopd_cos_tab[] = {
-    FRAC_CONST(1.000000000000000),
-    FRAC_CONST(0.707106781186548),
-    FRAC_CONST(0.000000000000000),
-    FRAC_CONST(-0.707106781186547),
-    FRAC_CONST(-1.000000000000000),
-    FRAC_CONST(-0.707106781186548),
-    FRAC_CONST(-0.000000000000000),
-    FRAC_CONST(0.707106781186547),
-    FRAC_CONST(1.000000000000000)
-};
-
-static const real_t ipdopd_sin_tab[] = {
-    FRAC_CONST(0.000000000000000),
-    FRAC_CONST(0.707106781186547),
-    FRAC_CONST(1.000000000000000),
-    FRAC_CONST(0.707106781186548),
-    FRAC_CONST(0.000000000000000),
-    FRAC_CONST(-0.707106781186547),
-    FRAC_CONST(-1.000000000000000),
-    FRAC_CONST(-0.707106781186548),
-    FRAC_CONST(-0.000000000000000)
-};
-
-static real_t magnitude_c(complex_t c)
-{
-#ifdef FIXED_POINT
-#define ps_abs(A) (((A) > 0) ? (A) : (-(A)))
-#define ALPHA FRAC_CONST(0.948059448969)
-#define BETA  FRAC_CONST(0.392699081699)
-
-    real_t abs_inphase = ps_abs(RE(c));
-    real_t abs_quadrature = ps_abs(IM(c));
-
-    if (abs_inphase > abs_quadrature) {
-        return MUL_F(abs_inphase, ALPHA) + MUL_F(abs_quadrature, BETA);
-    } else {
-        return MUL_F(abs_quadrature, ALPHA) + MUL_F(abs_inphase, BETA);
-    }
-#else
-    return sqrt(RE(c)*RE(c) + IM(c)*IM(c));
-#endif
-}
-
-static void ps_mix_phase(ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64],
-                         qmf_t X_hybrid_left[32][32], qmf_t X_hybrid_right[32][32])
-{
-    uint8_t n;
-    uint8_t gr;
-    uint8_t bk = 0;
-    uint8_t sb, maxsb;
-    uint8_t env;
-    uint8_t nr_ipdopd_par;
-    complex_t h11, h12, h21, h22;
-    complex_t H11, H12, H21, H22;
-    complex_t deltaH11, deltaH12, deltaH21, deltaH22;
-    complex_t tempLeft;
-    complex_t tempRight;
-    complex_t phaseLeft;
-    complex_t phaseRight;
-    real_t L;
-    const real_t *sf_iid;
-    uint8_t no_iid_steps;
-
-    if (ps->iid_mode >= 3)
-    {
-        no_iid_steps = 15;
-        sf_iid = sf_iid_fine;
-    } else {
-        no_iid_steps = 7;
-        sf_iid = sf_iid_normal;
-    }
-
-    if (ps->ipd_mode == 0 || ps->ipd_mode == 3)
-    {
-        nr_ipdopd_par = 11; /* resolution */
-    } else {
-        nr_ipdopd_par = ps->nr_ipdopd_par;
-    }
-
-    for (gr = 0; gr < ps->num_groups; gr++)
-    {
-        bk = (~NEGATE_IPD_MASK) & ps->map_group2bk[gr];
-
-        /* use one channel per group in the subqmf domain */
-        maxsb = (gr < ps->num_hybrid_groups) ? ps->group_border[gr] + 1 : ps->group_border[gr + 1];
-
-        for (env = 0; env < ps->num_env; env++)
-        {
-            if (ps->icc_mode < 3)
-            {
-                /* type 'A' mixing as described in 8.6.4.6.2.1 */
-                real_t c_1, c_2;
-                real_t cosa, sina;
-                real_t cosb, sinb;
-                real_t ab1, ab2;
-                real_t ab3, ab4;
-
-                /*
-                c_1 = sqrt(2.0 / (1.0 + pow(10.0, quant_iid[no_iid_steps + iid_index] / 10.0)));
-                c_2 = sqrt(2.0 / (1.0 + pow(10.0, quant_iid[no_iid_steps - iid_index] / 10.0)));
-                alpha = 0.5 * acos(quant_rho[icc_index]);
-                beta = alpha * ( c_1 - c_2 ) / sqrt(2.0);
-                */
-
-                //printf("%d\n", ps->iid_index[env][bk]);
-
-                /* calculate the scalefactors c_1 and c_2 from the intensity differences */
-                c_1 = sf_iid[no_iid_steps + ps->iid_index[env][bk]];
-                c_2 = sf_iid[no_iid_steps - ps->iid_index[env][bk]];
-
-                /* calculate alpha and beta using the ICC parameters */
-                cosa = cos_alphas[ps->icc_index[env][bk]];
-                sina = sin_alphas[ps->icc_index[env][bk]];
-
-                if (ps->iid_mode >= 3)
-                {
-                    if (ps->iid_index[env][bk] < 0)
-                    {
-                        cosb =  cos_betas_fine[-ps->iid_index[env][bk]][ps->icc_index[env][bk]];
-                        sinb = -sin_betas_fine[-ps->iid_index[env][bk]][ps->icc_index[env][bk]];
-                    } else {
-                        cosb = cos_betas_fine[ps->iid_index[env][bk]][ps->icc_index[env][bk]];
-                        sinb = sin_betas_fine[ps->iid_index[env][bk]][ps->icc_index[env][bk]];
-                    }
-                } else {
-                    if (ps->iid_index[env][bk] < 0)
-                    {
-                        cosb =  cos_betas_normal[-ps->iid_index[env][bk]][ps->icc_index[env][bk]];
-                        sinb = -sin_betas_normal[-ps->iid_index[env][bk]][ps->icc_index[env][bk]];
-                    } else {
-                        cosb = cos_betas_normal[ps->iid_index[env][bk]][ps->icc_index[env][bk]];
-                        sinb = sin_betas_normal[ps->iid_index[env][bk]][ps->icc_index[env][bk]];
-                    }
-                }
-
-                ab1 = MUL_C(cosb, cosa);
-                ab2 = MUL_C(sinb, sina);
-                ab3 = MUL_C(sinb, cosa);
-                ab4 = MUL_C(cosb, sina);
-
-                /* h_xy: COEF */
-                RE(h11) = MUL_C(c_2, (ab1 - ab2));
-                RE(h12) = MUL_C(c_1, (ab1 + ab2));
-                RE(h21) = MUL_C(c_2, (ab3 + ab4));
-                RE(h22) = MUL_C(c_1, (ab3 - ab4));
-            } else {
-                /* type 'B' mixing as described in 8.6.4.6.2.2 */
-                real_t sina, cosa;
-                real_t cosg, sing;
-
-                /*
-                real_t c, rho, mu, alpha, gamma;
-                uint8_t i;
-
-                i = ps->iid_index[env][bk];
-                c = (real_t)pow(10.0, ((i)?(((i>0)?1:-1)*quant_iid[((i>0)?i:-i)-1]):0.)/20.0);
-                rho = quant_rho[ps->icc_index[env][bk]];
-
-                if (rho == 0.0f && c == 1.)
-                {
-                    alpha = (real_t)M_PI/4.0f;
-                    rho = 0.05f;
-                } else {
-                    if (rho <= 0.05f)
-                    {
-                        rho = 0.05f;
-                    }
-                    alpha = 0.5f*(real_t)atan( (2.0f*c*rho) / (c*c-1.0f) );
-
-                    if (alpha < 0.)
-                    {
-                        alpha += (real_t)M_PI/2.0f;
-                    }
-                    if (rho < 0.)
-                    {
-                        alpha += (real_t)M_PI;
-                    }
-                }
-                mu = c+1.0f/c;
-                mu = 1+(4.0f*rho*rho-4.0f)/(mu*mu);
-                gamma = (real_t)atan(sqrt((1.0f-sqrt(mu))/(1.0f+sqrt(mu))));
-                */
-
-                if (ps->iid_mode >= 3)
-                {
-                    uint8_t abs_iid = abs(ps->iid_index[env][bk]);
-
-                    cosa = sincos_alphas_B_fine[no_iid_steps + ps->iid_index[env][bk]][ps->icc_index[env][bk]];
-                    sina = sincos_alphas_B_fine[30 - (no_iid_steps + ps->iid_index[env][bk])][ps->icc_index[env][bk]];
-                    cosg = cos_gammas_fine[abs_iid][ps->icc_index[env][bk]];
-                    sing = sin_gammas_fine[abs_iid][ps->icc_index[env][bk]];
-                } else {
-                    uint8_t abs_iid = abs(ps->iid_index[env][bk]);
-
-                    cosa = sincos_alphas_B_normal[no_iid_steps + ps->iid_index[env][bk]][ps->icc_index[env][bk]];
-                    sina = sincos_alphas_B_normal[14 - (no_iid_steps + ps->iid_index[env][bk])][ps->icc_index[env][bk]];
-                    cosg = cos_gammas_normal[abs_iid][ps->icc_index[env][bk]];
-                    sing = sin_gammas_normal[abs_iid][ps->icc_index[env][bk]];
-                }
-
-                RE(h11) = MUL_C(COEF_SQRT2, MUL_C(cosa, cosg));
-                RE(h12) = MUL_C(COEF_SQRT2, MUL_C(sina, cosg));
-                RE(h21) = MUL_C(COEF_SQRT2, MUL_C(-cosa, sing));
-                RE(h22) = MUL_C(COEF_SQRT2, MUL_C(sina, sing));
-            }
-
-            /* calculate phase rotation parameters H_xy */
-            /* note that the imaginary part of these parameters are only calculated when
-               IPD and OPD are enabled
-             */
-            if ((ps->enable_ipdopd) && (bk < nr_ipdopd_par))
-            {
-                int8_t i;
-                real_t xy, pq, xypq;
-
-                /* ringbuffer index */
-                i = ps->phase_hist;
-
-                /* previous value */
-#ifdef FIXED_POINT
-                /* divide by 4, shift right 2 bits */
-                RE(tempLeft)  = RE(ps->ipd_prev[bk][i]) >> 2;
-                IM(tempLeft)  = IM(ps->ipd_prev[bk][i]) >> 2;
-                RE(tempRight) = RE(ps->opd_prev[bk][i]) >> 2;
-                IM(tempRight) = IM(ps->opd_prev[bk][i]) >> 2;
-#else
-                RE(tempLeft)  = MUL_F(RE(ps->ipd_prev[bk][i]), FRAC_CONST(0.25));
-                IM(tempLeft)  = MUL_F(IM(ps->ipd_prev[bk][i]), FRAC_CONST(0.25));
-                RE(tempRight) = MUL_F(RE(ps->opd_prev[bk][i]), FRAC_CONST(0.25));
-                IM(tempRight) = MUL_F(IM(ps->opd_prev[bk][i]), FRAC_CONST(0.25));
-#endif
-
-                /* save current value */
-                RE(ps->ipd_prev[bk][i]) = ipdopd_cos_tab[abs(ps->ipd_index[env][bk])];
-                IM(ps->ipd_prev[bk][i]) = ipdopd_sin_tab[abs(ps->ipd_index[env][bk])];
-                RE(ps->opd_prev[bk][i]) = ipdopd_cos_tab[abs(ps->opd_index[env][bk])];
-                IM(ps->opd_prev[bk][i]) = ipdopd_sin_tab[abs(ps->opd_index[env][bk])];
-
-                /* add current value */
-                RE(tempLeft)  += RE(ps->ipd_prev[bk][i]);
-                IM(tempLeft)  += IM(ps->ipd_prev[bk][i]);
-                RE(tempRight) += RE(ps->opd_prev[bk][i]);
-                IM(tempRight) += IM(ps->opd_prev[bk][i]);
-
-                /* ringbuffer index */
-                if (i == 0)
-                {
-                    i = 2;
-                }
-                i--;
-
-                /* get value before previous */
-#ifdef FIXED_POINT
-                /* dividing by 2, shift right 1 bit */
-                RE(tempLeft)  += (RE(ps->ipd_prev[bk][i]) >> 1);
-                IM(tempLeft)  += (IM(ps->ipd_prev[bk][i]) >> 1);
-                RE(tempRight) += (RE(ps->opd_prev[bk][i]) >> 1);
-                IM(tempRight) += (IM(ps->opd_prev[bk][i]) >> 1);
-#else
-                RE(tempLeft)  += MUL_F(RE(ps->ipd_prev[bk][i]), FRAC_CONST(0.5));
-                IM(tempLeft)  += MUL_F(IM(ps->ipd_prev[bk][i]), FRAC_CONST(0.5));
-                RE(tempRight) += MUL_F(RE(ps->opd_prev[bk][i]), FRAC_CONST(0.5));
-                IM(tempRight) += MUL_F(IM(ps->opd_prev[bk][i]), FRAC_CONST(0.5));
-#endif
-
-#if 0 /* original code */
-                ipd = (float)atan2(IM(tempLeft), RE(tempLeft));
-                opd = (float)atan2(IM(tempRight), RE(tempRight));
-
-                /* phase rotation */
-                RE(phaseLeft) = (float)cos(opd);
-                IM(phaseLeft) = (float)sin(opd);
-                opd -= ipd;
-                RE(phaseRight) = (float)cos(opd);
-                IM(phaseRight) = (float)sin(opd);
-#else
-
-                // x = IM(tempLeft)
-                // y = RE(tempLeft)
-                // p = IM(tempRight)
-                // q = RE(tempRight)
-                // cos(atan2(x,y)) = y/sqrt((x*x) + (y*y))
-                // sin(atan2(x,y)) = x/sqrt((x*x) + (y*y))
-                // cos(atan2(x,y)-atan2(p,q)) = (y*q + x*p) / ( sqrt((x*x) + (y*y)) * sqrt((p*p) + (q*q)) );
-                // sin(atan2(x,y)-atan2(p,q)) = (x*q - y*p) / ( sqrt((x*x) + (y*y)) * sqrt((p*p) + (q*q)) );
-
-                xy = magnitude_c(tempRight);
-                pq = magnitude_c(tempLeft);
-
-                if (xy != 0)
-                {
-                    RE(phaseLeft) = DIV_R(RE(tempRight), xy);
-                    IM(phaseLeft) = DIV_R(IM(tempRight), xy);
-                } else {
-                    RE(phaseLeft) = 0;
-                    IM(phaseLeft) = 0;
-                }
-
-                xypq = MUL_R(xy, pq);
-
-                if (xypq != 0)
-                {
-                    real_t tmp1 = MUL_R(RE(tempRight), RE(tempLeft)) + MUL_R(IM(tempRight), IM(tempLeft));
-                    real_t tmp2 = MUL_R(IM(tempRight), RE(tempLeft)) - MUL_R(RE(tempRight), IM(tempLeft));
-
-                    RE(phaseRight) = DIV_R(tmp1, xypq);
-                    IM(phaseRight) = DIV_R(tmp2, xypq);
-                } else {
-                    RE(phaseRight) = 0;
-                    IM(phaseRight) = 0;
-                }
-
-#endif
-
-                /* MUL_F(COEF, REAL) = COEF */
-                IM(h11) = MUL_R(RE(h11), IM(phaseLeft));
-                IM(h12) = MUL_R(RE(h12), IM(phaseRight));
-                IM(h21) = MUL_R(RE(h21), IM(phaseLeft));
-                IM(h22) = MUL_R(RE(h22), IM(phaseRight));
-
-                RE(h11) = MUL_R(RE(h11), RE(phaseLeft));
-                RE(h12) = MUL_R(RE(h12), RE(phaseRight));
-                RE(h21) = MUL_R(RE(h21), RE(phaseLeft));
-                RE(h22) = MUL_R(RE(h22), RE(phaseRight));
-            }
-
-            /* length of the envelope n_e+1 - n_e (in time samples) */
-            /* 0 < L <= 32: integer */
-            L = (real_t)(ps->border_position[env + 1] - ps->border_position[env]);
-
-            /* obtain final H_xy by means of linear interpolation */
-            RE(deltaH11) = (RE(h11) - RE(ps->h11_prev[gr])) / L;
-            RE(deltaH12) = (RE(h12) - RE(ps->h12_prev[gr])) / L;
-            RE(deltaH21) = (RE(h21) - RE(ps->h21_prev[gr])) / L;
-            RE(deltaH22) = (RE(h22) - RE(ps->h22_prev[gr])) / L;
-
-            RE(H11) = RE(ps->h11_prev[gr]);
-            RE(H12) = RE(ps->h12_prev[gr]);
-            RE(H21) = RE(ps->h21_prev[gr]);
-            RE(H22) = RE(ps->h22_prev[gr]);
-
-            RE(ps->h11_prev[gr]) = RE(h11);
-            RE(ps->h12_prev[gr]) = RE(h12);
-            RE(ps->h21_prev[gr]) = RE(h21);
-            RE(ps->h22_prev[gr]) = RE(h22);
-
-            /* only calculate imaginary part when needed */
-            if ((ps->enable_ipdopd) && (bk < nr_ipdopd_par))
-            {
-                /* obtain final H_xy by means of linear interpolation */
-                IM(deltaH11) = (IM(h11) - IM(ps->h11_prev[gr])) / L;
-                IM(deltaH12) = (IM(h12) - IM(ps->h12_prev[gr])) / L;
-                IM(deltaH21) = (IM(h21) - IM(ps->h21_prev[gr])) / L;
-                IM(deltaH22) = (IM(h22) - IM(ps->h22_prev[gr])) / L;
-
-                IM(H11) = IM(ps->h11_prev[gr]);
-                IM(H12) = IM(ps->h12_prev[gr]);
-                IM(H21) = IM(ps->h21_prev[gr]);
-                IM(H22) = IM(ps->h22_prev[gr]);
-
-                if ((NEGATE_IPD_MASK & ps->map_group2bk[gr]) != 0)
-                {
-                    IM(deltaH11) = -IM(deltaH11);
-                    IM(deltaH12) = -IM(deltaH12);
-                    IM(deltaH21) = -IM(deltaH21);
-                    IM(deltaH22) = -IM(deltaH22);
-
-                    IM(H11) = -IM(H11);
-                    IM(H12) = -IM(H12);
-                    IM(H21) = -IM(H21);
-                    IM(H22) = -IM(H22);
-                }
-
-                IM(ps->h11_prev[gr]) = IM(h11);
-                IM(ps->h12_prev[gr]) = IM(h12);
-                IM(ps->h21_prev[gr]) = IM(h21);
-                IM(ps->h22_prev[gr]) = IM(h22);
-            }
-
-            /* apply H_xy to the current envelope band of the decorrelated subband */
-            for (n = ps->border_position[env]; n < ps->border_position[env + 1]; n++)
-            {
-                /* addition finalises the interpolation over every n */
-                RE(H11) += RE(deltaH11);
-                RE(H12) += RE(deltaH12);
-                RE(H21) += RE(deltaH21);
-                RE(H22) += RE(deltaH22);
-                if ((ps->enable_ipdopd) && (bk < nr_ipdopd_par))
-                {
-                    IM(H11) += IM(deltaH11);
-                    IM(H12) += IM(deltaH12);
-                    IM(H21) += IM(deltaH21);
-                    IM(H22) += IM(deltaH22);
-                }
-
-                /* channel is an alias to the subband */
-                for (sb = ps->group_border[gr]; sb < maxsb; sb++)
-                {
-                    complex_t inLeft, inRight;
-
-                    /* load decorrelated samples */
-                    if (gr < ps->num_hybrid_groups)
-                    {
-                        RE(inLeft) =  RE(X_hybrid_left[n][sb]);
-                        IM(inLeft) =  IM(X_hybrid_left[n][sb]);
-                        RE(inRight) = RE(X_hybrid_right[n][sb]);
-                        IM(inRight) = IM(X_hybrid_right[n][sb]);
-                    } else {
-                        RE(inLeft) =  RE(X_left[n][sb]);
-                        IM(inLeft) =  IM(X_left[n][sb]);
-                        RE(inRight) = RE(X_right[n][sb]);
-                        IM(inRight) = IM(X_right[n][sb]);
-                    }
-
-                    /* apply mixing */
-                    RE(tempLeft) =  MUL_C(RE(H11), RE(inLeft)) + MUL_C(RE(H21), RE(inRight));
-                    IM(tempLeft) =  MUL_C(RE(H11), IM(inLeft)) + MUL_C(RE(H21), IM(inRight));
-                    RE(tempRight) = MUL_C(RE(H12), RE(inLeft)) + MUL_C(RE(H22), RE(inRight));
-                    IM(tempRight) = MUL_C(RE(H12), IM(inLeft)) + MUL_C(RE(H22), IM(inRight));
-
-                    /* only perform imaginary operations when needed */
-                    if ((ps->enable_ipdopd) && (bk < nr_ipdopd_par))
-                    {
-                        /* apply rotation */
-                        RE(tempLeft)  -= MUL_C(IM(H11), IM(inLeft)) + MUL_C(IM(H21), IM(inRight));
-                        IM(tempLeft)  += MUL_C(IM(H11), RE(inLeft)) + MUL_C(IM(H21), RE(inRight));
-                        RE(tempRight) -= MUL_C(IM(H12), IM(inLeft)) + MUL_C(IM(H22), IM(inRight));
-                        IM(tempRight) += MUL_C(IM(H12), RE(inLeft)) + MUL_C(IM(H22), RE(inRight));
-                    }
-
-                    /* store final samples */
-                    if (gr < ps->num_hybrid_groups)
-                    {
-                        RE(X_hybrid_left[n][sb])  = RE(tempLeft);
-                        IM(X_hybrid_left[n][sb])  = IM(tempLeft);
-                        RE(X_hybrid_right[n][sb]) = RE(tempRight);
-                        IM(X_hybrid_right[n][sb]) = IM(tempRight);
-                    } else {
-                        RE(X_left[n][sb])  = RE(tempLeft);
-                        IM(X_left[n][sb])  = IM(tempLeft);
-                        RE(X_right[n][sb]) = RE(tempRight);
-                        IM(X_right[n][sb]) = IM(tempRight);
-                    }
-                }
-            }
-
-            /* shift phase smoother's circular buffer index */
-            ps->phase_hist++;
-            if (ps->phase_hist == 2)
-            {
-                ps->phase_hist = 0;
-            }
-        }
-    }
-}
-
-void ps_free(ps_info *ps)
-{
-    /* free hybrid filterbank structures */
-    hybrid_free(ps->hyb);
-
-    faad_free(ps);
-}
-
-ps_info *ps_init(uint8_t sr_index)
-{
-    uint8_t i;
-    uint8_t short_delay_band;
-
-    ps_info *ps = (ps_info*)faad_malloc(sizeof(ps_info));
-    memset(ps, 0, sizeof(ps_info));
-
-    ps->hyb = hybrid_init();
-
-    ps->ps_data_available = 0;
-
-    /* delay stuff*/
-    ps->saved_delay = 0;
-
-    for (i = 0; i < 64; i++)
-    {
-        ps->delay_buf_index_delay[i] = 0;
-    }
-
-    for (i = 0; i < NO_ALLPASS_LINKS; i++)
-    {
-        ps->delay_buf_index_ser[i] = 0;
-#ifdef PARAM_32KHZ
-        if (sr_index <= 5) /* >= 32 kHz*/
-        {
-            ps->num_sample_delay_ser[i] = delay_length_d[1][i];
-        } else {
-            ps->num_sample_delay_ser[i] = delay_length_d[0][i];
-        }
-#else
-        /* THESE ARE CONSTANTS NOW */
-        ps->num_sample_delay_ser[i] = delay_length_d[i];
-#endif
-    }
-
-#ifdef PARAM_32KHZ
-    if (sr_index <= 5) /* >= 32 kHz*/
-    {
-        short_delay_band = 35;
-        ps->nr_allpass_bands = 22;
-        ps->alpha_decay = FRAC_CONST(0.76592833836465);
-        ps->alpha_smooth = FRAC_CONST(0.25);
-    } else {
-        short_delay_band = 64;
-        ps->nr_allpass_bands = 45;
-        ps->alpha_decay = FRAC_CONST(0.58664621951003);
-        ps->alpha_smooth = FRAC_CONST(0.6);
-    }
-#else
-    /* THESE ARE CONSTANTS NOW */
-    short_delay_band = 35;
-    ps->nr_allpass_bands = 22;
-    ps->alpha_decay = FRAC_CONST(0.76592833836465);
-    ps->alpha_smooth = FRAC_CONST(0.25);
-#endif
-
-    /* THESE ARE CONSTANT NOW IF PS IS INDEPENDANT OF SAMPLERATE */
-    for (i = 0; i < short_delay_band; i++)
-    {
-        ps->delay_D[i] = 14;
-    }
-    for (i = short_delay_band; i < 64; i++)
-    {
-        ps->delay_D[i] = 1;
-    }
-
-    /* mixing and phase */
-    for (i = 0; i < 50; i++)
-    {
-        RE(ps->h11_prev[i]) = 1;
-        IM(ps->h12_prev[i]) = 1;
-        RE(ps->h11_prev[i]) = 1;
-        IM(ps->h12_prev[i]) = 1;
-    }
-
-    ps->phase_hist = 0;
-
-    for (i = 0; i < 20; i++)
-    {
-        RE(ps->ipd_prev[i][0]) = 0;
-        IM(ps->ipd_prev[i][0]) = 0;
-        RE(ps->ipd_prev[i][1]) = 0;
-        IM(ps->ipd_prev[i][1]) = 0;
-        RE(ps->opd_prev[i][0]) = 0;
-        IM(ps->opd_prev[i][0]) = 0;
-        RE(ps->opd_prev[i][1]) = 0;
-        IM(ps->opd_prev[i][1]) = 0;
-    }
-
-    return ps;
-}
-
-/* main Parametric Stereo decoding function */
-uint8_t ps_decode(ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64])
-{
-    qmf_t X_hybrid_left[32][32] = {{0}};
-    qmf_t X_hybrid_right[32][32] = {{0}};
-
-    /* delta decoding of the bitstream data */
-    ps_data_decode(ps);
-
-    /* set up some parameters depending on filterbank type */
-    if (ps->use34hybrid_bands)
-    {
-        ps->group_border = (uint8_t*)group_border34;
-        ps->map_group2bk = (uint16_t*)map_group2bk34;
-        ps->num_groups = 32+18;
-        ps->num_hybrid_groups = 32;
-        ps->nr_par_bands = 34;
-        ps->decay_cutoff = 5;
-    } else {
-        ps->group_border = (uint8_t*)group_border20;
-        ps->map_group2bk = (uint16_t*)map_group2bk20;
-        ps->num_groups = 10+12;
-        ps->num_hybrid_groups = 10;
-        ps->nr_par_bands = 20;
-        ps->decay_cutoff = 3;
-    }
-
-    /* Perform further analysis on the lowest subbands to get a higher
-     * frequency resolution
-     */
-    hybrid_analysis((hyb_info*)ps->hyb, X_left, X_hybrid_left,
-        ps->use34hybrid_bands);
-
-    /* decorrelate mono signal */
-    ps_decorrelate(ps, X_left, X_right, X_hybrid_left, X_hybrid_right);
-
-    /* apply mixing and phase parameters */
-    ps_mix_phase(ps, X_left, X_right, X_hybrid_left, X_hybrid_right);
-
-    /* hybrid synthesis, to rebuild the SBR QMF matrices */
-    hybrid_synthesis((hyb_info*)ps->hyb, X_left, X_hybrid_left,
-        ps->use34hybrid_bands);
-
-    hybrid_synthesis((hyb_info*)ps->hyb, X_right, X_hybrid_right,
-        ps->use34hybrid_bands);
-
-    return 0;
-}
-
-#endif
-
diff --git a/lib/libfaad2/libfaad/ps_dec.h b/lib/libfaad2/libfaad/ps_dec.h
deleted file mode 100644 (file)
index d965614..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ps_dec.h,v 1.12 2007/11/01 12:33:33 menno Exp $
-**/
-
-#ifndef __PS_DEC_H__
-#define __PS_DEC_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "bits.h"
-
-#define EXTENSION_ID_PS 2
-
-#define MAX_PS_ENVELOPES 5
-#define NO_ALLPASS_LINKS 3
-
-typedef struct
-{
-    /* bitstream parameters */
-    uint8_t enable_iid;
-    uint8_t enable_icc;
-    uint8_t enable_ext;
-
-    uint8_t iid_mode;
-    uint8_t icc_mode;
-    uint8_t nr_iid_par;
-    uint8_t nr_ipdopd_par;
-    uint8_t nr_icc_par;
-
-    uint8_t frame_class;
-    uint8_t num_env;
-
-    uint8_t border_position[MAX_PS_ENVELOPES+1];
-
-    uint8_t iid_dt[MAX_PS_ENVELOPES];
-    uint8_t icc_dt[MAX_PS_ENVELOPES];
-
-    uint8_t enable_ipdopd;
-    uint8_t ipd_mode;
-    uint8_t ipd_dt[MAX_PS_ENVELOPES];
-    uint8_t opd_dt[MAX_PS_ENVELOPES];
-
-    /* indices */
-    int8_t iid_index_prev[34];
-    int8_t icc_index_prev[34];
-    int8_t ipd_index_prev[17];
-    int8_t opd_index_prev[17];
-    int8_t iid_index[MAX_PS_ENVELOPES][34];
-    int8_t icc_index[MAX_PS_ENVELOPES][34];
-    int8_t ipd_index[MAX_PS_ENVELOPES][17];
-    int8_t opd_index[MAX_PS_ENVELOPES][17];
-
-    int8_t ipd_index_1[17];
-    int8_t opd_index_1[17];
-    int8_t ipd_index_2[17];
-    int8_t opd_index_2[17];
-
-    /* ps data was correctly read */
-    uint8_t ps_data_available;
-
-    /* a header has been read */
-    uint8_t header_read;
-
-    /* hybrid filterbank parameters */
-    void *hyb;
-    uint8_t use34hybrid_bands;
-
-    /**/
-    uint8_t num_groups;
-    uint8_t num_hybrid_groups;
-    uint8_t nr_par_bands;
-    uint8_t nr_allpass_bands;
-    uint8_t decay_cutoff;
-
-    uint8_t *group_border;
-    uint16_t *map_group2bk;
-
-    /* filter delay handling */
-    uint8_t saved_delay;
-    uint8_t delay_buf_index_ser[NO_ALLPASS_LINKS];
-    uint8_t num_sample_delay_ser[NO_ALLPASS_LINKS];
-    uint8_t delay_D[64];
-    uint8_t delay_buf_index_delay[64];
-
-    complex_t delay_Qmf[14][64]; /* 14 samples delay max, 64 QMF channels */
-    complex_t delay_SubQmf[2][32]; /* 2 samples delay max (SubQmf is always allpass filtered) */
-    complex_t delay_Qmf_ser[NO_ALLPASS_LINKS][5][64]; /* 5 samples delay max (table 8.34), 64 QMF channels */
-    complex_t delay_SubQmf_ser[NO_ALLPASS_LINKS][5][32]; /* 5 samples delay max (table 8.34) */
-
-    /* transients */
-    real_t alpha_decay;
-    real_t alpha_smooth;
-
-    real_t P_PeakDecayNrg[34];
-    real_t P_prev[34];
-    real_t P_SmoothPeakDecayDiffNrg_prev[34];
-
-    /* mixing and phase */
-    complex_t h11_prev[50];
-    complex_t h12_prev[50];
-    complex_t h21_prev[50];
-    complex_t h22_prev[50];
-    uint8_t phase_hist;
-    complex_t ipd_prev[20][2];
-    complex_t opd_prev[20][2];
-
-} ps_info;
-
-/* ps_syntax.c */
-uint16_t ps_data(ps_info *ps, bitfile *ld, uint8_t *header);
-
-/* ps_dec.c */
-ps_info *ps_init(uint8_t sr_index);
-void ps_free(ps_info *ps);
-
-uint8_t ps_decode(ps_info *ps, qmf_t X_left[38][64], qmf_t X_right[38][64]);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/ps_syntax.c b/lib/libfaad2/libfaad/ps_syntax.c
deleted file mode 100644 (file)
index 50253d4..0000000
+++ /dev/null
@@ -1,551 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ps_syntax.c,v 1.11 2007/11/01 12:33:33 menno Exp $
-**/
-
-#include "common.h"
-
-#ifdef PS_DEC
-
-#include "bits.h"
-#include "ps_dec.h"
-
-/* type definitaions */
-typedef const int8_t (*ps_huff_tab)[2];
-
-/* static data tables */
-static const uint8_t nr_iid_par_tab[] = {
-    10, 20, 34, 10, 20, 34, 0, 0
-};
-static const uint8_t nr_ipdopd_par_tab[] = {
-    5, 11, 17, 5, 11, 17, 0, 0
-};
-static const uint8_t nr_icc_par_tab[] = {
-    10, 20, 34, 10, 20, 34, 0, 0
-};
-static const uint8_t num_env_tab[][4] = {
-    { 0, 1, 2, 4 },
-    { 1, 2, 3, 4 }
-};
-
-/* binary lookup huffman tables */
-static const int8_t f_huff_iid_def[][2] = {
-    { /*0*/ -31, 1 },             /* index 0: 1 bits: x */
-    { 2, 3 },                     /* index 1: 2 bits: 1x */
-    { /*1*/ -30, /*-1*/ -32 },    /* index 2: 3 bits: 10x */
-    { 4, 5 },                     /* index 3: 3 bits: 11x */
-    { /*2*/ -29, /*-2*/ -33 },    /* index 4: 4 bits: 110x */
-    { 6, 7 },                     /* index 5: 4 bits: 111x */
-    { /*3*/ -28, /*-3*/ -34 },    /* index 6: 5 bits: 1110x */
-    { 8, 9 },                     /* index 7: 5 bits: 1111x */
-    { /*-4*/ -35, /*4*/ -27 },    /* index 8: 6 bits: 11110x */
-    { /*5*/ -26, 10 },            /* index 9: 6 bits: 11111x */
-    { /*-5*/ -36, 11 },           /* index 10: 7 bits: 111111x */
-    { /*6*/ -25, 12 },            /* index 11: 8 bits: 1111111x */
-    { /*-6*/ -37, 13 },           /* index 12: 9 bits: 11111111x */
-    { /*-7*/ -38, 14 },           /* index 13: 10 bits: 111111111x */
-    { /*7*/ -24, 15 },            /* index 14: 11 bits: 1111111111x */
-    { 16, 17 },                   /* index 15: 12 bits: 11111111111x */
-    { /*8*/ -23, /*-8*/ -39 },    /* index 16: 13 bits: 111111111110x */
-    { 18, 19 },                   /* index 17: 13 bits: 111111111111x */
-    { /*9*/ -22, /*10*/ -21 },    /* index 18: 14 bits: 1111111111110x */
-    { 20, 21 },                   /* index 19: 14 bits: 1111111111111x */
-    { /*-9*/ -40, /*11*/ -20 },   /* index 20: 15 bits: 11111111111110x */
-    { 22, 23 },                   /* index 21: 15 bits: 11111111111111x */
-    { /*-10*/ -41, 24 },          /* index 22: 16 bits: 111111111111110x */
-    { 25, 26 },                   /* index 23: 16 bits: 111111111111111x */
-    { /*-11*/ -42, /*-14*/ -45 }, /* index 24: 17 bits: 1111111111111101x */
-    { /*-13*/ -44, /*-12*/ -43 }, /* index 25: 17 bits: 1111111111111110x */
-    { /*12*/ -19, 27 },           /* index 26: 17 bits: 1111111111111111x */
-    { /*13*/ -18, /*14*/ -17 }    /* index 27: 18 bits: 11111111111111111x */
-};
-
-static const int8_t t_huff_iid_def[][2] = {
-    { /*0*/ -31, 1 },             /* index 0: 1 bits: x */
-    { /*-1*/ -32, 2 },            /* index 1: 2 bits: 1x */
-    { /*1*/ -30, 3 },             /* index 2: 3 bits: 11x */
-    { /*-2*/ -33, 4 },            /* index 3: 4 bits: 111x */
-    { /*2*/ -29, 5 },             /* index 4: 5 bits: 1111x */
-    { /*-3*/ -34, 6 },            /* index 5: 6 bits: 11111x */
-    { /*3*/ -28, 7 },             /* index 6: 7 bits: 111111x */
-    { /*-4*/ -35, 8 },            /* index 7: 8 bits: 1111111x */
-    { /*4*/ -27, 9 },             /* index 8: 9 bits: 11111111x */
-    { /*-5*/ -36, 10 },           /* index 9: 10 bits: 111111111x */
-    { /*5*/ -26, 11 },            /* index 10: 11 bits: 1111111111x */
-    { /*-6*/ -37, 12 },           /* index 11: 12 bits: 11111111111x */
-    { /*6*/ -25, 13 },            /* index 12: 13 bits: 111111111111x */
-    { /*7*/ -24, 14 },            /* index 13: 14 bits: 1111111111111x */
-    { /*-7*/ -38, 15 },           /* index 14: 15 bits: 11111111111111x */
-    { 16, 17 },                   /* index 15: 16 bits: 111111111111111x */
-    { /*8*/ -23, /*-8*/ -39 },    /* index 16: 17 bits: 1111111111111110x */
-    { 18, 19 },                   /* index 17: 17 bits: 1111111111111111x */
-    { 20, 21 },                   /* index 18: 18 bits: 11111111111111110x */
-    { 22, 23 },                   /* index 19: 18 bits: 11111111111111111x */
-    { /*9*/ -22, /*-14*/ -45 },   /* index 20: 19 bits: 111111111111111100x */
-    { /*-13*/ -44, /*-12*/ -43 }, /* index 21: 19 bits: 111111111111111101x */
-    { 24, 25 },                   /* index 22: 19 bits: 111111111111111110x */
-    { 26, 27 },                   /* index 23: 19 bits: 111111111111111111x */
-    { /*-11*/ -42, /*-10*/ -41 }, /* index 24: 20 bits: 1111111111111111100x */
-    { /*-9*/ -40, /*10*/ -21 },   /* index 25: 20 bits: 1111111111111111101x */
-    { /*11*/ -20, /*12*/ -19 },   /* index 26: 20 bits: 1111111111111111110x */
-    { /*13*/ -18, /*14*/ -17 }    /* index 27: 20 bits: 1111111111111111111x */
-};
-
-static const int8_t f_huff_iid_fine[][2] = {
-    { 1, /*0*/ -31 },             /* index 0: 1 bits: x */
-    { 2, 3 },                     /* index 1: 2 bits: 0x */
-    { 4, /*-1*/ -32 },            /* index 2: 3 bits: 00x */
-    { /*1*/ -30, 5 },             /* index 3: 3 bits: 01x */
-    { /*-2*/ -33, /*2*/ -29 },    /* index 4: 4 bits: 000x */
-    { 6, 7 },                     /* index 5: 4 bits: 011x */
-    { /*-3*/ -34, /*3*/ -28 },    /* index 6: 5 bits: 0110x */
-    { 8, 9 },                     /* index 7: 5 bits: 0111x */
-    { /*-4*/ -35, /*4*/ -27 },    /* index 8: 6 bits: 01110x */
-    { 10, 11 },                   /* index 9: 6 bits: 01111x */
-    { /*-5*/ -36, /*5*/ -26 },    /* index 10: 7 bits: 011110x */
-    { 12, 13 },                   /* index 11: 7 bits: 011111x */
-    { /*-6*/ -37, /*6*/ -25 },    /* index 12: 8 bits: 0111110x */
-    { 14, 15 },                   /* index 13: 8 bits: 0111111x */
-    { /*7*/ -24, 16 },            /* index 14: 9 bits: 01111110x */
-    { 17, 18 },                   /* index 15: 9 bits: 01111111x */
-    { 19, /*-8*/ -39 },           /* index 16: 10 bits: 011111101x */
-    { /*8*/ -23, 20 },            /* index 17: 10 bits: 011111110x */
-    { 21, /*-7*/ -38 },           /* index 18: 10 bits: 011111111x */
-    { /*10*/ -21, 22 },           /* index 19: 11 bits: 0111111010x */
-    { 23, /*-9*/ -40 },           /* index 20: 11 bits: 0111111101x */
-    { /*9*/ -22, 24 },            /* index 21: 11 bits: 0111111110x */
-    { /*-11*/ -42, /*11*/ -20 },  /* index 22: 12 bits: 01111110101x */
-    { 25, 26 },                   /* index 23: 12 bits: 01111111010x */
-    { 27, /*-10*/ -41 },          /* index 24: 12 bits: 01111111101x */
-    { 28, /*-12*/ -43 },          /* index 25: 13 bits: 011111110100x */
-    { /*12*/ -19, 29 },           /* index 26: 13 bits: 011111110101x */
-    { 30, 31 },                   /* index 27: 13 bits: 011111111010x */
-    { 32, /*-14*/ -45 },          /* index 28: 14 bits: 0111111101000x */
-    { /*14*/ -17, 33 },           /* index 29: 14 bits: 0111111101011x */
-    { 34, /*-13*/ -44 },          /* index 30: 14 bits: 0111111110100x */
-    { /*13*/ -18, 35 },           /* index 31: 14 bits: 0111111110101x */
-    { 36, 37 },                   /* index 32: 15 bits: 01111111010000x */
-    { 38, /*-15*/ -46 },          /* index 33: 15 bits: 01111111010111x */
-    { /*15*/ -16, 39 },           /* index 34: 15 bits: 01111111101000x */
-    { 40, 41 },                   /* index 35: 15 bits: 01111111101011x */
-    { 42, 43 },                   /* index 36: 16 bits: 011111110100000x */
-    { /*-17*/ -48, /*17*/ -14 },  /* index 37: 16 bits: 011111110100001x */
-    { 44, 45 },                   /* index 38: 16 bits: 011111110101110x */
-    { 46, 47 },                   /* index 39: 16 bits: 011111111010001x */
-    { 48, 49 },                   /* index 40: 16 bits: 011111111010110x */
-    { /*-16*/ -47, /*16*/ -15 },  /* index 41: 16 bits: 011111111010111x */
-    { /*-21*/ -52, /*21*/ -10 },  /* index 42: 17 bits: 0111111101000000x */
-    { /*-19*/ -50, /*19*/ -12 },  /* index 43: 17 bits: 0111111101000001x */
-    { /*-18*/ -49, /*18*/ -13 },  /* index 44: 17 bits: 0111111101011100x */
-    { 50, 51 },                   /* index 45: 17 bits: 0111111101011101x */
-    { 52, 53 },                   /* index 46: 17 bits: 0111111110100010x */
-    { 54, 55 },                   /* index 47: 17 bits: 0111111110100011x */
-    { 56, 57 },                   /* index 48: 17 bits: 0111111110101100x */
-    { 58, 59 },                   /* index 49: 17 bits: 0111111110101101x */
-    { /*-26*/ -57, /*-25*/ -56 }, /* index 50: 18 bits: 01111111010111010x */
-    { /*-28*/ -59, /*-27*/ -58 }, /* index 51: 18 bits: 01111111010111011x */
-    { /*-22*/ -53, /*22*/ -9 },   /* index 52: 18 bits: 01111111101000100x */
-    { /*-24*/ -55, /*-23*/ -54 }, /* index 53: 18 bits: 01111111101000101x */
-    { /*25*/ -6, /*26*/ -5 },     /* index 54: 18 bits: 01111111101000110x */
-    { /*23*/ -8, /*24*/ -7 },     /* index 55: 18 bits: 01111111101000111x */
-    { /*29*/ -2, /*30*/ -1 },     /* index 56: 18 bits: 01111111101011000x */
-    { /*27*/ -4, /*28*/ -3 },     /* index 57: 18 bits: 01111111101011001x */
-    { /*-30*/ -61, /*-29*/ -60 }, /* index 58: 18 bits: 01111111101011010x */
-    { /*-20*/ -51, /*20*/ -11 }   /* index 59: 18 bits: 01111111101011011x */
-};
-
-static const int8_t t_huff_iid_fine[][2] = {
-    { 1, /*0*/ -31 },             /* index 0: 1 bits: x */
-    { /*1*/ -30, 2 },             /* index 1: 2 bits: 0x */
-    { 3, /*-1*/ -32 },            /* index 2: 3 bits: 01x */
-    { 4, 5 },                     /* index 3: 4 bits: 010x */
-    { 6, 7 },                     /* index 4: 5 bits: 0100x */
-    { /*-2*/ -33, /*2*/ -29 },    /* index 5: 5 bits: 0101x */
-    { 8, /*-3*/ -34 },            /* index 6: 6 bits: 01000x */
-    { /*3*/ -28, 9 },             /* index 7: 6 bits: 01001x */
-    { /*-4*/ -35, /*4*/ -27 },    /* index 8: 7 bits: 010000x */
-    { 10, 11 },                   /* index 9: 7 bits: 010011x */
-    { /*5*/ -26, 12 },            /* index 10: 8 bits: 0100110x */
-    { 13, 14 },                   /* index 11: 8 bits: 0100111x */
-    { /*-6*/ -37, /*6*/ -25 },    /* index 12: 9 bits: 01001101x */
-    { 15, 16 },                   /* index 13: 9 bits: 01001110x */
-    { 17, /*-5*/ -36 },           /* index 14: 9 bits: 01001111x */
-    { 18, /*-7*/ -38 },           /* index 15: 10 bits: 010011100x */
-    { /*7*/ -24, 19 },            /* index 16: 10 bits: 010011101x */
-    { 20, 21 },                   /* index 17: 10 bits: 010011110x */
-    { /*9*/ -22, 22 },            /* index 18: 11 bits: 0100111000x */
-    { 23, 24 },                   /* index 19: 11 bits: 0100111011x */
-    { /*-8*/ -39, /*8*/ -23 },    /* index 20: 11 bits: 0100111100x */
-    { 25, 26 },                   /* index 21: 11 bits: 0100111101x */
-    { /*11*/ -20, 27 },           /* index 22: 12 bits: 01001110001x */
-    { 28, 29 },                   /* index 23: 12 bits: 01001110110x */
-    { /*-10*/ -41, /*10*/ -21 },  /* index 24: 12 bits: 01001110111x */
-    { 30, 31 },                   /* index 25: 12 bits: 01001111010x */
-    { 32, /*-9*/ -40 },           /* index 26: 12 bits: 01001111011x */
-    { 33, /*-13*/ -44 },          /* index 27: 13 bits: 010011100011x */
-    { /*13*/ -18, 34 },           /* index 28: 13 bits: 010011101100x */
-    { 35, 36 },                   /* index 29: 13 bits: 010011101101x */
-    { 37, /*-12*/ -43 },          /* index 30: 13 bits: 010011110100x */
-    { /*12*/ -19, 38 },           /* index 31: 13 bits: 010011110101x */
-    { 39, /*-11*/ -42 },          /* index 32: 13 bits: 010011110110x */
-    { 40, 41 },                   /* index 33: 14 bits: 0100111000110x */
-    { 42, 43 },                   /* index 34: 14 bits: 0100111011001x */
-    { 44, 45 },                   /* index 35: 14 bits: 0100111011010x */
-    { 46, /*-15*/ -46 },          /* index 36: 14 bits: 0100111011011x */
-    { /*15*/ -16, 47 },           /* index 37: 14 bits: 0100111101000x */
-    { /*-14*/ -45, /*14*/ -17 },  /* index 38: 14 bits: 0100111101011x */
-    { 48, 49 },                   /* index 39: 14 bits: 0100111101100x */
-    { /*-21*/ -52, /*-20*/ -51 }, /* index 40: 15 bits: 01001110001100x */
-    { /*18*/ -13, /*19*/ -12 },   /* index 41: 15 bits: 01001110001101x */
-    { /*-19*/ -50, /*-18*/ -49 }, /* index 42: 15 bits: 01001110110010x */
-    { 50, 51 },                   /* index 43: 15 bits: 01001110110011x */
-    { 52, 53 },                   /* index 44: 15 bits: 01001110110100x */
-    { 54, 55 },                   /* index 45: 15 bits: 01001110110101x */
-    { 56, /*-17*/ -48 },          /* index 46: 15 bits: 01001110110110x */
-    { /*17*/ -14, 57 },           /* index 47: 15 bits: 01001111010001x */
-    { 58, /*-16*/ -47 },          /* index 48: 15 bits: 01001111011000x */
-    { /*16*/ -15, 59 },           /* index 49: 15 bits: 01001111011001x */
-    { /*-26*/ -57, /*26*/ -5 },   /* index 50: 16 bits: 010011101100110x */
-    { /*-28*/ -59, /*-27*/ -58 }, /* index 51: 16 bits: 010011101100111x */
-    { /*29*/ -2, /*30*/ -1 },     /* index 52: 16 bits: 010011101101000x */
-    { /*27*/ -4, /*28*/ -3 },     /* index 53: 16 bits: 010011101101001x */
-    { /*-30*/ -61, /*-29*/ -60 }, /* index 54: 16 bits: 010011101101010x */
-    { /*-25*/ -56, /*25*/ -6 },   /* index 55: 16 bits: 010011101101011x */
-    { /*-24*/ -55, /*24*/ -7 },   /* index 56: 16 bits: 010011101101100x */
-    { /*-23*/ -54, /*23*/ -8 },   /* index 57: 16 bits: 010011110100011x */
-    { /*-22*/ -53, /*22*/ -9 },   /* index 58: 16 bits: 010011110110000x */
-    { /*20*/ -11, /*21*/ -10 }    /* index 59: 16 bits: 010011110110011x */
-};
-
-static const int8_t f_huff_icc[][2] = {
-    { /*0*/ -31, 1 },            /* index 0: 1 bits: x */
-    { /*1*/ -30, 2 },            /* index 1: 2 bits: 1x */
-    { /*-1*/ -32, 3 },           /* index 2: 3 bits: 11x */
-    { /*2*/ -29, 4 },            /* index 3: 4 bits: 111x */
-    { /*-2*/ -33, 5 },           /* index 4: 5 bits: 1111x */
-    { /*3*/ -28, 6 },            /* index 5: 6 bits: 11111x */
-    { /*-3*/ -34, 7 },           /* index 6: 7 bits: 111111x */
-    { /*4*/ -27, 8 },            /* index 7: 8 bits: 1111111x */
-    { /*5*/ -26, 9 },            /* index 8: 9 bits: 11111111x */
-    { /*-4*/ -35, 10 },          /* index 9: 10 bits: 111111111x */
-    { /*6*/ -25, 11 },           /* index 10: 11 bits: 1111111111x */
-    { /*-5*/ -36, 12 },          /* index 11: 12 bits: 11111111111x */
-    { /*7*/ -24, 13 },           /* index 12: 13 bits: 111111111111x */
-    { /*-6*/ -37, /*-7*/ -38 }   /* index 13: 14 bits: 1111111111111x */
-};
-
-static const int8_t t_huff_icc[][2] = {
-    { /*0*/ -31, 1 },            /* index 0: 1 bits: x */
-    { /*1*/ -30, 2 },            /* index 1: 2 bits: 1x */
-    { /*-1*/ -32, 3 },           /* index 2: 3 bits: 11x */
-    { /*2*/ -29, 4 },            /* index 3: 4 bits: 111x */
-    { /*-2*/ -33, 5 },           /* index 4: 5 bits: 1111x */
-    { /*3*/ -28, 6 },            /* index 5: 6 bits: 11111x */
-    { /*-3*/ -34, 7 },           /* index 6: 7 bits: 111111x */
-    { /*4*/ -27, 8 },            /* index 7: 8 bits: 1111111x */
-    { /*-4*/ -35, 9 },           /* index 8: 9 bits: 11111111x */
-    { /*5*/ -26, 10 },           /* index 9: 10 bits: 111111111x */
-    { /*-5*/ -36, 11 },          /* index 10: 11 bits: 1111111111x */
-    { /*6*/ -25, 12 },           /* index 11: 12 bits: 11111111111x */
-    { /*-6*/ -37, 13 },          /* index 12: 13 bits: 111111111111x */
-    { /*-7*/ -38, /*7*/ -24 }    /* index 13: 14 bits: 1111111111111x */
-};
-
-static const int8_t f_huff_ipd[][2] = {
-    { 1, /*0*/ -31 },         /* index 0: 1 bits: x */
-    { 2, 3 },                 /* index 1: 2 bits: 0x */
-    { /*1*/ -30, 4 },         /* index 2: 3 bits: 00x */
-    { 5, 6 },                 /* index 3: 3 bits: 01x */
-    { /*4*/ -27, /*5*/ -26 }, /* index 4: 4 bits: 001x */
-    { /*3*/ -28, /*6*/ -25 }, /* index 5: 4 bits: 010x */
-    { /*2*/ -29, /*7*/ -24 }  /* index 6: 4 bits: 011x */
-};
-
-static const int8_t t_huff_ipd[][2] = {
-    { 1, /*0*/ -31 },         /* index 0: 1 bits: x */
-    { 2, 3 },                 /* index 1: 2 bits: 0x */
-    { 4, 5 },                 /* index 2: 3 bits: 00x */
-    { /*1*/ -30, /*7*/ -24 }, /* index 3: 3 bits: 01x */
-    { /*5*/ -26, 6 },         /* index 4: 4 bits: 000x */
-    { /*2*/ -29, /*6*/ -25 }, /* index 5: 4 bits: 001x */
-    { /*4*/ -27, /*3*/ -28 }  /* index 6: 5 bits: 0001x */
-};
-
-static const int8_t f_huff_opd[][2] = {
-    { 1, /*0*/ -31 },         /* index 0: 1 bits: x */
-    { 2, 3 },                 /* index 1: 2 bits: 0x */
-    { /*7*/ -24, /*1*/ -30 }, /* index 2: 3 bits: 00x */
-    { 4, 5 },                 /* index 3: 3 bits: 01x */
-    { /*3*/ -28, /*6*/ -25 }, /* index 4: 4 bits: 010x */
-    { /*2*/ -29, 6 },         /* index 5: 4 bits: 011x */
-    { /*5*/ -26, /*4*/ -27 }  /* index 6: 5 bits: 0111x */
-};
-
-static const int8_t t_huff_opd[][2] = {
-    { 1, /*0*/ -31 },         /* index 0: 1 bits: x */
-    { 2, 3 },                 /* index 1: 2 bits: 0x */
-    { 4, 5 },                 /* index 2: 3 bits: 00x */
-    { /*1*/ -30, /*7*/ -24 }, /* index 3: 3 bits: 01x */
-    { /*5*/ -26, /*2*/ -29 }, /* index 4: 4 bits: 000x */
-    { /*6*/ -25, 6 },         /* index 5: 4 bits: 001x */
-    { /*4*/ -27, /*3*/ -28 }  /* index 6: 5 bits: 0011x */
-};
-
-/* static function declarations */
-static uint16_t ps_extension(ps_info *ps, bitfile *ld,
-                             const uint8_t ps_extension_id,
-                             const uint16_t num_bits_left);
-static void huff_data(bitfile *ld, const uint8_t dt, const uint8_t nr_par,
-                      ps_huff_tab t_huff, ps_huff_tab f_huff, int8_t *par);
-static INLINE int8_t ps_huff_dec(bitfile *ld, ps_huff_tab t_huff);
-
-
-uint16_t ps_data(ps_info *ps, bitfile *ld, uint8_t *header)
-{
-    uint8_t tmp, n;
-    uint16_t bits = (uint16_t)faad_get_processed_bits(ld);
-
-    *header = 0;
-
-    /* check for new PS header */
-    if (faad_get1bit(ld
-        DEBUGVAR(1,1000,"ps_data(): enable_ps_header")))
-    {
-        *header = 1;
-
-        ps->header_read = 1;
-
-        ps->use34hybrid_bands = 0;
-
-        /* Inter-channel Intensity Difference (IID) parameters enabled */
-        ps->enable_iid = (uint8_t)faad_get1bit(ld
-            DEBUGVAR(1,1001,"ps_data(): enable_iid"));
-
-        if (ps->enable_iid)
-        {
-            ps->iid_mode = (uint8_t)faad_getbits(ld, 3
-                DEBUGVAR(1,1002,"ps_data(): iid_mode"));
-
-            ps->nr_iid_par = nr_iid_par_tab[ps->iid_mode];
-            ps->nr_ipdopd_par = nr_ipdopd_par_tab[ps->iid_mode];
-
-            if (ps->iid_mode == 2 || ps->iid_mode == 5)
-                ps->use34hybrid_bands = 1;
-
-            /* IPD freq res equal to IID freq res */
-            ps->ipd_mode = ps->iid_mode;
-        }
-
-        /* Inter-channel Coherence (ICC) parameters enabled */
-        ps->enable_icc = (uint8_t)faad_get1bit(ld
-            DEBUGVAR(1,1003,"ps_data(): enable_icc"));
-
-        if (ps->enable_icc)
-        {
-            ps->icc_mode = (uint8_t)faad_getbits(ld, 3
-                DEBUGVAR(1,1004,"ps_data(): icc_mode"));
-
-            ps->nr_icc_par = nr_icc_par_tab[ps->icc_mode];
-
-            if (ps->icc_mode == 2 || ps->icc_mode == 5)
-                ps->use34hybrid_bands = 1;
-        }
-
-        /* PS extension layer enabled */
-        ps->enable_ext = (uint8_t)faad_get1bit(ld
-            DEBUGVAR(1,1005,"ps_data(): enable_ext"));
-    }
-
-    /* we are here, but no header has been read yet */
-    if (ps->header_read == 0)
-    {
-        ps->ps_data_available = 0;
-        return 1;
-    }
-
-    ps->frame_class = (uint8_t)faad_get1bit(ld
-        DEBUGVAR(1,1006,"ps_data(): frame_class"));
-    tmp = (uint8_t)faad_getbits(ld, 2
-        DEBUGVAR(1,1007,"ps_data(): num_env_idx"));
-
-    ps->num_env = num_env_tab[ps->frame_class][tmp];
-
-    if (ps->frame_class)
-    {
-        for (n = 1; n < ps->num_env+1; n++)
-        {
-            ps->border_position[n] = (uint8_t)faad_getbits(ld, 5
-                DEBUGVAR(1,1008,"ps_data(): border_position")) + 1;
-        }
-    }
-
-    if (ps->enable_iid)
-    {
-        for (n = 0; n < ps->num_env; n++)
-        {
-            ps->iid_dt[n] = (uint8_t)faad_get1bit(ld
-                DEBUGVAR(1,1009,"ps_data(): iid_dt"));
-
-            /* iid_data */
-            if (ps->iid_mode < 3)
-            {
-                huff_data(ld, ps->iid_dt[n], ps->nr_iid_par, t_huff_iid_def,
-                    f_huff_iid_def, ps->iid_index[n]);
-            } else {
-                huff_data(ld, ps->iid_dt[n], ps->nr_iid_par, t_huff_iid_fine,
-                    f_huff_iid_fine, ps->iid_index[n]);
-            }
-        }
-    }
-
-    if (ps->enable_icc)
-    {
-        for (n = 0; n < ps->num_env; n++)
-        {
-            ps->icc_dt[n] = (uint8_t)faad_get1bit(ld
-                DEBUGVAR(1,1010,"ps_data(): icc_dt"));
-
-            /* icc_data */
-            huff_data(ld, ps->icc_dt[n], ps->nr_icc_par, t_huff_icc,
-                f_huff_icc, ps->icc_index[n]);
-        }
-    }
-
-    if (ps->enable_ext)
-    {
-        uint16_t num_bits_left;
-        uint16_t cnt = (uint16_t)faad_getbits(ld, 4
-            DEBUGVAR(1,1011,"ps_data(): ps_extension_size"));
-        if (cnt == 15)
-        {
-            cnt += (uint16_t)faad_getbits(ld, 8
-                DEBUGVAR(1,1012,"ps_data(): esc_count"));
-        }
-
-        num_bits_left = 8 * cnt;
-        while (num_bits_left > 7)
-        {
-            uint8_t ps_extension_id = (uint8_t)faad_getbits(ld, 2
-                DEBUGVAR(1,1013,"ps_data(): ps_extension_size"));
-
-            num_bits_left -= 2;
-            num_bits_left -= ps_extension(ps, ld, ps_extension_id, num_bits_left);
-        }
-
-        faad_getbits(ld, num_bits_left
-            DEBUGVAR(1,1014,"ps_data(): fill_bits"));
-    }
-
-    bits = (uint16_t)faad_get_processed_bits(ld) - bits;
-
-    ps->ps_data_available = 1;
-
-    return bits;
-}
-
-static uint16_t ps_extension(ps_info *ps, bitfile *ld,
-                             const uint8_t ps_extension_id,
-                             const uint16_t num_bits_left)
-{
-    uint8_t n;
-    uint16_t bits = (uint16_t)faad_get_processed_bits(ld);
-
-    if (ps_extension_id == 0)
-    {
-        ps->enable_ipdopd = (uint8_t)faad_get1bit(ld
-            DEBUGVAR(1,1015,"ps_extension(): enable_ipdopd"));
-
-        if (ps->enable_ipdopd)
-        {
-            for (n = 0; n < ps->num_env; n++)
-            {
-                ps->ipd_dt[n] = (uint8_t)faad_get1bit(ld
-                    DEBUGVAR(1,1016,"ps_extension(): ipd_dt"));
-
-                /* ipd_data */
-                huff_data(ld, ps->ipd_dt[n], ps->nr_ipdopd_par, t_huff_ipd,
-                    f_huff_ipd, ps->ipd_index[n]);
-
-                ps->opd_dt[n] = (uint8_t)faad_get1bit(ld
-                    DEBUGVAR(1,1017,"ps_extension(): opd_dt"));
-
-                /* opd_data */
-                huff_data(ld, ps->opd_dt[n], ps->nr_ipdopd_par, t_huff_opd,
-                    f_huff_opd, ps->opd_index[n]);
-            }
-        }
-        faad_get1bit(ld
-            DEBUGVAR(1,1018,"ps_extension(): reserved_ps"));
-    }
-
-    /* return number of bits read */
-    bits = (uint16_t)faad_get_processed_bits(ld) - bits;
-
-    return bits;
-}
-
-/* read huffman data coded in either the frequency or the time direction */
-static void huff_data(bitfile *ld, const uint8_t dt, const uint8_t nr_par,
-                      ps_huff_tab t_huff, ps_huff_tab f_huff, int8_t *par)
-{
-    uint8_t n;
-
-    if (dt)
-    {
-        /* coded in time direction */
-        for (n = 0; n < nr_par; n++)
-        {
-            par[n] = ps_huff_dec(ld, t_huff);
-        }
-    } else {
-        /* coded in frequency direction */
-        par[0] = ps_huff_dec(ld, f_huff);
-
-        for (n = 1; n < nr_par; n++)
-        {
-            par[n] = ps_huff_dec(ld, f_huff);
-        }
-    }
-}
-
-/* binary search huffman decoding */
-static INLINE int8_t ps_huff_dec(bitfile *ld, ps_huff_tab t_huff)
-{
-    uint8_t bit;
-    int16_t index = 0;
-
-    while (index >= 0)
-    {
-        bit = (uint8_t)faad_get1bit(ld);
-        index = t_huff[index][bit];
-    }
-
-    return index + 31;
-}
-
-#endif
diff --git a/lib/libfaad2/libfaad/ps_tables.h b/lib/libfaad2/libfaad/ps_tables.h
deleted file mode 100644 (file)
index f3370be..0000000
+++ /dev/null
@@ -1,550 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ps_tables.h,v 1.8 2007/11/01 12:33:33 menno Exp $
-**/
-
-#ifndef __PS_TABLES_H__
-#define __PS_TABLES_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef _MSC_VER
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#endif
-
-#if 0
-#if 0
-float f_center_20[12] = {
-    0.5/4,  1.5/4,  2.5/4,  3.5/4,
-    4.5/4*0,  5.5/4*0, -1.5/4, -0.5/4,
-    3.5/2,  2.5/2,  4.5/2,  5.5/2
-};
-#else
-float f_center_20[12] = {
-    0.5/8,  1.5/8,  2.5/8,  3.5/8,
-    4.5/8*0,  5.5/8*0, -1.5/8, -0.5/8,
-    3.5/4,  2.5/4,  4.5/4,  5.5/4
-};
-#endif
-
-float f_center_34[32] = {
-    1/12,   3/12,   5/12,   7/12,
-    9/12,  11/12,  13/12,  15/12,
-    17/12, -5/12,  -3/12,  -1/12,
-    17/8,   19/8,    5/8,    7/8,
-    9/8,    11/8,   13/8,   15/8,
-    9/4,    11/4,   13/4,    7/4,
-    17/4,   11/4,   13/4,   15/4,
-    17/4,   19/4,   21/4,   15/4
-};
-
-static const real_t frac_delay_q[] = {
-    FRAC_CONST(0.43),
-    FRAC_CONST(0.75),
-    FRAC_CONST(0.347)
-};
-#endif
-
-/* RE(ps->Phi_Fract_Qmf[j]) = (float)cos(M_PI*(j+0.5)*(0.39)); */
-/* IM(ps->Phi_Fract_Qmf[j]) = (float)sin(M_PI*(j+0.5)*(0.39)); */
-static const complex_t Phi_Fract_Qmf[] = {
-    { FRAC_CONST(0.8181497455), FRAC_CONST(0.5750052333) },
-    { FRAC_CONST(-0.2638730407), FRAC_CONST(0.9645574093) },
-    { FRAC_CONST(-0.9969173074), FRAC_CONST(0.0784590989) },
-    { FRAC_CONST(-0.4115143716), FRAC_CONST(-0.9114032984) },
-    { FRAC_CONST(0.7181262970), FRAC_CONST(-0.6959127784) },
-    { FRAC_CONST(0.8980275989), FRAC_CONST(0.4399391711) },
-    { FRAC_CONST(-0.1097343117), FRAC_CONST(0.9939609766) },
-    { FRAC_CONST(-0.9723699093), FRAC_CONST(0.2334453613) },
-    { FRAC_CONST(-0.5490227938), FRAC_CONST(-0.8358073831) },
-    { FRAC_CONST(0.6004202366), FRAC_CONST(-0.7996846437) },
-    { FRAC_CONST(0.9557930231), FRAC_CONST(0.2940403223) },
-    { FRAC_CONST(0.0471064523), FRAC_CONST(0.9988898635) },
-    { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) },
-    { FRAC_CONST(-0.6730124950), FRAC_CONST(-0.7396311164) },
-    { FRAC_CONST(0.4679298103), FRAC_CONST(-0.8837656379) },
-    { FRAC_CONST(0.9900236726), FRAC_CONST(0.1409012377) },
-    { FRAC_CONST(0.2027872950), FRAC_CONST(0.9792228341) },
-    { FRAC_CONST(-0.8526401520), FRAC_CONST(0.5224985480) },
-    { FRAC_CONST(-0.7804304361), FRAC_CONST(-0.6252426505) },
-    { FRAC_CONST(0.3239174187), FRAC_CONST(-0.9460853338) },
-    { FRAC_CONST(0.9998766184), FRAC_CONST(-0.0157073177) },
-    { FRAC_CONST(0.3534748554), FRAC_CONST(0.9354440570) },
-    { FRAC_CONST(-0.7604059577), FRAC_CONST(0.6494480371) },
-    { FRAC_CONST(-0.8686315417), FRAC_CONST(-0.4954586625) },
-    { FRAC_CONST(0.1719291061), FRAC_CONST(-0.9851093292) },
-    { FRAC_CONST(0.9851093292), FRAC_CONST(-0.1719291061) },
-    { FRAC_CONST(0.4954586625), FRAC_CONST(0.8686315417) },
-    { FRAC_CONST(-0.6494480371), FRAC_CONST(0.7604059577) },
-    { FRAC_CONST(-0.9354440570), FRAC_CONST(-0.3534748554) },
-    { FRAC_CONST(0.0157073177), FRAC_CONST(-0.9998766184) },
-    { FRAC_CONST(0.9460853338), FRAC_CONST(-0.3239174187) },
-    { FRAC_CONST(0.6252426505), FRAC_CONST(0.7804304361) },
-    { FRAC_CONST(-0.5224985480), FRAC_CONST(0.8526401520) },
-    { FRAC_CONST(-0.9792228341), FRAC_CONST(-0.2027872950) },
-    { FRAC_CONST(-0.1409012377), FRAC_CONST(-0.9900236726) },
-    { FRAC_CONST(0.8837656379), FRAC_CONST(-0.4679298103) },
-    { FRAC_CONST(0.7396311164), FRAC_CONST(0.6730124950) },
-    { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) },
-    { FRAC_CONST(-0.9988898635), FRAC_CONST(-0.0471064523) },
-    { FRAC_CONST(-0.2940403223), FRAC_CONST(-0.9557930231) },
-    { FRAC_CONST(0.7996846437), FRAC_CONST(-0.6004202366) },
-    { FRAC_CONST(0.8358073831), FRAC_CONST(0.5490227938) },
-    { FRAC_CONST(-0.2334453613), FRAC_CONST(0.9723699093) },
-    { FRAC_CONST(-0.9939609766), FRAC_CONST(0.1097343117) },
-    { FRAC_CONST(-0.4399391711), FRAC_CONST(-0.8980275989) },
-    { FRAC_CONST(0.6959127784), FRAC_CONST(-0.7181262970) },
-    { FRAC_CONST(0.9114032984), FRAC_CONST(0.4115143716) },
-    { FRAC_CONST(-0.0784590989), FRAC_CONST(0.9969173074) },
-    { FRAC_CONST(-0.9645574093), FRAC_CONST(0.2638730407) },
-    { FRAC_CONST(-0.5750052333), FRAC_CONST(-0.8181497455) },
-    { FRAC_CONST(0.5750052333), FRAC_CONST(-0.8181497455) },
-    { FRAC_CONST(0.9645574093), FRAC_CONST(0.2638730407) },
-    { FRAC_CONST(0.0784590989), FRAC_CONST(0.9969173074) },
-    { FRAC_CONST(-0.9114032984), FRAC_CONST(0.4115143716) },
-    { FRAC_CONST(-0.6959127784), FRAC_CONST(-0.7181262970) },
-    { FRAC_CONST(0.4399391711), FRAC_CONST(-0.8980275989) },
-    { FRAC_CONST(0.9939609766), FRAC_CONST(0.1097343117) },
-    { FRAC_CONST(0.2334453613), FRAC_CONST(0.9723699093) },
-    { FRAC_CONST(-0.8358073831), FRAC_CONST(0.5490227938) },
-    { FRAC_CONST(-0.7996846437), FRAC_CONST(-0.6004202366) },
-    { FRAC_CONST(0.2940403223), FRAC_CONST(-0.9557930231) },
-    { FRAC_CONST(0.9988898635), FRAC_CONST(-0.0471064523) },
-    { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) },
-    { FRAC_CONST(-0.7396311164), FRAC_CONST(0.6730124950) }
-};
-
-/* RE(Phi_Fract_SubQmf20[j]) = (float)cos(M_PI*f_center_20[j]*0.39); */
-/* IM(Phi_Fract_SubQmf20[j]) = (float)sin(M_PI*f_center_20[j]*0.39); */
-static const complex_t Phi_Fract_SubQmf20[] = {
-    { FRAC_CONST(0.9882950187), FRAC_CONST(0.1525546312) },
-    { FRAC_CONST(0.8962930441), FRAC_CONST(0.4434623122) },
-    { FRAC_CONST(0.7208535671), FRAC_CONST(0.6930873394) },
-    { FRAC_CONST(0.4783087075), FRAC_CONST(0.8781917691) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(0.8962930441), FRAC_CONST(-0.4434623122) },
-    { FRAC_CONST(0.9882950187), FRAC_CONST(-0.1525546312) },
-    { FRAC_CONST(-0.5424415469), FRAC_CONST(0.8400935531) },
-    { FRAC_CONST(0.0392598175), FRAC_CONST(0.9992290139) },
-    { FRAC_CONST(-0.9268565774), FRAC_CONST(0.3754155636) },
-    { FRAC_CONST(-0.9741733670), FRAC_CONST(-0.2258012742) }
-};
-
-/* RE(Phi_Fract_SubQmf34[j]) = (float)cos(M_PI*f_center_34[j]*0.39); */
-/* IM(Phi_Fract_SubQmf34[j]) = (float)sin(M_PI*f_center_34[j]*0.39); */
-static const complex_t Phi_Fract_SubQmf34[] = {
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(0.3387379348), FRAC_CONST(0.9408807755) },
-    { FRAC_CONST(0.3387379348), FRAC_CONST(0.9408807755) },
-    { FRAC_CONST(0.3387379348), FRAC_CONST(0.9408807755) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(-0.7705132365), FRAC_CONST(0.6374239922) },
-    { FRAC_CONST(-0.7705132365), FRAC_CONST(0.6374239922) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) },
-    { FRAC_CONST(0.3387379348), FRAC_CONST(0.9408807755) },
-    { FRAC_CONST(0.3387379348), FRAC_CONST(0.9408807755) },
-    { FRAC_CONST(0.3387379348), FRAC_CONST(0.9408807755) },
-    { FRAC_CONST(0.3387379348), FRAC_CONST(0.9408807755) },
-    { FRAC_CONST(-0.7705132365), FRAC_CONST(0.6374239922) },
-    { FRAC_CONST(-0.7705132365), FRAC_CONST(0.6374239922) },
-    { FRAC_CONST(-0.8607420325), FRAC_CONST(-0.5090414286) },
-    { FRAC_CONST(0.3387379348), FRAC_CONST(0.9408807755) },
-    { FRAC_CONST(0.1873813123), FRAC_CONST(-0.9822872281) },
-    { FRAC_CONST(-0.7705132365), FRAC_CONST(0.6374239922) },
-    { FRAC_CONST(-0.8607420325), FRAC_CONST(-0.5090414286) },
-    { FRAC_CONST(-0.8607420325), FRAC_CONST(-0.5090414286) },
-    { FRAC_CONST(0.1873813123), FRAC_CONST(-0.9822872281) },
-    { FRAC_CONST(0.1873813123), FRAC_CONST(-0.9822872281) },
-    { FRAC_CONST(0.9876883626), FRAC_CONST(-0.1564344615) },
-    { FRAC_CONST(-0.8607420325), FRAC_CONST(-0.5090414286) }
-};
-
-/* RE(Q_Fract_allpass_Qmf[j][i]) = (float)cos(M_PI*(j+0.5)*(frac_delay_q[i])); */
-/* IM(Q_Fract_allpass_Qmf[j][i]) = (float)sin(M_PI*(j+0.5)*(frac_delay_q[i])); */
-static const complex_t Q_Fract_allpass_Qmf[][3] = {
-    { { FRAC_CONST(0.7804303765), FRAC_CONST(0.6252426505) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.8550928831), FRAC_CONST(0.5184748173) } },
-    { { FRAC_CONST(-0.4399392009), FRAC_CONST(0.8980275393) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.0643581524), FRAC_CONST(0.9979268909) } },
-    { { FRAC_CONST(-0.9723699093), FRAC_CONST(-0.2334454209) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.9146071672), FRAC_CONST(0.4043435752) } },
-    { { FRAC_CONST(0.0157073960), FRAC_CONST(-0.9998766184) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.7814115286), FRAC_CONST(-0.6240159869) } },
-    { { FRAC_CONST(0.9792228341), FRAC_CONST(-0.2027871907) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.1920081824), FRAC_CONST(-0.9813933372) } },
-    { { FRAC_CONST(0.4115142524), FRAC_CONST(0.9114032984) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.9589683414), FRAC_CONST(-0.2835132182) } },
-    { { FRAC_CONST(-0.7996847630), FRAC_CONST(0.6004201174) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.6947838664), FRAC_CONST(0.7192186117) } },
-    { { FRAC_CONST(-0.7604058385), FRAC_CONST(-0.6494481564) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.3164770305), FRAC_CONST(0.9486001730) } },
-    { { FRAC_CONST(0.4679299891), FRAC_CONST(-0.8837655187) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.9874414206), FRAC_CONST(0.1579856575) } },
-    { { FRAC_CONST(0.9645573497), FRAC_CONST(0.2638732493) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.5966450572), FRAC_CONST(-0.8025052547) } },
-    { { FRAC_CONST(-0.0471066870), FRAC_CONST(0.9988898635) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.4357025325), FRAC_CONST(-0.9000906944) } },
-    { { FRAC_CONST(-0.9851093888), FRAC_CONST(0.1719288528) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.9995546937), FRAC_CONST(-0.0298405960) } },
-    { { FRAC_CONST(-0.3826831877), FRAC_CONST(-0.9238796234) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.4886211455), FRAC_CONST(0.8724960685) } },
-    { { FRAC_CONST(0.8181498647), FRAC_CONST(-0.5750049949) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.5477093458), FRAC_CONST(0.8366686702) } },
-    { { FRAC_CONST(0.7396308780), FRAC_CONST(0.6730127335) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.9951074123), FRAC_CONST(-0.0987988561) } },
-    { { FRAC_CONST(-0.4954589605), FRAC_CONST(0.8686313629) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.3725017905), FRAC_CONST(-0.9280315042) } },
-    { { FRAC_CONST(-0.9557929039), FRAC_CONST(-0.2940406799) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.6506417990), FRAC_CONST(-0.7593847513) } },
-    { { FRAC_CONST(0.0784594864), FRAC_CONST(-0.9969173074) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.9741733670), FRAC_CONST(0.2258014232) } },
-    { { FRAC_CONST(0.9900237322), FRAC_CONST(-0.1409008205) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.2502108514), FRAC_CONST(0.9681913853) } },
-    { { FRAC_CONST(0.3534744382), FRAC_CONST(0.9354441762) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.7427945137), FRAC_CONST(0.6695194840) } },
-    { { FRAC_CONST(-0.8358076215), FRAC_CONST(0.5490224361) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.9370992780), FRAC_CONST(-0.3490629196) } },
-    { { FRAC_CONST(-0.7181259394), FRAC_CONST(-0.6959131360) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.1237744763), FRAC_CONST(-0.9923103452) } },
-    { { FRAC_CONST(0.5224990249), FRAC_CONST(-0.8526399136) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.8226406574), FRAC_CONST(-0.5685616732) } },
-    { { FRAC_CONST(0.9460852146), FRAC_CONST(0.3239179254) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.8844994903), FRAC_CONST(0.4665412009) } },
-    { { FRAC_CONST(-0.1097348556), FRAC_CONST(0.9939609170) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.0047125919), FRAC_CONST(0.9999889135) } },
-    { { FRAC_CONST(-0.9939610362), FRAC_CONST(0.1097337380) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.8888573647), FRAC_CONST(0.4581840038) } },
-    { { FRAC_CONST(-0.3239168525), FRAC_CONST(-0.9460855722) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.8172453642), FRAC_CONST(-0.5762898922) } },
-    { { FRAC_CONST(0.8526405096), FRAC_CONST(-0.5224980116) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.1331215799), FRAC_CONST(-0.9910997152) } },
-    { { FRAC_CONST(0.6959123611), FRAC_CONST(0.7181267142) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.9403476119), FRAC_CONST(-0.3402152061) } },
-    { { FRAC_CONST(-0.5490233898), FRAC_CONST(0.8358070254) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.7364512086), FRAC_CONST(0.6764906645) } },
-    { { FRAC_CONST(-0.9354437590), FRAC_CONST(-0.3534754813) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.2593250275), FRAC_CONST(0.9657900929) } },
-    { { FRAC_CONST(0.1409019381), FRAC_CONST(-0.9900235534) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.9762582779), FRAC_CONST(0.2166097313) } },
-    { { FRAC_CONST(0.9969173670), FRAC_CONST(-0.0784583688) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.6434556246), FRAC_CONST(-0.7654833794) } },
-    { { FRAC_CONST(0.2940396070), FRAC_CONST(0.9557932615) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.3812320232), FRAC_CONST(-0.9244794250) } },
-    { { FRAC_CONST(-0.8686318994), FRAC_CONST(0.4954580069) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.9959943891), FRAC_CONST(-0.0894154981) } },
-    { { FRAC_CONST(-0.6730118990), FRAC_CONST(-0.7396316528) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.5397993922), FRAC_CONST(0.8417937160) } },
-    { { FRAC_CONST(0.5750059485), FRAC_CONST(-0.8181492686) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.4968227744), FRAC_CONST(0.8678520322) } },
-    { { FRAC_CONST(0.9238792062), FRAC_CONST(0.3826842010) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.9992290139), FRAC_CONST(-0.0392601527) } },
-    { { FRAC_CONST(-0.1719299555), FRAC_CONST(0.9851091504) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.4271997511), FRAC_CONST(-0.9041572809) } },
-    { { FRAC_CONST(-0.9988899231), FRAC_CONST(0.0471055657) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.6041822433), FRAC_CONST(-0.7968461514) } },
-    { { FRAC_CONST(-0.2638721764), FRAC_CONST(-0.9645576477) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.9859085083), FRAC_CONST(0.1672853529) } },
-    { { FRAC_CONST(0.8837660551), FRAC_CONST(-0.4679289758) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.3075223565), FRAC_CONST(0.9515408874) } },
-    { { FRAC_CONST(0.6494473219), FRAC_CONST(0.7604066133) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.7015317082), FRAC_CONST(0.7126382589) } },
-    { { FRAC_CONST(-0.6004210114), FRAC_CONST(0.7996840477) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.9562535882), FRAC_CONST(-0.2925389707) } },
-    { { FRAC_CONST(-0.9114028811), FRAC_CONST(-0.4115152657) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.1827499419), FRAC_CONST(-0.9831594229) } },
-    { { FRAC_CONST(0.2027882934), FRAC_CONST(-0.9792225957) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.7872582674), FRAC_CONST(-0.6166234016) } },
-    { { FRAC_CONST(0.9998766780), FRAC_CONST(-0.0157062728) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.9107555747), FRAC_CONST(0.4129458666) } },
-    { { FRAC_CONST(0.2334443331), FRAC_CONST(0.9723701477) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.0549497530), FRAC_CONST(0.9984891415) } },
-    { { FRAC_CONST(-0.8980280757), FRAC_CONST(0.4399381876) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.8599416018), FRAC_CONST(0.5103924870) } },
-    { { FRAC_CONST(-0.6252418160), FRAC_CONST(-0.7804310918) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(-0.8501682281), FRAC_CONST(-0.5265110731) } },
-    { { FRAC_CONST(0.6252435446), FRAC_CONST(-0.7804297209) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.0737608299), FRAC_CONST(-0.9972759485) } },
-    { { FRAC_CONST(0.8980270624), FRAC_CONST(0.4399402142) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.9183775187), FRAC_CONST(-0.3957053721) } },
-    { { FRAC_CONST(-0.2334465086), FRAC_CONST(0.9723696709) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.7754954696), FRAC_CONST(0.6313531399) } },
-    { { FRAC_CONST(-0.9998766184), FRAC_CONST(-0.0157085191) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.2012493610), FRAC_CONST(0.9795400500) } },
-    { { FRAC_CONST(-0.2027861029), FRAC_CONST(-0.9792230725) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.9615978599), FRAC_CONST(0.2744622827) } },
-    { { FRAC_CONST(0.9114037752), FRAC_CONST(-0.4115132093) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.6879743338), FRAC_CONST(-0.7257350087) } },
-    { { FRAC_CONST(0.6004192233), FRAC_CONST(0.7996854186) }, { FRAC_CONST(0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(0.3254036009), FRAC_CONST(-0.9455752373) } },
-    { { FRAC_CONST(-0.6494490504), FRAC_CONST(0.7604051232) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.9888865948), FRAC_CONST(-0.1486719251) } },
-    { { FRAC_CONST(-0.8837650418), FRAC_CONST(-0.4679309726) }, { FRAC_CONST(0.9238795042), FRAC_CONST(-0.3826834261) }, { FRAC_CONST(0.5890548825), FRAC_CONST(0.8080930114) } },
-    { { FRAC_CONST(0.2638743520), FRAC_CONST(-0.9645570517) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(0.9238795042) }, { FRAC_CONST(-0.4441666007), FRAC_CONST(0.8959442377) } },
-    { { FRAC_CONST(0.9988898039), FRAC_CONST(0.0471078083) }, { FRAC_CONST(-0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(-0.9997915030), FRAC_CONST(0.0204183888) } },
-    { { FRAC_CONST(0.1719277352), FRAC_CONST(0.9851095676) }, { FRAC_CONST(0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(-0.4803760946), FRAC_CONST(-0.8770626187) } },
-    { { FRAC_CONST(-0.9238800406), FRAC_CONST(0.3826821446) }, { FRAC_CONST(-0.9238795042), FRAC_CONST(0.3826834261) }, { FRAC_CONST(0.5555707216), FRAC_CONST(-0.8314692974) } },
-    { { FRAC_CONST(-0.5750041008), FRAC_CONST(-0.8181505203) }, { FRAC_CONST(0.3826834261), FRAC_CONST(-0.9238795042) }, { FRAC_CONST(0.9941320419), FRAC_CONST(0.1081734300) } }
-};
-
-/* RE(Q_Fract_allpass_SubQmf20[j][i]) = (float)cos(M_PI*f_center_20[j]*frac_delay_q[i]); */
-/* IM(Q_Fract_allpass_SubQmf20[j][i]) = (float)sin(M_PI*f_center_20[j]*frac_delay_q[i]); */
-static const complex_t Q_Fract_allpass_SubQmf20[][3] = {
-    { { FRAC_CONST(0.9857769012), FRAC_CONST(0.1680592746) }, { FRAC_CONST(0.9569403529), FRAC_CONST(0.2902846634) }, { FRAC_CONST(0.9907300472), FRAC_CONST(0.1358452588) } },
-    { { FRAC_CONST(0.8744080663), FRAC_CONST(0.4851911962) }, { FRAC_CONST(0.6343932748), FRAC_CONST(0.7730104327) }, { FRAC_CONST(0.9175986052), FRAC_CONST(0.3975082636) } },
-    { { FRAC_CONST(0.6642524004), FRAC_CONST(0.7475083470) }, { FRAC_CONST(0.0980171412), FRAC_CONST(0.9951847196) }, { FRAC_CONST(0.7767338753), FRAC_CONST(0.6298289299) } },
-    { { FRAC_CONST(0.3790524006), FRAC_CONST(0.9253752232) }, { FRAC_CONST(-0.4713967443), FRAC_CONST(0.8819212914) }, { FRAC_CONST(0.5785340071), FRAC_CONST(0.8156582713) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(0.8744080663), FRAC_CONST(-0.4851911962) }, { FRAC_CONST(0.6343932748), FRAC_CONST(-0.7730104327) }, { FRAC_CONST(0.9175986052), FRAC_CONST(-0.3975082636) } },
-    { { FRAC_CONST(0.9857769012), FRAC_CONST(-0.1680592746) }, { FRAC_CONST(0.9569403529), FRAC_CONST(-0.2902846634) }, { FRAC_CONST(0.9907300472), FRAC_CONST(-0.1358452588) } },
-    { { FRAC_CONST(-0.7126385570), FRAC_CONST(0.7015314102) }, { FRAC_CONST(-0.5555702448), FRAC_CONST(-0.8314695954) }, { FRAC_CONST(-0.3305967748), FRAC_CONST(0.9437720776) } },
-    { { FRAC_CONST(-0.1175374240), FRAC_CONST(0.9930684566) }, { FRAC_CONST(-0.9807852507), FRAC_CONST(0.1950903237) }, { FRAC_CONST(0.2066311091), FRAC_CONST(0.9784189463) } },
-    { { FRAC_CONST(-0.9947921634), FRAC_CONST(0.1019244045) }, { FRAC_CONST(0.5555702448), FRAC_CONST(-0.8314695954) }, { FRAC_CONST(-0.7720130086), FRAC_CONST(0.6356067061) } },
-    { { FRAC_CONST(-0.8400934935), FRAC_CONST(-0.5424416065) }, { FRAC_CONST(0.9807852507), FRAC_CONST(0.1950903237) }, { FRAC_CONST(-0.9896889329), FRAC_CONST(0.1432335079) } }
-};
-
-/* RE(Q_Fract_allpass_SubQmf34[j][i]) = (float)cos(M_PI*f_center_34[j]*frac_delay_q[i]); */
-/* IM(Q_Fract_allpass_SubQmf34[j][i]) = (float)sin(M_PI*f_center_34[j]*frac_delay_q[i]); */
-static const complex_t Q_Fract_allpass_SubQmf34[][3] = {
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(0.2181432247), FRAC_CONST(0.9759167433) }, { FRAC_CONST(-0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(0.4623677433), FRAC_CONST(0.8866882324) } },
-    { { FRAC_CONST(0.2181432247), FRAC_CONST(0.9759167433) }, { FRAC_CONST(-0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(0.4623677433), FRAC_CONST(0.8866882324) } },
-    { { FRAC_CONST(0.2181432247), FRAC_CONST(0.9759167433) }, { FRAC_CONST(-0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(0.4623677433), FRAC_CONST(0.8866882324) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(-0.9048270583), FRAC_CONST(0.4257792532) }, { FRAC_CONST(-0.0000000000), FRAC_CONST(-1.0000000000) }, { FRAC_CONST(-0.5724321604), FRAC_CONST(0.8199520707) } },
-    { { FRAC_CONST(-0.9048270583), FRAC_CONST(0.4257792532) }, { FRAC_CONST(-0.0000000000), FRAC_CONST(-1.0000000000) }, { FRAC_CONST(-0.5724321604), FRAC_CONST(0.8199520707) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(1.0000000000), FRAC_CONST(0.0000000000) } },
-    { { FRAC_CONST(0.2181432247), FRAC_CONST(0.9759167433) }, { FRAC_CONST(-0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(0.4623677433), FRAC_CONST(0.8866882324) } },
-    { { FRAC_CONST(0.2181432247), FRAC_CONST(0.9759167433) }, { FRAC_CONST(-0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(0.4623677433), FRAC_CONST(0.8866882324) } },
-    { { FRAC_CONST(0.2181432247), FRAC_CONST(0.9759167433) }, { FRAC_CONST(-0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(0.4623677433), FRAC_CONST(0.8866882324) } },
-    { { FRAC_CONST(0.2181432247), FRAC_CONST(0.9759167433) }, { FRAC_CONST(-0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(0.4623677433), FRAC_CONST(0.8866882324) } },
-    { { FRAC_CONST(-0.9048270583), FRAC_CONST(0.4257792532) }, { FRAC_CONST(-0.0000000000), FRAC_CONST(-1.0000000000) }, { FRAC_CONST(-0.5724321604), FRAC_CONST(0.8199520707) } },
-    { { FRAC_CONST(-0.9048270583), FRAC_CONST(0.4257792532) }, { FRAC_CONST(-0.0000000000), FRAC_CONST(-1.0000000000) }, { FRAC_CONST(-0.5724321604), FRAC_CONST(0.8199520707) } },
-    { { FRAC_CONST(-0.6129069924), FRAC_CONST(-0.7901550531) }, { FRAC_CONST(0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(-0.9917160273), FRAC_CONST(-0.1284494549) } },
-    { { FRAC_CONST(0.2181432247), FRAC_CONST(0.9759167433) }, { FRAC_CONST(-0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(0.4623677433), FRAC_CONST(0.8866882324) } },
-    { { FRAC_CONST(0.6374240518), FRAC_CONST(-0.7705131769) }, { FRAC_CONST(-1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(-0.3446428776), FRAC_CONST(-0.9387338758) } },
-    { { FRAC_CONST(-0.9048270583), FRAC_CONST(0.4257792532) }, { FRAC_CONST(-0.0000000000), FRAC_CONST(-1.0000000000) }, { FRAC_CONST(-0.5724321604), FRAC_CONST(0.8199520707) } },
-    { { FRAC_CONST(-0.6129069924), FRAC_CONST(-0.7901550531) }, { FRAC_CONST(0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(-0.9917160273), FRAC_CONST(-0.1284494549) } },
-    { { FRAC_CONST(-0.6129069924), FRAC_CONST(-0.7901550531) }, { FRAC_CONST(0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(-0.9917160273), FRAC_CONST(-0.1284494549) } },
-    { { FRAC_CONST(0.6374240518), FRAC_CONST(-0.7705131769) }, { FRAC_CONST(-1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(-0.3446428776), FRAC_CONST(-0.9387338758) } },
-    { { FRAC_CONST(0.6374240518), FRAC_CONST(-0.7705131769) }, { FRAC_CONST(-1.0000000000), FRAC_CONST(0.0000000000) }, { FRAC_CONST(-0.3446428776), FRAC_CONST(-0.9387338758) } },
-    { { FRAC_CONST(0.8910064697), FRAC_CONST(0.4539906085) }, { FRAC_CONST(0.7071067691), FRAC_CONST(-0.7071067691) }, { FRAC_CONST(0.6730125546), FRAC_CONST(-0.7396310568) } },
-    { { FRAC_CONST(-0.6129069924), FRAC_CONST(-0.7901550531) }, { FRAC_CONST(0.7071067691), FRAC_CONST(0.7071067691) }, { FRAC_CONST(-0.9917160273), FRAC_CONST(-0.1284494549) } }
-};
-
-#if 0
-static float quant_rho[8] =
-{
-    FRAC_CONST(1.0), FRAC_CONST(0.937), FRAC_CONST(0.84118), FRAC_CONST(0.60092),
-    FRAC_CONST(0.36764), FRAC_CONST(0.0), FRAC_CONST(-0.589), FRAC_CONST(-1.0)
-};
-
-static const uint8_t quant_iid_normal[7] =
-{
-    2, 4, 7, 10, 14, 18, 25
-};
-
-static const uint8_t quant_iid_fine[15] =
-{
-    2, 4, 6, 8, 10, 13, 16, 19, 22, 25, 30, 35, 40, 45, 50
-};
-#endif
-
-static const real_t cos_alphas[] = {
-    COEF_CONST(1.0000000000), COEF_CONST(0.9841239700), COEF_CONST(0.9594738210),
-    COEF_CONST(0.8946843079), COEF_CONST(0.8269340931), COEF_CONST(0.7071067812),
-    COEF_CONST(0.4533210856), COEF_CONST(0.0000000000)
-};
-
-static const real_t sin_alphas[] = {
-    COEF_CONST(0.0000000000), COEF_CONST(0.1774824264), COEF_CONST(0.2817977763),
-    COEF_CONST(0.4466989918), COEF_CONST(0.5622988580), COEF_CONST(0.7071067812),
-    COEF_CONST(0.8913472911), COEF_CONST(1.0000000000)
-};
-
-static const real_t cos_betas_normal[][8] = {
-    { COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9995871699), COEF_CONST(0.9989419133), COEF_CONST(0.9972204583), COEF_CONST(0.9953790839), COEF_CONST(0.9920112747), COEF_CONST(0.9843408180), COEF_CONST(0.9681727381) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9984497744), COEF_CONST(0.9960279377), COEF_CONST(0.9895738413), COEF_CONST(0.9826814632), COEF_CONST(0.9701058164), COEF_CONST(0.9416098832), COEF_CONST(0.8822105900) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9959398908), COEF_CONST(0.9896038018), COEF_CONST(0.9727589768), COEF_CONST(0.9548355329), COEF_CONST(0.9223070404), COEF_CONST(0.8494349490), COEF_CONST(0.7013005535) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9932417400), COEF_CONST(0.9827071856), COEF_CONST(0.9547730996), COEF_CONST(0.9251668930), COEF_CONST(0.8717461589), COEF_CONST(0.7535520592), COEF_CONST(0.5198827312) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9902068095), COEF_CONST(0.9749613872), COEF_CONST(0.9346538534), COEF_CONST(0.8921231300), COEF_CONST(0.8158851259), COEF_CONST(0.6495964302), COEF_CONST(0.3313370772) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9880510933), COEF_CONST(0.9694670261), COEF_CONST(0.9204347876), COEF_CONST(0.8688622825), COEF_CONST(0.7768516704), COEF_CONST(0.5782161800), COEF_CONST(0.2069970356) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9858996945), COEF_CONST(0.9639898866), COEF_CONST(0.9063034786), COEF_CONST(0.8458214608), COEF_CONST(0.7384262300), COEF_CONST(0.5089811277), COEF_CONST(0.0905465944) }
-};
-
-static const real_t sin_betas_normal[][8] = {
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.0287313368), COEF_CONST(-0.0459897147), COEF_CONST(-0.0745074328), COEF_CONST(-0.0960233266), COEF_CONST(-0.1261492408), COEF_CONST(-0.1762757894), COEF_CONST(-0.2502829383) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.0556601118), COEF_CONST(-0.0890412670), COEF_CONST(-0.1440264301), COEF_CONST(-0.1853028382), COEF_CONST(-0.2426823129), COEF_CONST(-0.3367058477), COEF_CONST(-0.4708550466) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.0900207420), COEF_CONST(-0.1438204281), COEF_CONST(-0.2318188366), COEF_CONST(-0.2971348264), COEF_CONST(-0.3864579191), COEF_CONST(-0.5276933461), COEF_CONST(-0.7128657193) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1160639735), COEF_CONST(-0.1851663774), COEF_CONST(-0.2973353800), COEF_CONST(-0.3795605619), COEF_CONST(-0.4899577884), COEF_CONST(-0.6573882369), COEF_CONST(-0.8542376401) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1396082894), COEF_CONST(-0.2223742196), COEF_CONST(-0.3555589603), COEF_CONST(-0.4517923427), COEF_CONST(-0.5782140273), COEF_CONST(-0.7602792104), COEF_CONST(-0.9435124489) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1541266914), COEF_CONST(-0.2452217065), COEF_CONST(-0.3908961522), COEF_CONST(-0.4950538699), COEF_CONST(-0.6296836366), COEF_CONST(-0.8158836002), COEF_CONST(-0.9783415698) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1673373610), COEF_CONST(-0.2659389001), COEF_CONST(-0.4226275012), COEF_CONST(-0.5334660781), COEF_CONST(-0.6743342664), COEF_CONST(-0.8607776784), COEF_CONST(-0.9958922202) }
-};
-
-static const real_t cos_betas_fine[][8] = {
-    { COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000), COEF_CONST(1.0000000000) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9995871699), COEF_CONST(0.9989419133), COEF_CONST(0.9972204583), COEF_CONST(0.9953790839), COEF_CONST(0.9920112747), COEF_CONST(0.9843408180), COEF_CONST(0.9681727381) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9984497744), COEF_CONST(0.9960279377), COEF_CONST(0.9895738413), COEF_CONST(0.9826814632), COEF_CONST(0.9701058164), COEF_CONST(0.9416098832), COEF_CONST(0.8822105900) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9968361371), COEF_CONST(0.9918968104), COEF_CONST(0.9787540479), COEF_CONST(0.9647515190), COEF_CONST(0.9392903010), COEF_CONST(0.8820167114), COEF_CONST(0.7645325390) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9950262915), COEF_CONST(0.9872675041), COEF_CONST(0.9666584578), COEF_CONST(0.9447588606), COEF_CONST(0.9050918405), COEF_CONST(0.8165997379), COEF_CONST(0.6383824796) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9932417400), COEF_CONST(0.9827071856), COEF_CONST(0.9547730996), COEF_CONST(0.9251668930), COEF_CONST(0.8717461589), COEF_CONST(0.7535520592), COEF_CONST(0.5198827312) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9908827998), COEF_CONST(0.9766855904), COEF_CONST(0.9391249214), COEF_CONST(0.8994531782), COEF_CONST(0.8282352693), COEF_CONST(0.6723983174), COEF_CONST(0.3719473225) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9890240165), COEF_CONST(0.9719459866), COEF_CONST(0.9268448110), COEF_CONST(0.8793388536), COEF_CONST(0.7944023271), COEF_CONST(0.6101812098), COEF_CONST(0.2621501145) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9876350461), COEF_CONST(0.9684073447), COEF_CONST(0.9176973944), COEF_CONST(0.8643930070), COEF_CONST(0.7693796058), COEF_CONST(0.5646720713), COEF_CONST(0.1838899556) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9866247085), COEF_CONST(0.9658349704), COEF_CONST(0.9110590761), COEF_CONST(0.8535668048), COEF_CONST(0.7513165426), COEF_CONST(0.5320914819), COEF_CONST(0.1289530943) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9858996945), COEF_CONST(0.9639898866), COEF_CONST(0.9063034786), COEF_CONST(0.8458214608), COEF_CONST(0.7384262300), COEF_CONST(0.5089811277), COEF_CONST(0.0905465944) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9851245614), COEF_CONST(0.9620180268), COEF_CONST(0.9012265590), COEF_CONST(0.8375623272), COEF_CONST(0.7247108045), COEF_CONST(0.4845204297), COEF_CONST(0.0504115003) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9846869856), COEF_CONST(0.9609052357), COEF_CONST(0.8983639533), COEF_CONST(0.8329098386), COEF_CONST(0.7169983441), COEF_CONST(0.4708245354), COEF_CONST(0.0281732509) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9844406325), COEF_CONST(0.9602788522), COEF_CONST(0.8967533934), COEF_CONST(0.8302936455), COEF_CONST(0.7126658102), COEF_CONST(0.4631492839), COEF_CONST(0.0157851140) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9843020502), COEF_CONST(0.9599265269), COEF_CONST(0.8958477331), COEF_CONST(0.8288229094), COEF_CONST(0.7102315840), COEF_CONST(0.4588429315), COEF_CONST(0.0088578059) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9842241136), COEF_CONST(0.9597283916), COEF_CONST(0.8953385094), COEF_CONST(0.8279961409), COEF_CONST(0.7088635748), COEF_CONST(0.4564246834), COEF_CONST(0.0049751355) }
-};
-
-static const real_t sin_betas_fine[][8] = {
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000), COEF_CONST(0.0000000000) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.0287313368), COEF_CONST(-0.0459897147), COEF_CONST(-0.0745074328), COEF_CONST(-0.0960233266), COEF_CONST(-0.1261492408), COEF_CONST(-0.1762757894), COEF_CONST(-0.2502829383) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.0556601118), COEF_CONST(-0.0890412670), COEF_CONST(-0.1440264301), COEF_CONST(-0.1853028382), COEF_CONST(-0.2426823129), COEF_CONST(-0.3367058477), COEF_CONST(-0.4708550466) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.0794840594), COEF_CONST(-0.1270461238), COEF_CONST(-0.2050378347), COEF_CONST(-0.2631625097), COEF_CONST(-0.3431234916), COEF_CONST(-0.4712181245), COEF_CONST(-0.6445851354) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.0996126459), COEF_CONST(-0.1590687758), COEF_CONST(-0.2560691819), COEF_CONST(-0.3277662204), COEF_CONST(-0.4252161335), COEF_CONST(-0.5772043556), COEF_CONST(-0.7697193058) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1160639735), COEF_CONST(-0.1851663774), COEF_CONST(-0.2973353800), COEF_CONST(-0.3795605619), COEF_CONST(-0.4899577884), COEF_CONST(-0.6573882369), COEF_CONST(-0.8542376401) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1347266752), COEF_CONST(-0.2146747714), COEF_CONST(-0.3435758752), COEF_CONST(-0.4370171396), COEF_CONST(-0.5603805303), COEF_CONST(-0.7401895046), COEF_CONST(-0.9282538388) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1477548470), COEF_CONST(-0.2352041647), COEF_CONST(-0.3754446647), COEF_CONST(-0.4761965776), COEF_CONST(-0.6073919186), COEF_CONST(-0.7922618830), COEF_CONST(-0.9650271071) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1567705832), COEF_CONST(-0.2493736450), COEF_CONST(-0.3972801182), COEF_CONST(-0.5028167951), COEF_CONST(-0.6387918458), COEF_CONST(-0.8253153651), COEF_CONST(-0.9829468369) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1630082348), COEF_CONST(-0.2591578860), COEF_CONST(-0.4122758299), COEF_CONST(-0.5209834064), COEF_CONST(-0.6599420072), COEF_CONST(-0.8466868694), COEF_CONST(-0.9916506943) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1673373610), COEF_CONST(-0.2659389001), COEF_CONST(-0.4226275012), COEF_CONST(-0.5334660781), COEF_CONST(-0.6743342664), COEF_CONST(-0.8607776784), COEF_CONST(-0.9958922202) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1718417832), COEF_CONST(-0.2729859267), COEF_CONST(-0.4333482310), COEF_CONST(-0.5463417868), COEF_CONST(-0.6890531546), COEF_CONST(-0.8747799456), COEF_CONST(-0.9987285320) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1743316967), COEF_CONST(-0.2768774604), COEF_CONST(-0.4392518725), COEF_CONST(-0.5534087104), COEF_CONST(-0.6970748701), COEF_CONST(-0.8822268738), COEF_CONST(-0.9996030552) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1757175038), COEF_CONST(-0.2790421580), COEF_CONST(-0.4425306221), COEF_CONST(-0.5573261722), COEF_CONST(-0.7015037013), COEF_CONST(-0.8862802834), COEF_CONST(-0.9998754073) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1764921355), COEF_CONST(-0.2802517850), COEF_CONST(-0.4443611583), COEF_CONST(-0.5595110229), COEF_CONST(-0.7039681080), COEF_CONST(-0.8885173967), COEF_CONST(-0.9999607689) },
-    { COEF_CONST(0.0000000000), COEF_CONST(-0.1769262394), COEF_CONST(-0.2809295540), COEF_CONST(-0.4453862969), COEF_CONST(-0.5607337966), COEF_CONST(-0.7053456119), COEF_CONST(-0.8897620516), COEF_CONST(-0.9999876239) }
-};
-
-static const real_t sincos_alphas_B_normal[][8] = {
-    { COEF_CONST(0.0561454100), COEF_CONST(0.0526385859), COEF_CONST(0.0472937334), COEF_CONST(0.0338410641), COEF_CONST(0.0207261065), COEF_CONST(0.0028205635), COEF_CONST(0.0028205635), COEF_CONST(0.0028205635) },
-    { COEF_CONST(0.1249065138), COEF_CONST(0.1173697697), COEF_CONST(0.1057888284), COEF_CONST(0.0761985131), COEF_CONST(0.0468732723), COEF_CONST(0.0063956103), COEF_CONST(0.0063956103), COEF_CONST(0.0063956103) },
-    { COEF_CONST(0.1956693050), COEF_CONST(0.1846090179), COEF_CONST(0.1673645109), COEF_CONST(0.1220621836), COEF_CONST(0.0757362479), COEF_CONST(0.0103882630), COEF_CONST(0.0103882630), COEF_CONST(0.0103882630) },
-    { COEF_CONST(0.3015113269), COEF_CONST(0.2870525790), COEF_CONST(0.2637738799), COEF_CONST(0.1984573949), COEF_CONST(0.1260749909), COEF_CONST(0.0175600126), COEF_CONST(0.0175600126), COEF_CONST(0.0175600126) },
-    { COEF_CONST(0.4078449476), COEF_CONST(0.3929852420), COEF_CONST(0.3680589270), COEF_CONST(0.2911029124), COEF_CONST(0.1934512363), COEF_CONST(0.0278686716), COEF_CONST(0.0278686716), COEF_CONST(0.0278686716) },
-    { COEF_CONST(0.5336171261), COEF_CONST(0.5226637762), COEF_CONST(0.5033652606), COEF_CONST(0.4349162672), COEF_CONST(0.3224682122), COEF_CONST(0.0521999036), COEF_CONST(0.0521999036), COEF_CONST(0.0521999036) },
-    { COEF_CONST(0.6219832023), COEF_CONST(0.6161847276), COEF_CONST(0.6057251063), COEF_CONST(0.5654342668), COEF_CONST(0.4826149915), COEF_CONST(0.1058044758), COEF_CONST(0.1058044758), COEF_CONST(0.1058044758) },
-    { COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657) },
-    { COEF_CONST(0.7830305572), COEF_CONST(0.7876016373), COEF_CONST(0.7956739618), COEF_CONST(0.8247933372), COEF_CONST(0.8758325942), COEF_CONST(0.9943869542), COEF_CONST(0.9943869542), COEF_CONST(0.9943869542) },
-    { COEF_CONST(0.8457261833), COEF_CONST(0.8525388778), COEF_CONST(0.8640737401), COEF_CONST(0.9004708933), COEF_CONST(0.9465802987), COEF_CONST(0.9986366532), COEF_CONST(0.9986366532), COEF_CONST(0.9986366532) },
-    { COEF_CONST(0.9130511848), COEF_CONST(0.9195447612), COEF_CONST(0.9298024282), COEF_CONST(0.9566917233), COEF_CONST(0.9811098801), COEF_CONST(0.9996115928), COEF_CONST(0.9996115928), COEF_CONST(0.9996115928) },
-    { COEF_CONST(0.9534625907), COEF_CONST(0.9579148236), COEF_CONST(0.9645845234), COEF_CONST(0.9801095128), COEF_CONST(0.9920207064), COEF_CONST(0.9998458099), COEF_CONST(0.9998458099), COEF_CONST(0.9998458099) },
-    { COEF_CONST(0.9806699215), COEF_CONST(0.9828120260), COEF_CONST(0.9858950861), COEF_CONST(0.9925224431), COEF_CONST(0.9971278825), COEF_CONST(0.9999460406), COEF_CONST(0.9999460406), COEF_CONST(0.9999460406) },
-    { COEF_CONST(0.9921685024), COEF_CONST(0.9930882705), COEF_CONST(0.9943886135), COEF_CONST(0.9970926648), COEF_CONST(0.9989008403), COEF_CONST(0.9999795479), COEF_CONST(0.9999795479), COEF_CONST(0.9999795479) },
-    { COEF_CONST(0.9984226014), COEF_CONST(0.9986136287), COEF_CONST(0.9988810254), COEF_CONST(0.9994272242), COEF_CONST(0.9997851906), COEF_CONST(0.9999960221), COEF_CONST(0.9999960221), COEF_CONST(0.9999960221) }
-};
-
-static const real_t sincos_alphas_B_fine[][8] = {
-    { COEF_CONST(0.0031622158), COEF_CONST(0.0029630181), COEF_CONST(0.0026599892), COEF_CONST(0.0019002704), COEF_CONST(0.0011626042), COEF_CONST(0.0001580278), COEF_CONST(0.0001580278), COEF_CONST(0.0001580278) },
-    { COEF_CONST(0.0056232673), COEF_CONST(0.0052689825), COEF_CONST(0.0047302825), COEF_CONST(0.0033791756), COEF_CONST(0.0020674015), COEF_CONST(0.0002811710), COEF_CONST(0.0002811710), COEF_CONST(0.0002811710) },
-    { COEF_CONST(0.0099994225), COEF_CONST(0.0093696693), COEF_CONST(0.0084117414), COEF_CONST(0.0060093796), COEF_CONST(0.0036766009), COEF_CONST(0.0005000392), COEF_CONST(0.0005000392), COEF_CONST(0.0005000392) },
-    { COEF_CONST(0.0177799194), COEF_CONST(0.0166607102), COEF_CONST(0.0149581377), COEF_CONST(0.0106875809), COEF_CONST(0.0065392545), COEF_CONST(0.0008893767), COEF_CONST(0.0008893767), COEF_CONST(0.0008893767) },
-    { COEF_CONST(0.0316069684), COEF_CONST(0.0296211579), COEF_CONST(0.0265987295), COEF_CONST(0.0190113813), COEF_CONST(0.0116349973), COEF_CONST(0.0015826974), COEF_CONST(0.0015826974), COEF_CONST(0.0015826974) },
-    { COEF_CONST(0.0561454100), COEF_CONST(0.0526385859), COEF_CONST(0.0472937334), COEF_CONST(0.0338410641), COEF_CONST(0.0207261065), COEF_CONST(0.0028205635), COEF_CONST(0.0028205635), COEF_CONST(0.0028205635) },
-    { COEF_CONST(0.0791834041), COEF_CONST(0.0742798103), COEF_CONST(0.0667907269), COEF_CONST(0.0478705292), COEF_CONST(0.0293500747), COEF_CONST(0.0039966755), COEF_CONST(0.0039966755), COEF_CONST(0.0039966755) },
-    { COEF_CONST(0.1115021177), COEF_CONST(0.1047141985), COEF_CONST(0.0943053154), COEF_CONST(0.0678120561), COEF_CONST(0.0416669150), COEF_CONST(0.0056813213), COEF_CONST(0.0056813213), COEF_CONST(0.0056813213) },
-    { COEF_CONST(0.1565355066), COEF_CONST(0.1473258371), COEF_CONST(0.1330924027), COEF_CONST(0.0963282233), COEF_CONST(0.0594509113), COEF_CONST(0.0081277946), COEF_CONST(0.0081277946), COEF_CONST(0.0081277946) },
-    { COEF_CONST(0.2184643682), COEF_CONST(0.2064579524), COEF_CONST(0.1876265439), COEF_CONST(0.1375744167), COEF_CONST(0.0856896681), COEF_CONST(0.0117817338), COEF_CONST(0.0117817338), COEF_CONST(0.0117817338) },
-    { COEF_CONST(0.3015113269), COEF_CONST(0.2870525790), COEF_CONST(0.2637738799), COEF_CONST(0.1984573949), COEF_CONST(0.1260749909), COEF_CONST(0.0175600126), COEF_CONST(0.0175600126), COEF_CONST(0.0175600126) },
-    { COEF_CONST(0.3698741335), COEF_CONST(0.3547727297), COEF_CONST(0.3298252076), COEF_CONST(0.2556265829), COEF_CONST(0.1665990017), COEF_CONST(0.0236344541), COEF_CONST(0.0236344541), COEF_CONST(0.0236344541) },
-    { COEF_CONST(0.4480623975), COEF_CONST(0.4339410024), COEF_CONST(0.4098613774), COEF_CONST(0.3322709108), COEF_CONST(0.2266784729), COEF_CONST(0.0334094131), COEF_CONST(0.0334094131), COEF_CONST(0.0334094131) },
-    { COEF_CONST(0.5336171261), COEF_CONST(0.5226637762), COEF_CONST(0.5033652606), COEF_CONST(0.4349162672), COEF_CONST(0.3224682122), COEF_CONST(0.0521999036), COEF_CONST(0.0521999036), COEF_CONST(0.0521999036) },
-    { COEF_CONST(0.6219832023), COEF_CONST(0.6161847276), COEF_CONST(0.6057251063), COEF_CONST(0.5654342668), COEF_CONST(0.4826149915), COEF_CONST(0.1058044758), COEF_CONST(0.1058044758), COEF_CONST(0.1058044758) },
-    { COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657), COEF_CONST(0.7071067657) },
-    { COEF_CONST(0.7830305572), COEF_CONST(0.7876016373), COEF_CONST(0.7956739618), COEF_CONST(0.8247933372), COEF_CONST(0.8758325942), COEF_CONST(0.9943869542), COEF_CONST(0.9943869542), COEF_CONST(0.9943869542) },
-    { COEF_CONST(0.8457261833), COEF_CONST(0.8525388778), COEF_CONST(0.8640737401), COEF_CONST(0.9004708933), COEF_CONST(0.9465802987), COEF_CONST(0.9986366532), COEF_CONST(0.9986366532), COEF_CONST(0.9986366532) },
-    { COEF_CONST(0.8940022267), COEF_CONST(0.9009412572), COEF_CONST(0.9121477564), COEF_CONST(0.9431839770), COEF_CONST(0.9739696219), COEF_CONST(0.9994417480), COEF_CONST(0.9994417480), COEF_CONST(0.9994417480) },
-    { COEF_CONST(0.9290818561), COEF_CONST(0.9349525662), COEF_CONST(0.9440420138), COEF_CONST(0.9667755833), COEF_CONST(0.9860247275), COEF_CONST(0.9997206664), COEF_CONST(0.9997206664), COEF_CONST(0.9997206664) },
-    { COEF_CONST(0.9534625907), COEF_CONST(0.9579148236), COEF_CONST(0.9645845234), COEF_CONST(0.9801095128), COEF_CONST(0.9920207064), COEF_CONST(0.9998458099), COEF_CONST(0.9998458099), COEF_CONST(0.9998458099) },
-    { COEF_CONST(0.9758449068), COEF_CONST(0.9784554646), COEF_CONST(0.9822404252), COEF_CONST(0.9904914275), COEF_CONST(0.9963218730), COEF_CONST(0.9999305926), COEF_CONST(0.9999305926), COEF_CONST(0.9999305926) },
-    { COEF_CONST(0.9876723320), COEF_CONST(0.9890880155), COEF_CONST(0.9911036356), COEF_CONST(0.9953496173), COEF_CONST(0.9982312259), COEF_CONST(0.9999669685), COEF_CONST(0.9999669685), COEF_CONST(0.9999669685) },
-    { COEF_CONST(0.9937641889), COEF_CONST(0.9945023501), COEF_CONST(0.9955433130), COEF_CONST(0.9976981117), COEF_CONST(0.9991315558), COEF_CONST(0.9999838610), COEF_CONST(0.9999838610), COEF_CONST(0.9999838610) },
-    { COEF_CONST(0.9968600642), COEF_CONST(0.9972374385), COEF_CONST(0.9977670024), COEF_CONST(0.9988535464), COEF_CONST(0.9995691924), COEF_CONST(0.9999920129), COEF_CONST(0.9999920129), COEF_CONST(0.9999920129) },
-    { COEF_CONST(0.9984226014), COEF_CONST(0.9986136287), COEF_CONST(0.9988810254), COEF_CONST(0.9994272242), COEF_CONST(0.9997851906), COEF_CONST(0.9999960221), COEF_CONST(0.9999960221), COEF_CONST(0.9999960221) },
-    { COEF_CONST(0.9995003746), COEF_CONST(0.9995611974), COEF_CONST(0.9996461891), COEF_CONST(0.9998192657), COEF_CONST(0.9999323103), COEF_CONST(0.9999987475), COEF_CONST(0.9999987475), COEF_CONST(0.9999987475) },
-    { COEF_CONST(0.9998419236), COEF_CONST(0.9998611991), COEF_CONST(0.9998881193), COEF_CONST(0.9999428861), COEF_CONST(0.9999786185), COEF_CONST(0.9999996045), COEF_CONST(0.9999996045), COEF_CONST(0.9999996045) },
-    { COEF_CONST(0.9999500038), COEF_CONST(0.9999561034), COEF_CONST(0.9999646206), COEF_CONST(0.9999819429), COEF_CONST(0.9999932409), COEF_CONST(0.9999998750), COEF_CONST(0.9999998750), COEF_CONST(0.9999998750) },
-    { COEF_CONST(0.9999841890), COEF_CONST(0.9999861183), COEF_CONST(0.9999888121), COEF_CONST(0.9999942902), COEF_CONST(0.9999978628), COEF_CONST(0.9999999605), COEF_CONST(0.9999999605), COEF_CONST(0.9999999605) },
-    { COEF_CONST(0.9999950000), COEF_CONST(0.9999956102), COEF_CONST(0.9999964621), COEF_CONST(0.9999981945), COEF_CONST(0.9999993242), COEF_CONST(0.9999999875), COEF_CONST(0.9999999875), COEF_CONST(0.9999999875) }
-};
-
-static const real_t cos_gammas_normal[][8] = {
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9841239707), COEF_CONST(0.9594738226), COEF_CONST(0.8946843024), COEF_CONST(0.8269341029), COEF_CONST(0.7245688486), COEF_CONST(0.7245688486), COEF_CONST(0.7245688486) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9849690570), COEF_CONST(0.9617776789), COEF_CONST(0.9020941550), COEF_CONST(0.8436830391), COEF_CONST(0.7846832804), COEF_CONST(0.7846832804), COEF_CONST(0.7846832804) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9871656089), COEF_CONST(0.9676774734), COEF_CONST(0.9199102884), COEF_CONST(0.8785067015), COEF_CONST(0.8464232214), COEF_CONST(0.8464232214), COEF_CONST(0.8464232214) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9913533967), COEF_CONST(0.9786000177), COEF_CONST(0.9496063381), COEF_CONST(0.9277157252), COEF_CONST(0.9133354077), COEF_CONST(0.9133354077), COEF_CONST(0.9133354077) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9948924435), COEF_CONST(0.9875319180), COEF_CONST(0.9716329849), COEF_CONST(0.9604805241), COEF_CONST(0.9535949574), COEF_CONST(0.9535949574), COEF_CONST(0.9535949574) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9977406278), COEF_CONST(0.9945423840), COEF_CONST(0.9878736667), COEF_CONST(0.9833980494), COEF_CONST(0.9807207440), COEF_CONST(0.9807207440), COEF_CONST(0.9807207440) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9990607067), COEF_CONST(0.9977417734), COEF_CONST(0.9950323970), COEF_CONST(0.9932453273), COEF_CONST(0.9921884740), COEF_CONST(0.9921884740), COEF_CONST(0.9921884740) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9998081748), COEF_CONST(0.9995400312), COEF_CONST(0.9989936459), COEF_CONST(0.9986365356), COEF_CONST(0.9984265591), COEF_CONST(0.9984265591), COEF_CONST(0.9984265591) }
-};
-
-static const real_t cos_gammas_fine[][8] = {
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9841239707), COEF_CONST(0.9594738226), COEF_CONST(0.8946843024), COEF_CONST(0.8269341029), COEF_CONST(0.7245688486), COEF_CONST(0.7245688486), COEF_CONST(0.7245688486) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9849690570), COEF_CONST(0.9617776789), COEF_CONST(0.9020941550), COEF_CONST(0.8436830391), COEF_CONST(0.7846832804), COEF_CONST(0.7846832804), COEF_CONST(0.7846832804) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9871656089), COEF_CONST(0.9676774734), COEF_CONST(0.9199102884), COEF_CONST(0.8785067015), COEF_CONST(0.8464232214), COEF_CONST(0.8464232214), COEF_CONST(0.8464232214) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9899597309), COEF_CONST(0.9750098690), COEF_CONST(0.9402333855), COEF_CONST(0.9129698759), COEF_CONST(0.8943765944), COEF_CONST(0.8943765944), COEF_CONST(0.8943765944) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9926607607), COEF_CONST(0.9819295710), COEF_CONST(0.9580160104), COEF_CONST(0.9404993670), COEF_CONST(0.9293004472), COEF_CONST(0.9293004472), COEF_CONST(0.9293004472) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9948924435), COEF_CONST(0.9875319180), COEF_CONST(0.9716329849), COEF_CONST(0.9604805241), COEF_CONST(0.9535949574), COEF_CONST(0.9535949574), COEF_CONST(0.9535949574) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9972074644), COEF_CONST(0.9932414270), COEF_CONST(0.9849197629), COEF_CONST(0.9792926592), COEF_CONST(0.9759092525), COEF_CONST(0.9759092525), COEF_CONST(0.9759092525) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9985361982), COEF_CONST(0.9964742028), COEF_CONST(0.9922136306), COEF_CONST(0.9893845420), COEF_CONST(0.9877041371), COEF_CONST(0.9877041371), COEF_CONST(0.9877041371) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9992494366), COEF_CONST(0.9981967170), COEF_CONST(0.9960386625), COEF_CONST(0.9946185834), COEF_CONST(0.9937800239), COEF_CONST(0.9937800239), COEF_CONST(0.9937800239) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9996194722), COEF_CONST(0.9990869422), COEF_CONST(0.9979996269), COEF_CONST(0.9972873651), COEF_CONST(0.9968679747), COEF_CONST(0.9968679747), COEF_CONST(0.9968679747) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9998081748), COEF_CONST(0.9995400312), COEF_CONST(0.9989936459), COEF_CONST(0.9986365356), COEF_CONST(0.9984265591), COEF_CONST(0.9984265591), COEF_CONST(0.9984265591) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9999390971), COEF_CONST(0.9998540271), COEF_CONST(0.9996809352), COEF_CONST(0.9995679735), COEF_CONST(0.9995016284), COEF_CONST(0.9995016284), COEF_CONST(0.9995016284) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9999807170), COEF_CONST(0.9999537862), COEF_CONST(0.9998990191), COEF_CONST(0.9998632947), COEF_CONST(0.9998423208), COEF_CONST(0.9998423208), COEF_CONST(0.9998423208) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9999938979), COEF_CONST(0.9999853814), COEF_CONST(0.9999680568), COEF_CONST(0.9999567596), COEF_CONST(0.9999501270), COEF_CONST(0.9999501270), COEF_CONST(0.9999501270) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9999980703), COEF_CONST(0.9999953731), COEF_CONST(0.9999898968), COEF_CONST(0.9999863277), COEF_CONST(0.9999842265), COEF_CONST(0.9999842265), COEF_CONST(0.9999842265) },
-    { COEF_CONST(1.0000000000), COEF_CONST(0.9999993891), COEF_CONST(0.9999985397), COEF_CONST(0.9999968037), COEF_CONST(0.9999956786), COEF_CONST(0.9999950155), COEF_CONST(0.9999950155), COEF_CONST(0.9999950155) }
-};
-
-static const real_t sin_gammas_normal[][8] = {
-    { COEF_CONST(0.0000000000), COEF_CONST(0.1774824223), COEF_CONST(0.2817977711), COEF_CONST(0.4466990028), COEF_CONST(0.5622988435), COEF_CONST(0.6892024258), COEF_CONST(0.6892024258), COEF_CONST(0.6892024258) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.1727308798), COEF_CONST(0.2738315110), COEF_CONST(0.4315392630), COEF_CONST(0.5368416242), COEF_CONST(0.6198968861), COEF_CONST(0.6198968861), COEF_CONST(0.6198968861) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.1596999079), COEF_CONST(0.2521910140), COEF_CONST(0.3921288836), COEF_CONST(0.4777300236), COEF_CONST(0.5325107795), COEF_CONST(0.5325107795), COEF_CONST(0.5325107795) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.1312190642), COEF_CONST(0.2057717310), COEF_CONST(0.3134450552), COEF_CONST(0.3732874674), COEF_CONST(0.4072080955), COEF_CONST(0.4072080955), COEF_CONST(0.4072080955) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.1009407043), COEF_CONST(0.1574189028), COEF_CONST(0.2364938532), COEF_CONST(0.2783471983), COEF_CONST(0.3010924396), COEF_CONST(0.3010924396), COEF_CONST(0.3010924396) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0671836269), COEF_CONST(0.1043333428), COEF_CONST(0.1552598422), COEF_CONST(0.1814615013), COEF_CONST(0.1954144885), COEF_CONST(0.1954144885), COEF_CONST(0.1954144885) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0433324862), COEF_CONST(0.0671666110), COEF_CONST(0.0995516398), COEF_CONST(0.1160332699), COEF_CONST(0.1247478739), COEF_CONST(0.1247478739), COEF_CONST(0.1247478739) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0195860576), COEF_CONST(0.0303269852), COEF_CONST(0.0448519274), COEF_CONST(0.0522022017), COEF_CONST(0.0560750040), COEF_CONST(0.0560750040), COEF_CONST(0.0560750040) }
-};
-
-static const real_t sin_gammas_fine[][8] = {
-    { COEF_CONST(0.0000000000), COEF_CONST(0.1774824223), COEF_CONST(0.2817977711), COEF_CONST(0.4466990028), COEF_CONST(0.5622988435), COEF_CONST(0.6892024258), COEF_CONST(0.6892024258), COEF_CONST(0.6892024258) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.1727308798), COEF_CONST(0.2738315110), COEF_CONST(0.4315392630), COEF_CONST(0.5368416242), COEF_CONST(0.6198968861), COEF_CONST(0.6198968861), COEF_CONST(0.6198968861) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.1596999079), COEF_CONST(0.2521910140), COEF_CONST(0.3921288836), COEF_CONST(0.4777300236), COEF_CONST(0.5325107795), COEF_CONST(0.5325107795), COEF_CONST(0.5325107795) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.1413496768), COEF_CONST(0.2221615526), COEF_CONST(0.3405307340), COEF_CONST(0.4080269669), COEF_CONST(0.4473147744), COEF_CONST(0.4473147744), COEF_CONST(0.4473147744) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.1209322714), COEF_CONST(0.1892467110), COEF_CONST(0.2867147079), COEF_CONST(0.3397954394), COEF_CONST(0.3693246252), COEF_CONST(0.3693246252), COEF_CONST(0.3693246252) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.1009407043), COEF_CONST(0.1574189028), COEF_CONST(0.2364938532), COEF_CONST(0.2783471983), COEF_CONST(0.3010924396), COEF_CONST(0.3010924396), COEF_CONST(0.3010924396) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0746811420), COEF_CONST(0.1160666523), COEF_CONST(0.1730117353), COEF_CONST(0.2024497161), COEF_CONST(0.2181768341), COEF_CONST(0.2181768341), COEF_CONST(0.2181768341) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0540875291), COEF_CONST(0.0838997203), COEF_CONST(0.1245476266), COEF_CONST(0.1453211203), COEF_CONST(0.1563346972), COEF_CONST(0.1563346972), COEF_CONST(0.1563346972) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0387371058), COEF_CONST(0.0600276114), COEF_CONST(0.0889212171), COEF_CONST(0.1036044086), COEF_CONST(0.1113609634), COEF_CONST(0.1113609634), COEF_CONST(0.1113609634) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0275846110), COEF_CONST(0.0427233177), COEF_CONST(0.0632198125), COEF_CONST(0.0736064637), COEF_CONST(0.0790837596), COEF_CONST(0.0790837596), COEF_CONST(0.0790837596) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0195860576), COEF_CONST(0.0303269852), COEF_CONST(0.0448519274), COEF_CONST(0.0522022017), COEF_CONST(0.0560750040), COEF_CONST(0.0560750040), COEF_CONST(0.0560750040) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0110363955), COEF_CONST(0.0170857974), COEF_CONST(0.0252592108), COEF_CONST(0.0293916021), COEF_CONST(0.0315673054), COEF_CONST(0.0315673054), COEF_CONST(0.0315673054) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0062101284), COEF_CONST(0.0096138203), COEF_CONST(0.0142109649), COEF_CONST(0.0165345659), COEF_CONST(0.0177576316), COEF_CONST(0.0177576316), COEF_CONST(0.0177576316) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0034934509), COEF_CONST(0.0054071189), COEF_CONST(0.0079928316), COEF_CONST(0.0092994041), COEF_CONST(0.0099871631), COEF_CONST(0.0099871631), COEF_CONST(0.0099871631) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0019645397), COEF_CONST(0.0030419905), COEF_CONST(0.0044951511), COEF_CONST(0.0052291853), COEF_CONST(0.0056166498), COEF_CONST(0.0056166498), COEF_CONST(0.0056166498) },
-    { COEF_CONST(0.0000000000), COEF_CONST(0.0011053943), COEF_CONST(0.0017089869), COEF_CONST(0.0025283670), COEF_CONST(0.0029398552), COEF_CONST(0.0031573685), COEF_CONST(0.0031573685), COEF_CONST(0.0031573685) }
-};
-
-static const real_t sf_iid_normal[] = {
-    COEF_CONST(1.4119827747), COEF_CONST(1.4031381607), COEF_CONST(1.3868767023),
-    COEF_CONST(1.3483997583), COEF_CONST(1.2912493944), COEF_CONST(1.1960374117),
-    COEF_CONST(1.1073724031), COEF_CONST(1.0000000000), COEF_CONST(0.8796171546),
-    COEF_CONST(0.7546485662), COEF_CONST(0.5767799020), COEF_CONST(0.4264014363),
-    COEF_CONST(0.2767182887), COEF_CONST(0.1766446233), COEF_CONST(0.0794016272)
-};
-
-static const real_t sf_iid_fine[] = {
-    COEF_CONST(1.4142065048), COEF_CONST(1.4141912460), COEF_CONST(1.4141428471),
-    COEF_CONST(1.4139900208), COEF_CONST(1.4135069847), COEF_CONST(1.4119827747),
-    COEF_CONST(1.4097729921), COEF_CONST(1.4053947926), COEF_CONST(1.3967796564),
-    COEF_CONST(1.3800530434), COEF_CONST(1.3483997583), COEF_CONST(1.3139201403),
-    COEF_CONST(1.2643101215), COEF_CONST(1.1960374117), COEF_CONST(1.1073724031),
-    COEF_CONST(1.0000000000), COEF_CONST(0.8796171546), COEF_CONST(0.7546485662),
-    COEF_CONST(0.6336560845), COEF_CONST(0.5230810642), COEF_CONST(0.4264014363),
-    COEF_CONST(0.3089554012), COEF_CONST(0.2213746458), COEF_CONST(0.1576878875),
-    COEF_CONST(0.1119822487), COEF_CONST(0.0794016272), COEF_CONST(0.0446990170),
-    COEF_CONST(0.0251446925), COEF_CONST(0.0141414283), COEF_CONST(0.0079525812),
-    COEF_CONST(0.0044721137)
-};
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/pulse.c b/lib/libfaad2/libfaad/pulse.c
deleted file mode 100644 (file)
index 3dd973a..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: pulse.c,v 1.21 2007/11/01 12:33:34 menno Exp $
-**/
-#include "common.h"
-#include "structs.h"
-
-#include "syntax.h"
-#include "pulse.h"
-
-uint8_t pulse_decode(ic_stream *ics, int16_t *spec_data, uint16_t framelen)
-{
-    uint8_t i;
-    uint16_t k;
-    pulse_info *pul = &(ics->pul);
-
-    k = min(ics->swb_offset[pul->pulse_start_sfb], ics->swb_offset_max);
-
-    for (i = 0; i <= pul->number_pulse; i++)
-    {
-        k += pul->pulse_offset[i];
-
-        if (k >= framelen)
-            return 15; /* should not be possible */
-
-        if (spec_data[k] > 0)
-            spec_data[k] += pul->pulse_amp[i];
-        else
-            spec_data[k] -= pul->pulse_amp[i];
-    }
-
-    return 0;
-}
diff --git a/lib/libfaad2/libfaad/pulse.h b/lib/libfaad2/libfaad/pulse.h
deleted file mode 100644 (file)
index f7676cd..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: pulse.h,v 1.20 2007/11/01 12:33:34 menno Exp $
-**/
-
-#ifndef __PULSE_H__
-#define __PULSE_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-uint8_t pulse_decode(ic_stream *ics, int16_t *spec_coef, uint16_t framelen);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/rvlc.c b/lib/libfaad2/libfaad/rvlc.c
deleted file mode 100644 (file)
index 73619c6..0000000
+++ /dev/null
@@ -1,533 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: rvlc.c,v 1.21 2007/11/01 12:33:34 menno Exp $
-**/
-
-/* RVLC scalefactor decoding
- *
- * RVLC works like this:
- *  1. Only symmetric huffman codewords are used
- *  2. Total length of the scalefactor data is stored in the bitsream
- *  3. Scalefactors are DPCM coded
- *  4. Next to the starting value for DPCM the ending value is also stored
- *
- * With all this it is possible to read the scalefactor data from 2 sides.
- * If there is a bit error in the scalefactor data it is possible to start
- * decoding from the other end of the data, to find all but 1 scalefactor.
- */
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-
-#include "syntax.h"
-#include "bits.h"
-#include "rvlc.h"
-
-
-#ifdef ERROR_RESILIENCE
-
-//#define PRINT_RVLC
-
-/* static function declarations */
-static uint8_t rvlc_decode_sf_forward(ic_stream *ics,
-                                      bitfile *ld_sf,
-                                      bitfile *ld_esc,
-                                      uint8_t *is_used);
-#if 0
-static uint8_t rvlc_decode_sf_reverse(ic_stream *ics,
-                                      bitfile *ld_sf,
-                                      bitfile *ld_esc,
-                                      uint8_t is_used);
-#endif
-static int8_t rvlc_huffman_sf(bitfile *ld_sf, bitfile *ld_esc,
-                              int8_t direction);
-static int8_t rvlc_huffman_esc(bitfile *ld_esc, int8_t direction);
-
-
-uint8_t rvlc_scale_factor_data(ic_stream *ics, bitfile *ld)
-{
-    uint8_t bits = 9;
-
-    ics->sf_concealment = faad_get1bit(ld
-        DEBUGVAR(1,149,"rvlc_scale_factor_data(): sf_concealment"));
-    ics->rev_global_gain = (uint8_t)faad_getbits(ld, 8
-        DEBUGVAR(1,150,"rvlc_scale_factor_data(): rev_global_gain"));
-
-    if (ics->window_sequence == EIGHT_SHORT_SEQUENCE)
-        bits = 11;
-
-    /* the number of bits used for the huffman codewords */
-    ics->length_of_rvlc_sf = (uint16_t)faad_getbits(ld, bits
-        DEBUGVAR(1,151,"rvlc_scale_factor_data(): length_of_rvlc_sf"));
-
-    if (ics->noise_used)
-    {
-        ics->dpcm_noise_nrg = (uint16_t)faad_getbits(ld, 9
-            DEBUGVAR(1,152,"rvlc_scale_factor_data(): dpcm_noise_nrg"));
-
-        ics->length_of_rvlc_sf -= 9;
-    }
-
-    ics->sf_escapes_present = faad_get1bit(ld
-        DEBUGVAR(1,153,"rvlc_scale_factor_data(): sf_escapes_present"));
-
-    if (ics->sf_escapes_present)
-    {
-        ics->length_of_rvlc_escapes = (uint8_t)faad_getbits(ld, 8
-            DEBUGVAR(1,154,"rvlc_scale_factor_data(): length_of_rvlc_escapes"));
-    }
-
-    if (ics->noise_used)
-    {
-        ics->dpcm_noise_last_position = (uint16_t)faad_getbits(ld, 9
-            DEBUGVAR(1,155,"rvlc_scale_factor_data(): dpcm_noise_last_position"));
-    }
-
-    return 0;
-}
-
-uint8_t rvlc_decode_scale_factors(ic_stream *ics, bitfile *ld)
-{
-    uint8_t result;
-    uint8_t intensity_used = 0;
-    uint8_t *rvlc_sf_buffer = NULL;
-    uint8_t *rvlc_esc_buffer = NULL;
-    bitfile ld_rvlc_sf, ld_rvlc_esc;
-//    bitfile ld_rvlc_sf_rev, ld_rvlc_esc_rev;
-
-    if (ics->length_of_rvlc_sf > 0)
-    {
-        /* We read length_of_rvlc_sf bits here to put it in a
-           seperate bitfile.
-        */
-        rvlc_sf_buffer = faad_getbitbuffer(ld, ics->length_of_rvlc_sf
-            DEBUGVAR(1,156,"rvlc_decode_scale_factors(): bitbuffer: length_of_rvlc_sf"));
-
-        faad_initbits(&ld_rvlc_sf, (void*)rvlc_sf_buffer, bit2byte(ics->length_of_rvlc_sf));
-//        faad_initbits_rev(&ld_rvlc_sf_rev, (void*)rvlc_sf_buffer,
-//            ics->length_of_rvlc_sf);
-    }
-
-    if (ics->sf_escapes_present)
-    {
-        /* We read length_of_rvlc_escapes bits here to put it in a
-           seperate bitfile.
-        */
-        rvlc_esc_buffer = faad_getbitbuffer(ld, ics->length_of_rvlc_escapes
-            DEBUGVAR(1,157,"rvlc_decode_scale_factors(): bitbuffer: length_of_rvlc_escapes"));
-
-        faad_initbits(&ld_rvlc_esc, (void*)rvlc_esc_buffer, bit2byte(ics->length_of_rvlc_escapes));
-//        faad_initbits_rev(&ld_rvlc_esc_rev, (void*)rvlc_esc_buffer,
-//            ics->length_of_rvlc_escapes);
-    }
-
-    /* decode the rvlc scale factors and escapes */
-    result = rvlc_decode_sf_forward(ics, &ld_rvlc_sf,
-        &ld_rvlc_esc, &intensity_used);
-//    result = rvlc_decode_sf_reverse(ics, &ld_rvlc_sf_rev,
-//        &ld_rvlc_esc_rev, intensity_used);
-
-
-    if (rvlc_esc_buffer) faad_free(rvlc_esc_buffer);
-    if (rvlc_sf_buffer) faad_free(rvlc_sf_buffer);
-
-    if (ics->length_of_rvlc_sf > 0)
-        faad_endbits(&ld_rvlc_sf);
-    if (ics->sf_escapes_present)
-        faad_endbits(&ld_rvlc_esc);
-
-    return result;
-}
-
-static uint8_t rvlc_decode_sf_forward(ic_stream *ics, bitfile *ld_sf, bitfile *ld_esc,
-                                      uint8_t *intensity_used)
-{
-    int8_t g, sfb;
-    int8_t t = 0;
-    int8_t error = 0;
-    int8_t noise_pcm_flag = 1;
-
-    int16_t scale_factor = ics->global_gain;
-    int16_t is_position = 0;
-    int16_t noise_energy = ics->global_gain - 90 - 256;
-
-#ifdef PRINT_RVLC
-    printf("\nglobal_gain: %d\n", ics->global_gain);
-#endif
-
-    for (g = 0; g < ics->num_window_groups; g++)
-    {
-        for (sfb = 0; sfb < ics->max_sfb; sfb++)
-        {
-            if (error)
-            {
-                ics->scale_factors[g][sfb] = 0;
-            } else {
-                switch (ics->sfb_cb[g][sfb])
-                {
-                case ZERO_HCB: /* zero book */
-                    ics->scale_factors[g][sfb] = 0;
-                    break;
-                case INTENSITY_HCB: /* intensity books */
-                case INTENSITY_HCB2:
-
-                    *intensity_used = 1;
-
-                    /* decode intensity position */
-                    t = rvlc_huffman_sf(ld_sf, ld_esc, +1);
-
-                    is_position += t;
-                    ics->scale_factors[g][sfb] = is_position;
-
-                    break;
-                case NOISE_HCB: /* noise books */
-
-                    /* decode noise energy */
-                    if (noise_pcm_flag)
-                    {
-                        int16_t n = ics->dpcm_noise_nrg;
-                        noise_pcm_flag = 0;
-                        noise_energy += n;
-                    } else {
-                        t = rvlc_huffman_sf(ld_sf, ld_esc, +1);
-                        noise_energy += t;
-                    }
-
-                    ics->scale_factors[g][sfb] = noise_energy;
-
-                    break;
-                default: /* spectral books */
-
-                    /* decode scale factor */
-                    t = rvlc_huffman_sf(ld_sf, ld_esc, +1);
-
-                    scale_factor += t;
-                    if (scale_factor < 0)
-                        return 4;
-
-                    ics->scale_factors[g][sfb] = scale_factor;
-
-                    break;
-                }
-#ifdef PRINT_RVLC
-                printf("%3d:%4d%4d\n", sfb, ics->sfb_cb[g][sfb],
-                    ics->scale_factors[g][sfb]);
-#endif
-                if (t == 99)
-                {
-                    error = 1;
-                }
-            }
-        }
-    }
-#ifdef PRINT_RVLC
-    printf("\n\n");
-#endif
-
-    return 0;
-}
-
-#if 0 // not used right now, doesn't work correctly yet
-static uint8_t rvlc_decode_sf_reverse(ic_stream *ics, bitfile *ld_sf, bitfile *ld_esc,
-                                      uint8_t intensity_used)
-{
-    int8_t g, sfb;
-    int8_t t = 0;
-    int8_t error = 0;
-    int8_t noise_pcm_flag = 1, is_pcm_flag = 1, sf_pcm_flag = 1;
-
-    int16_t scale_factor = ics->rev_global_gain;
-    int16_t is_position = 0;
-    int16_t noise_energy = ics->rev_global_gain;
-
-#ifdef PRINT_RVLC
-    printf("\nrev_global_gain: %d\n", ics->rev_global_gain);
-#endif
-
-    if (intensity_used)
-    {
-        is_position = rvlc_huffman_sf(ld_sf, ld_esc, -1);
-#ifdef PRINT_RVLC
-        printf("is_position: %d\n", is_position);
-#endif
-    }
-
-    for (g = ics->num_window_groups-1; g >= 0; g--)
-    {
-        for (sfb = ics->max_sfb-1; sfb >= 0; sfb--)
-        {
-            if (error)
-            {
-                ics->scale_factors[g][sfb] = 0;
-            } else {
-                switch (ics->sfb_cb[g][sfb])
-                {
-                case ZERO_HCB: /* zero book */
-                    ics->scale_factors[g][sfb] = 0;
-                    break;
-                case INTENSITY_HCB: /* intensity books */
-                case INTENSITY_HCB2:
-
-                    if (is_pcm_flag)
-                    {
-                        is_pcm_flag = 0;
-                        ics->scale_factors[g][sfb] = is_position;
-                    } else {
-                        t = rvlc_huffman_sf(ld_sf, ld_esc, -1);
-                        is_position -= t;
-
-                        ics->scale_factors[g][sfb] = (uint8_t)is_position;
-                    }
-                    break;
-                case NOISE_HCB: /* noise books */
-
-                    /* decode noise energy */
-                    if (noise_pcm_flag)
-                    {
-                        noise_pcm_flag = 0;
-                        noise_energy = ics->dpcm_noise_last_position;
-                    } else {
-                        t = rvlc_huffman_sf(ld_sf, ld_esc, -1);
-                        noise_energy -= t;
-                    }
-
-                    ics->scale_factors[g][sfb] = (uint8_t)noise_energy;
-                    break;
-                default: /* spectral books */
-
-                    if (sf_pcm_flag || (sfb == 0))
-                    {
-                        sf_pcm_flag = 0;
-                        if (sfb == 0)
-                            scale_factor = ics->global_gain;
-                    } else {
-                        /* decode scale factor */
-                        t = rvlc_huffman_sf(ld_sf, ld_esc, -1);
-                        scale_factor -= t;
-                    }
-
-                    if (scale_factor < 0)
-                        return 4;
-
-                    ics->scale_factors[g][sfb] = (uint8_t)scale_factor;
-                    break;
-                }
-#ifdef PRINT_RVLC
-                printf("%3d:%4d%4d\n", sfb, ics->sfb_cb[g][sfb],
-                    ics->scale_factors[g][sfb]);
-#endif
-                if (t == 99)
-                {
-                    error = 1;
-                }
-            }
-        }
-    }
-
-#ifdef PRINT_RVLC
-    printf("\n\n");
-#endif
-
-    return 0;
-}
-#endif
-
-/* index == 99 means not allowed codeword */
-static rvlc_huff_table book_rvlc[] = {
-    /*index  length  codeword */
-    {  0, 1,   0 }, /*         0 */
-    { -1, 3,   5 }, /*       101 */
-    {  1, 3,   7 }, /*       111 */
-    { -2, 4,   9 }, /*      1001 */
-    { -3, 5,  17 }, /*     10001 */
-    {  2, 5,  27 }, /*     11011 */
-    { -4, 6,  33 }, /*    100001 */
-    { 99, 6,  50 }, /*    110010 */
-    {  3, 6,  51 }, /*    110011 */
-    { 99, 6,  52 }, /*    110100 */
-    { -7, 7,  65 }, /*   1000001 */
-    { 99, 7,  96 }, /*   1100000 */
-    { 99, 7,  98 }, /*   1100010 */
-    {  7, 7,  99 }, /*   1100011 */
-    {  4, 7, 107 }, /*   1101011 */
-    { -5, 8, 129 }, /*  10000001 */
-    { 99, 8, 194 }, /*  11000010 */
-    {  5, 8, 195 }, /*  11000011 */
-    { 99, 8, 212 }, /*  11010100 */
-    { 99, 9, 256 }, /* 100000000 */
-    { -6, 9, 257 }, /* 100000001 */
-    { 99, 9, 426 }, /* 110101010 */
-    {  6, 9, 427 }, /* 110101011 */
-    { 99, 10,  0 } /* Shouldn't come this far */
-};
-
-static rvlc_huff_table book_escape[] = {
-    /*index  length  codeword */
-    { 1, 2, 0 },
-    { 0, 2, 2 },
-    { 3, 3, 2 },
-    { 2, 3, 6 },
-    { 4, 4, 14 },
-    { 7, 5, 13 },
-    { 6, 5, 15 },
-    { 5, 5, 31 },
-    { 11, 6, 24 },
-    { 10, 6, 25 },
-    { 9, 6, 29 },
-    { 8, 6, 61 },
-    { 13, 7, 56  },
-    { 12, 7, 120 },
-    { 15, 8, 114 },
-    { 14, 8, 242 },
-    { 17, 9, 230 },
-    { 16, 9, 486 },
-    { 19, 10, 463  },
-    { 18, 10, 974  },
-    { 22, 11, 925  },
-    { 20, 11, 1950 },
-    { 21, 11, 1951 },
-    { 23, 12, 1848 },
-    { 25, 13, 3698 },
-    { 24, 14, 7399 },
-    { 26, 15, 14797 },
-    { 49, 19, 236736 },
-    { 50, 19, 236737 },
-    { 51, 19, 236738 },
-    { 52, 19, 236739 },
-    { 53, 19, 236740 },
-    { 27, 20, 473482 },
-    { 28, 20, 473483 },
-    { 29, 20, 473484 },
-    { 30, 20, 473485 },
-    { 31, 20, 473486 },
-    { 32, 20, 473487 },
-    { 33, 20, 473488 },
-    { 34, 20, 473489 },
-    { 35, 20, 473490 },
-    { 36, 20, 473491 },
-    { 37, 20, 473492 },
-    { 38, 20, 473493 },
-    { 39, 20, 473494 },
-    { 40, 20, 473495 },
-    { 41, 20, 473496 },
-    { 42, 20, 473497 },
-    { 43, 20, 473498 },
-    { 44, 20, 473499 },
-    { 45, 20, 473500 },
-    { 46, 20, 473501 },
-    { 47, 20, 473502 },
-    { 48, 20, 473503 },
-    { 99, 21,  0 } /* Shouldn't come this far */
-};
-
-static int8_t rvlc_huffman_sf(bitfile *ld_sf, bitfile *ld_esc,
-                              int8_t direction)
-{
-    uint8_t i, j;
-    int8_t index;
-    uint32_t cw;
-    rvlc_huff_table *h = book_rvlc;
-    
-    i = h->len;
-    if (direction > 0)
-        cw = faad_getbits(ld_sf, i DEBUGVAR(1,0,""));
-    else
-        cw = faad_getbits_rev(ld_sf, i DEBUGVAR(1,0,""));
-
-    while ((cw != h->cw)
-        && (i < 10))
-    {
-        h++;
-        j = h->len-i;
-        i += j;
-        cw <<= j;
-        if (direction > 0)
-            cw |= faad_getbits(ld_sf, j DEBUGVAR(1,0,""));
-        else
-            cw |= faad_getbits_rev(ld_sf, j DEBUGVAR(1,0,""));
-    }
-
-    index = h->index;
-
-    if (index == +ESC_VAL)
-    {
-        int8_t esc = rvlc_huffman_esc(ld_esc, direction);
-        if (esc == 99)
-            return 99;
-        index += esc;
-#ifdef PRINT_RVLC
-        printf("esc: %d - ", esc);
-#endif
-    }
-    if (index == -ESC_VAL)
-    {
-        int8_t esc = rvlc_huffman_esc(ld_esc, direction);
-        if (esc == 99)
-            return 99;
-        index -= esc;
-#ifdef PRINT_RVLC
-        printf("esc: %d - ", esc);
-#endif
-    }
-
-    return index;
-}
-
-static int8_t rvlc_huffman_esc(bitfile *ld,
-                               int8_t direction)
-{
-    uint8_t i, j;
-    uint32_t cw;
-    rvlc_huff_table *h = book_escape;
-
-    i = h->len;
-    if (direction > 0)
-        cw = faad_getbits(ld, i DEBUGVAR(1,0,""));
-    else
-        cw = faad_getbits_rev(ld, i DEBUGVAR(1,0,""));
-
-    while ((cw != h->cw)
-        && (i < 21))
-    {
-        h++;
-        j = h->len-i;
-        i += j;
-        cw <<= j;
-        if (direction > 0)
-            cw |= faad_getbits(ld, j DEBUGVAR(1,0,""));
-        else
-            cw |= faad_getbits_rev(ld, j DEBUGVAR(1,0,""));
-    }
-
-    return h->index;
-}
-
-#endif
-
diff --git a/lib/libfaad2/libfaad/rvlc.h b/lib/libfaad2/libfaad/rvlc.h
deleted file mode 100644 (file)
index 56f630f..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: rvlc.h,v 1.17 2007/11/01 12:33:34 menno Exp $
-**/
-
-#ifndef __RVLC_SCF_H__
-#define __RVLC_SCF_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct
-{
-    int8_t index;
-    uint8_t len;
-    uint32_t cw;
-} rvlc_huff_table;
-
-
-#define ESC_VAL 7
-
-
-uint8_t rvlc_scale_factor_data(ic_stream *ics, bitfile *ld);
-uint8_t rvlc_decode_scale_factors(ic_stream *ics, bitfile *ld);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/sbr_dct.c b/lib/libfaad2/libfaad/sbr_dct.c
deleted file mode 100644 (file)
index 16e7128..0000000
+++ /dev/null
@@ -1,2279 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_dct.c,v 1.20 2007/11/01 12:33:34 menno Exp $
-**/
-
-
-/* Most of the DCT/DST codes here are generated using Spiral which is GPL
- * For more info see: http://www.spiral.net/
- */
-
-#include "common.h"
-
-#ifdef SBR_DEC
-
-#ifdef _MSC_VER
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#endif
-
-
-#include "sbr_dct.h"
-
-void DCT4_32(real_t *y, real_t *x)
-{
-    real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10;
-    real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
-    real_t f21, f22, f23, f24, f25, f26, f27, f28, f29, f30;
-    real_t f31, f32, f33, f34, f35, f36, f37, f38, f39, f40;
-    real_t f41, f42, f43, f44, f45, f46, f47, f48, f49, f50;
-    real_t f51, f52, f53, f54, f55, f56, f57, f58, f59, f60;
-    real_t f61, f62, f63, f64, f65, f66, f67, f68, f69, f70;
-    real_t f71, f72, f73, f74, f75, f76, f77, f78, f79, f80;
-    real_t f81, f82, f83, f84, f85, f86, f87, f88, f89, f90;
-    real_t f91, f92, f93, f94, f95, f96, f97, f98, f99, f100;
-    real_t f101, f102, f103, f104, f105, f106, f107, f108, f109, f110;
-    real_t f111, f112, f113, f114, f115, f116, f117, f118, f119, f120;
-    real_t f121, f122, f123, f124, f125, f126, f127, f128, f129, f130;
-    real_t f131, f132, f133, f134, f135, f136, f137, f138, f139, f140;
-    real_t f141, f142, f143, f144, f145, f146, f147, f148, f149, f150;
-    real_t f151, f152, f153, f154, f155, f156, f157, f158, f159, f160;
-    real_t f161, f162, f163, f164, f165, f166, f167, f168, f169, f170;
-    real_t f171, f172, f173, f174, f175, f176, f177, f178, f179, f180;
-    real_t f181, f182, f183, f184, f185, f186, f187, f188, f189, f190;
-    real_t f191, f192, f193, f194, f195, f196, f197, f198, f199, f200;
-    real_t f201, f202, f203, f204, f205, f206, f207, f208, f209, f210;
-    real_t f211, f212, f213, f214, f215, f216, f217, f218, f219, f220;
-    real_t f221, f222, f223, f224, f225, f226, f227, f228, f229, f230;
-    real_t f231, f232, f233, f234, f235, f236, f237, f238, f239, f240;
-    real_t f241, f242, f243, f244, f245, f246, f247, f248, f249, f250;
-    real_t f251, f252, f253, f254, f255, f256, f257, f258, f259, f260;
-    real_t f261, f262, f263, f264, f265, f266, f267, f268, f269, f270;
-    real_t f271, f272, f273, f274, f275, f276, f277, f278, f279, f280;
-    real_t f281, f282, f283, f284, f285, f286, f287, f288, f289, f290;
-    real_t f291, f292, f293, f294, f295, f296, f297, f298, f299, f300;
-    real_t f301, f302, f303, f304, f305, f306, f307, f310, f311, f312;
-    real_t f313, f316, f317, f318, f319, f322, f323, f324, f325, f328;
-    real_t f329, f330, f331, f334, f335, f336, f337, f340, f341, f342;
-    real_t f343, f346, f347, f348, f349, f352, f353, f354, f355, f358;
-    real_t f359, f360, f361, f364, f365, f366, f367, f370, f371, f372;
-    real_t f373, f376, f377, f378, f379, f382, f383, f384, f385, f388;
-    real_t f389, f390, f391, f394, f395, f396, f397;
-
-    f0 = x[15] - x[16];
-    f1 = x[15] + x[16];
-    f2 = MUL_F(FRAC_CONST(0.7071067811865476), f1);
-    f3 = MUL_F(FRAC_CONST(0.7071067811865476), f0);
-    f4 = x[8] - x[23];
-    f5 = x[8] + x[23];
-    f6 = MUL_F(FRAC_CONST(0.7071067811865476), f5);
-    f7 = MUL_F(FRAC_CONST(0.7071067811865476), f4);
-    f8 = x[12] - x[19];
-    f9 = x[12] + x[19];
-    f10 = MUL_F(FRAC_CONST(0.7071067811865476), f9);
-    f11 = MUL_F(FRAC_CONST(0.7071067811865476), f8);
-    f12 = x[11] - x[20];
-    f13 = x[11] + x[20];
-    f14 = MUL_F(FRAC_CONST(0.7071067811865476), f13);
-    f15 = MUL_F(FRAC_CONST(0.7071067811865476), f12);
-    f16 = x[14] - x[17];
-    f17 = x[14] + x[17];
-    f18 = MUL_F(FRAC_CONST(0.7071067811865476), f17);
-    f19 = MUL_F(FRAC_CONST(0.7071067811865476), f16);
-    f20 = x[9] - x[22];
-    f21 = x[9] + x[22];
-    f22 = MUL_F(FRAC_CONST(0.7071067811865476), f21);
-    f23 = MUL_F(FRAC_CONST(0.7071067811865476), f20);
-    f24 = x[13] - x[18];
-    f25 = x[13] + x[18];
-    f26 = MUL_F(FRAC_CONST(0.7071067811865476), f25);
-    f27 = MUL_F(FRAC_CONST(0.7071067811865476), f24);
-    f28 = x[10] - x[21];
-    f29 = x[10] + x[21];
-    f30 = MUL_F(FRAC_CONST(0.7071067811865476), f29);
-    f31 = MUL_F(FRAC_CONST(0.7071067811865476), f28);
-    f32 = x[0] - f2;
-    f33 = x[0] + f2;
-    f34 = x[31] - f3;
-    f35 = x[31] + f3;
-    f36 = x[7] - f6;
-    f37 = x[7] + f6;
-    f38 = x[24] - f7;
-    f39 = x[24] + f7;
-    f40 = x[3] - f10;
-    f41 = x[3] + f10;
-    f42 = x[28] - f11;
-    f43 = x[28] + f11;
-    f44 = x[4] - f14;
-    f45 = x[4] + f14;
-    f46 = x[27] - f15;
-    f47 = x[27] + f15;
-    f48 = x[1] - f18;
-    f49 = x[1] + f18;
-    f50 = x[30] - f19;
-    f51 = x[30] + f19;
-    f52 = x[6] - f22;
-    f53 = x[6] + f22;
-    f54 = x[25] - f23;
-    f55 = x[25] + f23;
-    f56 = x[2] - f26;
-    f57 = x[2] + f26;
-    f58 = x[29] - f27;
-    f59 = x[29] + f27;
-    f60 = x[5] - f30;
-    f61 = x[5] + f30;
-    f62 = x[26] - f31;
-    f63 = x[26] + f31;
-    f64 = f39 + f37;
-    f65 = MUL_F(FRAC_CONST(-0.5411961001461969), f39);
-    f66 = MUL_F(FRAC_CONST(0.9238795325112867), f64);
-    f67 = MUL_C(COEF_CONST(1.3065629648763766), f37);
-    f68 = f65 + f66;
-    f69 = f67 - f66;
-    f70 = f38 + f36;
-    f71 = MUL_C(COEF_CONST(1.3065629648763770), f38);
-    f72 = MUL_F(FRAC_CONST(-0.3826834323650904), f70);
-    f73 = MUL_F(FRAC_CONST(0.5411961001461961), f36);
-    f74 = f71 + f72;
-    f75 = f73 - f72;
-    f76 = f47 + f45;
-    f77 = MUL_F(FRAC_CONST(-0.5411961001461969), f47);
-    f78 = MUL_F(FRAC_CONST(0.9238795325112867), f76);
-    f79 = MUL_C(COEF_CONST(1.3065629648763766), f45);
-    f80 = f77 + f78;
-    f81 = f79 - f78;
-    f82 = f46 + f44;
-    f83 = MUL_C(COEF_CONST(1.3065629648763770), f46);
-    f84 = MUL_F(FRAC_CONST(-0.3826834323650904), f82);
-    f85 = MUL_F(FRAC_CONST(0.5411961001461961), f44);
-    f86 = f83 + f84;
-    f87 = f85 - f84;
-    f88 = f55 + f53;
-    f89 = MUL_F(FRAC_CONST(-0.5411961001461969), f55);
-    f90 = MUL_F(FRAC_CONST(0.9238795325112867), f88);
-    f91 = MUL_C(COEF_CONST(1.3065629648763766), f53);
-    f92 = f89 + f90;
-    f93 = f91 - f90;
-    f94 = f54 + f52;
-    f95 = MUL_C(COEF_CONST(1.3065629648763770), f54);
-    f96 = MUL_F(FRAC_CONST(-0.3826834323650904), f94);
-    f97 = MUL_F(FRAC_CONST(0.5411961001461961), f52);
-    f98 = f95 + f96;
-    f99 = f97 - f96;
-    f100 = f63 + f61;
-    f101 = MUL_F(FRAC_CONST(-0.5411961001461969), f63);
-    f102 = MUL_F(FRAC_CONST(0.9238795325112867), f100);
-    f103 = MUL_C(COEF_CONST(1.3065629648763766), f61);
-    f104 = f101 + f102;
-    f105 = f103 - f102;
-    f106 = f62 + f60;
-    f107 = MUL_C(COEF_CONST(1.3065629648763770), f62);
-    f108 = MUL_F(FRAC_CONST(-0.3826834323650904), f106);
-    f109 = MUL_F(FRAC_CONST(0.5411961001461961), f60);
-    f110 = f107 + f108;
-    f111 = f109 - f108;
-    f112 = f33 - f68;
-    f113 = f33 + f68;
-    f114 = f35 - f69;
-    f115 = f35 + f69;
-    f116 = f32 - f74;
-    f117 = f32 + f74;
-    f118 = f34 - f75;
-    f119 = f34 + f75;
-    f120 = f41 - f80;
-    f121 = f41 + f80;
-    f122 = f43 - f81;
-    f123 = f43 + f81;
-    f124 = f40 - f86;
-    f125 = f40 + f86;
-    f126 = f42 - f87;
-    f127 = f42 + f87;
-    f128 = f49 - f92;
-    f129 = f49 + f92;
-    f130 = f51 - f93;
-    f131 = f51 + f93;
-    f132 = f48 - f98;
-    f133 = f48 + f98;
-    f134 = f50 - f99;
-    f135 = f50 + f99;
-    f136 = f57 - f104;
-    f137 = f57 + f104;
-    f138 = f59 - f105;
-    f139 = f59 + f105;
-    f140 = f56 - f110;
-    f141 = f56 + f110;
-    f142 = f58 - f111;
-    f143 = f58 + f111;
-    f144 = f123 + f121;
-    f145 = MUL_F(FRAC_CONST(-0.7856949583871021), f123);
-    f146 = MUL_F(FRAC_CONST(0.9807852804032304), f144);
-    f147 = MUL_C(COEF_CONST(1.1758756024193588), f121);
-    f148 = f145 + f146;
-    f149 = f147 - f146;
-    f150 = f127 + f125;
-    f151 = MUL_F(FRAC_CONST(0.2758993792829431), f127);
-    f152 = MUL_F(FRAC_CONST(0.5555702330196022), f150);
-    f153 = MUL_C(COEF_CONST(1.3870398453221475), f125);
-    f154 = f151 + f152;
-    f155 = f153 - f152;
-    f156 = f122 + f120;
-    f157 = MUL_C(COEF_CONST(1.1758756024193591), f122);
-    f158 = MUL_F(FRAC_CONST(-0.1950903220161287), f156);
-    f159 = MUL_F(FRAC_CONST(0.7856949583871016), f120);
-    f160 = f157 + f158;
-    f161 = f159 - f158;
-    f162 = f126 + f124;
-    f163 = MUL_C(COEF_CONST(1.3870398453221473), f126);
-    f164 = MUL_F(FRAC_CONST(-0.8314696123025455), f162);
-    f165 = MUL_F(FRAC_CONST(-0.2758993792829436), f124);
-    f166 = f163 + f164;
-    f167 = f165 - f164;
-    f168 = f139 + f137;
-    f169 = MUL_F(FRAC_CONST(-0.7856949583871021), f139);
-    f170 = MUL_F(FRAC_CONST(0.9807852804032304), f168);
-    f171 = MUL_C(COEF_CONST(1.1758756024193588), f137);
-    f172 = f169 + f170;
-    f173 = f171 - f170;
-    f174 = f143 + f141;
-    f175 = MUL_F(FRAC_CONST(0.2758993792829431), f143);
-    f176 = MUL_F(FRAC_CONST(0.5555702330196022), f174);
-    f177 = MUL_C(COEF_CONST(1.3870398453221475), f141);
-    f178 = f175 + f176;
-    f179 = f177 - f176;
-    f180 = f138 + f136;
-    f181 = MUL_C(COEF_CONST(1.1758756024193591), f138);
-    f182 = MUL_F(FRAC_CONST(-0.1950903220161287), f180);
-    f183 = MUL_F(FRAC_CONST(0.7856949583871016), f136);
-    f184 = f181 + f182;
-    f185 = f183 - f182;
-    f186 = f142 + f140;
-    f187 = MUL_C(COEF_CONST(1.3870398453221473), f142);
-    f188 = MUL_F(FRAC_CONST(-0.8314696123025455), f186);
-    f189 = MUL_F(FRAC_CONST(-0.2758993792829436), f140);
-    f190 = f187 + f188;
-    f191 = f189 - f188;
-    f192 = f113 - f148;
-    f193 = f113 + f148;
-    f194 = f115 - f149;
-    f195 = f115 + f149;
-    f196 = f117 - f154;
-    f197 = f117 + f154;
-    f198 = f119 - f155;
-    f199 = f119 + f155;
-    f200 = f112 - f160;
-    f201 = f112 + f160;
-    f202 = f114 - f161;
-    f203 = f114 + f161;
-    f204 = f116 - f166;
-    f205 = f116 + f166;
-    f206 = f118 - f167;
-    f207 = f118 + f167;
-    f208 = f129 - f172;
-    f209 = f129 + f172;
-    f210 = f131 - f173;
-    f211 = f131 + f173;
-    f212 = f133 - f178;
-    f213 = f133 + f178;
-    f214 = f135 - f179;
-    f215 = f135 + f179;
-    f216 = f128 - f184;
-    f217 = f128 + f184;
-    f218 = f130 - f185;
-    f219 = f130 + f185;
-    f220 = f132 - f190;
-    f221 = f132 + f190;
-    f222 = f134 - f191;
-    f223 = f134 + f191;
-    f224 = f211 + f209;
-    f225 = MUL_F(FRAC_CONST(-0.8971675863426361), f211);
-    f226 = MUL_F(FRAC_CONST(0.9951847266721968), f224);
-    f227 = MUL_C(COEF_CONST(1.0932018670017576), f209);
-    f228 = f225 + f226;
-    f229 = f227 - f226;
-    f230 = f215 + f213;
-    f231 = MUL_F(FRAC_CONST(-0.4105245275223571), f215);
-    f232 = MUL_F(FRAC_CONST(0.8819212643483549), f230);
-    f233 = MUL_C(COEF_CONST(1.3533180011743529), f213);
-    f234 = f231 + f232;
-    f235 = f233 - f232;
-    f236 = f219 + f217;
-    f237 = MUL_F(FRAC_CONST(0.1386171691990915), f219);
-    f238 = MUL_F(FRAC_CONST(0.6343932841636455), f236);
-    f239 = MUL_C(COEF_CONST(1.4074037375263826), f217);
-    f240 = f237 + f238;
-    f241 = f239 - f238;
-    f242 = f223 + f221;
-    f243 = MUL_F(FRAC_CONST(0.6666556584777466), f223);
-    f244 = MUL_F(FRAC_CONST(0.2902846772544623), f242);
-    f245 = MUL_C(COEF_CONST(1.2472250129866711), f221);
-    f246 = f243 + f244;
-    f247 = f245 - f244;
-    f248 = f210 + f208;
-    f249 = MUL_C(COEF_CONST(1.0932018670017574), f210);
-    f250 = MUL_F(FRAC_CONST(-0.0980171403295605), f248);
-    f251 = MUL_F(FRAC_CONST(0.8971675863426364), f208);
-    f252 = f249 + f250;
-    f253 = f251 - f250;
-    f254 = f214 + f212;
-    f255 = MUL_C(COEF_CONST(1.3533180011743529), f214);
-    f256 = MUL_F(FRAC_CONST(-0.4713967368259979), f254);
-    f257 = MUL_F(FRAC_CONST(0.4105245275223569), f212);
-    f258 = f255 + f256;
-    f259 = f257 - f256;
-    f260 = f218 + f216;
-    f261 = MUL_C(COEF_CONST(1.4074037375263826), f218);
-    f262 = MUL_F(FRAC_CONST(-0.7730104533627369), f260);
-    f263 = MUL_F(FRAC_CONST(-0.1386171691990913), f216);
-    f264 = f261 + f262;
-    f265 = f263 - f262;
-    f266 = f222 + f220;
-    f267 = MUL_C(COEF_CONST(1.2472250129866711), f222);
-    f268 = MUL_F(FRAC_CONST(-0.9569403357322089), f266);
-    f269 = MUL_F(FRAC_CONST(-0.6666556584777469), f220);
-    f270 = f267 + f268;
-    f271 = f269 - f268;
-    f272 = f193 - f228;
-    f273 = f193 + f228;
-    f274 = f195 - f229;
-    f275 = f195 + f229;
-    f276 = f197 - f234;
-    f277 = f197 + f234;
-    f278 = f199 - f235;
-    f279 = f199 + f235;
-    f280 = f201 - f240;
-    f281 = f201 + f240;
-    f282 = f203 - f241;
-    f283 = f203 + f241;
-    f284 = f205 - f246;
-    f285 = f205 + f246;
-    f286 = f207 - f247;
-    f287 = f207 + f247;
-    f288 = f192 - f252;
-    f289 = f192 + f252;
-    f290 = f194 - f253;
-    f291 = f194 + f253;
-    f292 = f196 - f258;
-    f293 = f196 + f258;
-    f294 = f198 - f259;
-    f295 = f198 + f259;
-    f296 = f200 - f264;
-    f297 = f200 + f264;
-    f298 = f202 - f265;
-    f299 = f202 + f265;
-    f300 = f204 - f270;
-    f301 = f204 + f270;
-    f302 = f206 - f271;
-    f303 = f206 + f271;
-    f304 = f275 + f273;
-    f305 = MUL_F(FRAC_CONST(-0.9751575901732920), f275);
-    f306 = MUL_F(FRAC_CONST(0.9996988186962043), f304);
-    f307 = MUL_C(COEF_CONST(1.0242400472191164), f273);
-    y[0] = f305 + f306;
-    y[31] = f307 - f306;
-    f310 = f279 + f277;
-    f311 = MUL_F(FRAC_CONST(-0.8700688593994936), f279);
-    f312 = MUL_F(FRAC_CONST(0.9924795345987100), f310);
-    f313 = MUL_C(COEF_CONST(1.1148902097979263), f277);
-    y[2] = f311 + f312;
-    y[29] = f313 - f312;
-    f316 = f283 + f281;
-    f317 = MUL_F(FRAC_CONST(-0.7566008898816587), f283);
-    f318 = MUL_F(FRAC_CONST(0.9757021300385286), f316);
-    f319 = MUL_C(COEF_CONST(1.1948033701953984), f281);
-    y[4] = f317 + f318;
-    y[27] = f319 - f318;
-    f322 = f287 + f285;
-    f323 = MUL_F(FRAC_CONST(-0.6358464401941451), f287);
-    f324 = MUL_F(FRAC_CONST(0.9495281805930367), f322);
-    f325 = MUL_C(COEF_CONST(1.2632099209919283), f285);
-    y[6] = f323 + f324;
-    y[25] = f325 - f324;
-    f328 = f291 + f289;
-    f329 = MUL_F(FRAC_CONST(-0.5089684416985408), f291);
-    f330 = MUL_F(FRAC_CONST(0.9142097557035307), f328);
-    f331 = MUL_C(COEF_CONST(1.3194510697085207), f289);
-    y[8] = f329 + f330;
-    y[23] = f331 - f330;
-    f334 = f295 + f293;
-    f335 = MUL_F(FRAC_CONST(-0.3771887988789273), f295);
-    f336 = MUL_F(FRAC_CONST(0.8700869911087114), f334);
-    f337 = MUL_C(COEF_CONST(1.3629851833384954), f293);
-    y[10] = f335 + f336;
-    y[21] = f337 - f336;
-    f340 = f299 + f297;
-    f341 = MUL_F(FRAC_CONST(-0.2417766217337384), f299);
-    f342 = MUL_F(FRAC_CONST(0.8175848131515837), f340);
-    f343 = MUL_C(COEF_CONST(1.3933930045694289), f297);
-    y[12] = f341 + f342;
-    y[19] = f343 - f342;
-    f346 = f303 + f301;
-    f347 = MUL_F(FRAC_CONST(-0.1040360035527077), f303);
-    f348 = MUL_F(FRAC_CONST(0.7572088465064845), f346);
-    f349 = MUL_C(COEF_CONST(1.4103816894602612), f301);
-    y[14] = f347 + f348;
-    y[17] = f349 - f348;
-    f352 = f274 + f272;
-    f353 = MUL_F(FRAC_CONST(0.0347065382144002), f274);
-    f354 = MUL_F(FRAC_CONST(0.6895405447370668), f352);
-    f355 = MUL_C(COEF_CONST(1.4137876276885337), f272);
-    y[16] = f353 + f354;
-    y[15] = f355 - f354;
-    f358 = f278 + f276;
-    f359 = MUL_F(FRAC_CONST(0.1731148370459795), f278);
-    f360 = MUL_F(FRAC_CONST(0.6152315905806268), f358);
-    f361 = MUL_C(COEF_CONST(1.4035780182072330), f276);
-    y[18] = f359 + f360;
-    y[13] = f361 - f360;
-    f364 = f282 + f280;
-    f365 = MUL_F(FRAC_CONST(0.3098559453626100), f282);
-    f366 = MUL_F(FRAC_CONST(0.5349976198870972), f364);
-    f367 = MUL_C(COEF_CONST(1.3798511851368043), f280);
-    y[20] = f365 + f366;
-    y[11] = f367 - f366;
-    f370 = f286 + f284;
-    f371 = MUL_F(FRAC_CONST(0.4436129715409088), f286);
-    f372 = MUL_F(FRAC_CONST(0.4496113296546065), f370);
-    f373 = MUL_C(COEF_CONST(1.3428356308501219), f284);
-    y[22] = f371 + f372;
-    y[9] = f373 - f372;
-    f376 = f290 + f288;
-    f377 = MUL_F(FRAC_CONST(0.5730977622997509), f290);
-    f378 = MUL_F(FRAC_CONST(0.3598950365349881), f376);
-    f379 = MUL_C(COEF_CONST(1.2928878353697271), f288);
-    y[24] = f377 + f378;
-    y[7] = f379 - f378;
-    f382 = f294 + f292;
-    f383 = MUL_F(FRAC_CONST(0.6970633083205415), f294);
-    f384 = MUL_F(FRAC_CONST(0.2667127574748984), f382);
-    f385 = MUL_C(COEF_CONST(1.2304888232703382), f292);
-    y[26] = f383 + f384;
-    y[5] = f385 - f384;
-    f388 = f298 + f296;
-    f389 = MUL_F(FRAC_CONST(0.8143157536286401), f298);
-    f390 = MUL_F(FRAC_CONST(0.1709618887603012), f388);
-    f391 = MUL_C(COEF_CONST(1.1562395311492424), f296);
-    y[28] = f389 + f390;
-    y[3] = f391 - f390;
-    f394 = f302 + f300;
-    f395 = MUL_F(FRAC_CONST(0.9237258930790228), f302);
-    f396 = MUL_F(FRAC_CONST(0.0735645635996674), f394);
-    f397 = MUL_C(COEF_CONST(1.0708550202783576), f300);
-    y[30] = f395 + f396;
-    y[1] = f397 - f396;
-}
-
-void DST4_32(real_t *y, real_t *x)
-{
-    real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9;
-    real_t f10, f11, f12, f13, f14, f15, f16, f17, f18, f19;
-    real_t f20, f21, f22, f23, f24, f25, f26, f27, f28, f29;
-    real_t f30, f31, f32, f33, f34, f35, f36, f37, f38, f39;
-    real_t f40, f41, f42, f43, f44, f45, f46, f47, f48, f49;
-    real_t f50, f51, f52, f53, f54, f55, f56, f57, f58, f59;
-    real_t f60, f61, f62, f63, f64, f65, f66, f67, f68, f69;
-    real_t f70, f71, f72, f73, f74, f75, f76, f77, f78, f79;
-    real_t f80, f81, f82, f83, f84, f85, f86, f87, f88, f89;
-    real_t f90, f91, f92, f93, f94, f95, f96, f97, f98, f99;
-    real_t f100, f101, f102, f103, f104, f105, f106, f107, f108, f109;
-    real_t f110, f111, f112, f113, f114, f115, f116, f117, f118, f119;
-    real_t f120, f121, f122, f123, f124, f125, f126, f127, f128, f129;
-    real_t f130, f131, f132, f133, f134, f135, f136, f137, f138, f139;
-    real_t f140, f141, f142, f143, f144, f145, f146, f147, f148, f149;
-    real_t f150, f151, f152, f153, f154, f155, f156, f157, f158, f159;
-    real_t f160, f161, f162, f163, f164, f165, f166, f167, f168, f169;
-    real_t f170, f171, f172, f173, f174, f175, f176, f177, f178, f179;
-    real_t f180, f181, f182, f183, f184, f185, f186, f187, f188, f189;
-    real_t f190, f191, f192, f193, f194, f195, f196, f197, f198, f199;
-    real_t f200, f201, f202, f203, f204, f205, f206, f207, f208, f209;
-    real_t f210, f211, f212, f213, f214, f215, f216, f217, f218, f219;
-    real_t f220, f221, f222, f223, f224, f225, f226, f227, f228, f229;
-    real_t f230, f231, f232, f233, f234, f235, f236, f237, f238, f239;
-    real_t f240, f241, f242, f243, f244, f245, f246, f247, f248, f249;
-    real_t f250, f251, f252, f253, f254, f255, f256, f257, f258, f259;
-    real_t f260, f261, f262, f263, f264, f265, f266, f267, f268, f269;
-    real_t f270, f271, f272, f273, f274, f275, f276, f277, f278, f279;
-    real_t f280, f281, f282, f283, f284, f285, f286, f287, f288, f289;
-    real_t f290, f291, f292, f293, f294, f295, f296, f297, f298, f299;
-    real_t f300, f301, f302, f303, f304, f305, f306, f307, f308, f309;
-    real_t f310, f311, f312, f313, f314, f315, f316, f317, f318, f319;
-    real_t f320, f321, f322, f323, f324, f325, f326, f327, f328, f329;
-    real_t f330, f331, f332, f333, f334, f335;
-
-    f0 = x[0] - x[1];
-    f1 = x[2] - x[1];
-    f2 = x[2] - x[3];
-    f3 = x[4] - x[3];
-    f4 = x[4] - x[5];
-    f5 = x[6] - x[5];
-    f6 = x[6] - x[7];
-    f7 = x[8] - x[7];
-    f8 = x[8] - x[9];
-    f9 = x[10] - x[9];
-    f10 = x[10] - x[11];
-    f11 = x[12] - x[11];
-    f12 = x[12] - x[13];
-    f13 = x[14] - x[13];
-    f14 = x[14] - x[15];
-    f15 = x[16] - x[15];
-    f16 = x[16] - x[17];
-    f17 = x[18] - x[17];
-    f18 = x[18] - x[19];
-    f19 = x[20] - x[19];
-    f20 = x[20] - x[21];
-    f21 = x[22] - x[21];
-    f22 = x[22] - x[23];
-    f23 = x[24] - x[23];
-    f24 = x[24] - x[25];
-    f25 = x[26] - x[25];
-    f26 = x[26] - x[27];
-    f27 = x[28] - x[27];
-    f28 = x[28] - x[29];
-    f29 = x[30] - x[29];
-    f30 = x[30] - x[31];
-    f31 = MUL_F(FRAC_CONST(0.7071067811865476), f15);
-    f32 = x[0] - f31;
-    f33 = x[0] + f31;
-    f34 = f7 + f23;
-    f35 = MUL_C(COEF_CONST(1.3065629648763766), f7);
-    f36 = MUL_F(FRAC_CONST(-0.9238795325112866), f34);
-    f37 = MUL_F(FRAC_CONST(-0.5411961001461967), f23);
-    f38 = f35 + f36;
-    f39 = f37 - f36;
-    f40 = f33 - f39;
-    f41 = f33 + f39;
-    f42 = f32 - f38;
-    f43 = f32 + f38;
-    f44 = f11 - f19;
-    f45 = f11 + f19;
-    f46 = MUL_F(FRAC_CONST(0.7071067811865476), f45);
-    f47 = f3 - f46;
-    f48 = f3 + f46;
-    f49 = MUL_F(FRAC_CONST(0.7071067811865476), f44);
-    f50 = f49 - f27;
-    f51 = f49 + f27;
-    f52 = f51 + f48;
-    f53 = MUL_F(FRAC_CONST(-0.7856949583871021), f51);
-    f54 = MUL_F(FRAC_CONST(0.9807852804032304), f52);
-    f55 = MUL_C(COEF_CONST(1.1758756024193588), f48);
-    f56 = f53 + f54;
-    f57 = f55 - f54;
-    f58 = f50 + f47;
-    f59 = MUL_F(FRAC_CONST(-0.2758993792829430), f50);
-    f60 = MUL_F(FRAC_CONST(0.8314696123025452), f58);
-    f61 = MUL_C(COEF_CONST(1.3870398453221475), f47);
-    f62 = f59 + f60;
-    f63 = f61 - f60;
-    f64 = f41 - f56;
-    f65 = f41 + f56;
-    f66 = f43 - f62;
-    f67 = f43 + f62;
-    f68 = f42 - f63;
-    f69 = f42 + f63;
-    f70 = f40 - f57;
-    f71 = f40 + f57;
-    f72 = f5 - f9;
-    f73 = f5 + f9;
-    f74 = f13 - f17;
-    f75 = f13 + f17;
-    f76 = f21 - f25;
-    f77 = f21 + f25;
-    f78 = MUL_F(FRAC_CONST(0.7071067811865476), f75);
-    f79 = f1 - f78;
-    f80 = f1 + f78;
-    f81 = f73 + f77;
-    f82 = MUL_C(COEF_CONST(1.3065629648763766), f73);
-    f83 = MUL_F(FRAC_CONST(-0.9238795325112866), f81);
-    f84 = MUL_F(FRAC_CONST(-0.5411961001461967), f77);
-    f85 = f82 + f83;
-    f86 = f84 - f83;
-    f87 = f80 - f86;
-    f88 = f80 + f86;
-    f89 = f79 - f85;
-    f90 = f79 + f85;
-    f91 = MUL_F(FRAC_CONST(0.7071067811865476), f74);
-    f92 = f29 - f91;
-    f93 = f29 + f91;
-    f94 = f76 + f72;
-    f95 = MUL_C(COEF_CONST(1.3065629648763766), f76);
-    f96 = MUL_F(FRAC_CONST(-0.9238795325112866), f94);
-    f97 = MUL_F(FRAC_CONST(-0.5411961001461967), f72);
-    f98 = f95 + f96;
-    f99 = f97 - f96;
-    f100 = f93 - f99;
-    f101 = f93 + f99;
-    f102 = f92 - f98;
-    f103 = f92 + f98;
-    f104 = f101 + f88;
-    f105 = MUL_F(FRAC_CONST(-0.8971675863426361), f101);
-    f106 = MUL_F(FRAC_CONST(0.9951847266721968), f104);
-    f107 = MUL_C(COEF_CONST(1.0932018670017576), f88);
-    f108 = f105 + f106;
-    f109 = f107 - f106;
-    f110 = f90 - f103;
-    f111 = MUL_F(FRAC_CONST(-0.6666556584777466), f103);
-    f112 = MUL_F(FRAC_CONST(0.9569403357322089), f110);
-    f113 = MUL_C(COEF_CONST(1.2472250129866713), f90);
-    f114 = f112 - f111;
-    f115 = f113 - f112;
-    f116 = f102 + f89;
-    f117 = MUL_F(FRAC_CONST(-0.4105245275223571), f102);
-    f118 = MUL_F(FRAC_CONST(0.8819212643483549), f116);
-    f119 = MUL_C(COEF_CONST(1.3533180011743529), f89);
-    f120 = f117 + f118;
-    f121 = f119 - f118;
-    f122 = f87 - f100;
-    f123 = MUL_F(FRAC_CONST(-0.1386171691990915), f100);
-    f124 = MUL_F(FRAC_CONST(0.7730104533627370), f122);
-    f125 = MUL_C(COEF_CONST(1.4074037375263826), f87);
-    f126 = f124 - f123;
-    f127 = f125 - f124;
-    f128 = f65 - f108;
-    f129 = f65 + f108;
-    f130 = f67 - f114;
-    f131 = f67 + f114;
-    f132 = f69 - f120;
-    f133 = f69 + f120;
-    f134 = f71 - f126;
-    f135 = f71 + f126;
-    f136 = f70 - f127;
-    f137 = f70 + f127;
-    f138 = f68 - f121;
-    f139 = f68 + f121;
-    f140 = f66 - f115;
-    f141 = f66 + f115;
-    f142 = f64 - f109;
-    f143 = f64 + f109;
-    f144 = f0 + f30;
-    f145 = MUL_C(COEF_CONST(1.0478631305325901), f0);
-    f146 = MUL_F(FRAC_CONST(-0.9987954562051724), f144);
-    f147 = MUL_F(FRAC_CONST(-0.9497277818777548), f30);
-    f148 = f145 + f146;
-    f149 = f147 - f146;
-    f150 = f4 + f26;
-    f151 = MUL_F(FRAC_CONST(1.2130114330978077), f4);
-    f152 = MUL_F(FRAC_CONST(-0.9700312531945440), f150);
-    f153 = MUL_F(FRAC_CONST(-0.7270510732912803), f26);
-    f154 = f151 + f152;
-    f155 = f153 - f152;
-    f156 = f8 + f22;
-    f157 = MUL_C(COEF_CONST(1.3315443865537255), f8);
-    f158 = MUL_F(FRAC_CONST(-0.9039892931234433), f156);
-    f159 = MUL_F(FRAC_CONST(-0.4764341996931612), f22);
-    f160 = f157 + f158;
-    f161 = f159 - f158;
-    f162 = f12 + f18;
-    f163 = MUL_C(COEF_CONST(1.3989068359730781), f12);
-    f164 = MUL_F(FRAC_CONST(-0.8032075314806453), f162);
-    f165 = MUL_F(FRAC_CONST(-0.2075082269882124), f18);
-    f166 = f163 + f164;
-    f167 = f165 - f164;
-    f168 = f16 + f14;
-    f169 = MUL_C(COEF_CONST(1.4125100802019777), f16);
-    f170 = MUL_F(FRAC_CONST(-0.6715589548470187), f168);
-    f171 = MUL_F(FRAC_CONST(0.0693921705079402), f14);
-    f172 = f169 + f170;
-    f173 = f171 - f170;
-    f174 = f20 + f10;
-    f175 = MUL_C(COEF_CONST(1.3718313541934939), f20);
-    f176 = MUL_F(FRAC_CONST(-0.5141027441932219), f174);
-    f177 = MUL_F(FRAC_CONST(0.3436258658070501), f10);
-    f178 = f175 + f176;
-    f179 = f177 - f176;
-    f180 = f24 + f6;
-    f181 = MUL_C(COEF_CONST(1.2784339185752409), f24);
-    f182 = MUL_F(FRAC_CONST(-0.3368898533922200), f180);
-    f183 = MUL_F(FRAC_CONST(0.6046542117908008), f6);
-    f184 = f181 + f182;
-    f185 = f183 - f182;
-    f186 = f28 + f2;
-    f187 = MUL_C(COEF_CONST(1.1359069844201433), f28);
-    f188 = MUL_F(FRAC_CONST(-0.1467304744553624), f186);
-    f189 = MUL_F(FRAC_CONST(0.8424460355094185), f2);
-    f190 = f187 + f188;
-    f191 = f189 - f188;
-    f192 = f149 - f173;
-    f193 = f149 + f173;
-    f194 = f148 - f172;
-    f195 = f148 + f172;
-    f196 = f155 - f179;
-    f197 = f155 + f179;
-    f198 = f154 - f178;
-    f199 = f154 + f178;
-    f200 = f161 - f185;
-    f201 = f161 + f185;
-    f202 = f160 - f184;
-    f203 = f160 + f184;
-    f204 = f167 - f191;
-    f205 = f167 + f191;
-    f206 = f166 - f190;
-    f207 = f166 + f190;
-    f208 = f192 + f194;
-    f209 = MUL_C(COEF_CONST(1.1758756024193588), f192);
-    f210 = MUL_F(FRAC_CONST(-0.9807852804032304), f208);
-    f211 = MUL_F(FRAC_CONST(-0.7856949583871021), f194);
-    f212 = f209 + f210;
-    f213 = f211 - f210;
-    f214 = f196 + f198;
-    f215 = MUL_C(COEF_CONST(1.3870398453221475), f196);
-    f216 = MUL_F(FRAC_CONST(-0.5555702330196022), f214);
-    f217 = MUL_F(FRAC_CONST(0.2758993792829431), f198);
-    f218 = f215 + f216;
-    f219 = f217 - f216;
-    f220 = f200 + f202;
-    f221 = MUL_F(FRAC_CONST(0.7856949583871022), f200);
-    f222 = MUL_F(FRAC_CONST(0.1950903220161283), f220);
-    f223 = MUL_C(COEF_CONST(1.1758756024193586), f202);
-    f224 = f221 + f222;
-    f225 = f223 - f222;
-    f226 = f204 + f206;
-    f227 = MUL_F(FRAC_CONST(-0.2758993792829430), f204);
-    f228 = MUL_F(FRAC_CONST(0.8314696123025452), f226);
-    f229 = MUL_C(COEF_CONST(1.3870398453221475), f206);
-    f230 = f227 + f228;
-    f231 = f229 - f228;
-    f232 = f193 - f201;
-    f233 = f193 + f201;
-    f234 = f195 - f203;
-    f235 = f195 + f203;
-    f236 = f197 - f205;
-    f237 = f197 + f205;
-    f238 = f199 - f207;
-    f239 = f199 + f207;
-    f240 = f213 - f225;
-    f241 = f213 + f225;
-    f242 = f212 - f224;
-    f243 = f212 + f224;
-    f244 = f219 - f231;
-    f245 = f219 + f231;
-    f246 = f218 - f230;
-    f247 = f218 + f230;
-    f248 = f232 + f234;
-    f249 = MUL_C(COEF_CONST(1.3065629648763766), f232);
-    f250 = MUL_F(FRAC_CONST(-0.9238795325112866), f248);
-    f251 = MUL_F(FRAC_CONST(-0.5411961001461967), f234);
-    f252 = f249 + f250;
-    f253 = f251 - f250;
-    f254 = f236 + f238;
-    f255 = MUL_F(FRAC_CONST(0.5411961001461969), f236);
-    f256 = MUL_F(FRAC_CONST(0.3826834323650898), f254);
-    f257 = MUL_C(COEF_CONST(1.3065629648763766), f238);
-    f258 = f255 + f256;
-    f259 = f257 - f256;
-    f260 = f240 + f242;
-    f261 = MUL_C(COEF_CONST(1.3065629648763766), f240);
-    f262 = MUL_F(FRAC_CONST(-0.9238795325112866), f260);
-    f263 = MUL_F(FRAC_CONST(-0.5411961001461967), f242);
-    f264 = f261 + f262;
-    f265 = f263 - f262;
-    f266 = f244 + f246;
-    f267 = MUL_F(FRAC_CONST(0.5411961001461969), f244);
-    f268 = MUL_F(FRAC_CONST(0.3826834323650898), f266);
-    f269 = MUL_C(COEF_CONST(1.3065629648763766), f246);
-    f270 = f267 + f268;
-    f271 = f269 - f268;
-    f272 = f233 - f237;
-    f273 = f233 + f237;
-    f274 = f235 - f239;
-    f275 = f235 + f239;
-    f276 = f253 - f259;
-    f277 = f253 + f259;
-    f278 = f252 - f258;
-    f279 = f252 + f258;
-    f280 = f241 - f245;
-    f281 = f241 + f245;
-    f282 = f243 - f247;
-    f283 = f243 + f247;
-    f284 = f265 - f271;
-    f285 = f265 + f271;
-    f286 = f264 - f270;
-    f287 = f264 + f270;
-    f288 = f272 - f274;
-    f289 = f272 + f274;
-    f290 = MUL_F(FRAC_CONST(0.7071067811865474), f288);
-    f291 = MUL_F(FRAC_CONST(0.7071067811865474), f289);
-    f292 = f276 - f278;
-    f293 = f276 + f278;
-    f294 = MUL_F(FRAC_CONST(0.7071067811865474), f292);
-    f295 = MUL_F(FRAC_CONST(0.7071067811865474), f293);
-    f296 = f280 - f282;
-    f297 = f280 + f282;
-    f298 = MUL_F(FRAC_CONST(0.7071067811865474), f296);
-    f299 = MUL_F(FRAC_CONST(0.7071067811865474), f297);
-    f300 = f284 - f286;
-    f301 = f284 + f286;
-    f302 = MUL_F(FRAC_CONST(0.7071067811865474), f300);
-    f303 = MUL_F(FRAC_CONST(0.7071067811865474), f301);
-    f304 = f129 - f273;
-    f305 = f129 + f273;
-    f306 = f131 - f281;
-    f307 = f131 + f281;
-    f308 = f133 - f285;
-    f309 = f133 + f285;
-    f310 = f135 - f277;
-    f311 = f135 + f277;
-    f312 = f137 - f295;
-    f313 = f137 + f295;
-    f314 = f139 - f303;
-    f315 = f139 + f303;
-    f316 = f141 - f299;
-    f317 = f141 + f299;
-    f318 = f143 - f291;
-    f319 = f143 + f291;
-    f320 = f142 - f290;
-    f321 = f142 + f290;
-    f322 = f140 - f298;
-    f323 = f140 + f298;
-    f324 = f138 - f302;
-    f325 = f138 + f302;
-    f326 = f136 - f294;
-    f327 = f136 + f294;
-    f328 = f134 - f279;
-    f329 = f134 + f279;
-    f330 = f132 - f287;
-    f331 = f132 + f287;
-    f332 = f130 - f283;
-    f333 = f130 + f283;
-    f334 = f128 - f275;
-    f335 = f128 + f275;
-    y[31] = MUL_F(FRAC_CONST(0.5001506360206510), f305);
-    y[30] = MUL_F(FRAC_CONST(0.5013584524464084), f307);
-    y[29] = MUL_F(FRAC_CONST(0.5037887256810443), f309);
-    y[28] = MUL_F(FRAC_CONST(0.5074711720725553), f311);
-    y[27] = MUL_F(FRAC_CONST(0.5124514794082247), f313);
-    y[26] = MUL_F(FRAC_CONST(0.5187927131053328), f315);
-    y[25] = MUL_F(FRAC_CONST(0.5265773151542700), f317);
-    y[24] = MUL_F(FRAC_CONST(0.5359098169079920), f319);
-    y[23] = MUL_F(FRAC_CONST(0.5469204379855088), f321);
-    y[22] = MUL_F(FRAC_CONST(0.5597698129470802), f323);
-    y[21] = MUL_F(FRAC_CONST(0.5746551840326600), f325);
-    y[20] = MUL_F(FRAC_CONST(0.5918185358574165), f327);
-    y[19] = MUL_F(FRAC_CONST(0.6115573478825099), f329);
-    y[18] = MUL_F(FRAC_CONST(0.6342389366884031), f331);
-    y[17] = MUL_F(FRAC_CONST(0.6603198078137061), f333);
-    y[16] = MUL_F(FRAC_CONST(0.6903721282002123), f335);
-    y[15] = MUL_F(FRAC_CONST(0.7251205223771985), f334);
-    y[14] = MUL_F(FRAC_CONST(0.7654941649730891), f332);
-    y[13] = MUL_F(FRAC_CONST(0.8127020908144905), f330);
-    y[12] = MUL_F(FRAC_CONST(0.8683447152233481), f328);
-    y[11] = MUL_F(FRAC_CONST(0.9345835970364075), f326);
-    y[10] = MUL_C(COEF_CONST(1.0144082649970547), f324);
-    y[9] = MUL_C(COEF_CONST(1.1120716205797176), f322);
-    y[8] = MUL_C(COEF_CONST(1.2338327379765710), f320);
-    y[7] = MUL_C(COEF_CONST(1.3892939586328277), f318);
-    y[6] = MUL_C(COEF_CONST(1.5939722833856311), f316);
-    y[5] = MUL_C(COEF_CONST(1.8746759800084078), f314);
-    y[4] = MUL_C(COEF_CONST(2.2820500680051619), f312);
-    y[3] = MUL_C(COEF_CONST(2.9246284281582162), f310);
-    y[2] = MUL_C(COEF_CONST(4.0846110781292477), f308);
-    y[1] = MUL_C(COEF_CONST(6.7967507116736332), f306);
-    y[0] = MUL_R(REAL_CONST(20.3738781672314530), f304);
-}
-
-#ifdef SBR_LOW_POWER
-
-void DCT2_16_unscaled(real_t *y, real_t *x)
-{
-    real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10;
-    real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
-    real_t f21, f22, f23, f24, f25, f26, f27, f28, f31, f32;
-    real_t f33, f34, f37, f38, f39, f40, f41, f42, f43, f44;
-    real_t f45, f46, f47, f48, f49, f51, f53, f54, f57, f58;
-    real_t f59, f60, f61, f62, f63, f64, f65, f66, f67, f68;
-    real_t f69, f70, f71, f72, f73, f74, f75, f76, f77, f78;
-    real_t f79, f80, f81, f82, f83, f84, f85, f86, f87, f88;
-    real_t f89, f90, f91, f92, f95, f96, f97, f98, f101, f102;
-    real_t f103, f104, f107, f108, f109, f110;
-
-    f0 = x[0] - x[15];
-    f1 = x[0] + x[15];
-    f2 = x[1] - x[14];
-    f3 = x[1] + x[14];
-    f4 = x[2] - x[13];
-    f5 = x[2] + x[13];
-    f6 = x[3] - x[12];
-    f7 = x[3] + x[12];
-    f8 = x[4] - x[11];
-    f9 = x[4] + x[11];
-    f10 = x[5] - x[10];
-    f11 = x[5] + x[10];
-    f12 = x[6] - x[9];
-    f13 = x[6] + x[9];
-    f14 = x[7] - x[8];
-    f15 = x[7] + x[8];
-    f16 = f1 - f15;
-    f17 = f1 + f15;
-    f18 = f3 - f13;
-    f19 = f3 + f13;
-    f20 = f5 - f11;
-    f21 = f5 + f11;
-    f22 = f7 - f9;
-    f23 = f7 + f9;
-    f24 = f17 - f23;
-    f25 = f17 + f23;
-    f26 = f19 - f21;
-    f27 = f19 + f21;
-    f28 = f25 - f27;
-    y[0] = f25 + f27;
-    y[8] = MUL_F(f28, FRAC_CONST(0.7071067811865476));
-    f31 = f24 + f26;
-    f32 = MUL_C(f24, COEF_CONST(1.3065629648763766));
-    f33 = MUL_F(f31, FRAC_CONST(-0.9238795325112866));
-    f34 = MUL_F(f26, FRAC_CONST(-0.5411961001461967));
-    y[12] = f32 + f33;
-    y[4] = f34 - f33;
-    f37 = f16 + f22;
-    f38 = MUL_C(f16, COEF_CONST(1.1758756024193588));
-    f39 = MUL_F(f37, FRAC_CONST(-0.9807852804032304));
-    f40 = MUL_F(f22, FRAC_CONST(-0.7856949583871021));
-    f41 = f38 + f39;
-    f42 = f40 - f39;
-    f43 = f18 + f20;
-    f44 = MUL_C(f18, COEF_CONST(1.3870398453221473));
-    f45 = MUL_F(f43, FRAC_CONST(-0.8314696123025455));
-    f46 = MUL_F(f20, FRAC_CONST(-0.2758993792829436));
-    f47 = f44 + f45;
-    f48 = f46 - f45;
-    f49 = f42 - f48;
-    y[2] = f42 + f48;
-    f51 = MUL_F(f49, FRAC_CONST(0.7071067811865476));
-    y[14] = f41 - f47;
-    f53 = f41 + f47;
-    f54 = MUL_F(f53, FRAC_CONST(0.7071067811865476));
-    y[10] = f51 - f54;
-    y[6] = f51 + f54;
-    f57 = f2 - f4;
-    f58 = f2 + f4;
-    f59 = f6 - f8;
-    f60 = f6 + f8;
-    f61 = f10 - f12;
-    f62 = f10 + f12;
-    f63 = MUL_F(f60, FRAC_CONST(0.7071067811865476));
-    f64 = f0 - f63;
-    f65 = f0 + f63;
-    f66 = f58 + f62;
-    f67 = MUL_C(f58, COEF_CONST(1.3065629648763766));
-    f68 = MUL_F(f66, FRAC_CONST(-0.9238795325112866));
-    f69 = MUL_F(f62, FRAC_CONST(-0.5411961001461967));
-    f70 = f67 + f68;
-    f71 = f69 - f68;
-    f72 = f65 - f71;
-    f73 = f65 + f71;
-    f74 = f64 - f70;
-    f75 = f64 + f70;
-    f76 = MUL_F(f59, FRAC_CONST(0.7071067811865476));
-    f77 = f14 - f76;
-    f78 = f14 + f76;
-    f79 = f61 + f57;
-    f80 = MUL_C(f61, COEF_CONST(1.3065629648763766));
-    f81 = MUL_F(f79, FRAC_CONST(-0.9238795325112866));
-    f82 = MUL_F(f57, FRAC_CONST(-0.5411961001461967));
-    f83 = f80 + f81;
-    f84 = f82 - f81;
-    f85 = f78 - f84;
-    f86 = f78 + f84;
-    f87 = f77 - f83;
-    f88 = f77 + f83;
-    f89 = f86 + f73;
-    f90 = MUL_F(f86, FRAC_CONST(-0.8971675863426361));
-    f91 = MUL_F(f89, FRAC_CONST(0.9951847266721968));
-    f92 = MUL_C(f73, COEF_CONST(1.0932018670017576));
-    y[1] = f90 + f91;
-    y[15] = f92 - f91;
-    f95 = f75 - f88;
-    f96 = MUL_F(f88, FRAC_CONST(-0.6666556584777466));
-    f97 = MUL_F(f95, FRAC_CONST(0.9569403357322089));
-    f98 = MUL_C(f75, COEF_CONST(1.2472250129866713));
-    y[3] = f97 - f96;
-    y[13] = f98 - f97;
-    f101 = f87 + f74;
-    f102 = MUL_F(f87, FRAC_CONST(-0.4105245275223571));
-    f103 = MUL_F(f101, FRAC_CONST(0.8819212643483549));
-    f104 = MUL_C(f74, COEF_CONST(1.3533180011743529));
-    y[5] = f102 + f103;
-    y[11] = f104 - f103;
-    f107 = f72 - f85;
-    f108 = MUL_F(f85, FRAC_CONST(-0.1386171691990915));
-    f109 = MUL_F(f107, FRAC_CONST(0.7730104533627370));
-    f110 = MUL_C(f72, COEF_CONST(1.4074037375263826));
-    y[7] = f109 - f108;
-    y[9] = f110 - f109;
-}
-
-void DCT4_16(real_t *y, real_t *x)
-{
-    real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10;
-    real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
-    real_t f21, f22, f23, f24, f25, f26, f27, f28, f29, f30;
-    real_t f31, f32, f33, f34, f35, f36, f37, f38, f39, f40;
-    real_t f41, f42, f43, f44, f45, f46, f47, f48, f49, f50;
-    real_t f51, f52, f53, f54, f55, f56, f57, f58, f59, f60;
-    real_t f61, f62, f63, f64, f65, f66, f67, f68, f69, f70;
-    real_t f71, f72, f73, f74, f75, f76, f77, f78, f79, f80;
-    real_t f81, f82, f83, f84, f85, f86, f87, f88, f89, f90;
-    real_t f91, f92, f93, f94, f95, f96, f97, f98, f99, f100;
-    real_t f101, f102, f103, f104, f105, f106, f107, f108, f109, f110;
-    real_t f111, f112, f113, f114, f115, f116, f117, f118, f119, f120;
-    real_t f121, f122, f123, f124, f125, f126, f127, f128, f130, f132;
-    real_t f134, f136, f138, f140, f142, f144, f145, f148, f149, f152;
-    real_t f153, f156, f157;
-
-    f0 = x[0] + x[15];
-    f1 = MUL_C(COEF_CONST(1.0478631305325901), x[0]);
-    f2 = MUL_F(FRAC_CONST(-0.9987954562051724), f0);
-    f3 = MUL_F(FRAC_CONST(-0.9497277818777548), x[15]);
-    f4 = f1 + f2;
-    f5 = f3 - f2;
-    f6 = x[2] + x[13];
-    f7 = MUL_C(COEF_CONST(1.2130114330978077), x[2]);
-    f8 = MUL_F(FRAC_CONST(-0.9700312531945440), f6);
-    f9 = MUL_F(FRAC_CONST(-0.7270510732912803), x[13]);
-    f10 = f7 + f8;
-    f11 = f9 - f8;
-    f12 = x[4] + x[11];
-    f13 = MUL_C(COEF_CONST(1.3315443865537255), x[4]);
-    f14 = MUL_F(FRAC_CONST(-0.9039892931234433), f12);
-    f15 = MUL_F(FRAC_CONST(-0.4764341996931612), x[11]);
-    f16 = f13 + f14;
-    f17 = f15 - f14;
-    f18 = x[6] + x[9];
-    f19 = MUL_C(COEF_CONST(1.3989068359730781), x[6]);
-    f20 = MUL_F(FRAC_CONST(-0.8032075314806453), f18);
-    f21 = MUL_F(FRAC_CONST(-0.2075082269882124), x[9]);
-    f22 = f19 + f20;
-    f23 = f21 - f20;
-    f24 = x[8] + x[7];
-    f25 = MUL_C(COEF_CONST(1.4125100802019777), x[8]);
-    f26 = MUL_F(FRAC_CONST(-0.6715589548470187), f24);
-    f27 = MUL_F(FRAC_CONST(0.0693921705079402), x[7]);
-    f28 = f25 + f26;
-    f29 = f27 - f26;
-    f30 = x[10] + x[5];
-    f31 = MUL_C(COEF_CONST(1.3718313541934939), x[10]);
-    f32 = MUL_F(FRAC_CONST(-0.5141027441932219), f30);
-    f33 = MUL_F(FRAC_CONST(0.3436258658070501), x[5]);
-    f34 = f31 + f32;
-    f35 = f33 - f32;
-    f36 = x[12] + x[3];
-    f37 = MUL_C(COEF_CONST(1.2784339185752409), x[12]);
-    f38 = MUL_F(FRAC_CONST(-0.3368898533922200), f36);
-    f39 = MUL_F(FRAC_CONST(0.6046542117908008), x[3]);
-    f40 = f37 + f38;
-    f41 = f39 - f38;
-    f42 = x[14] + x[1];
-    f43 = MUL_C(COEF_CONST(1.1359069844201433), x[14]);
-    f44 = MUL_F(FRAC_CONST(-0.1467304744553624), f42);
-    f45 = MUL_F(FRAC_CONST(0.8424460355094185), x[1]);
-    f46 = f43 + f44;
-    f47 = f45 - f44;
-    f48 = f5 - f29;
-    f49 = f5 + f29;
-    f50 = f4 - f28;
-    f51 = f4 + f28;
-    f52 = f11 - f35;
-    f53 = f11 + f35;
-    f54 = f10 - f34;
-    f55 = f10 + f34;
-    f56 = f17 - f41;
-    f57 = f17 + f41;
-    f58 = f16 - f40;
-    f59 = f16 + f40;
-    f60 = f23 - f47;
-    f61 = f23 + f47;
-    f62 = f22 - f46;
-    f63 = f22 + f46;
-    f64 = f48 + f50;
-    f65 = MUL_C(COEF_CONST(1.1758756024193588), f48);
-    f66 = MUL_F(FRAC_CONST(-0.9807852804032304), f64);
-    f67 = MUL_F(FRAC_CONST(-0.7856949583871021), f50);
-    f68 = f65 + f66;
-    f69 = f67 - f66;
-    f70 = f52 + f54;
-    f71 = MUL_C(COEF_CONST(1.3870398453221475), f52);
-    f72 = MUL_F(FRAC_CONST(-0.5555702330196022), f70);
-    f73 = MUL_F(FRAC_CONST(0.2758993792829431), f54);
-    f74 = f71 + f72;
-    f75 = f73 - f72;
-    f76 = f56 + f58;
-    f77 = MUL_F(FRAC_CONST(0.7856949583871022), f56);
-    f78 = MUL_F(FRAC_CONST(0.1950903220161283), f76);
-    f79 = MUL_C(COEF_CONST(1.1758756024193586), f58);
-    f80 = f77 + f78;
-    f81 = f79 - f78;
-    f82 = f60 + f62;
-    f83 = MUL_F(FRAC_CONST(-0.2758993792829430), f60);
-    f84 = MUL_F(FRAC_CONST(0.8314696123025452), f82);
-    f85 = MUL_C(COEF_CONST(1.3870398453221475), f62);
-    f86 = f83 + f84;
-    f87 = f85 - f84;
-    f88 = f49 - f57;
-    f89 = f49 + f57;
-    f90 = f51 - f59;
-    f91 = f51 + f59;
-    f92 = f53 - f61;
-    f93 = f53 + f61;
-    f94 = f55 - f63;
-    f95 = f55 + f63;
-    f96 = f69 - f81;
-    f97 = f69 + f81;
-    f98 = f68 - f80;
-    f99 = f68 + f80;
-    f100 = f75 - f87;
-    f101 = f75 + f87;
-    f102 = f74 - f86;
-    f103 = f74 + f86;
-    f104 = f88 + f90;
-    f105 = MUL_C(COEF_CONST(1.3065629648763766), f88);
-    f106 = MUL_F(FRAC_CONST(-0.9238795325112866), f104);
-    f107 = MUL_F(FRAC_CONST(-0.5411961001461967), f90);
-    f108 = f105 + f106;
-    f109 = f107 - f106;
-    f110 = f92 + f94;
-    f111 = MUL_F(FRAC_CONST(0.5411961001461969), f92);
-    f112 = MUL_F(FRAC_CONST(0.3826834323650898), f110);
-    f113 = MUL_C(COEF_CONST(1.3065629648763766), f94);
-    f114 = f111 + f112;
-    f115 = f113 - f112;
-    f116 = f96 + f98;
-    f117 = MUL_C(COEF_CONST(1.3065629648763766), f96);
-    f118 = MUL_F(FRAC_CONST(-0.9238795325112866), f116);
-    f119 = MUL_F(FRAC_CONST(-0.5411961001461967), f98);
-    f120 = f117 + f118;
-    f121 = f119 - f118;
-    f122 = f100 + f102;
-    f123 = MUL_F(FRAC_CONST(0.5411961001461969), f100);
-    f124 = MUL_F(FRAC_CONST(0.3826834323650898), f122);
-    f125 = MUL_C(COEF_CONST(1.3065629648763766), f102);
-    f126 = f123 + f124;
-    f127 = f125 - f124;
-    f128 = f89 - f93;
-    y[0] = f89 + f93;
-    f130 = f91 - f95;
-    y[15] = f91 + f95;
-    f132 = f109 - f115;
-    y[3] = f109 + f115;
-    f134 = f108 - f114;
-    y[12] = f108 + f114;
-    f136 = f97 - f101;
-    y[1] = f97 + f101;
-    f138 = f99 - f103;
-    y[14] = f99 + f103;
-    f140 = f121 - f127;
-    y[2] = f121 + f127;
-    f142 = f120 - f126;
-    y[13] = f120 + f126;
-    f144 = f128 - f130;
-    f145 = f128 + f130;
-    y[8] = MUL_F(FRAC_CONST(0.7071067811865474), f144);
-    y[7] = MUL_F(FRAC_CONST(0.7071067811865474), f145);
-    f148 = f132 - f134;
-    f149 = f132 + f134;
-    y[11] = MUL_F(FRAC_CONST(0.7071067811865474), f148);
-    y[4] = MUL_F(FRAC_CONST(0.7071067811865474), f149);
-    f152 = f136 - f138;
-    f153 = f136 + f138;
-    y[9] = MUL_F(FRAC_CONST(0.7071067811865474), f152);
-    y[6] = MUL_F(FRAC_CONST(0.7071067811865474), f153);
-    f156 = f140 - f142;
-    f157 = f140 + f142;
-    y[10] = MUL_F(FRAC_CONST(0.7071067811865474), f156);
-    y[5] = MUL_F(FRAC_CONST(0.7071067811865474), f157);
-}
-
-void DCT3_32_unscaled(real_t *y, real_t *x)
-{
-    real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10;
-    real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
-    real_t f21, f22, f23, f24, f25, f26, f27, f28, f29, f30;
-    real_t f31, f32, f33, f34, f35, f36, f37, f38, f39, f40;
-    real_t f41, f42, f43, f44, f45, f46, f47, f48, f49, f50;
-    real_t f51, f52, f53, f54, f55, f56, f57, f58, f59, f60;
-    real_t f61, f62, f63, f64, f65, f66, f67, f68, f69, f70;
-    real_t f71, f72, f73, f74, f75, f76, f77, f78, f79, f80;
-    real_t f81, f82, f83, f84, f85, f86, f87, f88, f89, f90;
-    real_t f91, f92, f93, f94, f95, f96, f97, f98, f99, f100;
-    real_t f101, f102, f103, f104, f105, f106, f107, f108, f109, f110;
-    real_t f111, f112, f113, f114, f115, f116, f117, f118, f119, f120;
-    real_t f121, f122, f123, f124, f125, f126, f127, f128, f129, f130;
-    real_t f131, f132, f133, f134, f135, f136, f137, f138, f139, f140;
-    real_t f141, f142, f143, f144, f145, f146, f147, f148, f149, f150;
-    real_t f151, f152, f153, f154, f155, f156, f157, f158, f159, f160;
-    real_t f161, f162, f163, f164, f165, f166, f167, f168, f169, f170;
-    real_t f171, f172, f173, f174, f175, f176, f177, f178, f179, f180;
-    real_t f181, f182, f183, f184, f185, f186, f187, f188, f189, f190;
-    real_t f191, f192, f193, f194, f195, f196, f197, f198, f199, f200;
-    real_t f201, f202, f203, f204, f205, f206, f207, f208, f209, f210;
-    real_t f211, f212, f213, f214, f215, f216, f217, f218, f219, f220;
-    real_t f221, f222, f223, f224, f225, f226, f227, f228, f229, f230;
-    real_t f231, f232, f233, f234, f235, f236, f237, f238, f239, f240;
-    real_t f241, f242, f243, f244, f245, f246, f247, f248, f249, f250;
-    real_t f251, f252, f253, f254, f255, f256, f257, f258, f259, f260;
-    real_t f261, f262, f263, f264, f265, f266, f267, f268, f269, f270;
-    real_t f271, f272;
-
-    f0 = MUL_F(x[16], FRAC_CONST(0.7071067811865476));
-    f1 = x[0] - f0;
-    f2 = x[0] + f0;
-    f3 = x[8] + x[24];
-    f4 = MUL_C(x[8], COEF_CONST(1.3065629648763766));
-    f5 = MUL_F(f3, FRAC_CONST((-0.9238795325112866)));
-    f6 = MUL_F(x[24], FRAC_CONST((-0.5411961001461967)));
-    f7 = f4 + f5;
-    f8 = f6 - f5;
-    f9 = f2 - f8;
-    f10 = f2 + f8;
-    f11 = f1 - f7;
-    f12 = f1 + f7;
-    f13 = x[4] + x[28];
-    f14 = MUL_C(x[4], COEF_CONST(1.1758756024193588));
-    f15 = MUL_F(f13, FRAC_CONST((-0.9807852804032304)));
-    f16 = MUL_F(x[28], FRAC_CONST((-0.7856949583871021)));
-    f17 = f14 + f15;
-    f18 = f16 - f15;
-    f19 = x[12] + x[20];
-    f20 = MUL_C(x[12], COEF_CONST(1.3870398453221473));
-    f21 = MUL_F(f19, FRAC_CONST((-0.8314696123025455)));
-    f22 = MUL_F(x[20], FRAC_CONST((-0.2758993792829436)));
-    f23 = f20 + f21;
-    f24 = f22 - f21;
-    f25 = f18 - f24;
-    f26 = f18 + f24;
-    f27 = MUL_F(f25, FRAC_CONST(0.7071067811865476));
-    f28 = f17 - f23;
-    f29 = f17 + f23;
-    f30 = MUL_F(f29, FRAC_CONST(0.7071067811865476));
-    f31 = f27 - f30;
-    f32 = f27 + f30;
-    f33 = f10 - f26;
-    f34 = f10 + f26;
-    f35 = f12 - f32;
-    f36 = f12 + f32;
-    f37 = f11 - f31;
-    f38 = f11 + f31;
-    f39 = f9 - f28;
-    f40 = f9 + f28;
-    f41 = x[2] + x[30];
-    f42 = MUL_C(x[2], COEF_CONST(1.0932018670017569));
-    f43 = MUL_F(f41, FRAC_CONST((-0.9951847266721969)));
-    f44 = MUL_F(x[30], FRAC_CONST((-0.8971675863426368)));
-    f45 = f42 + f43;
-    f46 = f44 - f43;
-    f47 = x[6] + x[26];
-    f48 = MUL_C(x[6], COEF_CONST(1.2472250129866711));
-    f49 = MUL_F(f47, FRAC_CONST((-0.9569403357322089)));
-    f50 = MUL_F(x[26], FRAC_CONST((-0.6666556584777469)));
-    f51 = f48 + f49;
-    f52 = f50 - f49;
-    f53 = x[10] + x[22];
-    f54 = MUL_C(x[10], COEF_CONST(1.3533180011743526));
-    f55 = MUL_F(f53, FRAC_CONST((-0.8819212643483551)));
-    f56 = MUL_F(x[22], FRAC_CONST((-0.4105245275223575)));
-    f57 = f54 + f55;
-    f58 = f56 - f55;
-    f59 = x[14] + x[18];
-    f60 = MUL_C(x[14], COEF_CONST(1.4074037375263826));
-    f61 = MUL_F(f59, FRAC_CONST((-0.7730104533627369)));
-    f62 = MUL_F(x[18], FRAC_CONST((-0.1386171691990913)));
-    f63 = f60 + f61;
-    f64 = f62 - f61;
-    f65 = f46 - f64;
-    f66 = f46 + f64;
-    f67 = f52 - f58;
-    f68 = f52 + f58;
-    f69 = f66 - f68;
-    f70 = f66 + f68;
-    f71 = MUL_F(f69, FRAC_CONST(0.7071067811865476));
-    f72 = f65 + f67;
-    f73 = MUL_C(f65, COEF_CONST(1.3065629648763766));
-    f74 = MUL_F(f72, FRAC_CONST((-0.9238795325112866)));
-    f75 = MUL_F(f67, FRAC_CONST((-0.5411961001461967)));
-    f76 = f73 + f74;
-    f77 = f75 - f74;
-    f78 = f45 - f63;
-    f79 = f45 + f63;
-    f80 = f51 - f57;
-    f81 = f51 + f57;
-    f82 = f79 + f81;
-    f83 = MUL_C(f79, COEF_CONST(1.3065629648763770));
-    f84 = MUL_F(f82, FRAC_CONST((-0.3826834323650904)));
-    f85 = MUL_F(f81, FRAC_CONST(0.5411961001461961));
-    f86 = f83 + f84;
-    f87 = f85 - f84;
-    f88 = f78 - f80;
-    f89 = f78 + f80;
-    f90 = MUL_F(f89, FRAC_CONST(0.7071067811865476));
-    f91 = f77 - f87;
-    f92 = f77 + f87;
-    f93 = f71 - f90;
-    f94 = f71 + f90;
-    f95 = f76 - f86;
-    f96 = f76 + f86;
-    f97 = f34 - f70;
-    f98 = f34 + f70;
-    f99 = f36 - f92;
-    f100 = f36 + f92;
-    f101 = f38 - f91;
-    f102 = f38 + f91;
-    f103 = f40 - f94;
-    f104 = f40 + f94;
-    f105 = f39 - f93;
-    f106 = f39 + f93;
-    f107 = f37 - f96;
-    f108 = f37 + f96;
-    f109 = f35 - f95;
-    f110 = f35 + f95;
-    f111 = f33 - f88;
-    f112 = f33 + f88;
-    f113 = x[1] + x[31];
-    f114 = MUL_C(x[1], COEF_CONST(1.0478631305325901));
-    f115 = MUL_F(f113, FRAC_CONST((-0.9987954562051724)));
-    f116 = MUL_F(x[31], FRAC_CONST((-0.9497277818777548)));
-    f117 = f114 + f115;
-    f118 = f116 - f115;
-    f119 = x[5] + x[27];
-    f120 = MUL_C(x[5], COEF_CONST(1.2130114330978077));
-    f121 = MUL_F(f119, FRAC_CONST((-0.9700312531945440)));
-    f122 = MUL_F(x[27], FRAC_CONST((-0.7270510732912803)));
-    f123 = f120 + f121;
-    f124 = f122 - f121;
-    f125 = x[9] + x[23];
-    f126 = MUL_C(x[9], COEF_CONST(1.3315443865537255));
-    f127 = MUL_F(f125, FRAC_CONST((-0.9039892931234433)));
-    f128 = MUL_F(x[23], FRAC_CONST((-0.4764341996931612)));
-    f129 = f126 + f127;
-    f130 = f128 - f127;
-    f131 = x[13] + x[19];
-    f132 = MUL_C(x[13], COEF_CONST(1.3989068359730781));
-    f133 = MUL_F(f131, FRAC_CONST((-0.8032075314806453)));
-    f134 = MUL_F(x[19], FRAC_CONST((-0.2075082269882124)));
-    f135 = f132 + f133;
-    f136 = f134 - f133;
-    f137 = x[17] + x[15];
-    f138 = MUL_C(x[17], COEF_CONST(1.4125100802019777));
-    f139 = MUL_F(f137, FRAC_CONST((-0.6715589548470187)));
-    f140 = MUL_F(x[15], FRAC_CONST(0.0693921705079402));
-    f141 = f138 + f139;
-    f142 = f140 - f139;
-    f143 = x[21] + x[11];
-    f144 = MUL_C(x[21], COEF_CONST(1.3718313541934939));
-    f145 = MUL_F(f143, FRAC_CONST((-0.5141027441932219)));
-    f146 = MUL_F(x[11], FRAC_CONST(0.3436258658070501));
-    f147 = f144 + f145;
-    f148 = f146 - f145;
-    f149 = x[25] + x[7];
-    f150 = MUL_C(x[25], COEF_CONST(1.2784339185752409));
-    f151 = MUL_F(f149, FRAC_CONST((-0.3368898533922200)));
-    f152 = MUL_F(x[7], FRAC_CONST(0.6046542117908008));
-    f153 = f150 + f151;
-    f154 = f152 - f151;
-    f155 = x[29] + x[3];
-    f156 = MUL_C(x[29], COEF_CONST(1.1359069844201433));
-    f157 = MUL_F(f155, FRAC_CONST((-0.1467304744553624)));
-    f158 = MUL_F(x[3], FRAC_CONST(0.8424460355094185));
-    f159 = f156 + f157;
-    f160 = f158 - f157;
-    f161 = f118 - f142;
-    f162 = f118 + f142;
-    f163 = f117 - f141;
-    f164 = f117 + f141;
-    f165 = f124 - f148;
-    f166 = f124 + f148;
-    f167 = f123 - f147;
-    f168 = f123 + f147;
-    f169 = f130 - f154;
-    f170 = f130 + f154;
-    f171 = f129 - f153;
-    f172 = f129 + f153;
-    f173 = f136 - f160;
-    f174 = f136 + f160;
-    f175 = f135 - f159;
-    f176 = f135 + f159;
-    f177 = f161 + f163;
-    f178 = MUL_C(f161, COEF_CONST(1.1758756024193588));
-    f179 = MUL_F(f177, FRAC_CONST((-0.9807852804032304)));
-    f180 = MUL_F(f163, FRAC_CONST((-0.7856949583871021)));
-    f181 = f178 + f179;
-    f182 = f180 - f179;
-    f183 = f165 + f167;
-    f184 = MUL_C(f165, COEF_CONST(1.3870398453221475));
-    f185 = MUL_F(f183, FRAC_CONST((-0.5555702330196022)));
-    f186 = MUL_F(f167, FRAC_CONST(0.2758993792829431));
-    f187 = f184 + f185;
-    f188 = f186 - f185;
-    f189 = f169 + f171;
-    f190 = MUL_F(f169, FRAC_CONST(0.7856949583871022));
-    f191 = MUL_F(f189, FRAC_CONST(0.1950903220161283));
-    f192 = MUL_C(f171, COEF_CONST(1.1758756024193586));
-    f193 = f190 + f191;
-    f194 = f192 - f191;
-    f195 = f173 + f175;
-    f196 = MUL_F(f173, FRAC_CONST((-0.2758993792829430)));
-    f197 = MUL_F(f195, FRAC_CONST(0.8314696123025452));
-    f198 = MUL_C(f175, COEF_CONST(1.3870398453221475));
-    f199 = f196 + f197;
-    f200 = f198 - f197;
-    f201 = f162 - f170;
-    f202 = f162 + f170;
-    f203 = f164 - f172;
-    f204 = f164 + f172;
-    f205 = f166 - f174;
-    f206 = f166 + f174;
-    f207 = f168 - f176;
-    f208 = f168 + f176;
-    f209 = f182 - f194;
-    f210 = f182 + f194;
-    f211 = f181 - f193;
-    f212 = f181 + f193;
-    f213 = f188 - f200;
-    f214 = f188 + f200;
-    f215 = f187 - f199;
-    f216 = f187 + f199;
-    f217 = f201 + f203;
-    f218 = MUL_C(f201, COEF_CONST(1.3065629648763766));
-    f219 = MUL_F(f217, FRAC_CONST((-0.9238795325112866)));
-    f220 = MUL_F(f203, FRAC_CONST((-0.5411961001461967)));
-    f221 = f218 + f219;
-    f222 = f220 - f219;
-    f223 = f205 + f207;
-    f224 = MUL_F(f205, FRAC_CONST(0.5411961001461969));
-    f225 = MUL_F(f223, FRAC_CONST(0.3826834323650898));
-    f226 = MUL_C(f207, COEF_CONST(1.3065629648763766));
-    f227 = f224 + f225;
-    f228 = f226 - f225;
-    f229 = f209 + f211;
-    f230 = MUL_C(f209, COEF_CONST(1.3065629648763766));
-    f231 = MUL_F(f229, FRAC_CONST((-0.9238795325112866)));
-    f232 = MUL_F(f211, FRAC_CONST((-0.5411961001461967)));
-    f233 = f230 + f231;
-    f234 = f232 - f231;
-    f235 = f213 + f215;
-    f236 = MUL_F(f213, FRAC_CONST(0.5411961001461969));
-    f237 = MUL_F(f235, FRAC_CONST(0.3826834323650898));
-    f238 = MUL_C(f215, COEF_CONST(1.3065629648763766));
-    f239 = f236 + f237;
-    f240 = f238 - f237;
-    f241 = f202 - f206;
-    f242 = f202 + f206;
-    f243 = f204 - f208;
-    f244 = f204 + f208;
-    f245 = f222 - f228;
-    f246 = f222 + f228;
-    f247 = f221 - f227;
-    f248 = f221 + f227;
-    f249 = f210 - f214;
-    f250 = f210 + f214;
-    f251 = f212 - f216;
-    f252 = f212 + f216;
-    f253 = f234 - f240;
-    f254 = f234 + f240;
-    f255 = f233 - f239;
-    f256 = f233 + f239;
-    f257 = f241 - f243;
-    f258 = f241 + f243;
-    f259 = MUL_F(f257, FRAC_CONST(0.7071067811865474));
-    f260 = MUL_F(f258, FRAC_CONST(0.7071067811865474));
-    f261 = f245 - f247;
-    f262 = f245 + f247;
-    f263 = MUL_F(f261, FRAC_CONST(0.7071067811865474));
-    f264 = MUL_F(f262, FRAC_CONST(0.7071067811865474));
-    f265 = f249 - f251;
-    f266 = f249 + f251;
-    f267 = MUL_F(f265, FRAC_CONST(0.7071067811865474));
-    f268 = MUL_F(f266, FRAC_CONST(0.7071067811865474));
-    f269 = f253 - f255;
-    f270 = f253 + f255;
-    f271 = MUL_F(f269, FRAC_CONST(0.7071067811865474));
-    f272 = MUL_F(f270, FRAC_CONST(0.7071067811865474));
-    y[31] = f98 - f242;
-    y[0] = f98 + f242;
-    y[30] = f100 - f250;
-    y[1] = f100 + f250;
-    y[29] = f102 - f254;
-    y[2] = f102 + f254;
-    y[28] = f104 - f246;
-    y[3] = f104 + f246;
-    y[27] = f106 - f264;
-    y[4] = f106 + f264;
-    y[26] = f108 - f272;
-    y[5] = f108 + f272;
-    y[25] = f110 - f268;
-    y[6] = f110 + f268;
-    y[24] = f112 - f260;
-    y[7] = f112 + f260;
-    y[23] = f111 - f259;
-    y[8] = f111 + f259;
-    y[22] = f109 - f267;
-    y[9] = f109 + f267;
-    y[21] = f107 - f271;
-    y[10] = f107 + f271;
-    y[20] = f105 - f263;
-    y[11] = f105 + f263;
-    y[19] = f103 - f248;
-    y[12] = f103 + f248;
-    y[18] = f101 - f256;
-    y[13] = f101 + f256;
-    y[17] = f99 - f252;
-    y[14] = f99 + f252;
-    y[16] = f97 - f244;
-    y[15] = f97 + f244;
-}
-
-void DCT2_32_unscaled(real_t *y, real_t *x)
-{
-    real_t f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10;
-    real_t f11, f12, f13, f14, f15, f16, f17, f18, f19, f20;
-    real_t f21, f22, f23, f24, f25, f26, f27, f28, f29, f30;
-    real_t f31, f32, f33, f34, f35, f36, f37, f38, f39, f40;
-    real_t f41, f42, f43, f44, f45, f46, f47, f48, f49, f50;
-    real_t f51, f52, f53, f54, f55, f56, f57, f58, f59, f60;
-    real_t f63, f64, f65, f66, f69, f70, f71, f72, f73, f74;
-    real_t f75, f76, f77, f78, f79, f80, f81, f83, f85, f86;
-    real_t f89, f90, f91, f92, f93, f94, f95, f96, f97, f98;
-    real_t f99, f100, f101, f102, f103, f104, f105, f106, f107, f108;
-    real_t f109, f110, f111, f112, f113, f114, f115, f116, f117, f118;
-    real_t f119, f120, f121, f122, f123, f124, f127, f128, f129, f130;
-    real_t f133, f134, f135, f136, f139, f140, f141, f142, f145, f146;
-    real_t f147, f148, f149, f150, f151, f152, f153, f154, f155, f156;
-    real_t f157, f158, f159, f160, f161, f162, f163, f164, f165, f166;
-    real_t f167, f168, f169, f170, f171, f172, f173, f174, f175, f176;
-    real_t f177, f178, f179, f180, f181, f182, f183, f184, f185, f186;
-    real_t f187, f188, f189, f190, f191, f192, f193, f194, f195, f196;
-    real_t f197, f198, f199, f200, f201, f202, f203, f204, f205, f206;
-    real_t f207, f208, f209, f210, f211, f212, f213, f214, f215, f216;
-    real_t f217, f218, f219, f220, f221, f222, f223, f224, f225, f226;
-    real_t f227, f228, f229, f230, f231, f232, f233, f234, f235, f236;
-    real_t f237, f238, f239, f240, f241, f242, f243, f244, f247, f248;
-    real_t f249, f250, f253, f254, f255, f256, f259, f260, f261, f262;
-    real_t f265, f266, f267, f268, f271, f272, f273, f274, f277, f278;
-    real_t f279, f280, f283, f284, f285, f286;
-
-    f0 = x[0] - x[31];
-    f1 = x[0] + x[31];
-    f2 = x[1] - x[30];
-    f3 = x[1] + x[30];
-    f4 = x[2] - x[29];
-    f5 = x[2] + x[29];
-    f6 = x[3] - x[28];
-    f7 = x[3] + x[28];
-    f8 = x[4] - x[27];
-    f9 = x[4] + x[27];
-    f10 = x[5] - x[26];
-    f11 = x[5] + x[26];
-    f12 = x[6] - x[25];
-    f13 = x[6] + x[25];
-    f14 = x[7] - x[24];
-    f15 = x[7] + x[24];
-    f16 = x[8] - x[23];
-    f17 = x[8] + x[23];
-    f18 = x[9] - x[22];
-    f19 = x[9] + x[22];
-    f20 = x[10] - x[21];
-    f21 = x[10] + x[21];
-    f22 = x[11] - x[20];
-    f23 = x[11] + x[20];
-    f24 = x[12] - x[19];
-    f25 = x[12] + x[19];
-    f26 = x[13] - x[18];
-    f27 = x[13] + x[18];
-    f28 = x[14] - x[17];
-    f29 = x[14] + x[17];
-    f30 = x[15] - x[16];
-    f31 = x[15] + x[16];
-    f32 = f1 - f31;
-    f33 = f1 + f31;
-    f34 = f3 - f29;
-    f35 = f3 + f29;
-    f36 = f5 - f27;
-    f37 = f5 + f27;
-    f38 = f7 - f25;
-    f39 = f7 + f25;
-    f40 = f9 - f23;
-    f41 = f9 + f23;
-    f42 = f11 - f21;
-    f43 = f11 + f21;
-    f44 = f13 - f19;
-    f45 = f13 + f19;
-    f46 = f15 - f17;
-    f47 = f15 + f17;
-    f48 = f33 - f47;
-    f49 = f33 + f47;
-    f50 = f35 - f45;
-    f51 = f35 + f45;
-    f52 = f37 - f43;
-    f53 = f37 + f43;
-    f54 = f39 - f41;
-    f55 = f39 + f41;
-    f56 = f49 - f55;
-    f57 = f49 + f55;
-    f58 = f51 - f53;
-    f59 = f51 + f53;
-    f60 = f57 - f59;
-    y[0] = f57 + f59;
-    y[16] = MUL_F(FRAC_CONST(0.7071067811865476), f60);
-    f63 = f56 + f58;
-    f64 = MUL_C(COEF_CONST(1.3065629648763766), f56);
-    f65 = MUL_F(FRAC_CONST(-0.9238795325112866), f63);
-    f66 = MUL_F(FRAC_CONST(-0.5411961001461967), f58);
-    y[24] = f64 + f65;
-    y[8] = f66 - f65;
-    f69 = f48 + f54;
-    f70 = MUL_C(COEF_CONST(1.1758756024193588), f48);
-    f71 = MUL_F(FRAC_CONST(-0.9807852804032304), f69);
-    f72 = MUL_F(FRAC_CONST(-0.7856949583871021), f54);
-    f73 = f70 + f71;
-    f74 = f72 - f71;
-    f75 = f50 + f52;
-    f76 = MUL_C(COEF_CONST(1.3870398453221473), f50);
-    f77 = MUL_F(FRAC_CONST(-0.8314696123025455), f75);
-    f78 = MUL_F(FRAC_CONST(-0.2758993792829436), f52);
-    f79 = f76 + f77;
-    f80 = f78 - f77;
-    f81 = f74 - f80;
-    y[4] = f74 + f80;
-    f83 = MUL_F(FRAC_CONST(0.7071067811865476), f81);
-    y[28] = f73 - f79;
-    f85 = f73 + f79;
-    f86 = MUL_F(FRAC_CONST(0.7071067811865476), f85);
-    y[20] = f83 - f86;
-    y[12] = f83 + f86;
-    f89 = f34 - f36;
-    f90 = f34 + f36;
-    f91 = f38 - f40;
-    f92 = f38 + f40;
-    f93 = f42 - f44;
-    f94 = f42 + f44;
-    f95 = MUL_F(FRAC_CONST(0.7071067811865476), f92);
-    f96 = f32 - f95;
-    f97 = f32 + f95;
-    f98 = f90 + f94;
-    f99 = MUL_C(COEF_CONST(1.3065629648763766), f90);
-    f100 = MUL_F(FRAC_CONST(-0.9238795325112866), f98);
-    f101 = MUL_F(FRAC_CONST(-0.5411961001461967), f94);
-    f102 = f99 + f100;
-    f103 = f101 - f100;
-    f104 = f97 - f103;
-    f105 = f97 + f103;
-    f106 = f96 - f102;
-    f107 = f96 + f102;
-    f108 = MUL_F(FRAC_CONST(0.7071067811865476), f91);
-    f109 = f46 - f108;
-    f110 = f46 + f108;
-    f111 = f93 + f89;
-    f112 = MUL_C(COEF_CONST(1.3065629648763766), f93);
-    f113 = MUL_F(FRAC_CONST(-0.9238795325112866), f111);
-    f114 = MUL_F(FRAC_CONST(-0.5411961001461967), f89);
-    f115 = f112 + f113;
-    f116 = f114 - f113;
-    f117 = f110 - f116;
-    f118 = f110 + f116;
-    f119 = f109 - f115;
-    f120 = f109 + f115;
-    f121 = f118 + f105;
-    f122 = MUL_F(FRAC_CONST(-0.8971675863426361), f118);
-    f123 = MUL_F(FRAC_CONST(0.9951847266721968), f121);
-    f124 = MUL_C(COEF_CONST(1.0932018670017576), f105);
-    y[2] = f122 + f123;
-    y[30] = f124 - f123;
-    f127 = f107 - f120;
-    f128 = MUL_F(FRAC_CONST(-0.6666556584777466), f120);
-    f129 = MUL_F(FRAC_CONST(0.9569403357322089), f127);
-    f130 = MUL_C(COEF_CONST(1.2472250129866713), f107);
-    y[6] = f129 - f128;
-    y[26] = f130 - f129;
-    f133 = f119 + f106;
-    f134 = MUL_F(FRAC_CONST(-0.4105245275223571), f119);
-    f135 = MUL_F(FRAC_CONST(0.8819212643483549), f133);
-    f136 = MUL_C(COEF_CONST(1.3533180011743529), f106);
-    y[10] = f134 + f135;
-    y[22] = f136 - f135;
-    f139 = f104 - f117;
-    f140 = MUL_F(FRAC_CONST(-0.1386171691990915), f117);
-    f141 = MUL_F(FRAC_CONST(0.7730104533627370), f139);
-    f142 = MUL_C(COEF_CONST(1.4074037375263826), f104);
-    y[14] = f141 - f140;
-    y[18] = f142 - f141;
-    f145 = f2 - f4;
-    f146 = f2 + f4;
-    f147 = f6 - f8;
-    f148 = f6 + f8;
-    f149 = f10 - f12;
-    f150 = f10 + f12;
-    f151 = f14 - f16;
-    f152 = f14 + f16;
-    f153 = f18 - f20;
-    f154 = f18 + f20;
-    f155 = f22 - f24;
-    f156 = f22 + f24;
-    f157 = f26 - f28;
-    f158 = f26 + f28;
-    f159 = MUL_F(FRAC_CONST(0.7071067811865476), f152);
-    f160 = f0 - f159;
-    f161 = f0 + f159;
-    f162 = f148 + f156;
-    f163 = MUL_C(COEF_CONST(1.3065629648763766), f148);
-    f164 = MUL_F(FRAC_CONST(-0.9238795325112866), f162);
-    f165 = MUL_F(FRAC_CONST(-0.5411961001461967), f156);
-    f166 = f163 + f164;
-    f167 = f165 - f164;
-    f168 = f161 - f167;
-    f169 = f161 + f167;
-    f170 = f160 - f166;
-    f171 = f160 + f166;
-    f172 = f146 + f158;
-    f173 = MUL_C(COEF_CONST(1.1758756024193588), f146);
-    f174 = MUL_F(FRAC_CONST(-0.9807852804032304), f172);
-    f175 = MUL_F(FRAC_CONST(-0.7856949583871021), f158);
-    f176 = f173 + f174;
-    f177 = f175 - f174;
-    f178 = f150 + f154;
-    f179 = MUL_C(COEF_CONST(1.3870398453221473), f150);
-    f180 = MUL_F(FRAC_CONST(-0.8314696123025455), f178);
-    f181 = MUL_F(FRAC_CONST(-0.2758993792829436), f154);
-    f182 = f179 + f180;
-    f183 = f181 - f180;
-    f184 = f177 - f183;
-    f185 = f177 + f183;
-    f186 = MUL_F(FRAC_CONST(0.7071067811865476), f184);
-    f187 = f176 - f182;
-    f188 = f176 + f182;
-    f189 = MUL_F(FRAC_CONST(0.7071067811865476), f188);
-    f190 = f186 - f189;
-    f191 = f186 + f189;
-    f192 = f169 - f185;
-    f193 = f169 + f185;
-    f194 = f171 - f191;
-    f195 = f171 + f191;
-    f196 = f170 - f190;
-    f197 = f170 + f190;
-    f198 = f168 - f187;
-    f199 = f168 + f187;
-    f200 = MUL_F(FRAC_CONST(0.7071067811865476), f151);
-    f201 = f30 - f200;
-    f202 = f30 + f200;
-    f203 = f155 + f147;
-    f204 = MUL_C(COEF_CONST(1.3065629648763766), f155);
-    f205 = MUL_F(FRAC_CONST(-0.9238795325112866), f203);
-    f206 = MUL_F(FRAC_CONST(-0.5411961001461967), f147);
-    f207 = f204 + f205;
-    f208 = f206 - f205;
-    f209 = f202 - f208;
-    f210 = f202 + f208;
-    f211 = f201 - f207;
-    f212 = f201 + f207;
-    f213 = f157 + f145;
-    f214 = MUL_C(COEF_CONST(1.1758756024193588), f157);
-    f215 = MUL_F(FRAC_CONST(-0.9807852804032304), f213);
-    f216 = MUL_F(FRAC_CONST(-0.7856949583871021), f145);
-    f217 = f214 + f215;
-    f218 = f216 - f215;
-    f219 = f153 + f149;
-    f220 = MUL_C(COEF_CONST(1.3870398453221473), f153);
-    f221 = MUL_F(FRAC_CONST(-0.8314696123025455), f219);
-    f222 = MUL_F(FRAC_CONST(-0.2758993792829436), f149);
-    f223 = f220 + f221;
-    f224 = f222 - f221;
-    f225 = f218 - f224;
-    f226 = f218 + f224;
-    f227 = MUL_F(FRAC_CONST(0.7071067811865476), f225);
-    f228 = f217 - f223;
-    f229 = f217 + f223;
-    f230 = MUL_F(FRAC_CONST(0.7071067811865476), f229);
-    f231 = f227 - f230;
-    f232 = f227 + f230;
-    f233 = f210 - f226;
-    f234 = f210 + f226;
-    f235 = f212 - f232;
-    f236 = f212 + f232;
-    f237 = f211 - f231;
-    f238 = f211 + f231;
-    f239 = f209 - f228;
-    f240 = f209 + f228;
-    f241 = f234 + f193;
-    f242 = MUL_F(FRAC_CONST(-0.9497277818777543), f234);
-    f243 = MUL_F(FRAC_CONST(0.9987954562051724), f241);
-    f244 = MUL_C(COEF_CONST(1.0478631305325905), f193);
-    y[1] = f242 + f243;
-    y[31] = f244 - f243;
-    f247 = f195 - f236;
-    f248 = MUL_F(FRAC_CONST(-0.8424460355094192), f236);
-    f249 = MUL_F(FRAC_CONST(0.9891765099647810), f247);
-    f250 = MUL_C(COEF_CONST(1.1359069844201428), f195);
-    y[3] = f249 - f248;
-    y[29] = f250 - f249;
-    f253 = f238 + f197;
-    f254 = MUL_F(FRAC_CONST(-0.7270510732912801), f238);
-    f255 = MUL_F(FRAC_CONST(0.9700312531945440), f253);
-    f256 = MUL_C(COEF_CONST(1.2130114330978079), f197);
-    y[5] = f254 + f255;
-    y[27] = f256 - f255;
-    f259 = f199 - f240;
-    f260 = MUL_F(FRAC_CONST(-0.6046542117908007), f240);
-    f261 = MUL_F(FRAC_CONST(0.9415440651830208), f259);
-    f262 = MUL_C(COEF_CONST(1.2784339185752409), f199);
-    y[7] = f261 - f260;
-    y[25] = f262 - f261;
-    f265 = f239 + f198;
-    f266 = MUL_F(FRAC_CONST(-0.4764341996931611), f239);
-    f267 = MUL_F(FRAC_CONST(0.9039892931234433), f265);
-    f268 = MUL_C(COEF_CONST(1.3315443865537255), f198);
-    y[9] = f266 + f267;
-    y[23] = f268 - f267;
-    f271 = f196 - f237;
-    f272 = MUL_F(FRAC_CONST(-0.3436258658070505), f237);
-    f273 = MUL_F(FRAC_CONST(0.8577286100002721), f271);
-    f274 = MUL_C(COEF_CONST(1.3718313541934939), f196);
-    y[11] = f273 - f272;
-    y[21] = f274 - f273;
-    f277 = f235 + f194;
-    f278 = MUL_F(FRAC_CONST(-0.2075082269882114), f235);
-    f279 = MUL_F(FRAC_CONST(0.8032075314806448), f277);
-    f280 = MUL_C(COEF_CONST(1.3989068359730783), f194);
-    y[13] = f278 + f279;
-    y[19] = f280 - f279;
-    f283 = f192 - f233;
-    f284 = MUL_F(FRAC_CONST(-0.0693921705079408), f233);
-    f285 = MUL_F(FRAC_CONST(0.7409511253549591), f283);
-    f286 = MUL_C(COEF_CONST(1.4125100802019774), f192);
-    y[15] = f285 - f284;
-    y[17] = f286 - f285;
-}
-
-#else
-
-
-#define n 32
-#define log2n 5
-
-// w_array_real[i] = cos(2*M_PI*i/32)
-static const real_t w_array_real[] = {
-    FRAC_CONST(1.000000000000000), FRAC_CONST(0.980785279337272),
-    FRAC_CONST(0.923879528329380), FRAC_CONST(0.831469603195765),
-    FRAC_CONST(0.707106765732237), FRAC_CONST(0.555570210304169),
-    FRAC_CONST(0.382683402077046), FRAC_CONST(0.195090284503576),
-    FRAC_CONST(0.000000000000000), FRAC_CONST(-0.195090370246552),
-    FRAC_CONST(-0.382683482845162), FRAC_CONST(-0.555570282993553),
-    FRAC_CONST(-0.707106827549476), FRAC_CONST(-0.831469651765257),
-    FRAC_CONST(-0.923879561784627), FRAC_CONST(-0.980785296392607)
-};
-
-// w_array_imag[i] = sin(-2*M_PI*i/32)
-static const real_t w_array_imag[] = {
-    FRAC_CONST(0.000000000000000), FRAC_CONST(-0.195090327375064),
-    FRAC_CONST(-0.382683442461104), FRAC_CONST(-0.555570246648862),
-    FRAC_CONST(-0.707106796640858), FRAC_CONST(-0.831469627480512),
-    FRAC_CONST(-0.923879545057005), FRAC_CONST(-0.980785287864940),
-    FRAC_CONST(-1.000000000000000), FRAC_CONST(-0.980785270809601),
-    FRAC_CONST(-0.923879511601754), FRAC_CONST(-0.831469578911016),
-    FRAC_CONST(-0.707106734823616), FRAC_CONST(-0.555570173959476),
-    FRAC_CONST(-0.382683361692986), FRAC_CONST(-0.195090241632088)
-};
-
-// FFT decimation in frequency
-// 4*16*2+16=128+16=144 multiplications
-// 6*16*2+10*8+4*16*2=192+80+128=400 additions
-static void fft_dif(real_t * Real, real_t * Imag)
-{
-    real_t w_real, w_imag; // For faster access
-    real_t point1_real, point1_imag, point2_real, point2_imag; // For faster access
-    uint32_t j, i, i2, w_index; // Counters
-
-    // First 2 stages of 32 point FFT decimation in frequency
-    // 4*16*2=64*2=128 multiplications
-    // 6*16*2=96*2=192 additions
-       // Stage 1 of 32 point FFT decimation in frequency
-    for (i = 0; i < 16; i++)
-    {
-        point1_real = Real[i];
-        point1_imag = Imag[i];
-        i2 = i+16;
-        point2_real = Real[i2];
-        point2_imag = Imag[i2];
-
-        w_real = w_array_real[i];
-        w_imag = w_array_imag[i];
-
-        // temp1 = x[i] - x[i2]
-        point1_real -= point2_real;
-        point1_imag -= point2_imag;
-
-        // x[i1] = x[i] + x[i2]
-        Real[i] += point2_real;
-        Imag[i] += point2_imag;
-
-        // x[i2] = (x[i] - x[i2]) * w
-        Real[i2] = (MUL_F(point1_real,w_real) - MUL_F(point1_imag,w_imag));
-        Imag[i2] = (MUL_F(point1_real,w_imag) + MUL_F(point1_imag,w_real));
-     }
-    // Stage 2 of 32 point FFT decimation in frequency
-    for (j = 0, w_index = 0; j < 8; j++, w_index += 2)
-    {
-        w_real = w_array_real[w_index];
-        w_imag = w_array_imag[w_index];
-
-       i = j;
-        point1_real = Real[i];
-        point1_imag = Imag[i];
-        i2 = i+8;
-        point2_real = Real[i2];
-        point2_imag = Imag[i2];
-
-        // temp1 = x[i] - x[i2]
-        point1_real -= point2_real;
-        point1_imag -= point2_imag;
-
-        // x[i1] = x[i] + x[i2]
-        Real[i] += point2_real;
-        Imag[i] += point2_imag;
-
-        // x[i2] = (x[i] - x[i2]) * w
-        Real[i2] = (MUL_F(point1_real,w_real) - MUL_F(point1_imag,w_imag));
-        Imag[i2] = (MUL_F(point1_real,w_imag) + MUL_F(point1_imag,w_real));
-
-        i = j+16;
-        point1_real = Real[i];
-        point1_imag = Imag[i];
-        i2 = i+8;
-        point2_real = Real[i2];
-        point2_imag = Imag[i2];
-
-        // temp1 = x[i] - x[i2]
-        point1_real -= point2_real;
-        point1_imag -= point2_imag;
-
-        // x[i1] = x[i] + x[i2]
-        Real[i] += point2_real;
-        Imag[i] += point2_imag;
-
-        // x[i2] = (x[i] - x[i2]) * w
-        Real[i2] = (MUL_F(point1_real,w_real) - MUL_F(point1_imag,w_imag));
-        Imag[i2] = (MUL_F(point1_real,w_imag) + MUL_F(point1_imag,w_real));
-    }
-
-    // Stage 3 of 32 point FFT decimation in frequency
-    // 2*4*2=16 multiplications
-    // 4*4*2+6*4*2=10*8=80 additions
-    for (i = 0; i < n; i += 8)
-    {
-        i2 = i+4;
-        point1_real = Real[i];
-        point1_imag = Imag[i];
-
-        point2_real = Real[i2];
-        point2_imag = Imag[i2];
-
-        // out[i1] = point1 + point2
-        Real[i] += point2_real;
-        Imag[i] += point2_imag;
-
-        // out[i2] = point1 - point2
-        Real[i2] = point1_real - point2_real;
-        Imag[i2] = point1_imag - point2_imag;
-    }
-    w_real = w_array_real[4]; // = sqrt(2)/2
-    // w_imag = -w_real; // = w_array_imag[4]; // = -sqrt(2)/2
-    for (i = 1; i < n; i += 8)
-    {
-        i2 = i+4;
-        point1_real = Real[i];
-        point1_imag = Imag[i];
-
-        point2_real = Real[i2];
-        point2_imag = Imag[i2];
-
-        // temp1 = x[i] - x[i2]
-        point1_real -= point2_real;
-        point1_imag -= point2_imag;
-
-        // x[i1] = x[i] + x[i2]
-        Real[i] += point2_real;
-        Imag[i] += point2_imag;
-
-        // x[i2] = (x[i] - x[i2]) * w
-        Real[i2] = MUL_F(point1_real+point1_imag, w_real);
-        Imag[i2] = MUL_F(point1_imag-point1_real, w_real);
-    }
-    for (i = 2; i < n; i += 8)
-    {
-        i2 = i+4;
-        point1_real = Real[i];
-        point1_imag = Imag[i];
-
-        point2_real = Real[i2];
-        point2_imag = Imag[i2];
-
-        // x[i] = x[i] + x[i2]
-        Real[i] += point2_real;
-        Imag[i] += point2_imag;
-
-        // x[i2] = (x[i] - x[i2]) * (-i)
-        Real[i2] = point1_imag - point2_imag;
-        Imag[i2] = point2_real - point1_real;
-    }
-    w_real = w_array_real[12]; // = -sqrt(2)/2
-    // w_imag = w_real; // = w_array_imag[12]; // = -sqrt(2)/2
-    for (i = 3; i < n; i += 8)
-    {
-        i2 = i+4;
-        point1_real = Real[i];
-        point1_imag = Imag[i];
-
-        point2_real = Real[i2];
-        point2_imag = Imag[i2];
-
-        // temp1 = x[i] - x[i2]
-        point1_real -= point2_real;
-        point1_imag -= point2_imag;
-
-        // x[i1] = x[i] + x[i2]
-        Real[i] += point2_real;
-        Imag[i] += point2_imag;
-
-        // x[i2] = (x[i] - x[i2]) * w
-        Real[i2] = MUL_F(point1_real-point1_imag, w_real);
-        Imag[i2] = MUL_F(point1_real+point1_imag, w_real);
-    }
-
-
-    // Stage 4 of 32 point FFT decimation in frequency (no multiplications)
-    // 16*4=64 additions
-    for (i = 0; i < n; i += 4)
-    {
-        i2 = i+2;
-        point1_real = Real[i];
-        point1_imag = Imag[i];
-
-        point2_real = Real[i2];
-        point2_imag = Imag[i2];
-
-        // x[i1] = x[i] + x[i2]
-        Real[i] += point2_real;
-        Imag[i] += point2_imag;
-
-        // x[i2] = x[i] - x[i2]
-        Real[i2] = point1_real - point2_real;
-        Imag[i2] = point1_imag - point2_imag;
-    }
-    for (i = 1; i < n; i += 4)
-    {
-        i2 = i+2;
-        point1_real = Real[i];
-        point1_imag = Imag[i];
-
-        point2_real = Real[i2];
-        point2_imag = Imag[i2];
-
-        // x[i] = x[i] + x[i2]
-        Real[i] += point2_real;
-        Imag[i] += point2_imag;
-
-        // x[i2] = (x[i] - x[i2]) * (-i)
-        Real[i2] = point1_imag - point2_imag;
-        Imag[i2] = point2_real - point1_real;
-    }
-
-    // Stage 5 of 32 point FFT decimation in frequency (no multiplications)
-    // 16*4=64 additions
-    for (i = 0; i < n; i += 2)
-    {
-        i2 = i+1;
-        point1_real = Real[i];
-        point1_imag = Imag[i];
-
-        point2_real = Real[i2];
-        point2_imag = Imag[i2];
-
-        // out[i1] = point1 + point2
-        Real[i] += point2_real;
-        Imag[i] += point2_imag;
-
-        // out[i2] = point1 - point2
-        Real[i2] = point1_real - point2_real;
-        Imag[i2] = point1_imag - point2_imag;
-    }
-
-#ifdef REORDER_IN_FFT
-    FFTReorder(Real, Imag);
-#endif // #ifdef REORDER_IN_FFT
-}
-#undef n
-#undef log2n
-
-static const real_t dct4_64_tab[] = {
-    COEF_CONST(0.999924719333649), COEF_CONST(0.998118102550507),
-    COEF_CONST(0.993906974792480), COEF_CONST(0.987301409244537),
-    COEF_CONST(0.978317379951477), COEF_CONST(0.966976463794708),
-    COEF_CONST(0.953306019306183), COEF_CONST(0.937339007854462),
-    COEF_CONST(0.919113874435425), COEF_CONST(0.898674488067627),
-    COEF_CONST(0.876070082187653), COEF_CONST(0.851355195045471),
-    COEF_CONST(0.824589252471924), COEF_CONST(0.795836925506592),
-    COEF_CONST(0.765167236328125), COEF_CONST(0.732654273509979),
-    COEF_CONST(0.698376238346100), COEF_CONST(0.662415742874146),
-    COEF_CONST(0.624859452247620), COEF_CONST(0.585797846317291),
-    COEF_CONST(0.545324981212616), COEF_CONST(0.503538429737091),
-    COEF_CONST(0.460538715124130), COEF_CONST(0.416429549455643),
-    COEF_CONST(0.371317148208618), COEF_CONST(0.325310230255127),
-    COEF_CONST(0.278519600629807), COEF_CONST(0.231058135628700),
-    COEF_CONST(0.183039888739586), COEF_CONST(0.134580686688423),
-    COEF_CONST(0.085797272622585), COEF_CONST(0.036807164549828),
-    COEF_CONST(-1.012196302413940), COEF_CONST(-1.059438824653626),
-    COEF_CONST(-1.104129195213318), COEF_CONST(-1.146159529685974),
-    COEF_CONST(-1.185428738594055), COEF_CONST(-1.221842169761658),
-    COEF_CONST(-1.255311965942383), COEF_CONST(-1.285757660865784),
-    COEF_CONST(-1.313105940818787), COEF_CONST(-1.337290763854981),
-    COEF_CONST(-1.358253836631775), COEF_CONST(-1.375944852828980),
-    COEF_CONST(-1.390321016311646), COEF_CONST(-1.401347875595093),
-    COEF_CONST(-1.408998727798462), COEF_CONST(-1.413255214691162),
-    COEF_CONST(-1.414107084274292), COEF_CONST(-1.411552190780640),
-    COEF_CONST(-1.405596733093262), COEF_CONST(-1.396255016326904),
-    COEF_CONST(-1.383549690246582), COEF_CONST(-1.367511272430420),
-    COEF_CONST(-1.348178386688232), COEF_CONST(-1.325597524642944),
-    COEF_CONST(-1.299823284149170), COEF_CONST(-1.270917654037476),
-    COEF_CONST(-1.238950133323669), COEF_CONST(-1.203998088836670),
-    COEF_CONST(-1.166145324707031), COEF_CONST(-1.125483393669128),
-    COEF_CONST(-1.082109928131104), COEF_CONST(-1.036129593849182),
-    COEF_CONST(-0.987653195858002), COEF_CONST(-0.936797380447388),
-    COEF_CONST(-0.883684754371643), COEF_CONST(-0.828443288803101),
-    COEF_CONST(-0.771206021308899), COEF_CONST(-0.712110757827759),
-    COEF_CONST(-0.651300072669983), COEF_CONST(-0.588920354843140),
-    COEF_CONST(-0.525121808052063), COEF_CONST(-0.460058242082596),
-    COEF_CONST(-0.393886327743530), COEF_CONST(-0.326765477657318),
-    COEF_CONST(-0.258857429027557), COEF_CONST(-0.190325915813446),
-    COEF_CONST(-0.121335685253143), COEF_CONST(-0.052053272724152),
-    COEF_CONST(0.017354607582092), COEF_CONST(0.086720645427704),
-    COEF_CONST(0.155877828598022), COEF_CONST(0.224659323692322),
-    COEF_CONST(0.292899727821350), COEF_CONST(0.360434412956238),
-    COEF_CONST(0.427100926637650), COEF_CONST(0.492738455533981),
-    COEF_CONST(0.557188928127289), COEF_CONST(0.620297133922577),
-    COEF_CONST(0.681910991668701), COEF_CONST(0.741881847381592),
-    COEF_CONST(0.800065577030182), COEF_CONST(0.856321990489960),
-    COEF_CONST(0.910515367984772), COEF_CONST(0.962515234947205),
-    COEF_CONST(1.000000000000000), COEF_CONST(0.998795449733734),
-    COEF_CONST(0.995184719562531), COEF_CONST(0.989176511764526),
-    COEF_CONST(0.980785250663757), COEF_CONST(0.970031261444092),
-    COEF_CONST(0.956940352916718), COEF_CONST(0.941544055938721),
-    COEF_CONST(0.923879504203796), COEF_CONST(0.903989315032959),
-    COEF_CONST(0.881921231746674), COEF_CONST(0.857728600502014),
-    COEF_CONST(0.831469595432281), COEF_CONST(0.803207516670227),
-    COEF_CONST(0.773010432720184), COEF_CONST(0.740951120853424),
-    COEF_CONST(0.707106769084930), COEF_CONST(0.671558916568756),
-    COEF_CONST(0.634393274784088), COEF_CONST(0.595699310302734),
-    COEF_CONST(0.555570185184479), COEF_CONST(0.514102697372437),
-    COEF_CONST(0.471396654844284), COEF_CONST(0.427555114030838),
-    COEF_CONST(0.382683426141739), COEF_CONST(0.336889833211899),
-    COEF_CONST(0.290284633636475), COEF_CONST(0.242980122566223),
-    COEF_CONST(0.195090234279633), COEF_CONST(0.146730497479439),
-    COEF_CONST(0.098017133772373), COEF_CONST(0.049067649990320),
-    COEF_CONST(-1.000000000000000), COEF_CONST(-1.047863125801086),
-    COEF_CONST(-1.093201875686646), COEF_CONST(-1.135906934738159),
-    COEF_CONST(-1.175875544548035), COEF_CONST(-1.213011503219605),
-    COEF_CONST(-1.247225046157837), COEF_CONST(-1.278433918952942),
-    COEF_CONST(-1.306562900543213), COEF_CONST(-1.331544399261475),
-    COEF_CONST(-1.353317975997925), COEF_CONST(-1.371831417083740),
-    COEF_CONST(-1.387039899826050), COEF_CONST(-1.398906826972961),
-    COEF_CONST(-1.407403707504273), COEF_CONST(-1.412510156631470),
-    COEF_CONST(0), COEF_CONST(-1.412510156631470),
-    COEF_CONST(-1.407403707504273), COEF_CONST(-1.398906826972961),
-    COEF_CONST(-1.387039899826050), COEF_CONST(-1.371831417083740),
-    COEF_CONST(-1.353317975997925), COEF_CONST(-1.331544399261475),
-    COEF_CONST(-1.306562900543213), COEF_CONST(-1.278433918952942),
-    COEF_CONST(-1.247225046157837), COEF_CONST(-1.213011384010315),
-    COEF_CONST(-1.175875544548035), COEF_CONST(-1.135907053947449),
-    COEF_CONST(-1.093201875686646), COEF_CONST(-1.047863125801086),
-    COEF_CONST(-1.000000000000000), COEF_CONST(-0.949727773666382),
-    COEF_CONST(-0.897167563438416), COEF_CONST(-0.842446029186249),
-    COEF_CONST(-0.785694956779480), COEF_CONST(-0.727051079273224),
-    COEF_CONST(-0.666655659675598), COEF_CONST(-0.604654192924500),
-    COEF_CONST(-0.541196048259735), COEF_CONST(-0.476434230804443),
-    COEF_CONST(-0.410524487495422), COEF_CONST(-0.343625843524933),
-    COEF_CONST(-0.275899350643158), COEF_CONST(-0.207508206367493),
-    COEF_CONST(-0.138617098331451), COEF_CONST(-0.069392144680023),
-    COEF_CONST(0), COEF_CONST(0.069392263889313),
-    COEF_CONST(0.138617157936096), COEF_CONST(0.207508206367493),
-    COEF_CONST(0.275899469852448), COEF_CONST(0.343625962734222),
-    COEF_CONST(0.410524636507034), COEF_CONST(0.476434201002121),
-    COEF_CONST(0.541196107864380), COEF_CONST(0.604654192924500),
-    COEF_CONST(0.666655719280243), COEF_CONST(0.727051138877869),
-    COEF_CONST(0.785695075988770), COEF_CONST(0.842446029186249),
-    COEF_CONST(0.897167563438416), COEF_CONST(0.949727773666382)
-};
-
-/* size 64 only! */
-void dct4_kernel(real_t * in_real, real_t * in_imag, real_t * out_real, real_t * out_imag)
-{
-    // Tables with bit reverse values for 5 bits, bit reverse of i at i-th position
-    const uint8_t bit_rev_tab[32] = { 0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23,15,31 };
-    uint32_t i, i_rev;
-
-    /* Step 2: modulate */
-    // 3*32=96 multiplications
-    // 3*32=96 additions
-    for (i = 0; i < 32; i++)
-    {
-       real_t x_re, x_im, tmp;
-       x_re = in_real[i];
-       x_im = in_imag[i];
-        tmp =        MUL_C(x_re + x_im, dct4_64_tab[i]);
-        in_real[i] = MUL_C(x_im, dct4_64_tab[i + 64]) + tmp;
-        in_imag[i] = MUL_C(x_re, dct4_64_tab[i + 32]) + tmp;
-    }
-
-    /* Step 3: FFT, but with output in bit reverse order */
-    fft_dif(in_real, in_imag);
-
-    /* Step 4: modulate + bitreverse reordering */
-    // 3*31+2=95 multiplications
-    // 3*31+2=95 additions
-    for (i = 0; i < 16; i++)
-    {
-       real_t x_re, x_im, tmp;
-       i_rev = bit_rev_tab[i];
-       x_re = in_real[i_rev];
-       x_im = in_imag[i_rev];
-
-        tmp =         MUL_C(x_re + x_im, dct4_64_tab[i + 3*32]);
-        out_real[i] = MUL_C(x_im, dct4_64_tab[i + 5*32]) + tmp;
-        out_imag[i] = MUL_C(x_re, dct4_64_tab[i + 4*32]) + tmp;
-    }
-    // i = 16, i_rev = 1 = rev(16);
-    out_imag[16] = MUL_C(in_imag[1] - in_real[1], dct4_64_tab[16 + 3*32]);
-    out_real[16] = MUL_C(in_real[1] + in_imag[1], dct4_64_tab[16 + 3*32]);
-    for (i = 17; i < 32; i++)
-    {
-       real_t x_re, x_im, tmp;
-       i_rev = bit_rev_tab[i];
-       x_re = in_real[i_rev];
-       x_im = in_imag[i_rev];
-        tmp =         MUL_C(x_re + x_im, dct4_64_tab[i + 3*32]);
-        out_real[i] = MUL_C(x_im, dct4_64_tab[i + 5*32]) + tmp;
-        out_imag[i] = MUL_C(x_re, dct4_64_tab[i + 4*32]) + tmp;
-    }
-
-}
-
-#endif
-
-#endif
diff --git a/lib/libfaad2/libfaad/sbr_dct.h b/lib/libfaad2/libfaad/sbr_dct.h
deleted file mode 100644 (file)
index ce44fd7..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_dct.h,v 1.19 2007/11/01 12:33:34 menno Exp $
-**/
-
-#ifndef __SBR_DCT_H__
-#define __SBR_DCT_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void dct4_kernel(real_t * in_real, real_t * in_imag, real_t * out_real, real_t * out_imag);
-
-void DCT3_32_unscaled(real_t *y, real_t *x);
-void DCT4_32(real_t *y, real_t *x);
-void DST4_32(real_t *y, real_t *x);
-void DCT2_32_unscaled(real_t *y, real_t *x);
-void DCT4_16(real_t *y, real_t *x);
-void DCT2_16_unscaled(real_t *y, real_t *x);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/sbr_dec.c b/lib/libfaad2/libfaad/sbr_dec.c
deleted file mode 100644 (file)
index f87d010..0000000
+++ /dev/null
@@ -1,690 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_dec.c,v 1.43 2007/11/01 12:33:34 menno Exp $
-**/
-
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SBR_DEC
-
-#include <string.h>
-#include <stdlib.h>
-
-#include "syntax.h"
-#include "bits.h"
-#include "sbr_syntax.h"
-#include "sbr_qmf.h"
-#include "sbr_hfgen.h"
-#include "sbr_hfadj.h"
-
-
-/* static function declarations */
-static uint8_t sbr_save_prev_data(sbr_info *sbr, uint8_t ch);
-static void sbr_save_matrix(sbr_info *sbr, uint8_t ch);
-
-
-sbr_info *sbrDecodeInit(uint16_t framelength, uint8_t id_aac,
-                        uint32_t sample_rate, uint8_t downSampledSBR
-#ifdef DRM
-                                               , uint8_t IsDRM
-#endif
-                        )
-{
-    sbr_info *sbr = faad_malloc(sizeof(sbr_info));
-    memset(sbr, 0, sizeof(sbr_info));
-
-    /* save id of the parent element */
-    sbr->id_aac = id_aac;
-    sbr->sample_rate = sample_rate;
-
-    sbr->bs_freq_scale = 2;
-    sbr->bs_alter_scale = 1;
-    sbr->bs_noise_bands = 2;
-    sbr->bs_limiter_bands = 2;
-    sbr->bs_limiter_gains = 2;
-    sbr->bs_interpol_freq = 1;
-    sbr->bs_smoothing_mode = 1;
-    sbr->bs_start_freq = 5;
-    sbr->bs_amp_res = 1;
-    sbr->bs_samplerate_mode = 1;
-    sbr->prevEnvIsShort[0] = -1;
-    sbr->prevEnvIsShort[1] = -1;
-    sbr->header_count = 0;
-    sbr->Reset = 1;
-
-#ifdef DRM
-    sbr->Is_DRM_SBR = IsDRM;
-#endif
-    sbr->tHFGen = T_HFGEN;
-    sbr->tHFAdj = T_HFADJ;
-
-    sbr->bsco = 0;
-    sbr->bsco_prev = 0;
-    sbr->M_prev = 0;
-    sbr->frame_len = framelength;
-
-    /* force sbr reset */
-    sbr->bs_start_freq_prev = -1;
-
-    if (framelength == 960)
-    {
-        sbr->numTimeSlotsRate = RATE * NO_TIME_SLOTS_960;
-        sbr->numTimeSlots = NO_TIME_SLOTS_960;
-    } else {
-        sbr->numTimeSlotsRate = RATE * NO_TIME_SLOTS;
-        sbr->numTimeSlots = NO_TIME_SLOTS;
-    }
-
-    sbr->GQ_ringbuf_index[0] = 0;
-    sbr->GQ_ringbuf_index[1] = 0;
-
-    if (id_aac == ID_CPE)
-    {
-        /* stereo */
-        uint8_t j;
-        sbr->qmfa[0] = qmfa_init(32);
-        sbr->qmfa[1] = qmfa_init(32);
-        sbr->qmfs[0] = qmfs_init((downSampledSBR)?32:64);
-        sbr->qmfs[1] = qmfs_init((downSampledSBR)?32:64);
-
-        for (j = 0; j < 5; j++)
-        {
-            sbr->G_temp_prev[0][j] = faad_malloc(64*sizeof(real_t));
-            sbr->G_temp_prev[1][j] = faad_malloc(64*sizeof(real_t));
-            sbr->Q_temp_prev[0][j] = faad_malloc(64*sizeof(real_t));
-            sbr->Q_temp_prev[1][j] = faad_malloc(64*sizeof(real_t));
-        }
-
-        memset(sbr->Xsbr[0], 0, (sbr->numTimeSlotsRate+sbr->tHFGen)*64 * sizeof(qmf_t));
-        memset(sbr->Xsbr[1], 0, (sbr->numTimeSlotsRate+sbr->tHFGen)*64 * sizeof(qmf_t));
-    } else {
-        /* mono */
-        uint8_t j;
-        sbr->qmfa[0] = qmfa_init(32);
-        sbr->qmfs[0] = qmfs_init((downSampledSBR)?32:64);
-        sbr->qmfs[1] = NULL;
-
-        for (j = 0; j < 5; j++)
-        {
-            sbr->G_temp_prev[0][j] = faad_malloc(64*sizeof(real_t));
-            sbr->Q_temp_prev[0][j] = faad_malloc(64*sizeof(real_t));
-        }
-
-        memset(sbr->Xsbr[0], 0, (sbr->numTimeSlotsRate+sbr->tHFGen)*64 * sizeof(qmf_t));
-    }
-
-    return sbr;
-}
-
-void sbrDecodeEnd(sbr_info *sbr)
-{
-    uint8_t j;
-
-    if (sbr)
-    {
-        qmfa_end(sbr->qmfa[0]);
-        qmfs_end(sbr->qmfs[0]);
-        if (sbr->qmfs[1] != NULL)
-        {
-            qmfa_end(sbr->qmfa[1]);
-            qmfs_end(sbr->qmfs[1]);
-        }
-
-        for (j = 0; j < 5; j++)
-        {
-            if (sbr->G_temp_prev[0][j]) faad_free(sbr->G_temp_prev[0][j]);
-            if (sbr->Q_temp_prev[0][j]) faad_free(sbr->Q_temp_prev[0][j]);
-            if (sbr->G_temp_prev[1][j]) faad_free(sbr->G_temp_prev[1][j]);
-            if (sbr->Q_temp_prev[1][j]) faad_free(sbr->Q_temp_prev[1][j]);
-        }
-
-#ifdef PS_DEC
-        if (sbr->ps != NULL) 
-            ps_free(sbr->ps);
-#endif
-
-#ifdef DRM_PS
-        if (sbr->drm_ps != NULL)
-            drm_ps_free(sbr->drm_ps);
-#endif
-
-        faad_free(sbr);
-    }
-}
-
-void sbrReset(sbr_info *sbr)
-{
-    uint8_t j;
-    if (sbr->qmfa[0] != NULL)
-        memset(sbr->qmfa[0]->x, 0, 2 * sbr->qmfa[0]->channels * 10 * sizeof(real_t));
-    if (sbr->qmfa[1] != NULL)
-        memset(sbr->qmfa[1]->x, 0, 2 * sbr->qmfa[1]->channels * 10 * sizeof(real_t));
-    if (sbr->qmfs[0] != NULL)
-        memset(sbr->qmfs[0]->v, 0, 2 * sbr->qmfs[0]->channels * 20 * sizeof(real_t));
-    if (sbr->qmfs[1] != NULL)
-        memset(sbr->qmfs[1]->v, 0, 2 * sbr->qmfs[1]->channels * 20 * sizeof(real_t));
-
-    for (j = 0; j < 5; j++)
-    {
-        if (sbr->G_temp_prev[0][j] != NULL)
-            memset(sbr->G_temp_prev[0][j], 0, 64*sizeof(real_t));
-        if (sbr->G_temp_prev[1][j] != NULL)
-            memset(sbr->G_temp_prev[1][j], 0, 64*sizeof(real_t));
-        if (sbr->Q_temp_prev[0][j] != NULL)
-            memset(sbr->Q_temp_prev[0][j], 0, 64*sizeof(real_t));
-        if (sbr->Q_temp_prev[1][j] != NULL)
-            memset(sbr->Q_temp_prev[1][j], 0, 64*sizeof(real_t));
-    }
-
-    memset(sbr->Xsbr[0], 0, (sbr->numTimeSlotsRate+sbr->tHFGen)*64 * sizeof(qmf_t));
-    memset(sbr->Xsbr[1], 0, (sbr->numTimeSlotsRate+sbr->tHFGen)*64 * sizeof(qmf_t));
-    
-    sbr->GQ_ringbuf_index[0] = 0;
-    sbr->GQ_ringbuf_index[1] = 0;
-    sbr->header_count = 0;
-    sbr->Reset = 1;
-
-    sbr->L_E_prev[0] = 0;
-    sbr->L_E_prev[1] = 0;
-    sbr->bs_freq_scale = 2;
-    sbr->bs_alter_scale = 1;
-    sbr->bs_noise_bands = 2;
-    sbr->bs_limiter_bands = 2;
-    sbr->bs_limiter_gains = 2;
-    sbr->bs_interpol_freq = 1;
-    sbr->bs_smoothing_mode = 1;
-    sbr->bs_start_freq = 5;
-    sbr->bs_amp_res = 1;
-    sbr->bs_samplerate_mode = 1;
-    sbr->prevEnvIsShort[0] = -1;
-    sbr->prevEnvIsShort[1] = -1;
-    sbr->bsco = 0;
-    sbr->bsco_prev = 0;
-    sbr->M_prev = 0;
-    sbr->bs_start_freq_prev = -1;
-
-    sbr->f_prev[0] = 0;
-    sbr->f_prev[1] = 0;
-    for (j = 0; j < MAX_M; j++)
-    {
-        sbr->E_prev[0][j] = 0;
-        sbr->Q_prev[0][j] = 0;
-        sbr->E_prev[1][j] = 0;
-        sbr->Q_prev[1][j] = 0;
-        sbr->bs_add_harmonic_prev[0][j] = 0;
-        sbr->bs_add_harmonic_prev[1][j] = 0;
-    }
-    sbr->bs_add_harmonic_flag_prev[0] = 0;
-    sbr->bs_add_harmonic_flag_prev[1] = 0;
-}
-
-static uint8_t sbr_save_prev_data(sbr_info *sbr, uint8_t ch)
-{
-    uint8_t i;
-
-    /* save data for next frame */
-    sbr->kx_prev = sbr->kx;
-    sbr->M_prev = sbr->M;
-    sbr->bsco_prev = sbr->bsco;
-
-    sbr->L_E_prev[ch] = sbr->L_E[ch];
-
-    /* sbr->L_E[ch] can become 0 on files with bit errors */
-    if (sbr->L_E[ch] <= 0)
-        return 19;
-
-    sbr->f_prev[ch] = sbr->f[ch][sbr->L_E[ch] - 1];
-    for (i = 0; i < MAX_M; i++)
-    {
-        sbr->E_prev[ch][i] = sbr->E[ch][i][sbr->L_E[ch] - 1];
-        sbr->Q_prev[ch][i] = sbr->Q[ch][i][sbr->L_Q[ch] - 1];
-    }
-
-    for (i = 0; i < MAX_M; i++)
-    {
-        sbr->bs_add_harmonic_prev[ch][i] = sbr->bs_add_harmonic[ch][i];
-    }
-    sbr->bs_add_harmonic_flag_prev[ch] = sbr->bs_add_harmonic_flag[ch];
-
-    if (sbr->l_A[ch] == sbr->L_E[ch])
-        sbr->prevEnvIsShort[ch] = 0;
-    else
-        sbr->prevEnvIsShort[ch] = -1;
-
-    return 0;
-}
-
-static void sbr_save_matrix(sbr_info *sbr, uint8_t ch)
-{
-    uint8_t i;
-
-    for (i = 0; i < sbr->tHFGen; i++)
-    {
-        memmove(sbr->Xsbr[ch][i], sbr->Xsbr[ch][i+sbr->numTimeSlotsRate], 64 * sizeof(qmf_t));
-    }
-    for (i = sbr->tHFGen; i < MAX_NTSRHFG; i++)
-    {
-        memset(sbr->Xsbr[ch][i], 0, 64 * sizeof(qmf_t));
-    }
-}
-
-static uint8_t sbr_process_channel(sbr_info *sbr, real_t *channel_buf, qmf_t X[MAX_NTSR][64],
-                                   uint8_t ch, uint8_t dont_process,
-                                   const uint8_t downSampledSBR)
-{
-    int16_t k, l;
-    uint8_t ret = 0;
-
-#ifdef SBR_LOW_POWER
-    ALIGN real_t deg[64];
-#endif
-
-#ifdef DRM
-    if (sbr->Is_DRM_SBR)
-    {
-        sbr->bsco = max((int32_t)sbr->maxAACLine*32/(int32_t)sbr->frame_len - (int32_t)sbr->kx, 0);
-    } else {
-#endif
-        sbr->bsco = 0;
-#ifdef DRM
-    }
-#endif
-
-
-//#define PRE_QMF_PRINT
-#ifdef PRE_QMF_PRINT
-    {
-        int i;
-        for (i = 0; i < 1024; i++)
-        {
-            printf("%d\n", channel_buf[i]);
-        }
-    }
-#endif
-
-
-    /* subband analysis */
-    if (dont_process)
-        sbr_qmf_analysis_32(sbr, sbr->qmfa[ch], channel_buf, sbr->Xsbr[ch], sbr->tHFGen, 32);
-    else
-        sbr_qmf_analysis_32(sbr, sbr->qmfa[ch], channel_buf, sbr->Xsbr[ch], sbr->tHFGen, sbr->kx);
-
-    if (!dont_process)
-    {
-#if 1
-        /* insert high frequencies here */
-        /* hf generation using patching */
-        hf_generation(sbr, sbr->Xsbr[ch], sbr->Xsbr[ch]
-#ifdef SBR_LOW_POWER
-            ,deg
-#endif
-            ,ch);
-#endif
-
-#if 0 //def SBR_LOW_POWER
-        for (l = sbr->t_E[ch][0]; l < sbr->t_E[ch][sbr->L_E[ch]]; l++)
-        {
-            for (k = 0; k < sbr->kx; k++)
-            {
-                QMF_RE(sbr->Xsbr[ch][sbr->tHFAdj + l][k]) = 0;
-            }
-        }
-#endif
-
-#if 1
-        /* hf adjustment */
-        ret = hf_adjustment(sbr, sbr->Xsbr[ch]
-#ifdef SBR_LOW_POWER
-            ,deg
-#endif
-            ,ch);
-#endif
-        if (ret > 0)
-        {
-            dont_process = 1;
-        }
-    }
-
-    if ((sbr->just_seeked != 0) || dont_process)
-    {
-        for (l = 0; l < sbr->numTimeSlotsRate; l++)
-        {
-            for (k = 0; k < 32; k++)
-            {
-                QMF_RE(X[l][k]) = QMF_RE(sbr->Xsbr[ch][l + sbr->tHFAdj][k]);
-#ifndef SBR_LOW_POWER
-                QMF_IM(X[l][k]) = QMF_IM(sbr->Xsbr[ch][l + sbr->tHFAdj][k]);
-#endif
-            }
-            for (k = 32; k < 64; k++)
-            {
-                QMF_RE(X[l][k]) = 0;
-#ifndef SBR_LOW_POWER
-                QMF_IM(X[l][k]) = 0;
-#endif
-            }
-        }
-    } else {
-        for (l = 0; l < sbr->numTimeSlotsRate; l++)
-        {
-            uint8_t kx_band, M_band, bsco_band;
-
-            if (l < sbr->t_E[ch][0])
-            {
-                kx_band = sbr->kx_prev;
-                M_band = sbr->M_prev;
-                bsco_band = sbr->bsco_prev;
-            } else {
-                kx_band = sbr->kx;
-                M_band = sbr->M;
-                bsco_band = sbr->bsco;
-            }
-
-#ifndef SBR_LOW_POWER
-            for (k = 0; k < kx_band + bsco_band; k++)
-            {
-                QMF_RE(X[l][k]) = QMF_RE(sbr->Xsbr[ch][l + sbr->tHFAdj][k]);
-                QMF_IM(X[l][k]) = QMF_IM(sbr->Xsbr[ch][l + sbr->tHFAdj][k]);
-            }
-            for (k = kx_band + bsco_band; k < kx_band + M_band; k++)
-            {
-                QMF_RE(X[l][k]) = QMF_RE(sbr->Xsbr[ch][l + sbr->tHFAdj][k]);
-                QMF_IM(X[l][k]) = QMF_IM(sbr->Xsbr[ch][l + sbr->tHFAdj][k]);
-            }
-            for (k = max(kx_band + bsco_band, kx_band + M_band); k < 64; k++)
-            {
-                QMF_RE(X[l][k]) = 0;
-                QMF_IM(X[l][k]) = 0;
-            }
-#else
-            for (k = 0; k < kx_band + bsco_band; k++)
-            {
-                QMF_RE(X[l][k]) = QMF_RE(sbr->Xsbr[ch][l + sbr->tHFAdj][k]);
-            }
-            for (k = kx_band + bsco_band; k < min(kx_band + M_band, 63); k++)
-            {
-                QMF_RE(X[l][k]) = QMF_RE(sbr->Xsbr[ch][l + sbr->tHFAdj][k]);
-            }
-            for (k = max(kx_band + bsco_band, kx_band + M_band); k < 64; k++)
-            {
-                QMF_RE(X[l][k]) = 0;
-            }
-            QMF_RE(X[l][kx_band - 1 + bsco_band]) +=
-                QMF_RE(sbr->Xsbr[ch][l + sbr->tHFAdj][kx_band - 1 + bsco_band]);
-#endif
-        }
-    }
-
-    return ret;
-}
-
-uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_chan,
-                             const uint8_t just_seeked, const uint8_t downSampledSBR)
-{
-    uint8_t dont_process = 0;
-    uint8_t ret = 0;
-    ALIGN qmf_t X[MAX_NTSR][64];
-
-    if (sbr == NULL)
-        return 20;
-
-    /* case can occur due to bit errors */
-    if (sbr->id_aac != ID_CPE)
-        return 21;
-
-    if (sbr->ret || (sbr->header_count == 0))
-    {
-        /* don't process just upsample */
-        dont_process = 1;
-
-        /* Re-activate reset for next frame */
-        if (sbr->ret && sbr->Reset)
-            sbr->bs_start_freq_prev = -1;
-    }
-
-    if (just_seeked)
-    {
-        sbr->just_seeked = 1;
-    } else {
-        sbr->just_seeked = 0;
-    }
-
-    sbr->ret += sbr_process_channel(sbr, left_chan, X, 0, dont_process, downSampledSBR);
-    /* subband synthesis */
-    if (downSampledSBR)
-    {
-        sbr_qmf_synthesis_32(sbr, sbr->qmfs[0], X, left_chan);
-    } else {
-        sbr_qmf_synthesis_64(sbr, sbr->qmfs[0], X, left_chan);
-    }
-
-    sbr->ret += sbr_process_channel(sbr, right_chan, X, 1, dont_process, downSampledSBR);
-    /* subband synthesis */
-    if (downSampledSBR)
-    {
-        sbr_qmf_synthesis_32(sbr, sbr->qmfs[1], X, right_chan);
-    } else {
-        sbr_qmf_synthesis_64(sbr, sbr->qmfs[1], X, right_chan);
-    }
-
-    if (sbr->bs_header_flag)
-        sbr->just_seeked = 0;
-
-    if (sbr->header_count != 0 && sbr->ret == 0)
-    {
-        ret = sbr_save_prev_data(sbr, 0);
-        if (ret) return ret;
-        ret = sbr_save_prev_data(sbr, 1);
-        if (ret) return ret;
-    }
-
-    sbr_save_matrix(sbr, 0);
-    sbr_save_matrix(sbr, 1);
-
-    sbr->frame++;
-
-//#define POST_QMF_PRINT
-#ifdef POST_QMF_PRINT
-    {
-        int i;
-        for (i = 0; i < 2048; i++)
-        {
-            printf("%d\n", left_chan[i]);
-        }
-        for (i = 0; i < 2048; i++)
-        {
-            printf("%d\n", right_chan[i]);
-        }
-    }
-#endif
-
-    return 0;
-}
-
-uint8_t sbrDecodeSingleFrame(sbr_info *sbr, real_t *channel,
-                             const uint8_t just_seeked, const uint8_t downSampledSBR)
-{
-    uint8_t dont_process = 0;
-    uint8_t ret = 0;
-    ALIGN qmf_t X[MAX_NTSR][64];
-
-    if (sbr == NULL)
-        return 20;
-
-    /* case can occur due to bit errors */
-    if (sbr->id_aac != ID_SCE && sbr->id_aac != ID_LFE)
-        return 21;
-
-    if (sbr->ret || (sbr->header_count == 0))
-    {
-        /* don't process just upsample */
-        dont_process = 1;
-
-        /* Re-activate reset for next frame */
-        if (sbr->ret && sbr->Reset)
-            sbr->bs_start_freq_prev = -1;
-    }
-
-    if (just_seeked)
-    {
-        sbr->just_seeked = 1;
-    } else {
-        sbr->just_seeked = 0;
-    }
-
-    sbr->ret += sbr_process_channel(sbr, channel, X, 0, dont_process, downSampledSBR);
-    /* subband synthesis */
-    if (downSampledSBR)
-    {
-        sbr_qmf_synthesis_32(sbr, sbr->qmfs[0], X, channel);
-    } else {
-        sbr_qmf_synthesis_64(sbr, sbr->qmfs[0], X, channel);
-    }
-
-    if (sbr->bs_header_flag)
-        sbr->just_seeked = 0;
-
-    if (sbr->header_count != 0 && sbr->ret == 0)
-    {
-        ret = sbr_save_prev_data(sbr, 0);
-        if (ret) return ret;
-    }
-
-    sbr_save_matrix(sbr, 0);
-
-    sbr->frame++;
-
-//#define POST_QMF_PRINT
-#ifdef POST_QMF_PRINT
-    {
-        int i;
-        for (i = 0; i < 2048; i++)
-        {
-            printf("%d\n", channel[i]);
-        }
-    }
-#endif
-
-    return 0;
-}
-
-#if (defined(PS_DEC) || defined(DRM_PS))
-uint8_t sbrDecodeSingleFramePS(sbr_info *sbr, real_t *left_channel, real_t *right_channel,
-                               const uint8_t just_seeked, const uint8_t downSampledSBR)
-{
-    uint8_t l, k;
-    uint8_t dont_process = 0;
-    uint8_t ret = 0;
-    ALIGN qmf_t X_left[38][64] = {{0}};
-    ALIGN qmf_t X_right[38][64] = {{0}}; /* must set this to 0 */
-
-    if (sbr == NULL)
-        return 20;
-
-    /* case can occur due to bit errors */
-    if (sbr->id_aac != ID_SCE && sbr->id_aac != ID_LFE)
-        return 21;
-
-    if (sbr->ret || (sbr->header_count == 0))
-    {
-        /* don't process just upsample */
-        dont_process = 1;
-
-        /* Re-activate reset for next frame */
-        if (sbr->ret && sbr->Reset)
-            sbr->bs_start_freq_prev = -1;
-    }
-
-    if (just_seeked)
-    {
-        sbr->just_seeked = 1;
-    } else {
-        sbr->just_seeked = 0;
-    }
-
-    if (sbr->qmfs[1] == NULL)
-    {
-        sbr->qmfs[1] = qmfs_init((downSampledSBR)?32:64);
-    }
-
-    sbr->ret += sbr_process_channel(sbr, left_channel, X_left, 0, dont_process, downSampledSBR);
-
-    /* copy some extra data for PS */
-    for (l = 32; l < 38; l++)
-    {
-        for (k = 0; k < 5; k++)
-        {
-            QMF_RE(X_left[l][k]) = QMF_RE(sbr->Xsbr[0][sbr->tHFAdj+l][k]);
-            QMF_IM(X_left[l][k]) = QMF_IM(sbr->Xsbr[0][sbr->tHFAdj+l][k]);
-        }
-    }
-
-    /* perform parametric stereo */
-#ifdef DRM_PS
-    if (sbr->Is_DRM_SBR)
-    {
-        drm_ps_decode(sbr->drm_ps, (sbr->ret > 0), X_left, X_right);
-    } else {
-#endif
-#ifdef PS_DEC
-        ps_decode(sbr->ps, X_left, X_right);
-#endif
-#ifdef DRM_PS
-    }
-#endif
-
-    /* subband synthesis */
-    if (downSampledSBR)
-    {
-        sbr_qmf_synthesis_32(sbr, sbr->qmfs[0], X_left, left_channel);
-        sbr_qmf_synthesis_32(sbr, sbr->qmfs[1], X_right, right_channel);
-    } else {
-        sbr_qmf_synthesis_64(sbr, sbr->qmfs[0], X_left, left_channel);
-        sbr_qmf_synthesis_64(sbr, sbr->qmfs[1], X_right, right_channel);
-    }
-
-    if (sbr->bs_header_flag)
-        sbr->just_seeked = 0;
-
-    if (sbr->header_count != 0 && sbr->ret == 0)
-    {
-        ret = sbr_save_prev_data(sbr, 0);
-        if (ret) return ret;
-    }
-
-    sbr_save_matrix(sbr, 0);
-
-    sbr->frame++;
-
-    return 0;
-}
-#endif
-
-#endif
diff --git a/lib/libfaad2/libfaad/sbr_dec.h b/lib/libfaad2/libfaad/sbr_dec.h
deleted file mode 100644 (file)
index 40c1d53..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_dec.h,v 1.39 2007/11/01 12:33:34 menno Exp $
-**/
-
-#ifndef __SBR_DEC_H__
-#define __SBR_DEC_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef PS_DEC
-#include "ps_dec.h"
-#endif
-#ifdef DRM_PS
-#include "drm_dec.h"
-#endif
-
-/* MAX_NTSRHFG: maximum of number_time_slots * rate + HFGen. 16*2+8 */
-#define MAX_NTSRHFG 40
-#define MAX_NTSR    32 /* max number_time_slots * rate, ok for DRM and not DRM mode */
-
-/* MAX_M: maximum value for M */
-#define MAX_M       49
-/* MAX_L_E: maximum value for L_E */
-#define MAX_L_E      5
-
-typedef struct {
-    real_t *x;
-    int16_t x_index;
-    uint8_t channels;
-} qmfa_info;
-
-typedef struct {
-    real_t *v;
-    int16_t v_index;
-    uint8_t channels;
-} qmfs_info;
-
-typedef struct
-{
-    uint32_t sample_rate;
-    uint32_t maxAACLine;
-
-    uint8_t rate;
-    uint8_t just_seeked;
-    uint8_t ret;
-
-    uint8_t amp_res[2];
-
-    uint8_t k0;
-    uint8_t kx;
-    uint8_t M;
-    uint8_t N_master;
-    uint8_t N_high;
-    uint8_t N_low;
-    uint8_t N_Q;
-    uint8_t N_L[4];
-    uint8_t n[2];
-
-    uint8_t f_master[64];
-    uint8_t f_table_res[2][64];
-    uint8_t f_table_noise[64];
-    uint8_t f_table_lim[4][64];
-#ifdef SBR_LOW_POWER
-    uint8_t f_group[5][64];
-    uint8_t N_G[5];
-#endif
-
-    uint8_t table_map_k_to_g[64];
-
-    uint8_t abs_bord_lead[2];
-    uint8_t abs_bord_trail[2];
-    uint8_t n_rel_lead[2];
-    uint8_t n_rel_trail[2];
-
-    uint8_t L_E[2];
-    uint8_t L_E_prev[2];
-    uint8_t L_Q[2];
-
-    uint8_t t_E[2][MAX_L_E+1];
-    uint8_t t_Q[2][3];
-    uint8_t f[2][MAX_L_E+1];
-    uint8_t f_prev[2];
-
-    real_t *G_temp_prev[2][5];
-    real_t *Q_temp_prev[2][5];
-    int8_t GQ_ringbuf_index[2];
-
-    int16_t E[2][64][MAX_L_E];
-    int16_t E_prev[2][64];
-#ifndef FIXED_POINT
-    real_t E_orig[2][64][MAX_L_E];
-#endif
-    real_t E_curr[2][64][MAX_L_E];
-    int32_t Q[2][64][2];
-#ifndef FIXED_POINT
-    real_t Q_div[2][64][2];
-    real_t Q_div2[2][64][2];
-#endif
-    int32_t Q_prev[2][64];
-
-    int8_t l_A[2];
-    int8_t l_A_prev[2];
-
-    uint8_t bs_invf_mode[2][MAX_L_E];
-    uint8_t bs_invf_mode_prev[2][MAX_L_E];
-    real_t bwArray[2][64];
-    real_t bwArray_prev[2][64];
-
-    uint8_t noPatches;
-    uint8_t patchNoSubbands[64];
-    uint8_t patchStartSubband[64];
-
-    uint8_t bs_add_harmonic[2][64];
-    uint8_t bs_add_harmonic_prev[2][64];
-
-    uint16_t index_noise_prev[2];
-    uint8_t psi_is_prev[2];
-
-    uint8_t bs_start_freq_prev;
-    uint8_t bs_stop_freq_prev;
-    uint8_t bs_xover_band_prev;
-    uint8_t bs_freq_scale_prev;
-    uint8_t bs_alter_scale_prev;
-    uint8_t bs_noise_bands_prev;
-
-    int8_t prevEnvIsShort[2];
-
-    int8_t kx_prev;
-    uint8_t bsco;
-    uint8_t bsco_prev;
-    uint8_t M_prev;
-    uint16_t frame_len;
-
-    uint8_t Reset;
-    uint32_t frame;
-    uint32_t header_count;
-
-    uint8_t id_aac;
-    qmfa_info *qmfa[2];
-    qmfs_info *qmfs[2];
-
-    qmf_t Xsbr[2][MAX_NTSRHFG][64];
-
-#ifdef DRM
-    uint8_t Is_DRM_SBR;
-#ifdef DRM_PS
-    drm_ps_info *drm_ps;
-#endif
-#endif
-
-    uint8_t numTimeSlotsRate;
-    uint8_t numTimeSlots;
-    uint8_t tHFGen;
-    uint8_t tHFAdj;
-
-#ifdef PS_DEC
-    ps_info *ps;
-#endif
-#if (defined(PS_DEC) || defined(DRM_PS))
-    uint8_t ps_used;
-    uint8_t psResetFlag;
-#endif
-
-    /* to get it compiling */
-    /* we'll see during the coding of all the tools, whether
-       these are all used or not.
-    */
-    uint8_t bs_header_flag;
-    uint8_t bs_crc_flag;
-    uint16_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_add_harmonic_flag_prev[2];
-    uint8_t bs_extended_data;
-    uint8_t bs_extension_id;
-    uint8_t bs_extension_data;
-    uint8_t bs_coupling;
-    uint8_t bs_frame_class[2];
-    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_df_env[2][9];
-    uint8_t bs_df_noise[2][3];
-} sbr_info;
-
-sbr_info *sbrDecodeInit(uint16_t framelength, uint8_t id_aac,
-                        uint32_t sample_rate, uint8_t downSampledSBR
-#ifdef DRM
-                        , uint8_t IsDRM
-#endif
-                        );
-void sbrDecodeEnd(sbr_info *sbr);
-void sbrReset(sbr_info *sbr);
-
-uint8_t sbrDecodeCoupleFrame(sbr_info *sbr, real_t *left_chan, real_t *right_chan,
-                             const uint8_t just_seeked, const uint8_t downSampledSBR);
-uint8_t sbrDecodeSingleFrame(sbr_info *sbr, real_t *channel,
-                             const uint8_t just_seeked, const uint8_t downSampledSBR);
-#if (defined(PS_DEC) || defined(DRM_PS))
-uint8_t sbrDecodeSingleFramePS(sbr_info *sbr, real_t *left_channel, real_t *right_channel,
-                               const uint8_t just_seeked, const uint8_t downSampledSBR);
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/sbr_e_nf.c b/lib/libfaad2/libfaad/sbr_e_nf.c
deleted file mode 100644 (file)
index 14ba1e4..0000000
+++ /dev/null
@@ -1,510 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_e_nf.c,v 1.21 2007/11/01 12:33:35 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SBR_DEC
-
-#include <stdlib.h>
-
-#include "sbr_syntax.h"
-#include "sbr_e_nf.h"
-
-void extract_envelope_data(sbr_info *sbr, uint8_t ch)
-{
-    uint8_t l, k;
-
-    for (l = 0; l < sbr->L_E[ch]; l++)
-    {
-        if (sbr->bs_df_env[ch][l] == 0)
-        {
-            for (k = 1; k < sbr->n[sbr->f[ch][l]]; k++)
-            {
-                sbr->E[ch][k][l] = sbr->E[ch][k - 1][l] + sbr->E[ch][k][l];
-                if (sbr->E[ch][k][l] < 0)
-                    sbr->E[ch][k][l] = 0;
-            }
-
-        } else { /* bs_df_env == 1 */
-
-            uint8_t g = (l == 0) ? sbr->f_prev[ch] : sbr->f[ch][l-1];
-            int16_t E_prev;
-
-            if (sbr->f[ch][l] == g)
-            {
-                for (k = 0; k < sbr->n[sbr->f[ch][l]]; k++)
-                {
-                    if (l == 0)
-                        E_prev = sbr->E_prev[ch][k];
-                    else
-                        E_prev = sbr->E[ch][k][l - 1];
-
-                    sbr->E[ch][k][l] = E_prev + sbr->E[ch][k][l];
-                }
-
-            } else if ((g == 1) && (sbr->f[ch][l] == 0)) {
-                uint8_t i;
-
-                for (k = 0; k < sbr->n[sbr->f[ch][l]]; k++)
-                {
-                    for (i = 0; i < sbr->N_high; i++)
-                    {
-                        if (sbr->f_table_res[HI_RES][i] == sbr->f_table_res[LO_RES][k])
-                        {
-                            if (l == 0)
-                                E_prev = sbr->E_prev[ch][i];
-                            else
-                                E_prev = sbr->E[ch][i][l - 1];
-
-                            sbr->E[ch][k][l] = E_prev + sbr->E[ch][k][l];
-                        }
-                    }
-                }
-
-            } else if ((g == 0) && (sbr->f[ch][l] == 1)) {
-                uint8_t i;
-
-                for (k = 0; k < sbr->n[sbr->f[ch][l]]; k++)
-                {
-                    for (i = 0; i < sbr->N_low; i++)
-                    {
-                        if ((sbr->f_table_res[LO_RES][i] <= sbr->f_table_res[HI_RES][k]) &&
-                            (sbr->f_table_res[HI_RES][k] < sbr->f_table_res[LO_RES][i + 1]))
-                        {
-                            if (l == 0)
-                                E_prev = sbr->E_prev[ch][i];
-                            else
-                                E_prev = sbr->E[ch][i][l - 1];
-
-                            sbr->E[ch][k][l] = E_prev + sbr->E[ch][k][l];
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
-
-void extract_noise_floor_data(sbr_info *sbr, uint8_t ch)
-{
-    uint8_t l, k;
-
-    for (l = 0; l < sbr->L_Q[ch]; l++)
-    {
-        if (sbr->bs_df_noise[ch][l] == 0)
-        {
-            for (k = 1; k < sbr->N_Q; k++)
-            {
-                sbr->Q[ch][k][l] = sbr->Q[ch][k][l] + sbr->Q[ch][k-1][l];
-            }
-        } else {
-            if (l == 0)
-            {
-                for (k = 0; k < sbr->N_Q; k++)
-                {
-                    sbr->Q[ch][k][l] = sbr->Q_prev[ch][k] + sbr->Q[ch][k][0];
-                }
-            } else {
-                for (k = 0; k < sbr->N_Q; k++)
-                {
-                    sbr->Q[ch][k][l] = sbr->Q[ch][k][l - 1] + sbr->Q[ch][k][l];
-                }
-            }
-        }
-    }
-}
-
-#ifndef FIXED_POINT
-
-/* table for Q_div values when no coupling */
-static const real_t Q_div_tab[31] = {
-    FRAC_CONST(0.0153846), FRAC_CONST(0.030303),
-    FRAC_CONST(0.0588235), FRAC_CONST(0.111111),
-    FRAC_CONST(0.2),       FRAC_CONST(0.333333),
-    FRAC_CONST(0.5),       FRAC_CONST(0.666667),
-    FRAC_CONST(0.8),       FRAC_CONST(0.888889),
-    FRAC_CONST(0.941176),  FRAC_CONST(0.969697),
-    FRAC_CONST(0.984615),  FRAC_CONST(0.992248),
-    FRAC_CONST(0.996109),  FRAC_CONST(0.998051),
-    FRAC_CONST(0.999024),  FRAC_CONST(0.999512),
-    FRAC_CONST(0.999756),  FRAC_CONST(0.999878),
-    FRAC_CONST(0.999939),  FRAC_CONST(0.999969),
-    FRAC_CONST(0.999985),  FRAC_CONST(0.999992),
-    FRAC_CONST(0.999996),  FRAC_CONST(0.999998),
-    FRAC_CONST(0.999999),  FRAC_CONST(1),
-    FRAC_CONST(1),         FRAC_CONST(1),
-    FRAC_CONST(1)
-};
-
-static const real_t Q_div_tab_left[31][13] = {
-    { FRAC_CONST(0.969704), FRAC_CONST(0.888985), FRAC_CONST(0.667532), FRAC_CONST(0.336788), FRAC_CONST(0.117241), FRAC_CONST(0.037594), FRAC_CONST(0.0153846), FRAC_CONST(0.00967118), FRAC_CONST(0.00823245), FRAC_CONST(0.00787211), FRAC_CONST(0.00778198), FRAC_CONST(0.00775945), FRAC_CONST(0.00775382) },
-    { FRAC_CONST(0.984619), FRAC_CONST(0.94123), FRAC_CONST(0.800623), FRAC_CONST(0.503876), FRAC_CONST(0.209877), FRAC_CONST(0.0724638), FRAC_CONST(0.030303), FRAC_CONST(0.0191571), FRAC_CONST(0.0163305), FRAC_CONST(0.0156212), FRAC_CONST(0.0154438), FRAC_CONST(0.0153994), FRAC_CONST(0.0153883) },
-    { FRAC_CONST(0.99225), FRAC_CONST(0.969726), FRAC_CONST(0.889273), FRAC_CONST(0.670103), FRAC_CONST(0.346939), FRAC_CONST(0.135135), FRAC_CONST(0.0588235), FRAC_CONST(0.037594), FRAC_CONST(0.0321361), FRAC_CONST(0.0307619), FRAC_CONST(0.0304178), FRAC_CONST(0.0303317), FRAC_CONST(0.0303102) },
-    { FRAC_CONST(0.99611), FRAC_CONST(0.98463), FRAC_CONST(0.941392), FRAC_CONST(0.802469), FRAC_CONST(0.515152), FRAC_CONST(0.238095), FRAC_CONST(0.111111), FRAC_CONST(0.0724638), FRAC_CONST(0.0622711), FRAC_CONST(0.0596878), FRAC_CONST(0.0590397), FRAC_CONST(0.0588776), FRAC_CONST(0.058837) },
-    { FRAC_CONST(0.998051), FRAC_CONST(0.992256), FRAC_CONST(0.969811), FRAC_CONST(0.890411), FRAC_CONST(0.68), FRAC_CONST(0.384615), FRAC_CONST(0.2), FRAC_CONST(0.135135), FRAC_CONST(0.117241), FRAC_CONST(0.112652), FRAC_CONST(0.111497), FRAC_CONST(0.111208), FRAC_CONST(0.111135) },
-    { FRAC_CONST(0.999025), FRAC_CONST(0.996113), FRAC_CONST(0.984674), FRAC_CONST(0.942029), FRAC_CONST(0.809524), FRAC_CONST(0.555556), FRAC_CONST(0.333333), FRAC_CONST(0.238095), FRAC_CONST(0.209877), FRAC_CONST(0.202492), FRAC_CONST(0.200625), FRAC_CONST(0.200156), FRAC_CONST(0.200039) },
-    { FRAC_CONST(0.999512), FRAC_CONST(0.998053), FRAC_CONST(0.992278), FRAC_CONST(0.970149), FRAC_CONST(0.894737), FRAC_CONST(0.714286), FRAC_CONST(0.5), FRAC_CONST(0.384615), FRAC_CONST(0.346939), FRAC_CONST(0.336788), FRAC_CONST(0.3342), FRAC_CONST(0.33355), FRAC_CONST(0.333388) },
-    { FRAC_CONST(0.999756), FRAC_CONST(0.999025), FRAC_CONST(0.996124), FRAC_CONST(0.984848), FRAC_CONST(0.944444), FRAC_CONST(0.833333), FRAC_CONST(0.666667), FRAC_CONST(0.555556), FRAC_CONST(0.515152), FRAC_CONST(0.503876), FRAC_CONST(0.500975), FRAC_CONST(0.500244), FRAC_CONST(0.500061) },
-    { FRAC_CONST(0.999878), FRAC_CONST(0.999512), FRAC_CONST(0.998058), FRAC_CONST(0.992366), FRAC_CONST(0.971429), FRAC_CONST(0.909091), FRAC_CONST(0.8), FRAC_CONST(0.714286), FRAC_CONST(0.68), FRAC_CONST(0.670103), FRAC_CONST(0.667532), FRAC_CONST(0.666884), FRAC_CONST(0.666721) },
-    { FRAC_CONST(0.999939), FRAC_CONST(0.999756), FRAC_CONST(0.999028), FRAC_CONST(0.996169), FRAC_CONST(0.985507), FRAC_CONST(0.952381), FRAC_CONST(0.888889), FRAC_CONST(0.833333), FRAC_CONST(0.809524), FRAC_CONST(0.802469), FRAC_CONST(0.800623), FRAC_CONST(0.800156), FRAC_CONST(0.800039) },
-    { FRAC_CONST(0.999969), FRAC_CONST(0.999878), FRAC_CONST(0.999514), FRAC_CONST(0.998081), FRAC_CONST(0.992701), FRAC_CONST(0.97561), FRAC_CONST(0.941176), FRAC_CONST(0.909091), FRAC_CONST(0.894737), FRAC_CONST(0.890411), FRAC_CONST(0.889273), FRAC_CONST(0.888985), FRAC_CONST(0.888913) },
-    { FRAC_CONST(0.999985), FRAC_CONST(0.999939), FRAC_CONST(0.999757), FRAC_CONST(0.999039), FRAC_CONST(0.996337), FRAC_CONST(0.987654), FRAC_CONST(0.969697), FRAC_CONST(0.952381), FRAC_CONST(0.944444), FRAC_CONST(0.942029), FRAC_CONST(0.941392), FRAC_CONST(0.94123), FRAC_CONST(0.94119) },
-    { FRAC_CONST(0.999992), FRAC_CONST(0.99997), FRAC_CONST(0.999878), FRAC_CONST(0.999519), FRAC_CONST(0.998165), FRAC_CONST(0.993789), FRAC_CONST(0.984615), FRAC_CONST(0.97561), FRAC_CONST(0.971429), FRAC_CONST(0.970149), FRAC_CONST(0.969811), FRAC_CONST(0.969726), FRAC_CONST(0.969704) },
-    { FRAC_CONST(0.999996), FRAC_CONST(0.999985), FRAC_CONST(0.999939), FRAC_CONST(0.99976), FRAC_CONST(0.999082), FRAC_CONST(0.996885), FRAC_CONST(0.992248), FRAC_CONST(0.987654), FRAC_CONST(0.985507), FRAC_CONST(0.984848), FRAC_CONST(0.984674), FRAC_CONST(0.98463), FRAC_CONST(0.984619) },
-    { FRAC_CONST(0.999998), FRAC_CONST(0.999992), FRAC_CONST(0.99997), FRAC_CONST(0.99988), FRAC_CONST(0.999541), FRAC_CONST(0.99844), FRAC_CONST(0.996109), FRAC_CONST(0.993789), FRAC_CONST(0.992701), FRAC_CONST(0.992366), FRAC_CONST(0.992278), FRAC_CONST(0.992256), FRAC_CONST(0.99225) },
-    { FRAC_CONST(0.999999), FRAC_CONST(0.999996), FRAC_CONST(0.999985), FRAC_CONST(0.99994), FRAC_CONST(0.99977), FRAC_CONST(0.999219), FRAC_CONST(0.998051), FRAC_CONST(0.996885), FRAC_CONST(0.996337), FRAC_CONST(0.996169), FRAC_CONST(0.996124), FRAC_CONST(0.996113), FRAC_CONST(0.99611) },
-    { FRAC_CONST(1), FRAC_CONST(0.999998), FRAC_CONST(0.999992), FRAC_CONST(0.99997), FRAC_CONST(0.999885), FRAC_CONST(0.99961), FRAC_CONST(0.999024), FRAC_CONST(0.99844), FRAC_CONST(0.998165), FRAC_CONST(0.998081), FRAC_CONST(0.998058), FRAC_CONST(0.998053), FRAC_CONST(0.998051) },
-    { FRAC_CONST(1), FRAC_CONST(0.999999), FRAC_CONST(0.999996), FRAC_CONST(0.999985), FRAC_CONST(0.999943), FRAC_CONST(0.999805), FRAC_CONST(0.999512), FRAC_CONST(0.999219), FRAC_CONST(0.999082), FRAC_CONST(0.999039), FRAC_CONST(0.999028), FRAC_CONST(0.999025), FRAC_CONST(0.999025) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(0.999998), FRAC_CONST(0.999992), FRAC_CONST(0.999971), FRAC_CONST(0.999902), FRAC_CONST(0.999756), FRAC_CONST(0.99961), FRAC_CONST(0.999541), FRAC_CONST(0.999519), FRAC_CONST(0.999514), FRAC_CONST(0.999512), FRAC_CONST(0.999512) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(0.999999), FRAC_CONST(0.999996), FRAC_CONST(0.999986), FRAC_CONST(0.999951), FRAC_CONST(0.999878), FRAC_CONST(0.999805), FRAC_CONST(0.99977), FRAC_CONST(0.99976), FRAC_CONST(0.999757), FRAC_CONST(0.999756), FRAC_CONST(0.999756) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(0.999998), FRAC_CONST(0.999993), FRAC_CONST(0.999976), FRAC_CONST(0.999939), FRAC_CONST(0.999902), FRAC_CONST(0.999885), FRAC_CONST(0.99988), FRAC_CONST(0.999878), FRAC_CONST(0.999878), FRAC_CONST(0.999878) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(0.999999), FRAC_CONST(0.999996), FRAC_CONST(0.999988), FRAC_CONST(0.999969), FRAC_CONST(0.999951), FRAC_CONST(0.999943), FRAC_CONST(0.99994), FRAC_CONST(0.999939), FRAC_CONST(0.999939), FRAC_CONST(0.999939) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(0.999998), FRAC_CONST(0.999994), FRAC_CONST(0.999985), FRAC_CONST(0.999976), FRAC_CONST(0.999971), FRAC_CONST(0.99997), FRAC_CONST(0.99997), FRAC_CONST(0.99997), FRAC_CONST(0.999969) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(0.999999), FRAC_CONST(0.999997), FRAC_CONST(0.999992), FRAC_CONST(0.999988), FRAC_CONST(0.999986), FRAC_CONST(0.999985), FRAC_CONST(0.999985), FRAC_CONST(0.999985), FRAC_CONST(0.999985) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(0.999998), FRAC_CONST(0.999996), FRAC_CONST(0.999994), FRAC_CONST(0.999993), FRAC_CONST(0.999992), FRAC_CONST(0.999992), FRAC_CONST(0.999992), FRAC_CONST(0.999992) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(0.999999), FRAC_CONST(0.999998), FRAC_CONST(0.999997), FRAC_CONST(0.999996), FRAC_CONST(0.999996), FRAC_CONST(0.999996), FRAC_CONST(0.999996), FRAC_CONST(0.999996) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(0.999999), FRAC_CONST(0.999998), FRAC_CONST(0.999998), FRAC_CONST(0.999998), FRAC_CONST(0.999998), FRAC_CONST(0.999998), FRAC_CONST(0.999998) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(0.999999), FRAC_CONST(0.999999), FRAC_CONST(0.999999), FRAC_CONST(0.999999), FRAC_CONST(0.999999), FRAC_CONST(0.999999) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) }
-};
-
-static const real_t Q_div_tab_right[31][13] = {
-    { FRAC_CONST(0.00775382), FRAC_CONST(0.00775945), FRAC_CONST(0.00778198), FRAC_CONST(0.00787211), FRAC_CONST(0.00823245), FRAC_CONST(0.00967118), FRAC_CONST(0.0153846), FRAC_CONST(0.037594), FRAC_CONST(0.117241), FRAC_CONST(0.336788), FRAC_CONST(0.667532), FRAC_CONST(0.888985), FRAC_CONST(0.969704) },
-    { FRAC_CONST(0.0153883), FRAC_CONST(0.0153994), FRAC_CONST(0.0154438), FRAC_CONST(0.0156212), FRAC_CONST(0.0163305), FRAC_CONST(0.0191571), FRAC_CONST(0.030303), FRAC_CONST(0.0724638), FRAC_CONST(0.209877), FRAC_CONST(0.503876), FRAC_CONST(0.800623), FRAC_CONST(0.94123), FRAC_CONST(0.984619) },
-    { FRAC_CONST(0.0303102), FRAC_CONST(0.0303317), FRAC_CONST(0.0304178), FRAC_CONST(0.0307619), FRAC_CONST(0.0321361), FRAC_CONST(0.037594), FRAC_CONST(0.0588235), FRAC_CONST(0.135135), FRAC_CONST(0.346939), FRAC_CONST(0.670103), FRAC_CONST(0.889273), FRAC_CONST(0.969726), FRAC_CONST(0.99225) },
-    { FRAC_CONST(0.058837), FRAC_CONST(0.0588776), FRAC_CONST(0.0590397), FRAC_CONST(0.0596878), FRAC_CONST(0.0622711), FRAC_CONST(0.0724638), FRAC_CONST(0.111111), FRAC_CONST(0.238095), FRAC_CONST(0.515152), FRAC_CONST(0.802469), FRAC_CONST(0.941392), FRAC_CONST(0.98463), FRAC_CONST(0.99611) },
-    { FRAC_CONST(0.111135), FRAC_CONST(0.111208), FRAC_CONST(0.111497), FRAC_CONST(0.112652), FRAC_CONST(0.117241), FRAC_CONST(0.135135), FRAC_CONST(0.2), FRAC_CONST(0.384615), FRAC_CONST(0.68), FRAC_CONST(0.890411), FRAC_CONST(0.969811), FRAC_CONST(0.992256), FRAC_CONST(0.998051) },
-    { FRAC_CONST(0.200039), FRAC_CONST(0.200156), FRAC_CONST(0.200625), FRAC_CONST(0.202492), FRAC_CONST(0.209877), FRAC_CONST(0.238095), FRAC_CONST(0.333333), FRAC_CONST(0.555556), FRAC_CONST(0.809524), FRAC_CONST(0.942029), FRAC_CONST(0.984674), FRAC_CONST(0.996113), FRAC_CONST(0.999025) },
-    { FRAC_CONST(0.333388), FRAC_CONST(0.33355), FRAC_CONST(0.3342), FRAC_CONST(0.336788), FRAC_CONST(0.346939), FRAC_CONST(0.384615), FRAC_CONST(0.5), FRAC_CONST(0.714286), FRAC_CONST(0.894737), FRAC_CONST(0.970149), FRAC_CONST(0.992278), FRAC_CONST(0.998053), FRAC_CONST(0.999512) },
-    { FRAC_CONST(0.500061), FRAC_CONST(0.500244), FRAC_CONST(0.500975), FRAC_CONST(0.503876), FRAC_CONST(0.515152), FRAC_CONST(0.555556), FRAC_CONST(0.666667), FRAC_CONST(0.833333), FRAC_CONST(0.944444), FRAC_CONST(0.984848), FRAC_CONST(0.996124), FRAC_CONST(0.999025), FRAC_CONST(0.999756) },
-    { FRAC_CONST(0.666721), FRAC_CONST(0.666884), FRAC_CONST(0.667532), FRAC_CONST(0.670103), FRAC_CONST(0.68), FRAC_CONST(0.714286), FRAC_CONST(0.8), FRAC_CONST(0.909091), FRAC_CONST(0.971429), FRAC_CONST(0.992366), FRAC_CONST(0.998058), FRAC_CONST(0.999512), FRAC_CONST(0.999878) },
-    { FRAC_CONST(0.800039), FRAC_CONST(0.800156), FRAC_CONST(0.800623), FRAC_CONST(0.802469), FRAC_CONST(0.809524), FRAC_CONST(0.833333), FRAC_CONST(0.888889), FRAC_CONST(0.952381), FRAC_CONST(0.985507), FRAC_CONST(0.996169), FRAC_CONST(0.999028), FRAC_CONST(0.999756), FRAC_CONST(0.999939) },
-    { FRAC_CONST(0.888913), FRAC_CONST(0.888985), FRAC_CONST(0.889273), FRAC_CONST(0.890411), FRAC_CONST(0.894737), FRAC_CONST(0.909091), FRAC_CONST(0.941176), FRAC_CONST(0.97561), FRAC_CONST(0.992701), FRAC_CONST(0.998081), FRAC_CONST(0.999514), FRAC_CONST(0.999878), FRAC_CONST(0.999969) },
-    { FRAC_CONST(0.94119), FRAC_CONST(0.94123), FRAC_CONST(0.941392), FRAC_CONST(0.942029), FRAC_CONST(0.944444), FRAC_CONST(0.952381), FRAC_CONST(0.969697), FRAC_CONST(0.987654), FRAC_CONST(0.996337), FRAC_CONST(0.999039), FRAC_CONST(0.999757), FRAC_CONST(0.999939), FRAC_CONST(0.999985) },
-    { FRAC_CONST(0.969704), FRAC_CONST(0.969726), FRAC_CONST(0.969811), FRAC_CONST(0.970149), FRAC_CONST(0.971429), FRAC_CONST(0.97561), FRAC_CONST(0.984615), FRAC_CONST(0.993789), FRAC_CONST(0.998165), FRAC_CONST(0.999519), FRAC_CONST(0.999878), FRAC_CONST(0.99997), FRAC_CONST(0.999992) },
-    { FRAC_CONST(0.984619), FRAC_CONST(0.98463), FRAC_CONST(0.984674), FRAC_CONST(0.984848), FRAC_CONST(0.985507), FRAC_CONST(0.987654), FRAC_CONST(0.992248), FRAC_CONST(0.996885), FRAC_CONST(0.999082), FRAC_CONST(0.99976), FRAC_CONST(0.999939), FRAC_CONST(0.999985), FRAC_CONST(0.999996) },
-    { FRAC_CONST(0.99225), FRAC_CONST(0.992256), FRAC_CONST(0.992278), FRAC_CONST(0.992366), FRAC_CONST(0.992701), FRAC_CONST(0.993789), FRAC_CONST(0.996109), FRAC_CONST(0.99844), FRAC_CONST(0.999541), FRAC_CONST(0.99988), FRAC_CONST(0.99997), FRAC_CONST(0.999992), FRAC_CONST(0.999998) },
-    { FRAC_CONST(0.99611), FRAC_CONST(0.996113), FRAC_CONST(0.996124), FRAC_CONST(0.996169), FRAC_CONST(0.996337), FRAC_CONST(0.996885), FRAC_CONST(0.998051), FRAC_CONST(0.999219), FRAC_CONST(0.99977), FRAC_CONST(0.99994), FRAC_CONST(0.999985), FRAC_CONST(0.999996), FRAC_CONST(0.999999) },
-    { FRAC_CONST(0.998051), FRAC_CONST(0.998053), FRAC_CONST(0.998058), FRAC_CONST(0.998081), FRAC_CONST(0.998165), FRAC_CONST(0.99844), FRAC_CONST(0.999024), FRAC_CONST(0.99961), FRAC_CONST(0.999885), FRAC_CONST(0.99997), FRAC_CONST(0.999992), FRAC_CONST(0.999998), FRAC_CONST(1) },
-    { FRAC_CONST(0.999025), FRAC_CONST(0.999025), FRAC_CONST(0.999028), FRAC_CONST(0.999039), FRAC_CONST(0.999082), FRAC_CONST(0.999219), FRAC_CONST(0.999512), FRAC_CONST(0.999805), FRAC_CONST(0.999943), FRAC_CONST(0.999985), FRAC_CONST(0.999996), FRAC_CONST(0.999999), FRAC_CONST(1) },
-    { FRAC_CONST(0.999512), FRAC_CONST(0.999512), FRAC_CONST(0.999514), FRAC_CONST(0.999519), FRAC_CONST(0.999541), FRAC_CONST(0.99961), FRAC_CONST(0.999756), FRAC_CONST(0.999902), FRAC_CONST(0.999971), FRAC_CONST(0.999992), FRAC_CONST(0.999998), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(0.999756), FRAC_CONST(0.999756), FRAC_CONST(0.999757), FRAC_CONST(0.99976), FRAC_CONST(0.99977), FRAC_CONST(0.999805), FRAC_CONST(0.999878), FRAC_CONST(0.999951), FRAC_CONST(0.999986), FRAC_CONST(0.999996), FRAC_CONST(0.999999), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(0.999878), FRAC_CONST(0.999878), FRAC_CONST(0.999878), FRAC_CONST(0.99988), FRAC_CONST(0.999885), FRAC_CONST(0.999902), FRAC_CONST(0.999939), FRAC_CONST(0.999976), FRAC_CONST(0.999993), FRAC_CONST(0.999998), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(0.999939), FRAC_CONST(0.999939), FRAC_CONST(0.999939), FRAC_CONST(0.99994), FRAC_CONST(0.999943), FRAC_CONST(0.999951), FRAC_CONST(0.999969), FRAC_CONST(0.999988), FRAC_CONST(0.999996), FRAC_CONST(0.999999), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(0.999969), FRAC_CONST(0.99997), FRAC_CONST(0.99997), FRAC_CONST(0.99997), FRAC_CONST(0.999971), FRAC_CONST(0.999976), FRAC_CONST(0.999985), FRAC_CONST(0.999994), FRAC_CONST(0.999998), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(0.999985), FRAC_CONST(0.999985), FRAC_CONST(0.999985), FRAC_CONST(0.999985), FRAC_CONST(0.999986), FRAC_CONST(0.999988), FRAC_CONST(0.999992), FRAC_CONST(0.999997), FRAC_CONST(0.999999), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(0.999992), FRAC_CONST(0.999992), FRAC_CONST(0.999992), FRAC_CONST(0.999992), FRAC_CONST(0.999993), FRAC_CONST(0.999994), FRAC_CONST(0.999996), FRAC_CONST(0.999998), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(0.999996), FRAC_CONST(0.999996), FRAC_CONST(0.999996), FRAC_CONST(0.999996), FRAC_CONST(0.999996), FRAC_CONST(0.999997), FRAC_CONST(0.999998), FRAC_CONST(0.999999), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(0.999998), FRAC_CONST(0.999998), FRAC_CONST(0.999998), FRAC_CONST(0.999998), FRAC_CONST(0.999998), FRAC_CONST(0.999998), FRAC_CONST(0.999999), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(0.999999), FRAC_CONST(0.999999), FRAC_CONST(0.999999), FRAC_CONST(0.999999), FRAC_CONST(0.999999), FRAC_CONST(0.999999), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) },
-    { FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1), FRAC_CONST(1) }
-};
-
-/* calculates 1/(1+Q) */
-/* [0..1] */
-real_t calc_Q_div(sbr_info *sbr, uint8_t ch, uint8_t m, uint8_t l)
-{
-    if (sbr->bs_coupling)
-    {
-        /* left channel */
-        if ((sbr->Q[0][m][l] < 0 || sbr->Q[0][m][l] > 30) ||
-            (sbr->Q[1][m][l] < 0 || sbr->Q[1][m][l] > 24 /* 2*panOffset(1) */))
-        {
-            return 0;
-        } else {
-            /* the pan parameter is always even */
-            if (ch == 0)
-            {
-                return Q_div_tab_left[sbr->Q[0][m][l]][sbr->Q[1][m][l] >> 1];
-            } else {
-                return Q_div_tab_right[sbr->Q[0][m][l]][sbr->Q[1][m][l] >> 1];
-            }
-        }
-    } else {
-        /* no coupling */
-        if (sbr->Q[ch][m][l] < 0 || sbr->Q[ch][m][l] > 30)
-        {
-            return 0;
-        } else {
-            return Q_div_tab[sbr->Q[ch][m][l]];
-        }
-    }
-}
-
-/* table for Q_div2 values when no coupling */
-static const real_t Q_div2_tab[31] = {
-    FRAC_CONST(0.984615),     FRAC_CONST(0.969697),
-    FRAC_CONST(0.941176),     FRAC_CONST(0.888889),
-    FRAC_CONST(0.8),          FRAC_CONST(0.666667),
-    FRAC_CONST(0.5),          FRAC_CONST(0.333333),
-    FRAC_CONST(0.2),          FRAC_CONST(0.111111),
-    FRAC_CONST(0.0588235),    FRAC_CONST(0.030303),
-    FRAC_CONST(0.0153846),    FRAC_CONST(0.00775194),
-    FRAC_CONST(0.00389105),   FRAC_CONST(0.00194932),
-    FRAC_CONST(0.00097561),   FRAC_CONST(0.000488043),
-    FRAC_CONST(0.000244081),  FRAC_CONST(0.000122055),
-    FRAC_CONST(6.10314E-005), FRAC_CONST(3.05166E-005),
-    FRAC_CONST(1.52586E-005), FRAC_CONST(7.62934E-006),
-    FRAC_CONST(3.81468E-006), FRAC_CONST(1.90734E-006),
-    FRAC_CONST(9.53673E-007), FRAC_CONST(4.76837E-007),
-    FRAC_CONST(2.38419E-007), FRAC_CONST(1.19209E-007),
-    FRAC_CONST(5.96046E-008)
-};
-
-static const real_t Q_div2_tab_left[31][13] = {
-    { FRAC_CONST(0.0302959), FRAC_CONST(0.111015), FRAC_CONST(0.332468), FRAC_CONST(0.663212), FRAC_CONST(0.882759), FRAC_CONST(0.962406), FRAC_CONST(0.984615), FRAC_CONST(0.990329), FRAC_CONST(0.991768), FRAC_CONST(0.992128), FRAC_CONST(0.992218), FRAC_CONST(0.992241), FRAC_CONST(0.992246) },
-    { FRAC_CONST(0.0153809), FRAC_CONST(0.0587695), FRAC_CONST(0.199377), FRAC_CONST(0.496124), FRAC_CONST(0.790123), FRAC_CONST(0.927536), FRAC_CONST(0.969697), FRAC_CONST(0.980843), FRAC_CONST(0.98367), FRAC_CONST(0.984379), FRAC_CONST(0.984556), FRAC_CONST(0.984601), FRAC_CONST(0.984612) },
-    { FRAC_CONST(0.00775006), FRAC_CONST(0.0302744), FRAC_CONST(0.110727), FRAC_CONST(0.329897), FRAC_CONST(0.653061), FRAC_CONST(0.864865), FRAC_CONST(0.941176), FRAC_CONST(0.962406), FRAC_CONST(0.967864), FRAC_CONST(0.969238), FRAC_CONST(0.969582), FRAC_CONST(0.969668), FRAC_CONST(0.96969) },
-    { FRAC_CONST(0.0038901), FRAC_CONST(0.0153698), FRAC_CONST(0.0586081), FRAC_CONST(0.197531), FRAC_CONST(0.484848), FRAC_CONST(0.761905), FRAC_CONST(0.888889), FRAC_CONST(0.927536), FRAC_CONST(0.937729), FRAC_CONST(0.940312), FRAC_CONST(0.94096), FRAC_CONST(0.941122), FRAC_CONST(0.941163) },
-    { FRAC_CONST(0.00194884), FRAC_CONST(0.00774443), FRAC_CONST(0.0301887), FRAC_CONST(0.109589), FRAC_CONST(0.32), FRAC_CONST(0.615385), FRAC_CONST(0.8), FRAC_CONST(0.864865), FRAC_CONST(0.882759), FRAC_CONST(0.887348), FRAC_CONST(0.888503), FRAC_CONST(0.888792), FRAC_CONST(0.888865) },
-    { FRAC_CONST(0.000975372), FRAC_CONST(0.00388727), FRAC_CONST(0.0153257), FRAC_CONST(0.057971), FRAC_CONST(0.190476), FRAC_CONST(0.444444), FRAC_CONST(0.666667), FRAC_CONST(0.761905), FRAC_CONST(0.790123), FRAC_CONST(0.797508), FRAC_CONST(0.799375), FRAC_CONST(0.799844), FRAC_CONST(0.799961) },
-    { FRAC_CONST(0.000487924), FRAC_CONST(0.00194742), FRAC_CONST(0.00772201), FRAC_CONST(0.0298507), FRAC_CONST(0.105263), FRAC_CONST(0.285714), FRAC_CONST(0.5), FRAC_CONST(0.615385), FRAC_CONST(0.653061), FRAC_CONST(0.663212), FRAC_CONST(0.6658), FRAC_CONST(0.66645), FRAC_CONST(0.666612) },
-    { FRAC_CONST(0.000244021), FRAC_CONST(0.000974659), FRAC_CONST(0.00387597), FRAC_CONST(0.0151515), FRAC_CONST(0.0555556), FRAC_CONST(0.166667), FRAC_CONST(0.333333), FRAC_CONST(0.444444), FRAC_CONST(0.484848), FRAC_CONST(0.496124), FRAC_CONST(0.499025), FRAC_CONST(0.499756), FRAC_CONST(0.499939) },
-    { FRAC_CONST(0.000122026), FRAC_CONST(0.000487567), FRAC_CONST(0.00194175), FRAC_CONST(0.00763359), FRAC_CONST(0.0285714), FRAC_CONST(0.0909091), FRAC_CONST(0.2), FRAC_CONST(0.285714), FRAC_CONST(0.32), FRAC_CONST(0.329897), FRAC_CONST(0.332468), FRAC_CONST(0.333116), FRAC_CONST(0.333279) },
-    { FRAC_CONST(6.10165E-005), FRAC_CONST(0.000243843), FRAC_CONST(0.000971817), FRAC_CONST(0.00383142), FRAC_CONST(0.0144928), FRAC_CONST(0.047619), FRAC_CONST(0.111111), FRAC_CONST(0.166667), FRAC_CONST(0.190476), FRAC_CONST(0.197531), FRAC_CONST(0.199377), FRAC_CONST(0.199844), FRAC_CONST(0.199961) },
-    { FRAC_CONST(3.05092E-005), FRAC_CONST(0.000121936), FRAC_CONST(0.000486145), FRAC_CONST(0.00191939), FRAC_CONST(0.00729927), FRAC_CONST(0.0243902), FRAC_CONST(0.0588235), FRAC_CONST(0.0909091), FRAC_CONST(0.105263), FRAC_CONST(0.109589), FRAC_CONST(0.110727), FRAC_CONST(0.111015), FRAC_CONST(0.111087) },
-    { FRAC_CONST(1.52548E-005), FRAC_CONST(6.09719E-005), FRAC_CONST(0.000243132), FRAC_CONST(0.000960615), FRAC_CONST(0.003663), FRAC_CONST(0.0123457), FRAC_CONST(0.030303), FRAC_CONST(0.047619), FRAC_CONST(0.0555556), FRAC_CONST(0.057971), FRAC_CONST(0.0586081), FRAC_CONST(0.0587695), FRAC_CONST(0.05881) },
-    { FRAC_CONST(7.62747E-006), FRAC_CONST(3.04869E-005), FRAC_CONST(0.000121581), FRAC_CONST(0.000480538), FRAC_CONST(0.00183486), FRAC_CONST(0.00621118), FRAC_CONST(0.0153846), FRAC_CONST(0.0243902), FRAC_CONST(0.0285714), FRAC_CONST(0.0298507), FRAC_CONST(0.0301887), FRAC_CONST(0.0302744), FRAC_CONST(0.0302959) },
-    { FRAC_CONST(3.81375E-006), FRAC_CONST(1.52437E-005), FRAC_CONST(6.0794E-005), FRAC_CONST(0.000240327), FRAC_CONST(0.000918274), FRAC_CONST(0.00311526), FRAC_CONST(0.00775194), FRAC_CONST(0.0123457), FRAC_CONST(0.0144928), FRAC_CONST(0.0151515), FRAC_CONST(0.0153257), FRAC_CONST(0.0153698), FRAC_CONST(0.0153809) },
-    { FRAC_CONST(1.90688E-006), FRAC_CONST(7.62189E-006), FRAC_CONST(3.03979E-005), FRAC_CONST(0.000120178), FRAC_CONST(0.000459348), FRAC_CONST(0.00156006), FRAC_CONST(0.00389105), FRAC_CONST(0.00621118), FRAC_CONST(0.00729927), FRAC_CONST(0.00763359), FRAC_CONST(0.00772201), FRAC_CONST(0.00774443), FRAC_CONST(0.00775006) },
-    { FRAC_CONST(9.53441E-007), FRAC_CONST(3.81096E-006), FRAC_CONST(1.51992E-005), FRAC_CONST(6.00925E-005), FRAC_CONST(0.000229727), FRAC_CONST(0.00078064), FRAC_CONST(0.00194932), FRAC_CONST(0.00311526), FRAC_CONST(0.003663), FRAC_CONST(0.00383142), FRAC_CONST(0.00387597), FRAC_CONST(0.00388727), FRAC_CONST(0.0038901) },
-    { FRAC_CONST(4.76721E-007), FRAC_CONST(1.90548E-006), FRAC_CONST(7.59965E-006), FRAC_CONST(3.00472E-005), FRAC_CONST(0.000114877), FRAC_CONST(0.000390472), FRAC_CONST(0.00097561), FRAC_CONST(0.00156006), FRAC_CONST(0.00183486), FRAC_CONST(0.00191939), FRAC_CONST(0.00194175), FRAC_CONST(0.00194742), FRAC_CONST(0.00194884) },
-    { FRAC_CONST(2.3836E-007), FRAC_CONST(9.52743E-007), FRAC_CONST(3.79984E-006), FRAC_CONST(1.50238E-005), FRAC_CONST(5.74416E-005), FRAC_CONST(0.000195274), FRAC_CONST(0.000488043), FRAC_CONST(0.00078064), FRAC_CONST(0.000918274), FRAC_CONST(0.000960615), FRAC_CONST(0.000971817), FRAC_CONST(0.000974659), FRAC_CONST(0.000975372) },
-    { FRAC_CONST(1.1918E-007), FRAC_CONST(4.76372E-007), FRAC_CONST(1.89992E-006), FRAC_CONST(7.51196E-006), FRAC_CONST(2.87216E-005), FRAC_CONST(9.76467E-005), FRAC_CONST(0.000244081), FRAC_CONST(0.000390472), FRAC_CONST(0.000459348), FRAC_CONST(0.000480538), FRAC_CONST(0.000486145), FRAC_CONST(0.000487567), FRAC_CONST(0.000487924) },
-    { FRAC_CONST(5.95901E-008), FRAC_CONST(2.38186E-007), FRAC_CONST(9.49963E-007), FRAC_CONST(3.756E-006), FRAC_CONST(1.4361E-005), FRAC_CONST(4.88257E-005), FRAC_CONST(0.000122055), FRAC_CONST(0.000195274), FRAC_CONST(0.000229727), FRAC_CONST(0.000240327), FRAC_CONST(0.000243132), FRAC_CONST(0.000243843), FRAC_CONST(0.000244021) },
-    { FRAC_CONST(2.9795E-008), FRAC_CONST(1.19093E-007), FRAC_CONST(4.74982E-007), FRAC_CONST(1.878E-006), FRAC_CONST(7.18056E-006), FRAC_CONST(2.44135E-005), FRAC_CONST(6.10314E-005), FRAC_CONST(9.76467E-005), FRAC_CONST(0.000114877), FRAC_CONST(0.000120178), FRAC_CONST(0.000121581), FRAC_CONST(0.000121936), FRAC_CONST(0.000122026) },
-    { FRAC_CONST(1.48975E-008), FRAC_CONST(5.95465E-008), FRAC_CONST(2.37491E-007), FRAC_CONST(9.39002E-007), FRAC_CONST(3.59029E-006), FRAC_CONST(1.22069E-005), FRAC_CONST(3.05166E-005), FRAC_CONST(4.88257E-005), FRAC_CONST(5.74416E-005), FRAC_CONST(6.00925E-005), FRAC_CONST(6.0794E-005), FRAC_CONST(6.09719E-005), FRAC_CONST(6.10165E-005) },
-    { FRAC_CONST(7.44876E-009), FRAC_CONST(2.97732E-008), FRAC_CONST(1.18745E-007), FRAC_CONST(4.69501E-007), FRAC_CONST(1.79515E-006), FRAC_CONST(6.10348E-006), FRAC_CONST(1.52586E-005), FRAC_CONST(2.44135E-005), FRAC_CONST(2.87216E-005), FRAC_CONST(3.00472E-005), FRAC_CONST(3.03979E-005), FRAC_CONST(3.04869E-005), FRAC_CONST(3.05092E-005) },
-    { FRAC_CONST(3.72438E-009), FRAC_CONST(1.48866E-008), FRAC_CONST(5.93727E-008), FRAC_CONST(2.34751E-007), FRAC_CONST(8.97575E-007), FRAC_CONST(3.05175E-006), FRAC_CONST(7.62934E-006), FRAC_CONST(1.22069E-005), FRAC_CONST(1.4361E-005), FRAC_CONST(1.50238E-005), FRAC_CONST(1.51992E-005), FRAC_CONST(1.52437E-005), FRAC_CONST(1.52548E-005) },
-    { FRAC_CONST(1.86219E-009), FRAC_CONST(7.44331E-009), FRAC_CONST(2.96864E-008), FRAC_CONST(1.17375E-007), FRAC_CONST(4.48788E-007), FRAC_CONST(1.52588E-006), FRAC_CONST(3.81468E-006), FRAC_CONST(6.10348E-006), FRAC_CONST(7.18056E-006), FRAC_CONST(7.51196E-006), FRAC_CONST(7.59965E-006), FRAC_CONST(7.62189E-006), FRAC_CONST(7.62747E-006) },
-    { FRAC_CONST(9.31095E-010), FRAC_CONST(3.72166E-009), FRAC_CONST(1.48432E-008), FRAC_CONST(5.86876E-008), FRAC_CONST(2.24394E-007), FRAC_CONST(7.62939E-007), FRAC_CONST(1.90734E-006), FRAC_CONST(3.05175E-006), FRAC_CONST(3.59029E-006), FRAC_CONST(3.756E-006), FRAC_CONST(3.79984E-006), FRAC_CONST(3.81096E-006), FRAC_CONST(3.81375E-006) },
-    { FRAC_CONST(4.65548E-010), FRAC_CONST(1.86083E-009), FRAC_CONST(7.42159E-009), FRAC_CONST(2.93438E-008), FRAC_CONST(1.12197E-007), FRAC_CONST(3.8147E-007), FRAC_CONST(9.53673E-007), FRAC_CONST(1.52588E-006), FRAC_CONST(1.79515E-006), FRAC_CONST(1.878E-006), FRAC_CONST(1.89992E-006), FRAC_CONST(1.90548E-006), FRAC_CONST(1.90688E-006) },
-    { FRAC_CONST(2.32774E-010), FRAC_CONST(9.30414E-010), FRAC_CONST(3.71079E-009), FRAC_CONST(1.46719E-008), FRAC_CONST(5.60985E-008), FRAC_CONST(1.90735E-007), FRAC_CONST(4.76837E-007), FRAC_CONST(7.62939E-007), FRAC_CONST(8.97575E-007), FRAC_CONST(9.39002E-007), FRAC_CONST(9.49963E-007), FRAC_CONST(9.52743E-007), FRAC_CONST(9.53441E-007) },
-    { FRAC_CONST(1.16387E-010), FRAC_CONST(4.65207E-010), FRAC_CONST(1.8554E-009), FRAC_CONST(7.33596E-009), FRAC_CONST(2.80492E-008), FRAC_CONST(9.53674E-008), FRAC_CONST(2.38419E-007), FRAC_CONST(3.8147E-007), FRAC_CONST(4.48788E-007), FRAC_CONST(4.69501E-007), FRAC_CONST(4.74982E-007), FRAC_CONST(4.76372E-007), FRAC_CONST(4.76721E-007) },
-    { FRAC_CONST(5.81935E-011), FRAC_CONST(2.32603E-010), FRAC_CONST(9.27699E-010), FRAC_CONST(3.66798E-009), FRAC_CONST(1.40246E-008), FRAC_CONST(4.76837E-008), FRAC_CONST(1.19209E-007), FRAC_CONST(1.90735E-007), FRAC_CONST(2.24394E-007), FRAC_CONST(2.34751E-007), FRAC_CONST(2.37491E-007), FRAC_CONST(2.38186E-007), FRAC_CONST(2.3836E-007) },
-    { FRAC_CONST(2.90967E-011), FRAC_CONST(1.16302E-010), FRAC_CONST(4.63849E-010), FRAC_CONST(1.83399E-009), FRAC_CONST(7.01231E-009), FRAC_CONST(2.38419E-008), FRAC_CONST(5.96046E-008), FRAC_CONST(9.53674E-008), FRAC_CONST(1.12197E-007), FRAC_CONST(1.17375E-007), FRAC_CONST(1.18745E-007), FRAC_CONST(1.19093E-007), FRAC_CONST(1.1918E-007) }
-};
-
-static const real_t Q_div2_tab_right[31][13] = {
-    { FRAC_CONST(0.992246), FRAC_CONST(0.992241), FRAC_CONST(0.992218), FRAC_CONST(0.992128), FRAC_CONST(0.991768), FRAC_CONST(0.990329), FRAC_CONST(0.984615), FRAC_CONST(0.962406), FRAC_CONST(0.882759), FRAC_CONST(0.663212), FRAC_CONST(0.332468), FRAC_CONST(0.111015), FRAC_CONST(0.0302959) },
-    { FRAC_CONST(0.984612), FRAC_CONST(0.984601), FRAC_CONST(0.984556), FRAC_CONST(0.984379), FRAC_CONST(0.98367), FRAC_CONST(0.980843), FRAC_CONST(0.969697), FRAC_CONST(0.927536), FRAC_CONST(0.790123), FRAC_CONST(0.496124), FRAC_CONST(0.199377), FRAC_CONST(0.0587695), FRAC_CONST(0.0153809) },
-    { FRAC_CONST(0.96969), FRAC_CONST(0.969668), FRAC_CONST(0.969582), FRAC_CONST(0.969238), FRAC_CONST(0.967864), FRAC_CONST(0.962406), FRAC_CONST(0.941176), FRAC_CONST(0.864865), FRAC_CONST(0.653061), FRAC_CONST(0.329897), FRAC_CONST(0.110727), FRAC_CONST(0.0302744), FRAC_CONST(0.00775006) },
-    { FRAC_CONST(0.941163), FRAC_CONST(0.941122), FRAC_CONST(0.94096), FRAC_CONST(0.940312), FRAC_CONST(0.937729), FRAC_CONST(0.927536), FRAC_CONST(0.888889), FRAC_CONST(0.761905), FRAC_CONST(0.484848), FRAC_CONST(0.197531), FRAC_CONST(0.0586081), FRAC_CONST(0.0153698), FRAC_CONST(0.0038901) },
-    { FRAC_CONST(0.888865), FRAC_CONST(0.888792), FRAC_CONST(0.888503), FRAC_CONST(0.887348), FRAC_CONST(0.882759), FRAC_CONST(0.864865), FRAC_CONST(0.8), FRAC_CONST(0.615385), FRAC_CONST(0.32), FRAC_CONST(0.109589), FRAC_CONST(0.0301887), FRAC_CONST(0.00774443), FRAC_CONST(0.00194884) },
-    { FRAC_CONST(0.799961), FRAC_CONST(0.799844), FRAC_CONST(0.799375), FRAC_CONST(0.797508), FRAC_CONST(0.790123), FRAC_CONST(0.761905), FRAC_CONST(0.666667), FRAC_CONST(0.444444), FRAC_CONST(0.190476), FRAC_CONST(0.057971), FRAC_CONST(0.0153257), FRAC_CONST(0.00388727), FRAC_CONST(0.000975372) },
-    { FRAC_CONST(0.666612), FRAC_CONST(0.66645), FRAC_CONST(0.6658), FRAC_CONST(0.663212), FRAC_CONST(0.653061), FRAC_CONST(0.615385), FRAC_CONST(0.5), FRAC_CONST(0.285714), FRAC_CONST(0.105263), FRAC_CONST(0.0298507), FRAC_CONST(0.00772201), FRAC_CONST(0.00194742), FRAC_CONST(0.000487924) },
-    { FRAC_CONST(0.499939), FRAC_CONST(0.499756), FRAC_CONST(0.499025), FRAC_CONST(0.496124), FRAC_CONST(0.484848), FRAC_CONST(0.444444), FRAC_CONST(0.333333), FRAC_CONST(0.166667), FRAC_CONST(0.0555556), FRAC_CONST(0.0151515), FRAC_CONST(0.00387597), FRAC_CONST(0.000974659), FRAC_CONST(0.000244021) },
-    { FRAC_CONST(0.333279), FRAC_CONST(0.333116), FRAC_CONST(0.332468), FRAC_CONST(0.329897), FRAC_CONST(0.32), FRAC_CONST(0.285714), FRAC_CONST(0.2), FRAC_CONST(0.0909091), FRAC_CONST(0.0285714), FRAC_CONST(0.00763359), FRAC_CONST(0.00194175), FRAC_CONST(0.000487567), FRAC_CONST(0.000122026) },
-    { FRAC_CONST(0.199961), FRAC_CONST(0.199844), FRAC_CONST(0.199377), FRAC_CONST(0.197531), FRAC_CONST(0.190476), FRAC_CONST(0.166667), FRAC_CONST(0.111111), FRAC_CONST(0.047619), FRAC_CONST(0.0144928), FRAC_CONST(0.00383142), FRAC_CONST(0.000971817), FRAC_CONST(0.000243843), FRAC_CONST(6.10165E-005) },
-    { FRAC_CONST(0.111087), FRAC_CONST(0.111015), FRAC_CONST(0.110727), FRAC_CONST(0.109589), FRAC_CONST(0.105263), FRAC_CONST(0.0909091), FRAC_CONST(0.0588235), FRAC_CONST(0.0243902), FRAC_CONST(0.00729927), FRAC_CONST(0.00191939), FRAC_CONST(0.000486145), FRAC_CONST(0.000121936), FRAC_CONST(3.05092E-005) },
-    { FRAC_CONST(0.05881), FRAC_CONST(0.0587695), FRAC_CONST(0.0586081), FRAC_CONST(0.057971), FRAC_CONST(0.0555556), FRAC_CONST(0.047619), FRAC_CONST(0.030303), FRAC_CONST(0.0123457), FRAC_CONST(0.003663), FRAC_CONST(0.000960615), FRAC_CONST(0.000243132), FRAC_CONST(6.09719E-005), FRAC_CONST(1.52548E-005) },
-    { FRAC_CONST(0.0302959), FRAC_CONST(0.0302744), FRAC_CONST(0.0301887), FRAC_CONST(0.0298507), FRAC_CONST(0.0285714), FRAC_CONST(0.0243902), FRAC_CONST(0.0153846), FRAC_CONST(0.00621118), FRAC_CONST(0.00183486), FRAC_CONST(0.000480538), FRAC_CONST(0.000121581), FRAC_CONST(3.04869E-005), FRAC_CONST(7.62747E-006) },
-    { FRAC_CONST(0.0153809), FRAC_CONST(0.0153698), FRAC_CONST(0.0153257), FRAC_CONST(0.0151515), FRAC_CONST(0.0144928), FRAC_CONST(0.0123457), FRAC_CONST(0.00775194), FRAC_CONST(0.00311526), FRAC_CONST(0.000918274), FRAC_CONST(0.000240327), FRAC_CONST(6.0794E-005), FRAC_CONST(1.52437E-005), FRAC_CONST(3.81375E-006) },
-    { FRAC_CONST(0.00775006), FRAC_CONST(0.00774443), FRAC_CONST(0.00772201), FRAC_CONST(0.00763359), FRAC_CONST(0.00729927), FRAC_CONST(0.00621118), FRAC_CONST(0.00389105), FRAC_CONST(0.00156006), FRAC_CONST(0.000459348), FRAC_CONST(0.000120178), FRAC_CONST(3.03979E-005), FRAC_CONST(7.62189E-006), FRAC_CONST(1.90688E-006) },
-    { FRAC_CONST(0.0038901), FRAC_CONST(0.00388727), FRAC_CONST(0.00387597), FRAC_CONST(0.00383142), FRAC_CONST(0.003663), FRAC_CONST(0.00311526), FRAC_CONST(0.00194932), FRAC_CONST(0.00078064), FRAC_CONST(0.000229727), FRAC_CONST(6.00925E-005), FRAC_CONST(1.51992E-005), FRAC_CONST(3.81096E-006), FRAC_CONST(9.53441E-007) },
-    { FRAC_CONST(0.00194884), FRAC_CONST(0.00194742), FRAC_CONST(0.00194175), FRAC_CONST(0.00191939), FRAC_CONST(0.00183486), FRAC_CONST(0.00156006), FRAC_CONST(0.00097561), FRAC_CONST(0.000390472), FRAC_CONST(0.000114877), FRAC_CONST(3.00472E-005), FRAC_CONST(7.59965E-006), FRAC_CONST(1.90548E-006), FRAC_CONST(4.76721E-007) },
-    { FRAC_CONST(0.000975372), FRAC_CONST(0.000974659), FRAC_CONST(0.000971817), FRAC_CONST(0.000960615), FRAC_CONST(0.000918274), FRAC_CONST(0.00078064), FRAC_CONST(0.000488043), FRAC_CONST(0.000195274), FRAC_CONST(5.74416E-005), FRAC_CONST(1.50238E-005), FRAC_CONST(3.79984E-006), FRAC_CONST(9.52743E-007), FRAC_CONST(2.3836E-007) },
-    { FRAC_CONST(0.000487924), FRAC_CONST(0.000487567), FRAC_CONST(0.000486145), FRAC_CONST(0.000480538), FRAC_CONST(0.000459348), FRAC_CONST(0.000390472), FRAC_CONST(0.000244081), FRAC_CONST(9.76467E-005), FRAC_CONST(2.87216E-005), FRAC_CONST(7.51196E-006), FRAC_CONST(1.89992E-006), FRAC_CONST(4.76372E-007), FRAC_CONST(1.1918E-007) },
-    { FRAC_CONST(0.000244021), FRAC_CONST(0.000243843), FRAC_CONST(0.000243132), FRAC_CONST(0.000240327), FRAC_CONST(0.000229727), FRAC_CONST(0.000195274), FRAC_CONST(0.000122055), FRAC_CONST(4.88257E-005), FRAC_CONST(1.4361E-005), FRAC_CONST(3.756E-006), FRAC_CONST(9.49963E-007), FRAC_CONST(2.38186E-007), FRAC_CONST(5.95901E-008) },
-    { FRAC_CONST(0.000122026), FRAC_CONST(0.000121936), FRAC_CONST(0.000121581), FRAC_CONST(0.000120178), FRAC_CONST(0.000114877), FRAC_CONST(9.76467E-005), FRAC_CONST(6.10314E-005), FRAC_CONST(2.44135E-005), FRAC_CONST(7.18056E-006), FRAC_CONST(1.878E-006), FRAC_CONST(4.74982E-007), FRAC_CONST(1.19093E-007), FRAC_CONST(2.9795E-008) },
-    { FRAC_CONST(6.10165E-005), FRAC_CONST(6.09719E-005), FRAC_CONST(6.0794E-005), FRAC_CONST(6.00925E-005), FRAC_CONST(5.74416E-005), FRAC_CONST(4.88257E-005), FRAC_CONST(3.05166E-005), FRAC_CONST(1.22069E-005), FRAC_CONST(3.59029E-006), FRAC_CONST(9.39002E-007), FRAC_CONST(2.37491E-007), FRAC_CONST(5.95465E-008), FRAC_CONST(1.48975E-008) },
-    { FRAC_CONST(3.05092E-005), FRAC_CONST(3.04869E-005), FRAC_CONST(3.03979E-005), FRAC_CONST(3.00472E-005), FRAC_CONST(2.87216E-005), FRAC_CONST(2.44135E-005), FRAC_CONST(1.52586E-005), FRAC_CONST(6.10348E-006), FRAC_CONST(1.79515E-006), FRAC_CONST(4.69501E-007), FRAC_CONST(1.18745E-007), FRAC_CONST(2.97732E-008), FRAC_CONST(7.44876E-009) },
-    { FRAC_CONST(1.52548E-005), FRAC_CONST(1.52437E-005), FRAC_CONST(1.51992E-005), FRAC_CONST(1.50238E-005), FRAC_CONST(1.4361E-005), FRAC_CONST(1.22069E-005), FRAC_CONST(7.62934E-006), FRAC_CONST(3.05175E-006), FRAC_CONST(8.97575E-007), FRAC_CONST(2.34751E-007), FRAC_CONST(5.93727E-008), FRAC_CONST(1.48866E-008), FRAC_CONST(3.72438E-009) },
-    { FRAC_CONST(7.62747E-006), FRAC_CONST(7.62189E-006), FRAC_CONST(7.59965E-006), FRAC_CONST(7.51196E-006), FRAC_CONST(7.18056E-006), FRAC_CONST(6.10348E-006), FRAC_CONST(3.81468E-006), FRAC_CONST(1.52588E-006), FRAC_CONST(4.48788E-007), FRAC_CONST(1.17375E-007), FRAC_CONST(2.96864E-008), FRAC_CONST(7.44331E-009), FRAC_CONST(1.86219E-009) },
-    { FRAC_CONST(3.81375E-006), FRAC_CONST(3.81096E-006), FRAC_CONST(3.79984E-006), FRAC_CONST(3.756E-006), FRAC_CONST(3.59029E-006), FRAC_CONST(3.05175E-006), FRAC_CONST(1.90734E-006), FRAC_CONST(7.62939E-007), FRAC_CONST(2.24394E-007), FRAC_CONST(5.86876E-008), FRAC_CONST(1.48432E-008), FRAC_CONST(3.72166E-009), FRAC_CONST(9.31095E-010) },
-    { FRAC_CONST(1.90688E-006), FRAC_CONST(1.90548E-006), FRAC_CONST(1.89992E-006), FRAC_CONST(1.878E-006), FRAC_CONST(1.79515E-006), FRAC_CONST(1.52588E-006), FRAC_CONST(9.53673E-007), FRAC_CONST(3.8147E-007), FRAC_CONST(1.12197E-007), FRAC_CONST(2.93438E-008), FRAC_CONST(7.42159E-009), FRAC_CONST(1.86083E-009), FRAC_CONST(4.65548E-010) },
-    { FRAC_CONST(9.53441E-007), FRAC_CONST(9.52743E-007), FRAC_CONST(9.49963E-007), FRAC_CONST(9.39002E-007), FRAC_CONST(8.97575E-007), FRAC_CONST(7.62939E-007), FRAC_CONST(4.76837E-007), FRAC_CONST(1.90735E-007), FRAC_CONST(5.60985E-008), FRAC_CONST(1.46719E-008), FRAC_CONST(3.71079E-009), FRAC_CONST(9.30414E-010), FRAC_CONST(2.32774E-010) },
-    { FRAC_CONST(4.76721E-007), FRAC_CONST(4.76372E-007), FRAC_CONST(4.74982E-007), FRAC_CONST(4.69501E-007), FRAC_CONST(4.48788E-007), FRAC_CONST(3.8147E-007), FRAC_CONST(2.38419E-007), FRAC_CONST(9.53674E-008), FRAC_CONST(2.80492E-008), FRAC_CONST(7.33596E-009), FRAC_CONST(1.8554E-009), FRAC_CONST(4.65207E-010), FRAC_CONST(1.16387E-010) },
-    { FRAC_CONST(2.3836E-007), FRAC_CONST(2.38186E-007), FRAC_CONST(2.37491E-007), FRAC_CONST(2.34751E-007), FRAC_CONST(2.24394E-007), FRAC_CONST(1.90735E-007), FRAC_CONST(1.19209E-007), FRAC_CONST(4.76837E-008), FRAC_CONST(1.40246E-008), FRAC_CONST(3.66798E-009), FRAC_CONST(9.27699E-010), FRAC_CONST(2.32603E-010), FRAC_CONST(5.81935E-011) },
-    { FRAC_CONST(1.1918E-007), FRAC_CONST(1.19093E-007), FRAC_CONST(1.18745E-007), FRAC_CONST(1.17375E-007), FRAC_CONST(1.12197E-007), FRAC_CONST(9.53674E-008), FRAC_CONST(5.96046E-008), FRAC_CONST(2.38419E-008), FRAC_CONST(7.01231E-009), FRAC_CONST(1.83399E-009), FRAC_CONST(4.63849E-010), FRAC_CONST(1.16302E-010), FRAC_CONST(2.90967E-011) }
-};
-
-/* calculates Q/(1+Q) */
-/* [0..1] */
-real_t calc_Q_div2(sbr_info *sbr, uint8_t ch, uint8_t m, uint8_t l)
-{
-    if (sbr->bs_coupling)
-    {
-        if ((sbr->Q[0][m][l] < 0 || sbr->Q[0][m][l] > 30) ||
-            (sbr->Q[1][m][l] < 0 || sbr->Q[1][m][l] > 24 /* 2*panOffset(1) */))
-        {
-            return 0;
-        } else {
-            /* the pan parameter is always even */
-            if (ch == 0)
-            {
-                return Q_div2_tab_left[sbr->Q[0][m][l]][sbr->Q[1][m][l] >> 1];
-            } else {
-                return Q_div2_tab_right[sbr->Q[0][m][l]][sbr->Q[1][m][l] >> 1];
-            }
-        }
-    } else {
-        /* no coupling */
-        if (sbr->Q[ch][m][l] < 0 || sbr->Q[ch][m][l] > 30)
-        {
-            return 0;
-        } else {
-            return Q_div2_tab[sbr->Q[ch][m][l]];
-        }
-    }
-}
-
-static const real_t E_deq_tab[64] = {
-    64.0f, 128.0f, 256.0f, 512.0f, 1024.0f, 2048.0f, 4096.0f, 8192.0f,
-    16384.0f, 32768.0f, 65536.0f, 131072.0f, 262144.0f, 524288.0f, 1.04858E+006f, 2.09715E+006f,
-    4.1943E+006f, 8.38861E+006f, 1.67772E+007f, 3.35544E+007f, 6.71089E+007f, 1.34218E+008f, 2.68435E+008f, 5.36871E+008f,
-    1.07374E+009f, 2.14748E+009f, 4.29497E+009f, 8.58993E+009f, 1.71799E+010f, 3.43597E+010f, 6.87195E+010f, 1.37439E+011f,
-    2.74878E+011f, 5.49756E+011f, 1.09951E+012f, 2.19902E+012f, 4.39805E+012f, 8.79609E+012f, 1.75922E+013f, 3.51844E+013f,
-    7.03687E+013f, 1.40737E+014f, 2.81475E+014f, 5.6295E+014f, 1.1259E+015f, 2.2518E+015f, 4.5036E+015f, 9.0072E+015f,
-    1.80144E+016f, 3.60288E+016f, 7.20576E+016f, 1.44115E+017f, 2.8823E+017f, 5.76461E+017f, 1.15292E+018f, 2.30584E+018f,
-    4.61169E+018f, 9.22337E+018f, 1.84467E+019f, 3.68935E+019f, 7.3787E+019f, 1.47574E+020f, 2.95148E+020f, 5.90296E+020f
-};
-
-void envelope_noise_dequantisation(sbr_info *sbr, uint8_t ch)
-{
-    if (sbr->bs_coupling == 0)
-    {
-        int16_t exp;
-        uint8_t l, k;
-        uint8_t amp = (sbr->amp_res[ch]) ? 0 : 1;
-
-        for (l = 0; l < sbr->L_E[ch]; l++)
-        {
-            for (k = 0; k < sbr->n[sbr->f[ch][l]]; k++)
-            {
-                /* +6 for the *64 and -10 for the /32 in the synthesis QMF (fixed)
-                 * since this is a energy value: (x/32)^2 = (x^2)/1024
-                 */
-                /* exp = (sbr->E[ch][k][l] >> amp) + 6; */
-                exp = (sbr->E[ch][k][l] >> amp);
-
-                if ((exp < 0) || (exp >= 64))
-                {
-                    sbr->E_orig[ch][k][l] = 0;
-                } else {
-                    sbr->E_orig[ch][k][l] = E_deq_tab[exp];
-
-                    /* save half the table size at the cost of 1 multiply */
-                    if (amp && (sbr->E[ch][k][l] & 1))
-                    {
-                        sbr->E_orig[ch][k][l] = MUL_C(sbr->E_orig[ch][k][l], COEF_CONST(1.414213562));
-                    }
-                }
-            }
-        }
-
-        for (l = 0; l < sbr->L_Q[ch]; l++)
-        {
-            for (k = 0; k < sbr->N_Q; k++)
-            {
-                sbr->Q_div[ch][k][l] = calc_Q_div(sbr, ch, k, l);
-                sbr->Q_div2[ch][k][l] = calc_Q_div2(sbr, ch, k, l);
-            }
-        }
-    }
-}
-
-static const real_t E_pan_tab[25] = {
-    FRAC_CONST(0.000244081), FRAC_CONST(0.000488043),
-    FRAC_CONST(0.00097561),  FRAC_CONST(0.00194932),
-    FRAC_CONST(0.00389105),  FRAC_CONST(0.00775194),
-    FRAC_CONST(0.0153846),   FRAC_CONST(0.030303),
-    FRAC_CONST(0.0588235),   FRAC_CONST(0.111111),
-    FRAC_CONST(0.2),         FRAC_CONST(0.333333),
-    FRAC_CONST(0.5),         FRAC_CONST(0.666667),
-    FRAC_CONST(0.8),         FRAC_CONST(0.888889),
-    FRAC_CONST(0.941176),    FRAC_CONST(0.969697),
-    FRAC_CONST(0.984615),    FRAC_CONST(0.992248),
-    FRAC_CONST(0.996109),    FRAC_CONST(0.998051),
-    FRAC_CONST(0.999024),    FRAC_CONST(0.999512),
-    FRAC_CONST(0.999756)
-};
-
-void unmap_envelope_noise(sbr_info *sbr)
-{
-    real_t tmp;
-    int16_t exp0, exp1;
-    uint8_t l, k;
-    uint8_t amp0 = (sbr->amp_res[0]) ? 0 : 1;
-    uint8_t amp1 = (sbr->amp_res[1]) ? 0 : 1;
-
-    for (l = 0; l < sbr->L_E[0]; l++)
-    {
-        for (k = 0; k < sbr->n[sbr->f[0][l]]; k++)
-        {
-            /* +6: * 64 ; +1: * 2 ; */
-            exp0 = (sbr->E[0][k][l] >> amp0) + 1;
-
-            /* UN_MAP removed: (x / 4096) same as (x >> 12) */
-            /* E[1] is always even so no need for compensating the divide by 2 with
-             * an extra multiplication
-             */
-            /* exp1 = (sbr->E[1][k][l] >> amp1) - 12; */
-            exp1 = (sbr->E[1][k][l] >> amp1);
-
-            if ((exp0 < 0) || (exp0 >= 64) ||
-                (exp1 < 0) || (exp1 > 24))
-            {
-                sbr->E_orig[1][k][l] = 0;
-                sbr->E_orig[0][k][l] = 0;
-            } else {
-                tmp = E_deq_tab[exp0];
-                if (amp0 && (sbr->E[0][k][l] & 1))
-                {
-                    tmp = MUL_C(tmp, COEF_CONST(1.414213562));
-                }
-
-                /* panning */
-                sbr->E_orig[0][k][l] = MUL_F(tmp, E_pan_tab[exp1]);
-                sbr->E_orig[1][k][l] = MUL_F(tmp, E_pan_tab[24 - exp1]);
-            }
-        }
-    }
-
-    for (l = 0; l < sbr->L_Q[0]; l++)
-    {
-        for (k = 0; k < sbr->N_Q; k++)
-        {
-            sbr->Q_div[0][k][l] = calc_Q_div(sbr, 0, k, l);
-            sbr->Q_div[1][k][l] = calc_Q_div(sbr, 1, k, l);
-            sbr->Q_div2[0][k][l] = calc_Q_div2(sbr, 0, k, l);
-            sbr->Q_div2[1][k][l] = calc_Q_div2(sbr, 1, k, l);
-        }
-    }
-}
-
-#endif
-
-#endif
diff --git a/lib/libfaad2/libfaad/sbr_e_nf.h b/lib/libfaad2/libfaad/sbr_e_nf.h
deleted file mode 100644 (file)
index 59017a9..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_e_nf.h,v 1.18 2007/11/01 12:33:35 menno Exp $
-**/
-
-#ifndef __SBR_E_NF_H__
-#define __SBR_E_NF_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-void extract_envelope_data(sbr_info *sbr, uint8_t ch);
-void extract_noise_floor_data(sbr_info *sbr, uint8_t ch);
-#ifndef FIXED_POINT
-void envelope_noise_dequantisation(sbr_info *sbr, uint8_t ch);
-void unmap_envelope_noise(sbr_info *sbr);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/sbr_fbt.c b/lib/libfaad2/libfaad/sbr_fbt.c
deleted file mode 100644 (file)
index 5919c7b..0000000
+++ /dev/null
@@ -1,764 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_fbt.c,v 1.21 2007/11/01 12:33:35 menno Exp $
-**/
-
-/* Calculate frequency band tables */
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SBR_DEC
-
-#include <stdlib.h>
-
-#include "sbr_syntax.h"
-#include "sbr_fbt.h"
-
-/* static function declarations */
-static int32_t find_bands(uint8_t warp, uint8_t bands, uint8_t a0, uint8_t a1);
-
-
-/* calculate the start QMF channel for the master frequency band table */
-/* parameter is also called k0 */
-uint8_t qmf_start_channel(uint8_t bs_start_freq, uint8_t bs_samplerate_mode,
-                           uint32_t sample_rate)
-{
-    static const uint8_t startMinTable[12] = { 7, 7, 10, 11, 12, 16, 16,
-        17, 24, 32, 35, 48 };
-    static const uint8_t offsetIndexTable[12] = { 5, 5, 4, 4, 4, 3, 2, 1, 0,
-        6, 6, 6 };
-    static const int8_t offset[7][16] = {
-        { -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7 },
-        { -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13 },
-        { -5, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16 },
-        { -6, -4, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16 },
-        { -4, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20 },
-        { -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20, 24 },
-        { 0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 20, 24, 28, 33 }
-    };
-    uint8_t startMin = startMinTable[get_sr_index(sample_rate)];
-    uint8_t offsetIndex = offsetIndexTable[get_sr_index(sample_rate)];
-
-#if 0 /* replaced with table (startMinTable) */
-    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);
-    }
-#endif
-
-    if (bs_samplerate_mode)
-    {
-        return startMin + offset[offsetIndex][bs_start_freq];
-
-#if 0 /* replaced by offsetIndexTable */ 
-        switch (sample_rate)
-        {
-        case 16000:
-            return startMin + offset[0][bs_start_freq];
-        case 22050:
-            return startMin + offset[1][bs_start_freq];
-        case 24000:
-            return startMin + offset[2][bs_start_freq];
-        case 32000:
-            return startMin + offset[3][bs_start_freq];
-        default:
-            if (sample_rate > 64000)
-            {
-                return startMin + offset[5][bs_start_freq];
-            } else { /* 44100 <= sample_rate <= 64000 */
-                return startMin + offset[4][bs_start_freq];
-            }
-        }
-#endif
-    } else {
-        return startMin + offset[6][bs_start_freq];
-    }
-}
-
-static int longcmp(const void *a, const void *b)
-{
-    return ((int)(*(int32_t*)a - *(int32_t*)b));
-}
-
-/* calculate the stop QMF channel for the master frequency band table */
-/* parameter is also called k2 */
-uint8_t qmf_stop_channel(uint8_t bs_stop_freq, uint32_t sample_rate,
-                          uint8_t k0)
-{
-    if (bs_stop_freq == 15)
-    {
-        return min(64, k0 * 3);
-    } else if (bs_stop_freq == 14) {
-        return min(64, k0 * 2);
-    } else {
-        static const uint8_t stopMinTable[12] = { 13, 15, 20, 21, 23,
-            32, 32, 35, 48, 64, 70, 96 };
-        static const int8_t offset[12][14] = {
-            { 0, 2, 4, 6, 8, 11, 14, 18, 22, 26, 31, 37, 44, 51 },
-            { 0, 2, 4, 6, 8, 11, 14, 18, 22, 26, 31, 36, 42, 49 },
-            { 0, 2, 4, 6, 8, 11, 14, 17, 21, 25, 29, 34, 39, 44 },
-            { 0, 2, 4, 6, 8, 11, 14, 17, 20, 24, 28, 33, 38, 43 },
-            { 0, 2, 4, 6, 8, 11, 14, 17, 20, 24, 28, 32, 36, 41 },
-            { 0, 2, 4, 6, 8, 10, 12, 14, 17, 20, 23, 26, 29, 32 },
-            { 0, 2, 4, 6, 8, 10, 12, 14, 17, 20, 23, 26, 29, 32 },
-            { 0, 1, 3, 5, 7, 9, 11, 13, 15, 17, 20, 23, 26, 29 },
-            { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16 },
-            { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-            { 0, -1, -2, -3, -4, -5, -6, -6, -6, -6, -6, -6, -6, -6 },
-            { 0, -3, -6, -9, -12, -15, -18, -20, -22, -24, -26, -28, -30, -32 }
-        };
-#if 0
-        uint8_t i;
-        int32_t stopDk[13], stopDk_t[14], k2;
-#endif
-        uint8_t stopMin = stopMinTable[get_sr_index(sample_rate)];
-
-#if 0 /* replaced by table lookup */
-        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);
-        }
-#endif
-
-#if 0 /* replaced by table lookup */
-        /* diverging power series */
-        for (i = 0; i <= 13; i++)
-        {
-            stopDk_t[i] = (int32_t)(stopMin*pow(64.0/stopMin, i/13.0) + 0.5);
-        }
-        for (i = 0; i < 13; i++)
-        {
-            stopDk[i] = stopDk_t[i+1] - stopDk_t[i];
-        }
-
-        /* needed? */
-        qsort(stopDk, 13, sizeof(stopDk[0]), longcmp);
-
-        k2 = stopMin;
-        for (i = 0; i < bs_stop_freq; i++)
-        {
-            k2 += stopDk[i];
-        }
-        return min(64, k2);
-#endif
-        /* bs_stop_freq <= 13 */
-        return min(64, stopMin + offset[get_sr_index(sample_rate)][min(bs_stop_freq, 13)]);
-    }
-
-    return 0;
-}
-
-/* calculate the master frequency table from k0, k2, bs_freq_scale
-   and bs_alter_scale
-
-   version for bs_freq_scale = 0
-*/
-uint8_t master_frequency_table_fs0(sbr_info *sbr, uint8_t k0, uint8_t k2,
-                                   uint8_t bs_alter_scale)
-{
-    int8_t incr;
-    uint8_t k;
-    uint8_t dk;
-    uint32_t nrBands, k2Achieved;
-    int32_t k2Diff, vDk[64] = {0};
-
-    /* mft only defined for k2 > k0 */
-    if (k2 <= k0)
-    {
-        sbr->N_master = 0;
-        return 1;
-    }
-
-    dk = bs_alter_scale ? 2 : 1;
-
-#if 0 /* replaced by float-less design */
-    nrBands = 2 * (int32_t)((float)(k2-k0)/(dk*2) + (-1+dk)/2.0f);
-#else
-    if (bs_alter_scale)
-    {
-        nrBands = (((k2-k0+2)>>2)<<1);
-    } else {
-        nrBands = (((k2-k0)>>1)<<1);
-    }
-#endif
-    nrBands = min(nrBands, 63);
-    if (nrBands <= 0)
-        return 1;
-
-    k2Achieved = k0 + nrBands * dk;
-    k2Diff = k2 - k2Achieved;
-    for (k = 0; k < nrBands; k++)
-        vDk[k] = dk;
-
-    if (k2Diff)
-    {
-        incr = (k2Diff > 0) ? -1 : 1;
-        k = (uint8_t) ((k2Diff > 0) ? (nrBands-1) : 0);
-
-        while (k2Diff != 0)
-        {
-            vDk[k] -= incr;
-            k += incr;
-            k2Diff += incr;
-        }
-    }
-
-    sbr->f_master[0] = k0;
-    for (k = 1; k <= nrBands; k++)
-        sbr->f_master[k] = (uint8_t)(sbr->f_master[k-1] + vDk[k-1]);
-
-    sbr->N_master = (uint8_t)nrBands;
-    sbr->N_master = (min(sbr->N_master, 64));
-
-#if 0
-    printf("f_master[%d]: ", nrBands);
-    for (k = 0; k <= nrBands; k++)
-    {
-        printf("%d ", sbr->f_master[k]);
-    }
-    printf("\n");
-#endif
-
-    return 0;
-}
-
-/*
-   This function finds the number of bands using this formula:
-    bands * log(a1/a0)/log(2.0) + 0.5
-*/
-static int32_t find_bands(uint8_t warp, uint8_t bands, uint8_t a0, uint8_t a1)
-{
-#ifdef FIXED_POINT
-    /* table with log2() values */
-    static const real_t log2Table[65] = {
-        COEF_CONST(0.0), COEF_CONST(0.0), COEF_CONST(1.0000000000), COEF_CONST(1.5849625007),
-        COEF_CONST(2.0000000000), COEF_CONST(2.3219280949), COEF_CONST(2.5849625007), COEF_CONST(2.8073549221),
-        COEF_CONST(3.0000000000), COEF_CONST(3.1699250014), COEF_CONST(3.3219280949), COEF_CONST(3.4594316186),
-        COEF_CONST(3.5849625007), COEF_CONST(3.7004397181), COEF_CONST(3.8073549221), COEF_CONST(3.9068905956),
-        COEF_CONST(4.0000000000), COEF_CONST(4.0874628413), COEF_CONST(4.1699250014), COEF_CONST(4.2479275134),
-        COEF_CONST(4.3219280949), COEF_CONST(4.3923174228), COEF_CONST(4.4594316186), COEF_CONST(4.5235619561),
-        COEF_CONST(4.5849625007), COEF_CONST(4.6438561898), COEF_CONST(4.7004397181), COEF_CONST(4.7548875022),
-        COEF_CONST(4.8073549221), COEF_CONST(4.8579809951), COEF_CONST(4.9068905956), COEF_CONST(4.9541963104),
-        COEF_CONST(5.0000000000), COEF_CONST(5.0443941194), COEF_CONST(5.0874628413), COEF_CONST(5.1292830169),
-        COEF_CONST(5.1699250014), COEF_CONST(5.2094533656), COEF_CONST(5.2479275134), COEF_CONST(5.2854022189),
-        COEF_CONST(5.3219280949), COEF_CONST(5.3575520046), COEF_CONST(5.3923174228), COEF_CONST(5.4262647547),
-        COEF_CONST(5.4594316186), COEF_CONST(5.4918530963), COEF_CONST(5.5235619561), COEF_CONST(5.5545888517),
-        COEF_CONST(5.5849625007), COEF_CONST(5.6147098441), COEF_CONST(5.6438561898), COEF_CONST(5.6724253420),
-        COEF_CONST(5.7004397181), COEF_CONST(5.7279204546), COEF_CONST(5.7548875022), COEF_CONST(5.7813597135),
-        COEF_CONST(5.8073549221), COEF_CONST(5.8328900142), COEF_CONST(5.8579809951), COEF_CONST(5.8826430494),
-        COEF_CONST(5.9068905956), COEF_CONST(5.9307373376), COEF_CONST(5.9541963104), COEF_CONST(5.9772799235),
-        COEF_CONST(6.0)
-    };
-    real_t r0 = log2Table[a0]; /* coef */
-    real_t r1 = log2Table[a1]; /* coef */
-    real_t r2 = (r1 - r0); /* coef */
-
-    if (warp)
-        r2 = MUL_C(r2, COEF_CONST(1.0/1.3));
-
-    /* convert r2 to real and then multiply and round */
-    r2 = (r2 >> (COEF_BITS-REAL_BITS)) * bands + (1<<(REAL_BITS-1));
-
-    return (r2 >> REAL_BITS);
-#else
-    real_t div = (real_t)log(2.0);
-    if (warp) div *= (real_t)1.3;
-
-    return (int32_t)(bands * log((float)a1/(float)a0)/div + 0.5);
-#endif
-}
-
-static real_t find_initial_power(uint8_t bands, uint8_t a0, uint8_t a1)
-{
-#ifdef FIXED_POINT
-    /* table with log() values */
-    static const real_t logTable[65] = {
-        COEF_CONST(0.0), COEF_CONST(0.0), COEF_CONST(0.6931471806), COEF_CONST(1.0986122887),
-        COEF_CONST(1.3862943611), COEF_CONST(1.6094379124), COEF_CONST(1.7917594692), COEF_CONST(1.9459101491),
-        COEF_CONST(2.0794415417), COEF_CONST(2.1972245773), COEF_CONST(2.3025850930), COEF_CONST(2.3978952728),
-        COEF_CONST(2.4849066498), COEF_CONST(2.5649493575), COEF_CONST(2.6390573296), COEF_CONST(2.7080502011),
-        COEF_CONST(2.7725887222), COEF_CONST(2.8332133441), COEF_CONST(2.8903717579), COEF_CONST(2.9444389792),
-        COEF_CONST(2.9957322736), COEF_CONST(3.0445224377), COEF_CONST(3.0910424534), COEF_CONST(3.1354942159),
-        COEF_CONST(3.1780538303), COEF_CONST(3.2188758249), COEF_CONST(3.2580965380), COEF_CONST(3.2958368660),
-        COEF_CONST(3.3322045102), COEF_CONST(3.3672958300), COEF_CONST(3.4011973817), COEF_CONST(3.4339872045),
-        COEF_CONST(3.4657359028), COEF_CONST(3.4965075615), COEF_CONST(3.5263605246), COEF_CONST(3.5553480615),
-        COEF_CONST(3.5835189385), COEF_CONST(3.6109179126), COEF_CONST(3.6375861597), COEF_CONST(3.6635616461),
-        COEF_CONST(3.6888794541), COEF_CONST(3.7135720667), COEF_CONST(3.7376696183), COEF_CONST(3.7612001157),
-        COEF_CONST(3.7841896339), COEF_CONST(3.8066624898), COEF_CONST(3.8286413965), COEF_CONST(3.8501476017),
-        COEF_CONST(3.8712010109), COEF_CONST(3.8918202981), COEF_CONST(3.9120230054), COEF_CONST(3.9318256327),
-        COEF_CONST(3.9512437186), COEF_CONST(3.9702919136), COEF_CONST(3.9889840466), COEF_CONST(4.0073331852),
-        COEF_CONST(4.0253516907), COEF_CONST(4.0430512678), COEF_CONST(4.0604430105), COEF_CONST(4.0775374439),
-        COEF_CONST(4.0943445622), COEF_CONST(4.1108738642), COEF_CONST(4.1271343850), COEF_CONST(4.1431347264),
-        COEF_CONST(4.158883083)
-    };
-    /* standard Taylor polynomial coefficients for exp(x) around 0 */
-    /* a polynomial around x=1 is more precise, as most values are around 1.07,
-       but this is just fine already */
-    static const real_t c1 = COEF_CONST(1.0);
-    static const real_t c2 = COEF_CONST(1.0/2.0);
-    static const real_t c3 = COEF_CONST(1.0/6.0);
-    static const real_t c4 = COEF_CONST(1.0/24.0);
-
-    real_t r0 = logTable[a0]; /* coef */
-    real_t r1 = logTable[a1]; /* coef */
-    real_t r2 = (r1 - r0) / bands; /* coef */
-    real_t rexp = c1 + MUL_C((c1 + MUL_C((c2 + MUL_C((c3 + MUL_C(c4,r2)), r2)), r2)), r2);
-
-    return (rexp >> (COEF_BITS-REAL_BITS)); /* real */
-#else
-    return (real_t)pow((real_t)a1/(real_t)a0, 1.0/(real_t)bands);
-#endif
-}
-
-/*
-   version for bs_freq_scale > 0
-*/
-uint8_t master_frequency_table(sbr_info *sbr, uint8_t k0, uint8_t k2,
-                               uint8_t bs_freq_scale, uint8_t bs_alter_scale)
-{
-    uint8_t k, bands, twoRegions;
-    uint8_t k1;
-    uint8_t nrBand0, nrBand1;
-    int32_t vDk0[64] = {0}, vDk1[64] = {0};
-    int32_t vk0[64] = {0}, vk1[64] = {0};
-    uint8_t temp1[] = { 6, 5, 4 };
-    real_t q, qk;
-    int32_t A_1;
-#ifdef FIXED_POINT
-    real_t rk2, rk0;
-#endif
-
-    /* mft only defined for k2 > k0 */
-    if (k2 <= k0)
-    {
-        sbr->N_master = 0;
-        return 1;
-    }
-
-    bands = temp1[bs_freq_scale-1];
-
-#ifdef FIXED_POINT
-    rk0 = (real_t)k0 << REAL_BITS;
-    rk2 = (real_t)k2 << REAL_BITS;
-    if (rk2 > MUL_C(rk0, COEF_CONST(2.2449)))
-#else
-    if ((float)k2/(float)k0 > 2.2449)
-#endif
-    {
-        twoRegions = 1;
-        k1 = k0 << 1;
-    } else {
-        twoRegions = 0;
-        k1 = k2;
-    }
-
-    nrBand0 = (uint8_t)(2 * find_bands(0, bands, k0, k1));
-    nrBand0 = min(nrBand0, 63);
-    if (nrBand0 <= 0)
-        return 1;
-
-    q = find_initial_power(nrBand0, k0, k1);
-#ifdef FIXED_POINT
-    qk = (real_t)k0 << REAL_BITS;
-    //A_1 = (int32_t)((qk + REAL_CONST(0.5)) >> REAL_BITS);
-    A_1 = k0;
-#else
-    qk = REAL_CONST(k0);
-    A_1 = (int32_t)(qk + .5);
-#endif
-    for (k = 0; k <= nrBand0; k++)
-    {
-        int32_t A_0 = A_1;
-#ifdef FIXED_POINT
-        qk = MUL_R(qk,q);
-        A_1 = (int32_t)((qk + REAL_CONST(0.5)) >> REAL_BITS);
-#else
-        qk *= q;
-        A_1 = (int32_t)(qk + 0.5);
-#endif
-        vDk0[k] = A_1 - A_0;
-    }
-
-    /* needed? */
-    qsort(vDk0, nrBand0, sizeof(vDk0[0]), longcmp);
-
-    vk0[0] = k0;
-    for (k = 1; k <= nrBand0; k++)
-    {
-        vk0[k] = vk0[k-1] + vDk0[k-1];
-        if (vDk0[k-1] == 0)
-            return 1;
-    }
-
-    if (!twoRegions)
-    {
-        for (k = 0; k <= nrBand0; k++)
-            sbr->f_master[k] = (uint8_t) vk0[k];
-
-        sbr->N_master = nrBand0;
-        sbr->N_master = min(sbr->N_master, 64);
-        return 0;
-    }
-
-    nrBand1 = (uint8_t)(2 * find_bands(1 /* warped */, bands, k1, k2));
-    nrBand1 = min(nrBand1, 63);
-
-    q = find_initial_power(nrBand1, k1, k2);
-#ifdef FIXED_POINT
-    qk = (real_t)k1 << REAL_BITS;
-    //A_1 = (int32_t)((qk + REAL_CONST(0.5)) >> REAL_BITS);
-    A_1 = k1;
-#else
-    qk = REAL_CONST(k1);
-    A_1 = (int32_t)(qk + .5);
-#endif
-    for (k = 0; k <= nrBand1 - 1; k++)
-    {
-        int32_t A_0 = A_1;
-#ifdef FIXED_POINT
-        qk = MUL_R(qk,q);
-        A_1 = (int32_t)((qk + REAL_CONST(0.5)) >> REAL_BITS);
-#else
-        qk *= q;
-        A_1 = (int32_t)(qk + 0.5);
-#endif
-        vDk1[k] = A_1 - A_0;
-    }
-
-    if (vDk1[0] < vDk0[nrBand0 - 1])
-    {
-        int32_t change;
-
-        /* needed? */
-        qsort(vDk1, nrBand1 + 1, sizeof(vDk1[0]), longcmp);
-        change = vDk0[nrBand0 - 1] - vDk1[0];
-        vDk1[0] = vDk0[nrBand0 - 1];
-        vDk1[nrBand1 - 1] = vDk1[nrBand1 - 1] - change;
-    }
-
-    /* needed? */
-    qsort(vDk1, nrBand1, sizeof(vDk1[0]), longcmp);
-    vk1[0] = k1;
-    for (k = 1; k <= nrBand1; k++)
-    {
-        vk1[k] = vk1[k-1] + vDk1[k-1];
-        if (vDk1[k-1] == 0)
-            return 1;
-    }
-
-    sbr->N_master = nrBand0 + nrBand1;
-    sbr->N_master = min(sbr->N_master, 64);
-    for (k = 0; k <= nrBand0; k++)
-    {
-        sbr->f_master[k] =  (uint8_t) vk0[k];
-    }
-    for (k = nrBand0 + 1; k <= sbr->N_master; k++)
-    {
-        sbr->f_master[k] = (uint8_t) vk1[k - nrBand0];
-    }
-
-#if 0
-    printf("f_master[%d]: ", sbr->N_master);
-    for (k = 0; k <= sbr->N_master; k++)
-    {
-        printf("%d ", sbr->f_master[k]);
-    }
-    printf("\n");
-#endif
-
-    return 0;
-}
-
-/* calculate the derived frequency border tables from f_master */
-uint8_t derived_frequency_table(sbr_info *sbr, uint8_t bs_xover_band,
-                                uint8_t k2)
-{
-    uint8_t k, i;
-    uint32_t minus;
-
-    /* The following relation shall be satisfied: bs_xover_band < N_Master */
-    if (sbr->N_master <= bs_xover_band)
-        return 1;
-
-    sbr->N_high = sbr->N_master - bs_xover_band;
-    sbr->N_low = (sbr->N_high>>1) + (sbr->N_high - ((sbr->N_high>>1)<<1));
-
-    sbr->n[0] = sbr->N_low;
-    sbr->n[1] = sbr->N_high;
-
-    for (k = 0; k <= sbr->N_high; k++)
-    {
-        sbr->f_table_res[HI_RES][k] = sbr->f_master[k + bs_xover_band];
-    }
-
-    sbr->M = sbr->f_table_res[HI_RES][sbr->N_high] - sbr->f_table_res[HI_RES][0];
-    sbr->kx = sbr->f_table_res[HI_RES][0];
-    if (sbr->kx > 32)
-        return 1;
-    if (sbr->kx + sbr->M > 64)
-        return 1;
-
-    minus = (sbr->N_high & 1) ? 1 : 0;
-
-    for (k = 0; k <= sbr->N_low; k++)
-    {
-        if (k == 0)
-            i = 0;
-        else
-            i = (uint8_t)(2*k - minus);
-        sbr->f_table_res[LO_RES][k] = sbr->f_table_res[HI_RES][i];
-    }
-
-#if 0
-    printf("bs_freq_scale: %d\n", sbr->bs_freq_scale);
-    printf("bs_limiter_bands: %d\n", sbr->bs_limiter_bands);
-    printf("f_table_res[HI_RES][%d]: ", sbr->N_high);
-    for (k = 0; k <= sbr->N_high; k++)
-    {
-        printf("%d ", sbr->f_table_res[HI_RES][k]);
-    }
-    printf("\n");
-#endif
-#if 0
-    printf("f_table_res[LO_RES][%d]: ", sbr->N_low);
-    for (k = 0; k <= sbr->N_low; k++)
-    {
-        printf("%d ", sbr->f_table_res[LO_RES][k]);
-    }
-    printf("\n");
-#endif
-
-    sbr->N_Q = 0;
-    if (sbr->bs_noise_bands == 0)
-    {
-        sbr->N_Q = 1;
-    } else {
-#if 0
-        sbr->N_Q = max(1, (int32_t)(sbr->bs_noise_bands*(log(k2/(float)sbr->kx)/log(2.0)) + 0.5));
-#else
-        sbr->N_Q = (uint8_t)(max(1, find_bands(0, sbr->bs_noise_bands, sbr->kx, k2)));
-#endif
-        sbr->N_Q = min(5, sbr->N_Q);
-    }
-
-    for (k = 0; k <= sbr->N_Q; k++)
-    {
-        if (k == 0)
-        {
-            i = 0;
-        } else {
-            /* i = i + (int32_t)((sbr->N_low - i)/(sbr->N_Q + 1 - k)); */
-            i = i + (sbr->N_low - i)/(sbr->N_Q + 1 - k);
-        }
-        sbr->f_table_noise[k] = sbr->f_table_res[LO_RES][i];
-    }
-
-    /* build table for mapping k to g in hf patching */
-    for (k = 0; k < 64; k++)
-    {
-        uint8_t g;
-        for (g = 0; g < sbr->N_Q; g++)
-        {
-            if ((sbr->f_table_noise[g] <= k) &&
-                (k < sbr->f_table_noise[g+1]))
-            {
-                sbr->table_map_k_to_g[k] = g;
-                break;
-            }
-        }
-    }
-
-#if 0
-    printf("f_table_noise[%d]: ", sbr->N_Q);
-    for (k = 0; k <= sbr->N_Q; k++)
-    {
-        printf("%d ", sbr->f_table_noise[k] - sbr->kx);
-    }
-    printf("\n");
-#endif
-
-    return 0;
-}
-
-/* TODO: blegh, ugly */
-/* Modified to calculate for all possible bs_limiter_bands always
- * This reduces the number calls to this functions needed (now only on
- * header reset)
- */
-void limiter_frequency_table(sbr_info *sbr)
-{
-#if 0
-    static const real_t limiterBandsPerOctave[] = { REAL_CONST(1.2),
-        REAL_CONST(2), REAL_CONST(3) };
-#else
-    static const real_t limiterBandsCompare[] = { REAL_CONST(1.327152),
-        REAL_CONST(1.185093), REAL_CONST(1.119872) };
-#endif
-    uint8_t k, s;
-    int8_t nrLim;
-#if 0
-    real_t limBands;
-#endif
-
-    sbr->f_table_lim[0][0] = sbr->f_table_res[LO_RES][0] - sbr->kx;
-    sbr->f_table_lim[0][1] = sbr->f_table_res[LO_RES][sbr->N_low] - sbr->kx;
-    sbr->N_L[0] = 1;
-
-#if 0
-    printf("f_table_lim[%d][%d]: ", 0, sbr->N_L[0]);
-    for (k = 0; k <= sbr->N_L[0]; k++)
-    {
-        printf("%d ", sbr->f_table_lim[0][k]);
-    }
-    printf("\n");
-#endif
-
-    for (s = 1; s < 4; s++)
-    {
-        int32_t limTable[100 /*TODO*/] = {0};
-        uint8_t patchBorders[64/*??*/] = {0};
-
-#if 0
-        limBands = limiterBandsPerOctave[s - 1];
-#endif
-
-        patchBorders[0] = sbr->kx;
-        for (k = 1; k <= sbr->noPatches; k++)
-        {
-            patchBorders[k] = patchBorders[k-1] + sbr->patchNoSubbands[k-1];
-        }
-
-        for (k = 0; k <= sbr->N_low; k++)
-        {
-            limTable[k] = sbr->f_table_res[LO_RES][k];
-        }
-        for (k = 1; k < sbr->noPatches; k++)
-        {
-            limTable[k+sbr->N_low] = patchBorders[k];
-        }
-
-        /* needed */
-        qsort(limTable, sbr->noPatches + sbr->N_low, sizeof(limTable[0]), longcmp);
-        k = 1;
-        nrLim = sbr->noPatches + sbr->N_low - 1;
-
-        if (nrLim < 0) // TODO: BIG FAT PROBLEM
-            return;
-
-restart:
-        if (k <= nrLim)
-        {
-            real_t nOctaves;
-
-            if (limTable[k-1] != 0)
-#if 0
-                nOctaves = REAL_CONST(log((float)limTable[k]/(float)limTable[k-1])/log(2.0));
-#else
-#ifdef FIXED_POINT
-                nOctaves = DIV_R((limTable[k]<<REAL_BITS),REAL_CONST(limTable[k-1]));
-#else
-                nOctaves = (real_t)limTable[k]/(real_t)limTable[k-1];
-#endif
-#endif
-            else
-                nOctaves = 0;
-
-#if 0
-            if ((MUL_R(nOctaves,limBands)) < REAL_CONST(0.49))
-#else
-            if (nOctaves < limiterBandsCompare[s - 1])
-#endif
-            {
-                uint8_t i;
-                if (limTable[k] != limTable[k-1])
-                {
-                    uint8_t found = 0, found2 = 0;
-                    for (i = 0; i <= sbr->noPatches; i++)
-                    {
-                        if (limTable[k] == patchBorders[i])
-                            found = 1;
-                    }
-                    if (found)
-                    {
-                        found2 = 0;
-                        for (i = 0; i <= sbr->noPatches; i++)
-                        {
-                            if (limTable[k-1] == patchBorders[i])
-                                found2 = 1;
-                        }
-                        if (found2)
-                        {
-                            k++;
-                            goto restart;
-                        } else {
-                            /* remove (k-1)th element */
-                            limTable[k-1] = sbr->f_table_res[LO_RES][sbr->N_low];
-                            qsort(limTable, sbr->noPatches + sbr->N_low, sizeof(limTable[0]), longcmp);
-                            nrLim--;
-                            goto restart;
-                        }
-                    }
-                }
-                /* remove kth element */
-                limTable[k] = sbr->f_table_res[LO_RES][sbr->N_low];
-                qsort(limTable, nrLim, sizeof(limTable[0]), longcmp);
-                nrLim--;
-                goto restart;
-            } else {
-                k++;
-                goto restart;
-            }
-        }
-
-        sbr->N_L[s] = nrLim;
-        for (k = 0; k <= nrLim; k++)
-        {
-            sbr->f_table_lim[s][k] = limTable[k] - sbr->kx;
-        }
-
-#if 0
-        printf("f_table_lim[%d][%d]: ", s, sbr->N_L[s]);
-        for (k = 0; k <= sbr->N_L[s]; k++)
-        {
-            printf("%d ", sbr->f_table_lim[s][k]);
-        }
-        printf("\n");
-#endif
-    }
-}
-
-#endif
diff --git a/lib/libfaad2/libfaad/sbr_fbt.h b/lib/libfaad2/libfaad/sbr_fbt.h
deleted file mode 100644 (file)
index d24a25e..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_fbt.h,v 1.18 2007/11/01 12:33:35 menno Exp $
-**/
-
-#ifndef __SBR_FBT_H__
-#define __SBR_FBT_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-uint8_t qmf_start_channel(uint8_t bs_start_freq, uint8_t bs_samplerate_mode,
-                           uint32_t sample_rate);
-uint8_t qmf_stop_channel(uint8_t bs_stop_freq, uint32_t sample_rate,
-                          uint8_t k0);
-uint8_t master_frequency_table_fs0(sbr_info *sbr, uint8_t k0, uint8_t k2,
-                                   uint8_t bs_alter_scale);
-uint8_t master_frequency_table(sbr_info *sbr, uint8_t k0, uint8_t k2,
-                               uint8_t bs_freq_scale, uint8_t bs_alter_scale);
-uint8_t derived_frequency_table(sbr_info *sbr, uint8_t bs_xover_band,
-                                uint8_t k2);
-void limiter_frequency_table(sbr_info *sbr);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/sbr_hfadj.c b/lib/libfaad2/libfaad/sbr_hfadj.c
deleted file mode 100644 (file)
index efac065..0000000
+++ /dev/null
@@ -1,1748 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_hfadj.c,v 1.22 2007/11/01 12:33:35 menno Exp $
-**/
-
-/* High Frequency adjustment */
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SBR_DEC
-
-#include "sbr_syntax.h"
-#include "sbr_hfadj.h"
-
-#include "sbr_noise.h"
-
-
-/* static function declarations */
-static uint8_t estimate_current_envelope(sbr_info *sbr, sbr_hfadj_info *adj,
-                                         qmf_t Xsbr[MAX_NTSRHFG][64], uint8_t ch);
-static void calculate_gain(sbr_info *sbr, sbr_hfadj_info *adj, uint8_t ch);
-#ifdef SBR_LOW_POWER
-static void calc_gain_groups(sbr_info *sbr, sbr_hfadj_info *adj, real_t *deg, uint8_t ch);
-static void aliasing_reduction(sbr_info *sbr, sbr_hfadj_info *adj, real_t *deg, uint8_t ch);
-#endif
-static void hf_assembly(sbr_info *sbr, sbr_hfadj_info *adj, qmf_t Xsbr[MAX_NTSRHFG][64], uint8_t ch);
-
-
-uint8_t hf_adjustment(sbr_info *sbr, qmf_t Xsbr[MAX_NTSRHFG][64]
-#ifdef SBR_LOW_POWER
-                      ,real_t *deg /* aliasing degree */
-#endif
-                      ,uint8_t ch)
-{
-    ALIGN sbr_hfadj_info adj = {{{0}}};
-    uint8_t ret = 0;
-
-    if (sbr->bs_frame_class[ch] == FIXFIX)
-    {
-        sbr->l_A[ch] = -1;
-    } else if (sbr->bs_frame_class[ch] == VARFIX) {
-        if (sbr->bs_pointer[ch] > 1)
-            sbr->l_A[ch] = -1;
-        else
-            sbr->l_A[ch] = sbr->bs_pointer[ch] - 1;
-    } else {
-        if (sbr->bs_pointer[ch] == 0)
-            sbr->l_A[ch] = -1;
-        else
-            sbr->l_A[ch] = sbr->L_E[ch] + 1 - sbr->bs_pointer[ch];
-    }
-
-    ret = estimate_current_envelope(sbr, &adj, Xsbr, ch);
-    if (ret > 0)
-        return 1;
-
-    calculate_gain(sbr, &adj, ch);
-
-#ifdef SBR_LOW_POWER
-    calc_gain_groups(sbr, &adj, deg, ch);
-    aliasing_reduction(sbr, &adj, deg, ch);
-#endif
-
-    hf_assembly(sbr, &adj, Xsbr, ch);
-
-    return 0;
-}
-
-static uint8_t get_S_mapped(sbr_info *sbr, uint8_t ch, uint8_t l, uint8_t current_band)
-{
-    if (sbr->f[ch][l] == HI_RES)
-    {
-        /* in case of using f_table_high we just have 1 to 1 mapping
-         * from bs_add_harmonic[l][k]
-         */
-        if ((l >= sbr->l_A[ch]) ||
-            (sbr->bs_add_harmonic_prev[ch][current_band] && sbr->bs_add_harmonic_flag_prev[ch]))
-        {
-            return sbr->bs_add_harmonic[ch][current_band];
-        }
-    } else {
-        uint8_t b, lb, ub;
-
-        /* in case of f_table_low we check if any of the HI_RES bands
-         * within this LO_RES band has bs_add_harmonic[l][k] turned on
-         * (note that borders in the LO_RES table are also present in
-         * the HI_RES table)
-         */
-
-        /* find first HI_RES band in current LO_RES band */
-        lb = 2*current_band - ((sbr->N_high & 1) ? 1 : 0);
-        /* find first HI_RES band in next LO_RES band */
-        ub = 2*(current_band+1) - ((sbr->N_high & 1) ? 1 : 0);
-
-        /* check all HI_RES bands in current LO_RES band for sinusoid */
-        for (b = lb; b < ub; b++)
-        {
-            if ((l >= sbr->l_A[ch]) ||
-                (sbr->bs_add_harmonic_prev[ch][b] && sbr->bs_add_harmonic_flag_prev[ch]))
-            {
-                if (sbr->bs_add_harmonic[ch][b] == 1)
-                    return 1;
-            }
-        }
-    }
-
-    return 0;
-}
-
-static uint8_t estimate_current_envelope(sbr_info *sbr, sbr_hfadj_info *adj,
-                                         qmf_t Xsbr[MAX_NTSRHFG][64], uint8_t ch)
-{
-    uint8_t m, l, j, k, k_l, k_h, p;
-    real_t nrg, div;
-
-    if (sbr->bs_interpol_freq == 1)
-    {
-        for (l = 0; l < sbr->L_E[ch]; l++)
-        {
-            uint8_t i, l_i, u_i;
-
-            l_i = sbr->t_E[ch][l];
-            u_i = sbr->t_E[ch][l+1];
-
-            div = (real_t)(u_i - l_i);
-
-            if (div == 0)
-                div = 1;
-
-            for (m = 0; m < sbr->M; m++)
-            {
-                nrg = 0;
-
-                for (i = l_i + sbr->tHFAdj; i < u_i + sbr->tHFAdj; i++)
-                {
-#ifdef FIXED_POINT
-#ifdef SBR_LOW_POWER
-                    nrg += ((QMF_RE(Xsbr[i][m + sbr->kx])+(1<<(REAL_BITS-1)))>>REAL_BITS)*((QMF_RE(Xsbr[i][m + sbr->kx])+(1<<(REAL_BITS-1)))>>REAL_BITS);
-#else
-                    nrg += ((QMF_RE(Xsbr[i][m + sbr->kx])+(1<<(REAL_BITS-1)))>>REAL_BITS)*((QMF_RE(Xsbr[i][m + sbr->kx])+(1<<(REAL_BITS-1)))>>REAL_BITS) +
-                        ((QMF_IM(Xsbr[i][m + sbr->kx])+(1<<(REAL_BITS-1)))>>REAL_BITS)*((QMF_IM(Xsbr[i][m + sbr->kx])+(1<<(REAL_BITS-1)))>>REAL_BITS);
-#endif
-#else
-                    nrg += MUL_R(QMF_RE(Xsbr[i][m + sbr->kx]), QMF_RE(Xsbr[i][m + sbr->kx]))
-#ifndef SBR_LOW_POWER
-                        + MUL_R(QMF_IM(Xsbr[i][m + sbr->kx]), QMF_IM(Xsbr[i][m + sbr->kx]))
-#endif
-                        ;
-#endif
-                }
-
-                sbr->E_curr[ch][m][l] = nrg / div;
-#ifdef SBR_LOW_POWER
-#ifdef FIXED_POINT
-                sbr->E_curr[ch][m][l] <<= 1;
-#else
-                sbr->E_curr[ch][m][l] *= 2;
-#endif
-#endif
-            }
-        }
-    } else {
-        for (l = 0; l < sbr->L_E[ch]; l++)
-        {
-            for (p = 0; p < sbr->n[sbr->f[ch][l]]; p++)
-            {
-                k_l = sbr->f_table_res[sbr->f[ch][l]][p];
-                k_h = sbr->f_table_res[sbr->f[ch][l]][p+1];
-
-                for (k = k_l; k < k_h; k++)
-                {
-                    uint8_t i, l_i, u_i;
-                    nrg = 0;
-
-                    l_i = sbr->t_E[ch][l];
-                    u_i = sbr->t_E[ch][l+1];
-
-                    div = (real_t)((u_i - l_i)*(k_h - k_l));
-
-                    if (div == 0)
-                        div = 1;
-
-                    for (i = l_i + sbr->tHFAdj; i < u_i + sbr->tHFAdj; i++)
-                    {
-                        for (j = k_l; j < k_h; j++)
-                        {
-#ifdef FIXED_POINT
-#ifdef SBR_LOW_POWER
-                            nrg += ((QMF_RE(Xsbr[i][j])+(1<<(REAL_BITS-1)))>>REAL_BITS)*((QMF_RE(Xsbr[i][j])+(1<<(REAL_BITS-1)))>>REAL_BITS);
-#else
-                            nrg += ((QMF_RE(Xsbr[i][j])+(1<<(REAL_BITS-1)))>>REAL_BITS)*((QMF_RE(Xsbr[i][j])+(1<<(REAL_BITS-1)))>>REAL_BITS) +
-                                ((QMF_IM(Xsbr[i][j])+(1<<(REAL_BITS-1)))>>REAL_BITS)*((QMF_IM(Xsbr[i][j])+(1<<(REAL_BITS-1)))>>REAL_BITS);
-#endif
-#else
-                            nrg += MUL_R(QMF_RE(Xsbr[i][j]), QMF_RE(Xsbr[i][j]))
-#ifndef SBR_LOW_POWER
-                                + MUL_R(QMF_IM(Xsbr[i][j]), QMF_IM(Xsbr[i][j]))
-#endif
-                                ;
-#endif
-                        }
-                    }
-
-                    sbr->E_curr[ch][k - sbr->kx][l] = nrg / div;
-#ifdef SBR_LOW_POWER
-#ifdef FIXED_POINT
-                    sbr->E_curr[ch][k - sbr->kx][l] <<= 1;
-#else
-                    sbr->E_curr[ch][k - sbr->kx][l] *= 2;
-#endif
-#endif
-                }
-            }
-        }
-    }
-
-    return 0;
-}
-
-#ifdef FIXED_POINT
-#define EPS (1) /* smallest number available in fixed point */
-#else
-#define EPS (1e-12)
-#endif
-
-
-
-#ifdef FIXED_POINT
-
-/* log2 values of [0..63] */
-static const real_t log2_int_tab[] = {
-    LOG2_MIN_INF, REAL_CONST(0.000000000000000), REAL_CONST(1.000000000000000), REAL_CONST(1.584962500721156),
-    REAL_CONST(2.000000000000000), REAL_CONST(2.321928094887362), REAL_CONST(2.584962500721156), REAL_CONST(2.807354922057604),
-    REAL_CONST(3.000000000000000), REAL_CONST(3.169925001442313), REAL_CONST(3.321928094887363), REAL_CONST(3.459431618637297),
-    REAL_CONST(3.584962500721156), REAL_CONST(3.700439718141092), REAL_CONST(3.807354922057604), REAL_CONST(3.906890595608519),
-    REAL_CONST(4.000000000000000), REAL_CONST(4.087462841250339), REAL_CONST(4.169925001442312), REAL_CONST(4.247927513443585),
-    REAL_CONST(4.321928094887362), REAL_CONST(4.392317422778761), REAL_CONST(4.459431618637297), REAL_CONST(4.523561956057013),
-    REAL_CONST(4.584962500721156), REAL_CONST(4.643856189774724), REAL_CONST(4.700439718141093), REAL_CONST(4.754887502163468),
-    REAL_CONST(4.807354922057604), REAL_CONST(4.857980995127572), REAL_CONST(4.906890595608519), REAL_CONST(4.954196310386875),
-    REAL_CONST(5.000000000000000), REAL_CONST(5.044394119358453), REAL_CONST(5.087462841250340), REAL_CONST(5.129283016944966),
-    REAL_CONST(5.169925001442312), REAL_CONST(5.209453365628949), REAL_CONST(5.247927513443585), REAL_CONST(5.285402218862248),
-    REAL_CONST(5.321928094887363), REAL_CONST(5.357552004618084), REAL_CONST(5.392317422778761), REAL_CONST(5.426264754702098),
-    REAL_CONST(5.459431618637297), REAL_CONST(5.491853096329675), REAL_CONST(5.523561956057013), REAL_CONST(5.554588851677637),
-    REAL_CONST(5.584962500721156), REAL_CONST(5.614709844115208), REAL_CONST(5.643856189774724), REAL_CONST(5.672425341971495),
-    REAL_CONST(5.700439718141093), REAL_CONST(5.727920454563200), REAL_CONST(5.754887502163469), REAL_CONST(5.781359713524660),
-    REAL_CONST(5.807354922057605), REAL_CONST(5.832890014164742), REAL_CONST(5.857980995127572), REAL_CONST(5.882643049361842),
-    REAL_CONST(5.906890595608518), REAL_CONST(5.930737337562887), REAL_CONST(5.954196310386876), REAL_CONST(5.977279923499916)
-};
-
-static const real_t pan_log2_tab[] = {
-    REAL_CONST(1.000000000000000), REAL_CONST(0.584962500721156), REAL_CONST(0.321928094887362), REAL_CONST(0.169925001442312), REAL_CONST(0.087462841250339),
-    REAL_CONST(0.044394119358453), REAL_CONST(0.022367813028455), REAL_CONST(0.011227255423254), REAL_CONST(0.005624549193878), REAL_CONST(0.002815015607054),
-    REAL_CONST(0.001408194392808), REAL_CONST(0.000704269011247), REAL_CONST(0.000352177480301), REAL_CONST(0.000176099486443), REAL_CONST(0.000088052430122),
-    REAL_CONST(0.000044026886827), REAL_CONST(0.000022013611360), REAL_CONST(0.000011006847667)
-};
-
-static real_t find_log2_E(sbr_info *sbr, uint8_t k, uint8_t l, uint8_t ch)
-{
-    /* check for coupled energy/noise data */
-    if (sbr->bs_coupling == 1)
-    {
-        uint8_t amp0 = (sbr->amp_res[0]) ? 0 : 1;
-        uint8_t amp1 = (sbr->amp_res[1]) ? 0 : 1;
-        real_t tmp = (7 << REAL_BITS) + (sbr->E[0][k][l] << (REAL_BITS-amp0));
-        real_t pan;
-
-        /* E[1] should always be even so shifting is OK */
-        uint8_t E = sbr->E[1][k][l] >> amp1;
-
-        if (ch == 0)
-        {
-            if (E > 12)
-            {
-                /* negative */
-                pan = pan_log2_tab[-12 + E];
-            } else {
-                /* positive */
-                pan = pan_log2_tab[12 - E] + ((12 - E)<<REAL_BITS);
-            }
-        } else {
-            if (E < 12)
-            {
-                /* negative */
-                pan = pan_log2_tab[-E + 12];
-            } else {
-                /* positive */
-                pan = pan_log2_tab[E - 12] + ((E - 12)<<REAL_BITS);
-            }
-        }
-
-        /* tmp / pan in log2 */
-        return tmp - pan;
-    } else {
-        uint8_t amp = (sbr->amp_res[ch]) ? 0 : 1;
-
-        return (6 << REAL_BITS) + (sbr->E[ch][k][l] << (REAL_BITS-amp));
-    }
-}
-
-static real_t find_log2_Q(sbr_info *sbr, uint8_t k, uint8_t l, uint8_t ch)
-{
-    /* check for coupled energy/noise data */
-    if (sbr->bs_coupling == 1)
-    {
-        real_t tmp = (7 << REAL_BITS) - (sbr->Q[0][k][l] << REAL_BITS);
-        real_t pan;
-
-        uint8_t Q = sbr->Q[1][k][l];
-
-        if (ch == 0)
-        {
-            if (Q > 12)
-            {
-                /* negative */
-                pan = pan_log2_tab[-12 + Q];
-            } else {
-                /* positive */
-                pan = pan_log2_tab[12 - Q] + ((12 - Q)<<REAL_BITS);
-            }
-        } else {
-            if (Q < 12)
-            {
-                /* negative */
-                pan = pan_log2_tab[-Q + 12];
-            } else {
-                /* positive */
-                pan = pan_log2_tab[Q - 12] + ((Q - 12)<<REAL_BITS);
-            }
-        }
-
-        /* tmp / pan in log2 */
-        return tmp - pan;
-    } else {
-        return (6 << REAL_BITS) - (sbr->Q[ch][k][l] << REAL_BITS);
-    }
-}
-
-static const real_t log_Qplus1_pan[31][13] = {
-    { REAL_CONST(0.044383447617292), REAL_CONST(0.169768601655960), REAL_CONST(0.583090126514435), REAL_CONST(1.570089221000671), REAL_CONST(3.092446088790894), REAL_CONST(4.733354568481445), REAL_CONST(6.022367954254150), REAL_CONST(6.692092418670654), REAL_CONST(6.924463272094727), REAL_CONST(6.989034175872803), REAL_CONST(7.005646705627441), REAL_CONST(7.009829998016357), REAL_CONST(7.010877609252930) },
-    { REAL_CONST(0.022362394258380), REAL_CONST(0.087379962205887), REAL_CONST(0.320804953575134), REAL_CONST(0.988859415054321), REAL_CONST(2.252387046813965), REAL_CONST(3.786596298217773), REAL_CONST(5.044394016265869), REAL_CONST(5.705977916717529), REAL_CONST(5.936291694641113), REAL_CONST(6.000346660614014), REAL_CONST(6.016829967498779), REAL_CONST(6.020981311798096), REAL_CONST(6.022020816802979) },
-    { REAL_CONST(0.011224525049329), REAL_CONST(0.044351425021887), REAL_CONST(0.169301137328148), REAL_CONST(0.577544987201691), REAL_CONST(1.527246952056885), REAL_CONST(2.887525320053101), REAL_CONST(4.087462902069092), REAL_CONST(4.733354568481445), REAL_CONST(4.959661006927490), REAL_CONST(5.022709369659424), REAL_CONST(5.038940429687500), REAL_CONST(5.043028831481934), REAL_CONST(5.044052600860596) },
-    { REAL_CONST(0.005623178556561), REAL_CONST(0.022346137091517), REAL_CONST(0.087132595479488), REAL_CONST(0.317482173442841), REAL_CONST(0.956931233406067), REAL_CONST(2.070389270782471), REAL_CONST(3.169924974441528), REAL_CONST(3.786596298217773), REAL_CONST(4.005294322967529), REAL_CONST(4.066420555114746), REAL_CONST(4.082170009613037), REAL_CONST(4.086137294769287), REAL_CONST(4.087131500244141) },
-    { REAL_CONST(0.002814328996465), REAL_CONST(0.011216334067285), REAL_CONST(0.044224001467228), REAL_CONST(0.167456731200218), REAL_CONST(0.556393325328827), REAL_CONST(1.378511548042297), REAL_CONST(2.321928024291992), REAL_CONST(2.887525320053101), REAL_CONST(3.092446088790894), REAL_CONST(3.150059700012207), REAL_CONST(3.164926528930664), REAL_CONST(3.168673276901245), REAL_CONST(3.169611930847168) },
-    { REAL_CONST(0.001407850766554), REAL_CONST(0.005619067233056), REAL_CONST(0.022281449288130), REAL_CONST(0.086156636476517), REAL_CONST(0.304854571819305), REAL_CONST(0.847996890544891), REAL_CONST(1.584962487220764), REAL_CONST(2.070389270782471), REAL_CONST(2.252387046813965), REAL_CONST(2.304061651229858), REAL_CONST(2.317430257797241), REAL_CONST(2.320801734924316), REAL_CONST(2.321646213531494) },
-    { REAL_CONST(0.000704097095877), REAL_CONST(0.002812269143760), REAL_CONST(0.011183738708496), REAL_CONST(0.043721374124289), REAL_CONST(0.160464659333229), REAL_CONST(0.485426813364029), REAL_CONST(1.000000000000000), REAL_CONST(1.378511548042297), REAL_CONST(1.527246952056885), REAL_CONST(1.570089221000671), REAL_CONST(1.581215262413025), REAL_CONST(1.584023833274841), REAL_CONST(1.584727644920349) },
-    { REAL_CONST(0.000352177477907), REAL_CONST(0.001406819908880), REAL_CONST(0.005602621007711), REAL_CONST(0.022026389837265), REAL_CONST(0.082462236285210), REAL_CONST(0.263034462928772), REAL_CONST(0.584962487220764), REAL_CONST(0.847996890544891), REAL_CONST(0.956931233406067), REAL_CONST(0.988859415054321), REAL_CONST(0.997190535068512), REAL_CONST(0.999296069145203), REAL_CONST(0.999823868274689) },
-    { REAL_CONST(0.000176099492819), REAL_CONST(0.000703581434209), REAL_CONST(0.002804030198604), REAL_CONST(0.011055230163038), REAL_CONST(0.041820213198662), REAL_CONST(0.137503549456596), REAL_CONST(0.321928083896637), REAL_CONST(0.485426813364029), REAL_CONST(0.556393325328827), REAL_CONST(0.577544987201691), REAL_CONST(0.583090126514435), REAL_CONST(0.584493279457092), REAL_CONST(0.584845066070557) },
-    { REAL_CONST(0.000088052431238), REAL_CONST(0.000351833587047), REAL_CONST(0.001402696361765), REAL_CONST(0.005538204684854), REAL_CONST(0.021061634644866), REAL_CONST(0.070389263331890), REAL_CONST(0.169925004243851), REAL_CONST(0.263034462928772), REAL_CONST(0.304854571819305), REAL_CONST(0.317482173442841), REAL_CONST(0.320804953575134), REAL_CONST(0.321646571159363), REAL_CONST(0.321857661008835) },
-    { REAL_CONST(0.000044026888645), REAL_CONST(0.000175927518285), REAL_CONST(0.000701518612914), REAL_CONST(0.002771759871393), REAL_CONST(0.010569252073765), REAL_CONST(0.035623874515295), REAL_CONST(0.087462842464447), REAL_CONST(0.137503549456596), REAL_CONST(0.160464659333229), REAL_CONST(0.167456731200218), REAL_CONST(0.169301137328148), REAL_CONST(0.169768601655960), REAL_CONST(0.169885858893394) },
-    { REAL_CONST(0.000022013611670), REAL_CONST(0.000088052431238), REAL_CONST(0.000350801943569), REAL_CONST(0.001386545598507), REAL_CONST(0.005294219125062), REAL_CONST(0.017921976745129), REAL_CONST(0.044394120573997), REAL_CONST(0.070389263331890), REAL_CONST(0.082462236285210), REAL_CONST(0.086156636476517), REAL_CONST(0.087132595479488), REAL_CONST(0.087379962205887), REAL_CONST(0.087442122399807) },
-    { REAL_CONST(0.000011006847672), REAL_CONST(0.000044026888645), REAL_CONST(0.000175411638338), REAL_CONST(0.000693439331371), REAL_CONST(0.002649537986144), REAL_CONST(0.008988817222416), REAL_CONST(0.022367812693119), REAL_CONST(0.035623874515295), REAL_CONST(0.041820213198662), REAL_CONST(0.043721374124289), REAL_CONST(0.044224001467228), REAL_CONST(0.044351425021887), REAL_CONST(0.044383447617292) },
-    { REAL_CONST(0.000005503434295), REAL_CONST(0.000022013611670), REAL_CONST(0.000087708482170), REAL_CONST(0.000346675369656), REAL_CONST(0.001325377263129), REAL_CONST(0.004501323681325), REAL_CONST(0.011227255687118), REAL_CONST(0.017921976745129), REAL_CONST(0.021061634644866), REAL_CONST(0.022026389837265), REAL_CONST(0.022281449288130), REAL_CONST(0.022346137091517), REAL_CONST(0.022362394258380) },
-    { REAL_CONST(0.000002751719876), REAL_CONST(0.000011006847672), REAL_CONST(0.000043854910473), REAL_CONST(0.000173348103999), REAL_CONST(0.000662840844598), REAL_CONST(0.002252417383716), REAL_CONST(0.005624548997730), REAL_CONST(0.008988817222416), REAL_CONST(0.010569252073765), REAL_CONST(0.011055230163038), REAL_CONST(0.011183738708496), REAL_CONST(0.011216334067285), REAL_CONST(0.011224525049329) },
-    { REAL_CONST(0.000001375860506), REAL_CONST(0.000005503434295), REAL_CONST(0.000022013611670), REAL_CONST(0.000086676649516), REAL_CONST(0.000331544462824), REAL_CONST(0.001126734190620), REAL_CONST(0.002815015614033), REAL_CONST(0.004501323681325), REAL_CONST(0.005294219125062), REAL_CONST(0.005538204684854), REAL_CONST(0.005602621007711), REAL_CONST(0.005619067233056), REAL_CONST(0.005623178556561) },
-    { REAL_CONST(0.000000687930424), REAL_CONST(0.000002751719876), REAL_CONST(0.000011006847672), REAL_CONST(0.000043338975956), REAL_CONST(0.000165781748365), REAL_CONST(0.000563477107789), REAL_CONST(0.001408194424585), REAL_CONST(0.002252417383716), REAL_CONST(0.002649537986144), REAL_CONST(0.002771759871393), REAL_CONST(0.002804030198604), REAL_CONST(0.002812269143760), REAL_CONST(0.002814328996465) },
-    { REAL_CONST(0.000000343965269), REAL_CONST(0.000001375860506), REAL_CONST(0.000005503434295), REAL_CONST(0.000021669651687), REAL_CONST(0.000082893253420), REAL_CONST(0.000281680084299), REAL_CONST(0.000704268983100), REAL_CONST(0.001126734190620), REAL_CONST(0.001325377263129), REAL_CONST(0.001386545598507), REAL_CONST(0.001402696361765), REAL_CONST(0.001406819908880), REAL_CONST(0.001407850766554) },
-    { REAL_CONST(0.000000171982634), REAL_CONST(0.000000687930424), REAL_CONST(0.000002751719876), REAL_CONST(0.000010834866771), REAL_CONST(0.000041447223339), REAL_CONST(0.000140846910654), REAL_CONST(0.000352177477907), REAL_CONST(0.000563477107789), REAL_CONST(0.000662840844598), REAL_CONST(0.000693439331371), REAL_CONST(0.000701518612914), REAL_CONST(0.000703581434209), REAL_CONST(0.000704097095877) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000343965269), REAL_CONST(0.000001375860506), REAL_CONST(0.000005503434295), REAL_CONST(0.000020637769921), REAL_CONST(0.000070511166996), REAL_CONST(0.000176099492819), REAL_CONST(0.000281680084299), REAL_CONST(0.000331544462824), REAL_CONST(0.000346675369656), REAL_CONST(0.000350801943569), REAL_CONST(0.000351833587047), REAL_CONST(0.000352177477907) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000687930424), REAL_CONST(0.000002751719876), REAL_CONST(0.000010318922250), REAL_CONST(0.000035256012779), REAL_CONST(0.000088052431238), REAL_CONST(0.000140846910654), REAL_CONST(0.000165781748365), REAL_CONST(0.000173348103999), REAL_CONST(0.000175411638338), REAL_CONST(0.000175927518285), REAL_CONST(0.000176099492819) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000343965269), REAL_CONST(0.000001375860506), REAL_CONST(0.000005159470220), REAL_CONST(0.000017542124624), REAL_CONST(0.000044026888645), REAL_CONST(0.000070511166996), REAL_CONST(0.000082893253420), REAL_CONST(0.000086676649516), REAL_CONST(0.000087708482170), REAL_CONST(0.000088052431238), REAL_CONST(0.000088052431238) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000687930424), REAL_CONST(0.000002579737384), REAL_CONST(0.000008771088687), REAL_CONST(0.000022013611670), REAL_CONST(0.000035256012779), REAL_CONST(0.000041447223339), REAL_CONST(0.000043338975956), REAL_CONST(0.000043854910473), REAL_CONST(0.000044026888645), REAL_CONST(0.000044026888645) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000343965269), REAL_CONST(0.000001375860506), REAL_CONST(0.000004471542070), REAL_CONST(0.000011006847672), REAL_CONST(0.000017542124624), REAL_CONST(0.000020637769921), REAL_CONST(0.000021669651687), REAL_CONST(0.000022013611670), REAL_CONST(0.000022013611670), REAL_CONST(0.000022013611670) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000687930424), REAL_CONST(0.000002235772627), REAL_CONST(0.000005503434295), REAL_CONST(0.000008771088687), REAL_CONST(0.000010318922250), REAL_CONST(0.000010834866771), REAL_CONST(0.000011006847672), REAL_CONST(0.000011006847672), REAL_CONST(0.000011006847672) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000343965269), REAL_CONST(0.000001031895522), REAL_CONST(0.000002751719876), REAL_CONST(0.000004471542070), REAL_CONST(0.000005159470220), REAL_CONST(0.000005503434295), REAL_CONST(0.000005503434295), REAL_CONST(0.000005503434295), REAL_CONST(0.000005503434295) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000515947875), REAL_CONST(0.000001375860506), REAL_CONST(0.000002235772627), REAL_CONST(0.000002579737384), REAL_CONST(0.000002751719876), REAL_CONST(0.000002751719876), REAL_CONST(0.000002751719876), REAL_CONST(0.000002751719876) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000343965269), REAL_CONST(0.000000687930424), REAL_CONST(0.000001031895522), REAL_CONST(0.000001375860506), REAL_CONST(0.000001375860506), REAL_CONST(0.000001375860506), REAL_CONST(0.000001375860506), REAL_CONST(0.000001375860506) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000343965269), REAL_CONST(0.000000515947875), REAL_CONST(0.000000687930424), REAL_CONST(0.000000687930424), REAL_CONST(0.000000687930424), REAL_CONST(0.000000687930424), REAL_CONST(0.000000687930424) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000343965269), REAL_CONST(0.000000343965269), REAL_CONST(0.000000343965269), REAL_CONST(0.000000343965269), REAL_CONST(0.000000343965269), REAL_CONST(0.000000343965269) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000171982634), REAL_CONST(0.000000171982634), REAL_CONST(0.000000171982634), REAL_CONST(0.000000171982634), REAL_CONST(0.000000171982634) }
-};
-
-static const real_t log_Qplus1[31] = {
-    REAL_CONST(6.022367813028454), REAL_CONST(5.044394119358453), REAL_CONST(4.087462841250339), 
-    REAL_CONST(3.169925001442313), REAL_CONST(2.321928094887362), REAL_CONST(1.584962500721156), 
-    REAL_CONST(1.000000000000000), REAL_CONST(0.584962500721156), REAL_CONST(0.321928094887362), 
-    REAL_CONST(0.169925001442312), REAL_CONST(0.087462841250339), REAL_CONST(0.044394119358453), 
-    REAL_CONST(0.022367813028455), REAL_CONST(0.011227255423254), REAL_CONST(0.005624549193878), 
-    REAL_CONST(0.002815015607054), REAL_CONST(0.001408194392808), REAL_CONST(0.000704269011247), 
-    REAL_CONST(0.000352177480301), REAL_CONST(0.000176099486443), REAL_CONST(0.000088052430122), 
-    REAL_CONST(0.000044026886827), REAL_CONST(0.000022013611360), REAL_CONST(0.000011006847667), 
-    REAL_CONST(0.000005503434331), REAL_CONST(0.000002751719790), REAL_CONST(0.000001375860551), 
-    REAL_CONST(0.000000687930439), REAL_CONST(0.000000343965261), REAL_CONST(0.000000171982641), 
-    REAL_CONST(0.000000000000000)
-};
-
-static real_t find_log2_Qplus1(sbr_info *sbr, uint8_t k, uint8_t l, uint8_t ch)
-{
-    /* check for coupled energy/noise data */
-    if (sbr->bs_coupling == 1)
-    {
-        if ((sbr->Q[0][k][l] >= 0) && (sbr->Q[0][k][l] <= 30) &&
-            (sbr->Q[1][k][l] >= 0) && (sbr->Q[1][k][l] <= 24))
-        {
-            if (ch == 0)
-            {
-                return log_Qplus1_pan[sbr->Q[0][k][l]][sbr->Q[1][k][l] >> 1];
-            } else {
-                return log_Qplus1_pan[sbr->Q[0][k][l]][12 - (sbr->Q[1][k][l] >> 1)];
-            }
-        } else {
-            return 0;
-        }
-    } else {
-        if (sbr->Q[ch][k][l] >= 0 && sbr->Q[ch][k][l] <= 30)
-        {
-            return log_Qplus1[sbr->Q[ch][k][l]];
-        } else {
-            return 0;
-        }
-    }
-}
-
-static void calculate_gain(sbr_info *sbr, sbr_hfadj_info *adj, uint8_t ch)
-{
-    /* log2 values of limiter gains */
-    static real_t limGain[] = {
-        REAL_CONST(-1.0), REAL_CONST(0.0), REAL_CONST(1.0), REAL_CONST(33.219)
-    };
-    uint8_t m, l, k;
-
-    uint8_t current_t_noise_band = 0;
-    uint8_t S_mapped;
-
-    ALIGN real_t Q_M_lim[MAX_M];
-    ALIGN real_t G_lim[MAX_M];
-    ALIGN real_t G_boost;
-    ALIGN real_t S_M[MAX_M];
-
-
-    for (l = 0; l < sbr->L_E[ch]; l++)
-    {
-        uint8_t current_f_noise_band = 0;
-        uint8_t current_res_band = 0;
-        uint8_t current_res_band2 = 0;
-        uint8_t current_hi_res_band = 0;
-
-        real_t delta = (l == sbr->l_A[ch] || l == sbr->prevEnvIsShort[ch]) ? 0 : 1;
-
-        S_mapped = get_S_mapped(sbr, ch, l, current_res_band2);
-
-        if (sbr->t_E[ch][l+1] > sbr->t_Q[ch][current_t_noise_band+1])
-        {
-            current_t_noise_band++;
-        }
-
-        for (k = 0; k < sbr->N_L[sbr->bs_limiter_bands]; k++)
-        {
-            real_t Q_M = 0;
-            real_t G_max;
-            real_t den = 0;
-            real_t acc1 = 0;
-            real_t acc2 = 0;
-            uint8_t current_res_band_size = 0;
-            uint8_t Q_M_size = 0;
-
-            uint8_t ml1, ml2;
-
-            /* bounds of current limiter bands */
-            ml1 = sbr->f_table_lim[sbr->bs_limiter_bands][k];
-            ml2 = sbr->f_table_lim[sbr->bs_limiter_bands][k+1];
-
-
-            /* calculate the accumulated E_orig and E_curr over the limiter band */
-            for (m = ml1; m < ml2; m++)
-            {
-                if ((m + sbr->kx) < sbr->f_table_res[sbr->f[ch][l]][current_res_band+1])
-                {
-                    current_res_band_size++;
-                } else {
-                    acc1 += pow2_int(-REAL_CONST(10) + log2_int_tab[current_res_band_size] + find_log2_E(sbr, current_res_band, l, ch));
-
-                    current_res_band++;
-                    current_res_band_size = 1;
-                }
-
-                acc2 += sbr->E_curr[ch][m][l];
-            }
-            acc1 += pow2_int(-REAL_CONST(10) + log2_int_tab[current_res_band_size] + find_log2_E(sbr, current_res_band, l, ch));
-
-
-            if (acc1 == 0)
-                acc1 = LOG2_MIN_INF;
-            else
-                acc1 = log2_int(acc1);
-
-
-            /* calculate the maximum gain */
-            /* ratio of the energy of the original signal and the energy
-             * of the HF generated signal
-             */
-            G_max = acc1 - log2_int(acc2) + limGain[sbr->bs_limiter_gains];
-            G_max = min(G_max, limGain[3]);
-
-
-            for (m = ml1; m < ml2; m++)
-            {
-                real_t G;
-                real_t E_curr, E_orig;
-                real_t Q_orig, Q_orig_plus1;
-                uint8_t S_index_mapped;
-
-
-                /* check if m is on a noise band border */
-                if ((m + sbr->kx) == sbr->f_table_noise[current_f_noise_band+1])
-                {
-                    /* step to next noise band */
-                    current_f_noise_band++;
-                }
-
-
-                /* check if m is on a resolution band border */
-                if ((m + sbr->kx) == sbr->f_table_res[sbr->f[ch][l]][current_res_band2+1])
-                {
-                    /* accumulate a whole range of equal Q_Ms */
-                    if (Q_M_size > 0)
-                        den += pow2_int(log2_int_tab[Q_M_size] + Q_M);
-                    Q_M_size = 0;
-
-                    /* step to next resolution band */
-                    current_res_band2++;
-
-                    /* if we move to a new resolution band, we should check if we are
-                     * going to add a sinusoid in this band
-                     */
-                    S_mapped = get_S_mapped(sbr, ch, l, current_res_band2);
-                }
-
-
-                /* check if m is on a HI_RES band border */
-                if ((m + sbr->kx) == sbr->f_table_res[HI_RES][current_hi_res_band+1])
-                {
-                    /* step to next HI_RES band */
-                    current_hi_res_band++;
-                }
-
-
-                /* find S_index_mapped
-                 * S_index_mapped can only be 1 for the m in the middle of the
-                 * current HI_RES band
-                 */
-                S_index_mapped = 0;
-                if ((l >= sbr->l_A[ch]) ||
-                    (sbr->bs_add_harmonic_prev[ch][current_hi_res_band] && sbr->bs_add_harmonic_flag_prev[ch]))
-                {
-                    /* find the middle subband of the HI_RES frequency band */
-                    if ((m + sbr->kx) == (sbr->f_table_res[HI_RES][current_hi_res_band+1] + sbr->f_table_res[HI_RES][current_hi_res_band]) >> 1)
-                        S_index_mapped = sbr->bs_add_harmonic[ch][current_hi_res_band];
-                }
-
-
-                /* find bitstream parameters */
-                if (sbr->E_curr[ch][m][l] == 0)
-                    E_curr = LOG2_MIN_INF;
-                else
-                    E_curr = log2_int(sbr->E_curr[ch][m][l]);
-                E_orig = -REAL_CONST(10) + find_log2_E(sbr, current_res_band2, l, ch);
-
-
-                Q_orig = find_log2_Q(sbr, current_f_noise_band, current_t_noise_band, ch);
-                Q_orig_plus1 = find_log2_Qplus1(sbr, current_f_noise_band, current_t_noise_band, ch);
-
-
-                /* Q_M only depends on E_orig and Q_div2:
-                 * since N_Q <= N_Low <= N_High we only need to recalculate Q_M on
-                 * a change of current res band (HI or LO)
-                 */
-                Q_M = E_orig + Q_orig - Q_orig_plus1;
-
-
-                /* S_M only depends on E_orig, Q_div and S_index_mapped:
-                 * S_index_mapped can only be non-zero once per HI_RES band
-                 */
-                if (S_index_mapped == 0)
-                {
-                    S_M[m] = LOG2_MIN_INF; /* -inf */
-                } else {
-                    S_M[m] = E_orig - Q_orig_plus1;
-
-                    /* accumulate sinusoid part of the total energy */
-                    den += pow2_int(S_M[m]);
-                }
-
-
-                /* calculate gain */
-                /* ratio of the energy of the original signal and the energy
-                 * of the HF generated signal
-                 */
-                /* E_curr here is officially E_curr+1 so the log2() of that can never be < 0 */
-                /* scaled by -10 */
-                G = E_orig - max(-REAL_CONST(10), E_curr);
-                if ((S_mapped == 0) && (delta == 1))
-                {
-                    /* G = G * 1/(1+Q) */
-                    G -= Q_orig_plus1;
-                } else if (S_mapped == 1) {
-                    /* G = G * Q/(1+Q) */
-                    G += Q_orig - Q_orig_plus1;
-                }
-
-
-                /* limit the additional noise energy level */
-                /* and apply the limiter */
-                if (G_max > G)
-                {
-                    Q_M_lim[m] = Q_M;
-                    G_lim[m] = G;
-
-                    if ((S_index_mapped == 0) && (l != sbr->l_A[ch]))
-                    {
-                        Q_M_size++;
-                    }
-                } else {
-                    /* G > G_max */
-                    Q_M_lim[m] = Q_M + G_max - G;
-                    G_lim[m] = G_max;
-
-                    /* accumulate limited Q_M */
-                    if ((S_index_mapped == 0) && (l != sbr->l_A[ch]))
-                    {
-                        den += pow2_int(Q_M_lim[m]);
-                    }
-                }
-
-
-                /* accumulate the total energy */
-                /* E_curr changes for every m so we do need to accumulate every m */
-                den += pow2_int(E_curr + G_lim[m]);
-            }
-
-            /* accumulate last range of equal Q_Ms */
-            if (Q_M_size > 0)
-            {
-                den += pow2_int(log2_int_tab[Q_M_size] + Q_M);
-            }
-
-
-            /* calculate the final gain */
-            /* G_boost: [0..2.51188643] */
-            G_boost = acc1 - log2_int(den /*+ EPS*/);
-            G_boost = min(G_boost, REAL_CONST(1.328771237) /* log2(1.584893192 ^ 2) */);
-
-
-            for (m = ml1; m < ml2; m++)
-            {
-                /* apply compensation to gain, noise floor sf's and sinusoid levels */
-#ifndef SBR_LOW_POWER
-                adj->G_lim_boost[l][m] = pow2_fix((G_lim[m] + G_boost) >> 1);
-#else
-                /* sqrt() will be done after the aliasing reduction to save a
-                 * few multiplies
-                 */
-                adj->G_lim_boost[l][m] = pow2_fix(G_lim[m] + G_boost);
-#endif
-                adj->Q_M_lim_boost[l][m] = pow2_fix((Q_M_lim[m] + G_boost) >> 1);
-
-                if (S_M[m] != LOG2_MIN_INF)
-                {
-                    adj->S_M_boost[l][m] = pow2_int((S_M[m] + G_boost) >> 1);
-                } else {
-                    adj->S_M_boost[l][m] = 0;
-                }
-            }
-        }
-    }
-}
-
-#else
-
-//#define LOG2_TEST
-
-#ifdef LOG2_TEST
-
-#define LOG2_MIN_INF -100000
-
-__inline float pow2(float val)
-{
-    return pow(2.0, val);
-}
-__inline float log2(float val)
-{
-    return log(val)/log(2.0);
-}
-
-#define RB 14
-
-float QUANTISE2REAL(float val)
-{
-    __int32 ival = (__int32)(val * (1<<RB));
-    return (float)ival / (float)((1<<RB));
-}
-
-float QUANTISE2INT(float val)
-{
-    return floor(val);
-}
-
-/* log2 values of [0..63] */
-static const real_t log2_int_tab[] = {
-    LOG2_MIN_INF,      0.000000000000000, 1.000000000000000, 1.584962500721156,
-    2.000000000000000, 2.321928094887362, 2.584962500721156, 2.807354922057604,
-    3.000000000000000, 3.169925001442313, 3.321928094887363, 3.459431618637297,
-    3.584962500721156, 3.700439718141092, 3.807354922057604, 3.906890595608519,
-    4.000000000000000, 4.087462841250339, 4.169925001442312, 4.247927513443585,
-    4.321928094887362, 4.392317422778761, 4.459431618637297, 4.523561956057013,
-    4.584962500721156, 4.643856189774724, 4.700439718141093, 4.754887502163468,
-    4.807354922057604, 4.857980995127572, 4.906890595608519, 4.954196310386875,
-    5.000000000000000, 5.044394119358453, 5.087462841250340, 5.129283016944966,
-    5.169925001442312, 5.209453365628949, 5.247927513443585, 5.285402218862248,
-    5.321928094887363, 5.357552004618084, 5.392317422778761, 5.426264754702098,
-    5.459431618637297, 5.491853096329675, 5.523561956057013, 5.554588851677637,
-    5.584962500721156, 5.614709844115208, 5.643856189774724, 5.672425341971495,
-    5.700439718141093, 5.727920454563200, 5.754887502163469, 5.781359713524660,
-    5.807354922057605, 5.832890014164742, 5.857980995127572, 5.882643049361842,
-    5.906890595608518, 5.930737337562887, 5.954196310386876, 5.977279923499916
-};
-
-static const real_t pan_log2_tab[] = {
-    1.000000000000000, 0.584962500721156, 0.321928094887362, 0.169925001442312, 0.087462841250339,
-    0.044394119358453, 0.022367813028455, 0.011227255423254, 0.005624549193878, 0.002815015607054,
-    0.001408194392808, 0.000704269011247, 0.000352177480301, 0.000176099486443, 0.000088052430122,
-    0.000044026886827, 0.000022013611360, 0.000011006847667
-};
-
-static real_t find_log2_E(sbr_info *sbr, uint8_t k, uint8_t l, uint8_t ch)
-{
-    /* check for coupled energy/noise data */
-    if (sbr->bs_coupling == 1)
-    {
-        real_t amp0 = (sbr->amp_res[0]) ? 1.0 : 0.5;
-        real_t amp1 = (sbr->amp_res[1]) ? 1.0 : 0.5;
-        float tmp = QUANTISE2REAL(7.0 + (real_t)sbr->E[0][k][l] * amp0);
-        float pan;
-
-        int E = (int)(sbr->E[1][k][l] * amp1);
-
-        if (ch == 0)
-        {
-            if (E > 12)
-            {
-                /* negative */
-                pan = QUANTISE2REAL(pan_log2_tab[-12 + E]);
-            } else {
-                /* positive */
-                pan = QUANTISE2REAL(pan_log2_tab[12 - E] + (12 - E));
-            }
-        } else {
-            if (E < 12)
-            {
-                /* negative */
-                pan = QUANTISE2REAL(pan_log2_tab[-E + 12]);
-            } else {
-                /* positive */
-                pan = QUANTISE2REAL(pan_log2_tab[E - 12] + (E - 12));
-            }
-        }
-
-        /* tmp / pan in log2 */
-        return QUANTISE2REAL(tmp - pan);
-    } else {
-        real_t amp = (sbr->amp_res[ch]) ? 1.0 : 0.5;
-
-        return QUANTISE2REAL(6.0 + (real_t)sbr->E[ch][k][l] * amp);
-    }
-}
-
-static real_t find_log2_Q(sbr_info *sbr, uint8_t k, uint8_t l, uint8_t ch)
-{
-    /* check for coupled energy/noise data */
-    if (sbr->bs_coupling == 1)
-    {
-        float tmp = QUANTISE2REAL(7.0 - (real_t)sbr->Q[0][k][l]);
-        float pan;
-
-        int Q = (int)(sbr->Q[1][k][l]);
-
-        if (ch == 0)
-        {
-            if (Q > 12)
-            {
-                /* negative */
-                pan = QUANTISE2REAL(pan_log2_tab[-12 + Q]);
-            } else {
-                /* positive */
-                pan = QUANTISE2REAL(pan_log2_tab[12 - Q] + (12 - Q));
-            }
-        } else {
-            if (Q < 12)
-            {
-                /* negative */
-                pan = QUANTISE2REAL(pan_log2_tab[-Q + 12]);
-            } else {
-                /* positive */
-                pan = QUANTISE2REAL(pan_log2_tab[Q - 12] + (Q - 12));
-            }
-        }
-
-        /* tmp / pan in log2 */
-        return QUANTISE2REAL(tmp - pan);
-    } else {
-        return QUANTISE2REAL(6.0 - (real_t)sbr->Q[ch][k][l]);
-    }
-}
-
-static const real_t log_Qplus1_pan[31][13] = {
-    { REAL_CONST(0.044383447617292), REAL_CONST(0.169768601655960), REAL_CONST(0.583090126514435), REAL_CONST(1.570089221000671), REAL_CONST(3.092446088790894), REAL_CONST(4.733354568481445), REAL_CONST(6.022367954254150), REAL_CONST(6.692092418670654), REAL_CONST(6.924463272094727), REAL_CONST(6.989034175872803), REAL_CONST(7.005646705627441), REAL_CONST(7.009829998016357), REAL_CONST(7.010877609252930) },
-    { REAL_CONST(0.022362394258380), REAL_CONST(0.087379962205887), REAL_CONST(0.320804953575134), REAL_CONST(0.988859415054321), REAL_CONST(2.252387046813965), REAL_CONST(3.786596298217773), REAL_CONST(5.044394016265869), REAL_CONST(5.705977916717529), REAL_CONST(5.936291694641113), REAL_CONST(6.000346660614014), REAL_CONST(6.016829967498779), REAL_CONST(6.020981311798096), REAL_CONST(6.022020816802979) },
-    { REAL_CONST(0.011224525049329), REAL_CONST(0.044351425021887), REAL_CONST(0.169301137328148), REAL_CONST(0.577544987201691), REAL_CONST(1.527246952056885), REAL_CONST(2.887525320053101), REAL_CONST(4.087462902069092), REAL_CONST(4.733354568481445), REAL_CONST(4.959661006927490), REAL_CONST(5.022709369659424), REAL_CONST(5.038940429687500), REAL_CONST(5.043028831481934), REAL_CONST(5.044052600860596) },
-    { REAL_CONST(0.005623178556561), REAL_CONST(0.022346137091517), REAL_CONST(0.087132595479488), REAL_CONST(0.317482173442841), REAL_CONST(0.956931233406067), REAL_CONST(2.070389270782471), REAL_CONST(3.169924974441528), REAL_CONST(3.786596298217773), REAL_CONST(4.005294322967529), REAL_CONST(4.066420555114746), REAL_CONST(4.082170009613037), REAL_CONST(4.086137294769287), REAL_CONST(4.087131500244141) },
-    { REAL_CONST(0.002814328996465), REAL_CONST(0.011216334067285), REAL_CONST(0.044224001467228), REAL_CONST(0.167456731200218), REAL_CONST(0.556393325328827), REAL_CONST(1.378511548042297), REAL_CONST(2.321928024291992), REAL_CONST(2.887525320053101), REAL_CONST(3.092446088790894), REAL_CONST(3.150059700012207), REAL_CONST(3.164926528930664), REAL_CONST(3.168673276901245), REAL_CONST(3.169611930847168) },
-    { REAL_CONST(0.001407850766554), REAL_CONST(0.005619067233056), REAL_CONST(0.022281449288130), REAL_CONST(0.086156636476517), REAL_CONST(0.304854571819305), REAL_CONST(0.847996890544891), REAL_CONST(1.584962487220764), REAL_CONST(2.070389270782471), REAL_CONST(2.252387046813965), REAL_CONST(2.304061651229858), REAL_CONST(2.317430257797241), REAL_CONST(2.320801734924316), REAL_CONST(2.321646213531494) },
-    { REAL_CONST(0.000704097095877), REAL_CONST(0.002812269143760), REAL_CONST(0.011183738708496), REAL_CONST(0.043721374124289), REAL_CONST(0.160464659333229), REAL_CONST(0.485426813364029), REAL_CONST(1.000000000000000), REAL_CONST(1.378511548042297), REAL_CONST(1.527246952056885), REAL_CONST(1.570089221000671), REAL_CONST(1.581215262413025), REAL_CONST(1.584023833274841), REAL_CONST(1.584727644920349) },
-    { REAL_CONST(0.000352177477907), REAL_CONST(0.001406819908880), REAL_CONST(0.005602621007711), REAL_CONST(0.022026389837265), REAL_CONST(0.082462236285210), REAL_CONST(0.263034462928772), REAL_CONST(0.584962487220764), REAL_CONST(0.847996890544891), REAL_CONST(0.956931233406067), REAL_CONST(0.988859415054321), REAL_CONST(0.997190535068512), REAL_CONST(0.999296069145203), REAL_CONST(0.999823868274689) },
-    { REAL_CONST(0.000176099492819), REAL_CONST(0.000703581434209), REAL_CONST(0.002804030198604), REAL_CONST(0.011055230163038), REAL_CONST(0.041820213198662), REAL_CONST(0.137503549456596), REAL_CONST(0.321928083896637), REAL_CONST(0.485426813364029), REAL_CONST(0.556393325328827), REAL_CONST(0.577544987201691), REAL_CONST(0.583090126514435), REAL_CONST(0.584493279457092), REAL_CONST(0.584845066070557) },
-    { REAL_CONST(0.000088052431238), REAL_CONST(0.000351833587047), REAL_CONST(0.001402696361765), REAL_CONST(0.005538204684854), REAL_CONST(0.021061634644866), REAL_CONST(0.070389263331890), REAL_CONST(0.169925004243851), REAL_CONST(0.263034462928772), REAL_CONST(0.304854571819305), REAL_CONST(0.317482173442841), REAL_CONST(0.320804953575134), REAL_CONST(0.321646571159363), REAL_CONST(0.321857661008835) },
-    { REAL_CONST(0.000044026888645), REAL_CONST(0.000175927518285), REAL_CONST(0.000701518612914), REAL_CONST(0.002771759871393), REAL_CONST(0.010569252073765), REAL_CONST(0.035623874515295), REAL_CONST(0.087462842464447), REAL_CONST(0.137503549456596), REAL_CONST(0.160464659333229), REAL_CONST(0.167456731200218), REAL_CONST(0.169301137328148), REAL_CONST(0.169768601655960), REAL_CONST(0.169885858893394) },
-    { REAL_CONST(0.000022013611670), REAL_CONST(0.000088052431238), REAL_CONST(0.000350801943569), REAL_CONST(0.001386545598507), REAL_CONST(0.005294219125062), REAL_CONST(0.017921976745129), REAL_CONST(0.044394120573997), REAL_CONST(0.070389263331890), REAL_CONST(0.082462236285210), REAL_CONST(0.086156636476517), REAL_CONST(0.087132595479488), REAL_CONST(0.087379962205887), REAL_CONST(0.087442122399807) },
-    { REAL_CONST(0.000011006847672), REAL_CONST(0.000044026888645), REAL_CONST(0.000175411638338), REAL_CONST(0.000693439331371), REAL_CONST(0.002649537986144), REAL_CONST(0.008988817222416), REAL_CONST(0.022367812693119), REAL_CONST(0.035623874515295), REAL_CONST(0.041820213198662), REAL_CONST(0.043721374124289), REAL_CONST(0.044224001467228), REAL_CONST(0.044351425021887), REAL_CONST(0.044383447617292) },
-    { REAL_CONST(0.000005503434295), REAL_CONST(0.000022013611670), REAL_CONST(0.000087708482170), REAL_CONST(0.000346675369656), REAL_CONST(0.001325377263129), REAL_CONST(0.004501323681325), REAL_CONST(0.011227255687118), REAL_CONST(0.017921976745129), REAL_CONST(0.021061634644866), REAL_CONST(0.022026389837265), REAL_CONST(0.022281449288130), REAL_CONST(0.022346137091517), REAL_CONST(0.022362394258380) },
-    { REAL_CONST(0.000002751719876), REAL_CONST(0.000011006847672), REAL_CONST(0.000043854910473), REAL_CONST(0.000173348103999), REAL_CONST(0.000662840844598), REAL_CONST(0.002252417383716), REAL_CONST(0.005624548997730), REAL_CONST(0.008988817222416), REAL_CONST(0.010569252073765), REAL_CONST(0.011055230163038), REAL_CONST(0.011183738708496), REAL_CONST(0.011216334067285), REAL_CONST(0.011224525049329) },
-    { REAL_CONST(0.000001375860506), REAL_CONST(0.000005503434295), REAL_CONST(0.000022013611670), REAL_CONST(0.000086676649516), REAL_CONST(0.000331544462824), REAL_CONST(0.001126734190620), REAL_CONST(0.002815015614033), REAL_CONST(0.004501323681325), REAL_CONST(0.005294219125062), REAL_CONST(0.005538204684854), REAL_CONST(0.005602621007711), REAL_CONST(0.005619067233056), REAL_CONST(0.005623178556561) },
-    { REAL_CONST(0.000000687930424), REAL_CONST(0.000002751719876), REAL_CONST(0.000011006847672), REAL_CONST(0.000043338975956), REAL_CONST(0.000165781748365), REAL_CONST(0.000563477107789), REAL_CONST(0.001408194424585), REAL_CONST(0.002252417383716), REAL_CONST(0.002649537986144), REAL_CONST(0.002771759871393), REAL_CONST(0.002804030198604), REAL_CONST(0.002812269143760), REAL_CONST(0.002814328996465) },
-    { REAL_CONST(0.000000343965269), REAL_CONST(0.000001375860506), REAL_CONST(0.000005503434295), REAL_CONST(0.000021669651687), REAL_CONST(0.000082893253420), REAL_CONST(0.000281680084299), REAL_CONST(0.000704268983100), REAL_CONST(0.001126734190620), REAL_CONST(0.001325377263129), REAL_CONST(0.001386545598507), REAL_CONST(0.001402696361765), REAL_CONST(0.001406819908880), REAL_CONST(0.001407850766554) },
-    { REAL_CONST(0.000000171982634), REAL_CONST(0.000000687930424), REAL_CONST(0.000002751719876), REAL_CONST(0.000010834866771), REAL_CONST(0.000041447223339), REAL_CONST(0.000140846910654), REAL_CONST(0.000352177477907), REAL_CONST(0.000563477107789), REAL_CONST(0.000662840844598), REAL_CONST(0.000693439331371), REAL_CONST(0.000701518612914), REAL_CONST(0.000703581434209), REAL_CONST(0.000704097095877) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000343965269), REAL_CONST(0.000001375860506), REAL_CONST(0.000005503434295), REAL_CONST(0.000020637769921), REAL_CONST(0.000070511166996), REAL_CONST(0.000176099492819), REAL_CONST(0.000281680084299), REAL_CONST(0.000331544462824), REAL_CONST(0.000346675369656), REAL_CONST(0.000350801943569), REAL_CONST(0.000351833587047), REAL_CONST(0.000352177477907) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000687930424), REAL_CONST(0.000002751719876), REAL_CONST(0.000010318922250), REAL_CONST(0.000035256012779), REAL_CONST(0.000088052431238), REAL_CONST(0.000140846910654), REAL_CONST(0.000165781748365), REAL_CONST(0.000173348103999), REAL_CONST(0.000175411638338), REAL_CONST(0.000175927518285), REAL_CONST(0.000176099492819) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000343965269), REAL_CONST(0.000001375860506), REAL_CONST(0.000005159470220), REAL_CONST(0.000017542124624), REAL_CONST(0.000044026888645), REAL_CONST(0.000070511166996), REAL_CONST(0.000082893253420), REAL_CONST(0.000086676649516), REAL_CONST(0.000087708482170), REAL_CONST(0.000088052431238), REAL_CONST(0.000088052431238) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000687930424), REAL_CONST(0.000002579737384), REAL_CONST(0.000008771088687), REAL_CONST(0.000022013611670), REAL_CONST(0.000035256012779), REAL_CONST(0.000041447223339), REAL_CONST(0.000043338975956), REAL_CONST(0.000043854910473), REAL_CONST(0.000044026888645), REAL_CONST(0.000044026888645) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000343965269), REAL_CONST(0.000001375860506), REAL_CONST(0.000004471542070), REAL_CONST(0.000011006847672), REAL_CONST(0.000017542124624), REAL_CONST(0.000020637769921), REAL_CONST(0.000021669651687), REAL_CONST(0.000022013611670), REAL_CONST(0.000022013611670), REAL_CONST(0.000022013611670) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000687930424), REAL_CONST(0.000002235772627), REAL_CONST(0.000005503434295), REAL_CONST(0.000008771088687), REAL_CONST(0.000010318922250), REAL_CONST(0.000010834866771), REAL_CONST(0.000011006847672), REAL_CONST(0.000011006847672), REAL_CONST(0.000011006847672) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000343965269), REAL_CONST(0.000001031895522), REAL_CONST(0.000002751719876), REAL_CONST(0.000004471542070), REAL_CONST(0.000005159470220), REAL_CONST(0.000005503434295), REAL_CONST(0.000005503434295), REAL_CONST(0.000005503434295), REAL_CONST(0.000005503434295) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000515947875), REAL_CONST(0.000001375860506), REAL_CONST(0.000002235772627), REAL_CONST(0.000002579737384), REAL_CONST(0.000002751719876), REAL_CONST(0.000002751719876), REAL_CONST(0.000002751719876), REAL_CONST(0.000002751719876) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000343965269), REAL_CONST(0.000000687930424), REAL_CONST(0.000001031895522), REAL_CONST(0.000001375860506), REAL_CONST(0.000001375860506), REAL_CONST(0.000001375860506), REAL_CONST(0.000001375860506), REAL_CONST(0.000001375860506) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000343965269), REAL_CONST(0.000000515947875), REAL_CONST(0.000000687930424), REAL_CONST(0.000000687930424), REAL_CONST(0.000000687930424), REAL_CONST(0.000000687930424), REAL_CONST(0.000000687930424) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000343965269), REAL_CONST(0.000000343965269), REAL_CONST(0.000000343965269), REAL_CONST(0.000000343965269), REAL_CONST(0.000000343965269), REAL_CONST(0.000000343965269) },
-    { REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000000000000), REAL_CONST(0.000000171982634), REAL_CONST(0.000000171982634), REAL_CONST(0.000000171982634), REAL_CONST(0.000000171982634), REAL_CONST(0.000000171982634), REAL_CONST(0.000000171982634) }
-};
-
-static const real_t log_Qplus1[31] = {
-    REAL_CONST(6.022367813028454), REAL_CONST(5.044394119358453), REAL_CONST(4.087462841250339), 
-    REAL_CONST(3.169925001442313), REAL_CONST(2.321928094887362), REAL_CONST(1.584962500721156), 
-    REAL_CONST(1.000000000000000), REAL_CONST(0.584962500721156), REAL_CONST(0.321928094887362), 
-    REAL_CONST(0.169925001442312), REAL_CONST(0.087462841250339), REAL_CONST(0.044394119358453), 
-    REAL_CONST(0.022367813028455), REAL_CONST(0.011227255423254), REAL_CONST(0.005624549193878), 
-    REAL_CONST(0.002815015607054), REAL_CONST(0.001408194392808), REAL_CONST(0.000704269011247), 
-    REAL_CONST(0.000352177480301), REAL_CONST(0.000176099486443), REAL_CONST(0.000088052430122), 
-    REAL_CONST(0.000044026886827), REAL_CONST(0.000022013611360), REAL_CONST(0.000011006847667), 
-    REAL_CONST(0.000005503434331), REAL_CONST(0.000002751719790), REAL_CONST(0.000001375860551), 
-    REAL_CONST(0.000000687930439), REAL_CONST(0.000000343965261), REAL_CONST(0.000000171982641), 
-    REAL_CONST(0.000000000000000)
-};
-
-static real_t find_log2_Qplus1(sbr_info *sbr, uint8_t k, uint8_t l, uint8_t ch)
-{
-    /* check for coupled energy/noise data */
-    if (sbr->bs_coupling == 1)
-    {
-        if ((sbr->Q[0][k][l] >= 0) && (sbr->Q[0][k][l] <= 30) &&
-            (sbr->Q[1][k][l] >= 0) && (sbr->Q[1][k][l] <= 24))
-        {
-            if (ch == 0)
-            {
-                return QUANTISE2REAL(log_Qplus1_pan[sbr->Q[0][k][l]][sbr->Q[1][k][l] >> 1]);
-            } else {
-                return QUANTISE2REAL(log_Qplus1_pan[sbr->Q[0][k][l]][12 - (sbr->Q[1][k][l] >> 1)]);
-            }
-        } else {
-            return 0;
-        }
-    } else {
-        if (sbr->Q[ch][k][l] >= 0 && sbr->Q[ch][k][l] <= 30)
-        {
-            return QUANTISE2REAL(log_Qplus1[sbr->Q[ch][k][l]]);
-        } else {
-            return 0;
-        }
-    }
-}
-
-static void calculate_gain(sbr_info *sbr, sbr_hfadj_info *adj, uint8_t ch)
-{
-    /* log2 values of limiter gains */
-    static real_t limGain[] = { -1.0, 0.0, 1.0, 33.219 };
-    uint8_t m, l, k;
-
-    uint8_t current_t_noise_band = 0;
-    uint8_t S_mapped;
-
-    ALIGN real_t Q_M_lim[MAX_M];
-    ALIGN real_t G_lim[MAX_M];
-    ALIGN real_t G_boost;
-    ALIGN real_t S_M[MAX_M];
-
-
-    for (l = 0; l < sbr->L_E[ch]; l++)
-    {
-        uint8_t current_f_noise_band = 0;
-        uint8_t current_res_band = 0;
-        uint8_t current_res_band2 = 0;
-        uint8_t current_hi_res_band = 0;
-
-        real_t delta = (l == sbr->l_A[ch] || l == sbr->prevEnvIsShort[ch]) ? 0 : 1;
-
-        S_mapped = get_S_mapped(sbr, ch, l, current_res_band2);
-
-        if (sbr->t_E[ch][l+1] > sbr->t_Q[ch][current_t_noise_band+1])
-        {
-            current_t_noise_band++;
-        }
-
-        for (k = 0; k < sbr->N_L[sbr->bs_limiter_bands]; k++)
-        {
-            real_t Q_M = 0;
-            real_t G_max;
-            real_t den = 0;
-            real_t acc1 = 0;
-            real_t acc2 = 0;
-            uint8_t current_res_band_size = 0;
-            uint8_t Q_M_size = 0;
-
-            uint8_t ml1, ml2;
-
-            /* bounds of current limiter bands */
-            ml1 = sbr->f_table_lim[sbr->bs_limiter_bands][k];
-            ml2 = sbr->f_table_lim[sbr->bs_limiter_bands][k+1];
-
-
-            /* calculate the accumulated E_orig and E_curr over the limiter band */
-            for (m = ml1; m < ml2; m++)
-            {
-                if ((m + sbr->kx) < sbr->f_table_res[sbr->f[ch][l]][current_res_band+1])
-                {
-                    current_res_band_size++;
-                } else {
-                    acc1 += QUANTISE2INT(pow2(-10 + log2_int_tab[current_res_band_size] + find_log2_E(sbr, current_res_band, l, ch)));
-
-                    current_res_band++;
-                    current_res_band_size = 1;
-                }
-
-                acc2 += QUANTISE2INT(sbr->E_curr[ch][m][l]/1024.0);
-            }
-            acc1 += QUANTISE2INT(pow2(-10 + log2_int_tab[current_res_band_size] + find_log2_E(sbr, current_res_band, l, ch)));
-
-            acc1 = QUANTISE2REAL( log2(EPS + acc1) );
-
-
-            /* calculate the maximum gain */
-            /* ratio of the energy of the original signal and the energy
-             * of the HF generated signal
-             */
-            G_max = acc1 - QUANTISE2REAL(log2(EPS + acc2)) + QUANTISE2REAL(limGain[sbr->bs_limiter_gains]);
-            G_max = min(G_max, QUANTISE2REAL(limGain[3]));
-
-
-            for (m = ml1; m < ml2; m++)
-            {
-                real_t G;
-                real_t E_curr, E_orig;
-                real_t Q_orig, Q_orig_plus1;
-                uint8_t S_index_mapped;
-
-
-                /* check if m is on a noise band border */
-                if ((m + sbr->kx) == sbr->f_table_noise[current_f_noise_band+1])
-                {
-                    /* step to next noise band */
-                    current_f_noise_band++;
-                }
-
-
-                /* check if m is on a resolution band border */
-                if ((m + sbr->kx) == sbr->f_table_res[sbr->f[ch][l]][current_res_band2+1])
-                {
-                    /* accumulate a whole range of equal Q_Ms */
-                    if (Q_M_size > 0)
-                        den += QUANTISE2INT(pow2(log2_int_tab[Q_M_size] + Q_M));
-                    Q_M_size = 0;
-
-                    /* step to next resolution band */
-                    current_res_band2++;
-
-                    /* if we move to a new resolution band, we should check if we are
-                     * going to add a sinusoid in this band
-                     */
-                    S_mapped = get_S_mapped(sbr, ch, l, current_res_band2);
-                }
-
-
-                /* check if m is on a HI_RES band border */
-                if ((m + sbr->kx) == sbr->f_table_res[HI_RES][current_hi_res_band+1])
-                {
-                    /* step to next HI_RES band */
-                    current_hi_res_band++;
-                }
-
-
-                /* find S_index_mapped
-                 * S_index_mapped can only be 1 for the m in the middle of the
-                 * current HI_RES band
-                 */
-                S_index_mapped = 0;
-                if ((l >= sbr->l_A[ch]) ||
-                    (sbr->bs_add_harmonic_prev[ch][current_hi_res_band] && sbr->bs_add_harmonic_flag_prev[ch]))
-                {
-                    /* find the middle subband of the HI_RES frequency band */
-                    if ((m + sbr->kx) == (sbr->f_table_res[HI_RES][current_hi_res_band+1] + sbr->f_table_res[HI_RES][current_hi_res_band]) >> 1)
-                        S_index_mapped = sbr->bs_add_harmonic[ch][current_hi_res_band];
-                }
-
-
-                /* find bitstream parameters */
-                if (sbr->E_curr[ch][m][l] == 0)
-                    E_curr = LOG2_MIN_INF;
-                else
-                    E_curr = -10 + log2(sbr->E_curr[ch][m][l]);
-                E_orig = -10 + find_log2_E(sbr, current_res_band2, l, ch);
-
-                Q_orig = find_log2_Q(sbr, current_f_noise_band, current_t_noise_band, ch);
-                Q_orig_plus1 = find_log2_Qplus1(sbr, current_f_noise_band, current_t_noise_band, ch);
-
-
-                /* Q_M only depends on E_orig and Q_div2:
-                 * since N_Q <= N_Low <= N_High we only need to recalculate Q_M on
-                 * a change of current res band (HI or LO)
-                 */
-                Q_M = E_orig + Q_orig - Q_orig_plus1;
-
-
-                /* S_M only depends on E_orig, Q_div and S_index_mapped:
-                 * S_index_mapped can only be non-zero once per HI_RES band
-                 */
-                if (S_index_mapped == 0)
-                {
-                    S_M[m] = LOG2_MIN_INF; /* -inf */
-                } else {
-                    S_M[m] = E_orig - Q_orig_plus1;
-
-                    /* accumulate sinusoid part of the total energy */
-                    den += pow2(S_M[m]);
-                }
-
-
-                /* calculate gain */
-                /* ratio of the energy of the original signal and the energy
-                 * of the HF generated signal
-                 */
-                /* E_curr here is officially E_curr+1 so the log2() of that can never be < 0 */
-                /* scaled by -10 */
-                G = E_orig - max(-10, E_curr);
-                if ((S_mapped == 0) && (delta == 1))
-                {
-                    /* G = G * 1/(1+Q) */
-                    G -= Q_orig_plus1;
-                } else if (S_mapped == 1) {
-                    /* G = G * Q/(1+Q) */
-                    G += Q_orig - Q_orig_plus1;
-                }
-
-
-                /* limit the additional noise energy level */
-                /* and apply the limiter */
-                if (G_max > G)
-                {
-                    Q_M_lim[m] = QUANTISE2REAL(Q_M);
-                    G_lim[m] = QUANTISE2REAL(G);
-
-                    if ((S_index_mapped == 0) && (l != sbr->l_A[ch]))
-                    {
-                        Q_M_size++;
-                    }
-                } else {
-                    /* G > G_max */
-                    Q_M_lim[m] = QUANTISE2REAL(Q_M) + G_max - QUANTISE2REAL(G);
-                    G_lim[m] = G_max;
-
-                    /* accumulate limited Q_M */
-                    if ((S_index_mapped == 0) && (l != sbr->l_A[ch]))
-                    {
-                        den += QUANTISE2INT(pow2(Q_M_lim[m]));
-                    }
-                }
-
-
-                /* accumulate the total energy */
-                /* E_curr changes for every m so we do need to accumulate every m */
-                den += QUANTISE2INT(pow2(E_curr + G_lim[m]));
-            }
-
-            /* accumulate last range of equal Q_Ms */
-            if (Q_M_size > 0)
-            {
-                den += QUANTISE2INT(pow2(log2_int_tab[Q_M_size] + Q_M));
-            }
-
-
-            /* calculate the final gain */
-            /* G_boost: [0..2.51188643] */
-            G_boost = acc1 - QUANTISE2REAL(log2(den + EPS));
-            G_boost = min(G_boost, QUANTISE2REAL(1.328771237) /* log2(1.584893192 ^ 2) */);
-
-
-            for (m = ml1; m < ml2; m++)
-            {
-                /* apply compensation to gain, noise floor sf's and sinusoid levels */
-#ifndef SBR_LOW_POWER
-                adj->G_lim_boost[l][m] = QUANTISE2REAL(pow2((G_lim[m] + G_boost) / 2.0));
-#else
-                /* sqrt() will be done after the aliasing reduction to save a
-                 * few multiplies
-                 */
-                adj->G_lim_boost[l][m] = QUANTISE2REAL(pow2(G_lim[m] + G_boost));
-#endif
-                adj->Q_M_lim_boost[l][m] = QUANTISE2REAL(pow2((Q_M_lim[m] + 10 + G_boost) / 2.0));
-
-                if (S_M[m] != LOG2_MIN_INF)
-                {
-                    adj->S_M_boost[l][m] = QUANTISE2REAL(pow2((S_M[m] + 10 + G_boost) / 2.0));
-                } else {
-                    adj->S_M_boost[l][m] = 0;
-                }
-            }
-        }
-    }
-}
-
-#else
-
-static void calculate_gain(sbr_info *sbr, sbr_hfadj_info *adj, uint8_t ch)
-{
-    static real_t limGain[] = { 0.5, 1.0, 2.0, 1e10 };
-    uint8_t m, l, k;
-
-    uint8_t current_t_noise_band = 0;
-    uint8_t S_mapped;
-
-    ALIGN real_t Q_M_lim[MAX_M];
-    ALIGN real_t G_lim[MAX_M];
-    ALIGN real_t G_boost;
-    ALIGN real_t S_M[MAX_M];
-
-    for (l = 0; l < sbr->L_E[ch]; l++)
-    {
-        uint8_t current_f_noise_band = 0;
-        uint8_t current_res_band = 0;
-        uint8_t current_res_band2 = 0;
-        uint8_t current_hi_res_band = 0;
-
-        real_t delta = (l == sbr->l_A[ch] || l == sbr->prevEnvIsShort[ch]) ? 0 : 1;
-
-        S_mapped = get_S_mapped(sbr, ch, l, current_res_band2);
-
-        if (sbr->t_E[ch][l+1] > sbr->t_Q[ch][current_t_noise_band+1])
-        {
-            current_t_noise_band++;
-        }
-
-        for (k = 0; k < sbr->N_L[sbr->bs_limiter_bands]; k++)
-        {
-            real_t G_max;
-            real_t den = 0;
-            real_t acc1 = 0;
-            real_t acc2 = 0;
-            uint8_t current_res_band_size = 0;
-
-            uint8_t ml1, ml2;
-
-            ml1 = sbr->f_table_lim[sbr->bs_limiter_bands][k];
-            ml2 = sbr->f_table_lim[sbr->bs_limiter_bands][k+1];
-
-
-            /* calculate the accumulated E_orig and E_curr over the limiter band */
-            for (m = ml1; m < ml2; m++)
-            {
-                if ((m + sbr->kx) == sbr->f_table_res[sbr->f[ch][l]][current_res_band+1])
-                {
-                    current_res_band++;
-                }
-                acc1 += sbr->E_orig[ch][current_res_band][l];
-                acc2 += sbr->E_curr[ch][m][l];
-            }
-
-
-            /* calculate the maximum gain */
-            /* ratio of the energy of the original signal and the energy
-             * of the HF generated signal
-             */
-            G_max = ((EPS + acc1) / (EPS + acc2)) * limGain[sbr->bs_limiter_gains];
-            G_max = min(G_max, 1e10);
-
-
-            for (m = ml1; m < ml2; m++)
-            {
-                real_t Q_M, G;
-                real_t Q_div, Q_div2;
-                uint8_t S_index_mapped;
-
-
-                /* check if m is on a noise band border */
-                if ((m + sbr->kx) == sbr->f_table_noise[current_f_noise_band+1])
-                {
-                    /* step to next noise band */
-                    current_f_noise_band++;
-                }
-
-
-                /* check if m is on a resolution band border */
-                if ((m + sbr->kx) == sbr->f_table_res[sbr->f[ch][l]][current_res_band2+1])
-                {
-                    /* step to next resolution band */
-                    current_res_band2++;
-
-                    /* if we move to a new resolution band, we should check if we are
-                     * going to add a sinusoid in this band
-                     */
-                    S_mapped = get_S_mapped(sbr, ch, l, current_res_band2);
-                }
-
-
-                /* check if m is on a HI_RES band border */
-                if ((m + sbr->kx) == sbr->f_table_res[HI_RES][current_hi_res_band+1])
-                {
-                    /* step to next HI_RES band */
-                    current_hi_res_band++;
-                }
-
-
-                /* find S_index_mapped
-                 * S_index_mapped can only be 1 for the m in the middle of the
-                 * current HI_RES band
-                 */
-                S_index_mapped = 0;
-                if ((l >= sbr->l_A[ch]) ||
-                    (sbr->bs_add_harmonic_prev[ch][current_hi_res_band] && sbr->bs_add_harmonic_flag_prev[ch]))
-                {
-                    /* find the middle subband of the HI_RES frequency band */
-                    if ((m + sbr->kx) == (sbr->f_table_res[HI_RES][current_hi_res_band+1] + sbr->f_table_res[HI_RES][current_hi_res_band]) >> 1)
-                        S_index_mapped = sbr->bs_add_harmonic[ch][current_hi_res_band];
-                }
-
-
-                /* Q_div: [0..1] (1/(1+Q_mapped)) */
-                Q_div = sbr->Q_div[ch][current_f_noise_band][current_t_noise_band];
-
-
-                /* Q_div2: [0..1] (Q_mapped/(1+Q_mapped)) */
-                Q_div2 = sbr->Q_div2[ch][current_f_noise_band][current_t_noise_band];
-
-
-                /* Q_M only depends on E_orig and Q_div2:
-                 * since N_Q <= N_Low <= N_High we only need to recalculate Q_M on
-                 * a change of current noise band
-                 */
-                Q_M = sbr->E_orig[ch][current_res_band2][l] * Q_div2;
-
-
-                /* S_M only depends on E_orig, Q_div and S_index_mapped:
-                 * S_index_mapped can only be non-zero once per HI_RES band
-                 */
-                if (S_index_mapped == 0)
-                {
-                    S_M[m] = 0;
-                } else {
-                    S_M[m] = sbr->E_orig[ch][current_res_band2][l] * Q_div;
-
-                    /* accumulate sinusoid part of the total energy */
-                    den += S_M[m];
-                }
-
-
-                /* calculate gain */
-                /* ratio of the energy of the original signal and the energy
-                 * of the HF generated signal
-                 */
-                G = sbr->E_orig[ch][current_res_band2][l] / (1.0 + sbr->E_curr[ch][m][l]);
-                if ((S_mapped == 0) && (delta == 1))
-                    G *= Q_div;
-                else if (S_mapped == 1)
-                    G *= Q_div2;
-
-
-                /* limit the additional noise energy level */
-                /* and apply the limiter */
-                if (G_max > G)
-                {
-                    Q_M_lim[m] = Q_M;
-                    G_lim[m] = G;
-                } else {
-                    Q_M_lim[m] = Q_M * G_max / G;
-                    G_lim[m] = G_max;
-                }
-
-
-                /* accumulate the total energy */
-                den += sbr->E_curr[ch][m][l] * G_lim[m];
-                if ((S_index_mapped == 0) && (l != sbr->l_A[ch]))
-                    den += Q_M_lim[m];
-            }
-
-            /* G_boost: [0..2.51188643] */
-            G_boost = (acc1 + EPS) / (den + EPS);
-            G_boost = min(G_boost, 2.51188643 /* 1.584893192 ^ 2 */);
-
-            for (m = ml1; m < ml2; m++)
-            {
-                /* apply compensation to gain, noise floor sf's and sinusoid levels */
-#ifndef SBR_LOW_POWER
-                adj->G_lim_boost[l][m] = sqrt(G_lim[m] * G_boost);
-#else
-                /* sqrt() will be done after the aliasing reduction to save a
-                 * few multiplies
-                 */
-                adj->G_lim_boost[l][m] = G_lim[m] * G_boost;
-#endif
-                adj->Q_M_lim_boost[l][m] = sqrt(Q_M_lim[m] * G_boost);
-
-                if (S_M[m] != 0)
-                {
-                    adj->S_M_boost[l][m] = sqrt(S_M[m] * G_boost);
-                } else {
-                    adj->S_M_boost[l][m] = 0;
-                }
-            }
-        }
-    }
-}
-#endif // log2_test
-
-#endif
-
-#ifdef SBR_LOW_POWER
-static void calc_gain_groups(sbr_info *sbr, sbr_hfadj_info *adj, real_t *deg, uint8_t ch)
-{
-    uint8_t l, k, i;
-    uint8_t grouping;
-    uint8_t S_mapped;
-
-    for (l = 0; l < sbr->L_E[ch]; l++)
-    {
-        uint8_t current_res_band = 0;
-        i = 0;
-        grouping = 0;
-
-        S_mapped = get_S_mapped(sbr, ch, l, current_res_band);
-
-        for (k = sbr->kx; k < sbr->kx + sbr->M - 1; k++)
-        {
-            if (k == sbr->f_table_res[sbr->f[ch][l]][current_res_band+1])
-            {
-                /* step to next resolution band */
-                current_res_band++;
-
-                S_mapped = get_S_mapped(sbr, ch, l, current_res_band);
-            }
-
-            if (deg[k + 1] && S_mapped == 0)
-            {
-                if (grouping == 0)
-                {
-                    sbr->f_group[l][i] = k;
-                    grouping = 1;
-                    i++;
-                }
-            } else {
-                if (grouping)
-                {
-                    if (S_mapped)
-                    {
-                        sbr->f_group[l][i] = k;
-                    } else {
-                        sbr->f_group[l][i] = k + 1;
-                    }
-                    grouping = 0;
-                    i++;
-                }
-            }
-        }        
-
-        if (grouping)
-        {
-            sbr->f_group[l][i] = sbr->kx + sbr->M;
-            i++;
-        }
-
-        sbr->N_G[l] = (uint8_t)(i >> 1);
-    }
-}
-
-static void aliasing_reduction(sbr_info *sbr, sbr_hfadj_info *adj, real_t *deg, uint8_t ch)
-{
-    uint8_t l, k, m;
-    real_t E_total, E_total_est, G_target, acc;
-
-    for (l = 0; l < sbr->L_E[ch]; l++)
-    {
-        for (k = 0; k < sbr->N_G[l]; k++)
-        {
-            E_total_est = E_total = 0;
-            
-            for (m = sbr->f_group[l][k<<1]; m < sbr->f_group[l][(k<<1) + 1]; m++)
-            {
-                /* E_curr: integer */
-                /* G_lim_boost: fixed point */
-                /* E_total_est: integer */
-                /* E_total: integer */
-                E_total_est += sbr->E_curr[ch][m-sbr->kx][l];
-#ifdef FIXED_POINT
-                E_total += MUL_Q2(sbr->E_curr[ch][m-sbr->kx][l], adj->G_lim_boost[l][m-sbr->kx]);
-#else
-                E_total += sbr->E_curr[ch][m-sbr->kx][l] * adj->G_lim_boost[l][m-sbr->kx];
-#endif
-            }
-
-            /* G_target: fixed point */
-            if ((E_total_est + EPS) == 0)
-            {
-                G_target = 0;
-            } else {
-#ifdef FIXED_POINT
-                G_target = (((int64_t)(E_total))<<Q2_BITS)/(E_total_est + EPS);
-#else
-                G_target = E_total / (E_total_est + EPS);
-#endif
-            }
-            acc = 0;
-
-            for (m = sbr->f_group[l][(k<<1)]; m < sbr->f_group[l][(k<<1) + 1]; m++)
-            {
-                real_t alpha;
-
-                /* alpha: (COEF) fixed point */
-                if (m < sbr->kx + sbr->M - 1)
-                {
-                    alpha = max(deg[m], deg[m + 1]);
-                } else {
-                    alpha = deg[m];
-                }
-
-                adj->G_lim_boost[l][m-sbr->kx] = MUL_C(alpha, G_target) +
-                    MUL_C((COEF_CONST(1)-alpha), adj->G_lim_boost[l][m-sbr->kx]);
-
-                /* acc: integer */
-#ifdef FIXED_POINT
-                acc += MUL_Q2(adj->G_lim_boost[l][m-sbr->kx], sbr->E_curr[ch][m-sbr->kx][l]);
-#else
-                acc += adj->G_lim_boost[l][m-sbr->kx] * sbr->E_curr[ch][m-sbr->kx][l];
-#endif
-            }
-
-            /* acc: fixed point */
-            if (acc + EPS == 0)
-            {
-                acc = 0;
-            } else {
-#ifdef FIXED_POINT
-                acc = (((int64_t)(E_total))<<Q2_BITS)/(acc + EPS);
-#else
-                acc = E_total / (acc + EPS);
-#endif
-            }
-            for(m = sbr->f_group[l][(k<<1)]; m < sbr->f_group[l][(k<<1) + 1]; m++)
-            {
-#ifdef FIXED_POINT
-                adj->G_lim_boost[l][m-sbr->kx] = MUL_Q2(acc, adj->G_lim_boost[l][m-sbr->kx]);
-#else
-                adj->G_lim_boost[l][m-sbr->kx] = acc * adj->G_lim_boost[l][m-sbr->kx];
-#endif
-            }
-        }
-    }
-
-    for (l = 0; l < sbr->L_E[ch]; l++)
-    {
-        for (k = 0; k < sbr->N_L[sbr->bs_limiter_bands]; k++)
-        {
-            for (m = sbr->f_table_lim[sbr->bs_limiter_bands][k];
-                 m < sbr->f_table_lim[sbr->bs_limiter_bands][k+1]; m++)
-            {
-#ifdef FIXED_POINT
-                 adj->G_lim_boost[l][m] = SBR_SQRT_Q2(adj->G_lim_boost[l][m]);
-#else
-                 adj->G_lim_boost[l][m] = sqrt(adj->G_lim_boost[l][m]);
-#endif
-            }
-        }
-    }
-}
-#endif
-
-static void hf_assembly(sbr_info *sbr, sbr_hfadj_info *adj,
-                        qmf_t Xsbr[MAX_NTSRHFG][64], uint8_t ch)
-{
-    static real_t h_smooth[] = {
-        FRAC_CONST(0.03183050093751), FRAC_CONST(0.11516383427084),
-        FRAC_CONST(0.21816949906249), FRAC_CONST(0.30150283239582),
-        FRAC_CONST(0.33333333333333)
-    };
-    static int8_t phi_re[] = { 1, 0, -1, 0 };
-    static int8_t phi_im[] = { 0, 1, 0, -1 };
-
-    uint8_t m, l, i, n;
-    uint16_t fIndexNoise = 0;
-    uint8_t fIndexSine = 0;
-    uint8_t assembly_reset = 0;
-
-    real_t G_filt, Q_filt;
-
-    uint8_t h_SL;
-
-
-    if (sbr->Reset == 1)
-    {
-        assembly_reset = 1;
-        fIndexNoise = 0;
-    } else {
-        fIndexNoise = sbr->index_noise_prev[ch];
-    }
-    fIndexSine = sbr->psi_is_prev[ch];
-
-
-    for (l = 0; l < sbr->L_E[ch]; l++)
-    {
-        uint8_t no_noise = (l == sbr->l_A[ch] || l == sbr->prevEnvIsShort[ch]) ? 1 : 0;
-
-#ifdef SBR_LOW_POWER
-        h_SL = 0;
-#else
-        h_SL = (sbr->bs_smoothing_mode == 1) ? 0 : 4;
-        h_SL = (no_noise ? 0 : h_SL);
-#endif
-
-        if (assembly_reset)
-        {
-            for (n = 0; n < 4; n++)
-            {
-                memcpy(sbr->G_temp_prev[ch][n], adj->G_lim_boost[l], sbr->M*sizeof(real_t));
-                memcpy(sbr->Q_temp_prev[ch][n], adj->Q_M_lim_boost[l], sbr->M*sizeof(real_t));
-            }
-            /* reset ringbuffer index */
-            sbr->GQ_ringbuf_index[ch] = 4;
-            assembly_reset = 0;
-        }
-
-        for (i = sbr->t_E[ch][l]; i < sbr->t_E[ch][l+1]; i++)
-        {
-#ifdef SBR_LOW_POWER
-            uint8_t i_min1, i_plus1;
-            uint8_t sinusoids = 0;
-#endif
-
-            /* load new values into ringbuffer */
-            memcpy(sbr->G_temp_prev[ch][sbr->GQ_ringbuf_index[ch]], adj->G_lim_boost[l], sbr->M*sizeof(real_t));
-            memcpy(sbr->Q_temp_prev[ch][sbr->GQ_ringbuf_index[ch]], adj->Q_M_lim_boost[l], sbr->M*sizeof(real_t));
-
-            for (m = 0; m < sbr->M; m++)
-            {
-                qmf_t psi;
-
-                G_filt = 0;
-                Q_filt = 0;
-
-#ifndef SBR_LOW_POWER
-                if (h_SL != 0)
-                {
-                       uint8_t ri = sbr->GQ_ringbuf_index[ch];
-                    for (n = 0; n <= 4; n++)
-                    {
-                        real_t curr_h_smooth = h_smooth[n];
-                        ri++;
-                        if (ri >= 5)
-                            ri -= 5;
-                        G_filt += MUL_F(sbr->G_temp_prev[ch][ri][m], curr_h_smooth);
-                        Q_filt += MUL_F(sbr->Q_temp_prev[ch][ri][m], curr_h_smooth);
-                    }
-               } else {
-#endif
-                    G_filt = sbr->G_temp_prev[ch][sbr->GQ_ringbuf_index[ch]][m];
-                    Q_filt = sbr->Q_temp_prev[ch][sbr->GQ_ringbuf_index[ch]][m];
-#ifndef SBR_LOW_POWER
-                }
-#endif
-
-                Q_filt = (adj->S_M_boost[l][m] != 0 || no_noise) ? 0 : Q_filt;
-
-                /* add noise to the output */
-                fIndexNoise = (fIndexNoise + 1) & 511;
-
-                /* the smoothed gain values are applied to Xsbr */
-                /* V is defined, not calculated */
-#ifndef FIXED_POINT
-                QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) = G_filt * QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx])
-                    + MUL_F(Q_filt, RE(V[fIndexNoise]));
-#else
-                //QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) = MUL_Q2(G_filt, QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]))
-                //    + MUL_F(Q_filt, RE(V[fIndexNoise]));
-                QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) = MUL_R(G_filt, QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]))
-                    + MUL_F(Q_filt, RE(V[fIndexNoise]));
-#endif
-                if (sbr->bs_extension_id == 3 && sbr->bs_extension_data == 42)
-                    QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) = 16428320;
-#ifndef SBR_LOW_POWER
-#ifndef FIXED_POINT
-                QMF_IM(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) = G_filt * QMF_IM(Xsbr[i + sbr->tHFAdj][m+sbr->kx])
-                    + MUL_F(Q_filt, IM(V[fIndexNoise]));
-#else
-                //QMF_IM(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) = MUL_Q2(G_filt, QMF_IM(Xsbr[i + sbr->tHFAdj][m+sbr->kx]))
-                //    + MUL_F(Q_filt, IM(V[fIndexNoise]));
-                QMF_IM(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) = MUL_R(G_filt, QMF_IM(Xsbr[i + sbr->tHFAdj][m+sbr->kx]))
-                    + MUL_F(Q_filt, IM(V[fIndexNoise]));
-#endif
-#endif
-
-                {
-                    int8_t rev = (((m + sbr->kx) & 1) ? -1 : 1);
-                    QMF_RE(psi) = adj->S_M_boost[l][m] * phi_re[fIndexSine];
-#ifdef FIXED_POINT
-                    QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) += (QMF_RE(psi) << REAL_BITS);
-#else
-                    QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) += QMF_RE(psi);
-#endif
-
-#ifndef SBR_LOW_POWER
-                    QMF_IM(psi) = rev * adj->S_M_boost[l][m] * phi_im[fIndexSine];
-#ifdef FIXED_POINT
-                    QMF_IM(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) += (QMF_IM(psi) << REAL_BITS);
-#else
-                    QMF_IM(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) += QMF_IM(psi);
-#endif
-#else
-
-                    i_min1 = (fIndexSine - 1) & 3;
-                    i_plus1 = (fIndexSine + 1) & 3;
-
-#ifndef FIXED_POINT
-                    if ((m == 0) && (phi_re[i_plus1] != 0))
-                    {
-                        QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx - 1]) +=
-                            (rev*phi_re[i_plus1] * MUL_F(adj->S_M_boost[l][0], FRAC_CONST(0.00815)));
-                        if (sbr->M != 0)
-                        {
-                            QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) -=
-                                (rev*phi_re[i_plus1] * MUL_F(adj->S_M_boost[l][1], FRAC_CONST(0.00815)));
-                        }
-                    }
-                    if ((m > 0) && (m < sbr->M - 1) && (sinusoids < 16) && (phi_re[i_min1] != 0))
-                    {
-                        QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) -=
-                            (rev*phi_re[i_min1] * MUL_F(adj->S_M_boost[l][m - 1], FRAC_CONST(0.00815)));
-                    }
-                    if ((m > 0) && (m < sbr->M - 1) && (sinusoids < 16) && (phi_re[i_plus1] != 0))
-                    {
-                        QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) -=
-                            (rev*phi_re[i_plus1] * MUL_F(adj->S_M_boost[l][m + 1], FRAC_CONST(0.00815)));
-                    }
-                    if ((m == sbr->M - 1) && (sinusoids < 16) && (phi_re[i_min1] != 0))
-                    {
-                        if (m > 0)
-                        {
-                            QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) -=
-                                (rev*phi_re[i_min1] * MUL_F(adj->S_M_boost[l][m - 1], FRAC_CONST(0.00815)));
-                        }
-                        if (m + sbr->kx < 64)
-                        {
-                            QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx + 1]) +=
-                                (rev*phi_re[i_min1] * MUL_F(adj->S_M_boost[l][m], FRAC_CONST(0.00815)));
-                        }
-                    }
-#else
-                    if ((m == 0) && (phi_re[i_plus1] != 0))
-                    {
-                        QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx - 1]) +=
-                            (rev*phi_re[i_plus1] * MUL_F((adj->S_M_boost[l][0]<<REAL_BITS), FRAC_CONST(0.00815)));
-                        if (sbr->M != 0)
-                        {
-                            QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) -=
-                                (rev*phi_re[i_plus1] * MUL_F((adj->S_M_boost[l][1]<<REAL_BITS), FRAC_CONST(0.00815)));
-                        }
-                    }
-                    if ((m > 0) && (m < sbr->M - 1) && (sinusoids < 16) && (phi_re[i_min1] != 0))
-                    {
-                        QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) -=
-                            (rev*phi_re[i_min1] * MUL_F((adj->S_M_boost[l][m - 1]<<REAL_BITS), FRAC_CONST(0.00815)));
-                    }
-                    if ((m > 0) && (m < sbr->M - 1) && (sinusoids < 16) && (phi_re[i_plus1] != 0))
-                    {
-                        QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) -=
-                            (rev*phi_re[i_plus1] * MUL_F((adj->S_M_boost[l][m + 1]<<REAL_BITS), FRAC_CONST(0.00815)));
-                    }
-                    if ((m == sbr->M - 1) && (sinusoids < 16) && (phi_re[i_min1] != 0))
-                    {
-                        if (m > 0)
-                        {
-                            QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx]) -=
-                                (rev*phi_re[i_min1] * MUL_F((adj->S_M_boost[l][m - 1]<<REAL_BITS), FRAC_CONST(0.00815)));
-                        }
-                        if (m + sbr->kx < 64)
-                        {
-                            QMF_RE(Xsbr[i + sbr->tHFAdj][m+sbr->kx + 1]) +=
-                                (rev*phi_re[i_min1] * MUL_F((adj->S_M_boost[l][m]<<REAL_BITS), FRAC_CONST(0.00815)));
-                        }
-                    }
-#endif
-
-                    if (adj->S_M_boost[l][m] != 0)
-                        sinusoids++;
-#endif
-                }
-            }
-
-            fIndexSine = (fIndexSine + 1) & 3;
-
-            /* update the ringbuffer index used for filtering G and Q with h_smooth */
-            sbr->GQ_ringbuf_index[ch]++;
-            if (sbr->GQ_ringbuf_index[ch] >= 5)
-                sbr->GQ_ringbuf_index[ch] = 0;
-        }
-    }
-
-    sbr->index_noise_prev[ch] = fIndexNoise;
-    sbr->psi_is_prev[ch] = fIndexSine;
-}
-
-#endif
diff --git a/lib/libfaad2/libfaad/sbr_hfadj.h b/lib/libfaad2/libfaad/sbr_hfadj.h
deleted file mode 100644 (file)
index 03ef71a..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_hfadj.h,v 1.19 2007/11/01 12:33:35 menno Exp $
-**/
-
-#ifndef __SBR_HFADJ_H__
-#define __SBR_HFADJ_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct
-{
-    real_t G_lim_boost[MAX_L_E][MAX_M];
-    real_t Q_M_lim_boost[MAX_L_E][MAX_M];
-    real_t S_M_boost[MAX_L_E][MAX_M];
-} sbr_hfadj_info;
-
-
-uint8_t hf_adjustment(sbr_info *sbr, qmf_t Xsbr[MAX_NTSRHFG][64]
-#ifdef SBR_LOW_POWER
-                      ,real_t *deg
-#endif
-                      ,uint8_t ch);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/sbr_hfgen.c b/lib/libfaad2/libfaad/sbr_hfgen.c
deleted file mode 100644 (file)
index b0f3219..0000000
+++ /dev/null
@@ -1,668 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_hfgen.c,v 1.26 2007/11/01 12:33:35 menno Exp $
-**/
-
-/* High Frequency generation */
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SBR_DEC
-
-#include "sbr_syntax.h"
-#include "sbr_hfgen.h"
-#include "sbr_fbt.h"
-
-/* static function declarations */
-#ifdef SBR_LOW_POWER
-static void calc_prediction_coef_lp(sbr_info *sbr, qmf_t Xlow[MAX_NTSRHFG][64],
-                                    complex_t *alpha_0, complex_t *alpha_1, real_t *rxx);
-static void calc_aliasing_degree(sbr_info *sbr, real_t *rxx, real_t *deg);
-#else
-static void calc_prediction_coef(sbr_info *sbr, qmf_t Xlow[MAX_NTSRHFG][64],
-                                 complex_t *alpha_0, complex_t *alpha_1, uint8_t k);
-#endif
-static void calc_chirp_factors(sbr_info *sbr, uint8_t ch);
-static void patch_construction(sbr_info *sbr);
-
-
-void hf_generation(sbr_info *sbr, qmf_t Xlow[MAX_NTSRHFG][64],
-                   qmf_t Xhigh[MAX_NTSRHFG][64]
-#ifdef SBR_LOW_POWER
-                   ,real_t *deg
-#endif
-                   ,uint8_t ch)
-{
-    uint8_t l, i, x;
-    ALIGN complex_t alpha_0[64], alpha_1[64];
-#ifdef SBR_LOW_POWER
-    ALIGN real_t rxx[64];
-#endif
-
-    uint8_t offset = sbr->tHFAdj;
-    uint8_t first = sbr->t_E[ch][0];
-    uint8_t last = sbr->t_E[ch][sbr->L_E[ch]];
-
-    calc_chirp_factors(sbr, ch);
-
-#ifdef SBR_LOW_POWER
-    memset(deg, 0, 64*sizeof(real_t));
-#endif
-
-    if ((ch == 0) && (sbr->Reset))
-        patch_construction(sbr);
-
-    /* calculate the prediction coefficients */
-#ifdef SBR_LOW_POWER
-    calc_prediction_coef_lp(sbr, Xlow, alpha_0, alpha_1, rxx);
-    calc_aliasing_degree(sbr, rxx, deg);
-#endif
-
-    /* actual HF generation */
-    for (i = 0; i < sbr->noPatches; i++)
-    {
-        for (x = 0; x < sbr->patchNoSubbands[i]; x++)
-        {
-            real_t a0_r, a0_i, a1_r, a1_i;
-            real_t bw, bw2;
-            uint8_t q, p, k, g;
-
-            /* find the low and high band for patching */
-            k = sbr->kx + x;
-            for (q = 0; q < i; q++)
-            {
-                k += sbr->patchNoSubbands[q];
-            }
-            p = sbr->patchStartSubband[i] + x;
-
-#ifdef SBR_LOW_POWER
-            if (x != 0 /*x < sbr->patchNoSubbands[i]-1*/)
-                deg[k] = deg[p];
-            else
-                deg[k] = 0;
-#endif
-
-            g = sbr->table_map_k_to_g[k];
-
-            bw = sbr->bwArray[ch][g];
-            bw2 = MUL_C(bw, bw);
-
-            /* do the patching */
-            /* with or without filtering */
-            if (bw2 > 0)
-            {
-                real_t temp1_r, temp2_r, temp3_r;
-#ifndef SBR_LOW_POWER
-                real_t temp1_i, temp2_i, temp3_i;
-                calc_prediction_coef(sbr, Xlow, alpha_0, alpha_1, p);
-#endif
-
-                a0_r = MUL_C(RE(alpha_0[p]), bw);
-                a1_r = MUL_C(RE(alpha_1[p]), bw2);
-#ifndef SBR_LOW_POWER
-                a0_i = MUL_C(IM(alpha_0[p]), bw);
-                a1_i = MUL_C(IM(alpha_1[p]), bw2);
-#endif
-
-               temp2_r = QMF_RE(Xlow[first - 2 + offset][p]);
-               temp3_r = QMF_RE(Xlow[first - 1 + offset][p]);
-#ifndef SBR_LOW_POWER
-               temp2_i = QMF_IM(Xlow[first - 2 + offset][p]);
-               temp3_i = QMF_IM(Xlow[first - 1 + offset][p]);
-#endif
-                               for (l = first; l < last; l++)
-                {
-                       temp1_r = temp2_r;
-                       temp2_r = temp3_r;
-                       temp3_r = QMF_RE(Xlow[l + offset][p]);
-#ifndef SBR_LOW_POWER
-                       temp1_i = temp2_i;
-                       temp2_i = temp3_i;
-                    temp3_i = QMF_IM(Xlow[l + offset][p]);
-#endif
-
-#ifdef SBR_LOW_POWER
-                    QMF_RE(Xhigh[l + offset][k]) =
-                        temp3_r
-                      +(MUL_R(a0_r, temp2_r) +
-                        MUL_R(a1_r, temp1_r));
-#else
-                    QMF_RE(Xhigh[l + offset][k]) =
-                        temp3_r
-                      +(MUL_R(a0_r, temp2_r) -
-                        MUL_R(a0_i, temp2_i) +
-                        MUL_R(a1_r, temp1_r) -
-                        MUL_R(a1_i, temp1_i));
-                    QMF_IM(Xhigh[l + offset][k]) =
-                        temp3_i
-                      +(MUL_R(a0_i, temp2_r) +
-                        MUL_R(a0_r, temp2_i) +
-                        MUL_R(a1_i, temp1_r) +
-                        MUL_R(a1_r, temp1_i));
-#endif
-                }
-            } else {
-                for (l = first; l < last; l++)
-                {
-                    QMF_RE(Xhigh[l + offset][k]) = QMF_RE(Xlow[l + offset][p]);
-#ifndef SBR_LOW_POWER
-                    QMF_IM(Xhigh[l + offset][k]) = QMF_IM(Xlow[l + offset][p]);
-#endif
-                }
-            }
-        }
-    }
-
-    if (sbr->Reset)
-    {
-        limiter_frequency_table(sbr);
-    }
-}
-
-typedef struct
-{
-    complex_t r01;
-    complex_t r02;
-    complex_t r11;
-    complex_t r12;
-    complex_t r22;
-    real_t det;
-} acorr_coef;
-
-#ifdef SBR_LOW_POWER
-static void auto_correlation(sbr_info *sbr, acorr_coef *ac,
-                             qmf_t buffer[MAX_NTSRHFG][64],
-                             uint8_t bd, uint8_t len)
-{
-    real_t r01 = 0, r02 = 0, r11 = 0;
-    int8_t j;
-    uint8_t offset = sbr->tHFAdj;
-#ifdef FIXED_POINT
-    const real_t rel = FRAC_CONST(0.999999); // 1 / (1 + 1e-6f);
-    uint32_t maxi = 0;
-    uint32_t pow2, exp;
-#else
-    const real_t rel = 1 / (1 + 1e-6f);
-#endif
-
-
-#ifdef FIXED_POINT
-    mask = 0;
-
-    for (j = (offset-2); j < (len + offset); j++)
-    {
-        real_t x;
-        x = QMF_RE(buffer[j][bd])>>REAL_BITS;
-        mask |= x ^ (x >> 31);
-    }
-
-    exp = wl_min_lzc(mask);
-
-    /* improves accuracy */
-    if (exp > 0)
-        exp -= 1;
-
-    for (j = offset; j < len + offset; j++)
-    {
-        real_t buf_j = ((QMF_RE(buffer[j][bd])+(1<<(exp-1)))>>exp);
-        real_t buf_j_1 = ((QMF_RE(buffer[j-1][bd])+(1<<(exp-1)))>>exp);
-        real_t buf_j_2 = ((QMF_RE(buffer[j-2][bd])+(1<<(exp-1)))>>exp);
-
-        /* normalisation with rounding */
-        r01 += MUL_R(buf_j, buf_j_1);
-        r02 += MUL_R(buf_j, buf_j_2);
-        r11 += MUL_R(buf_j_1, buf_j_1);
-    }
-    RE(ac->r12) = r01 -
-        MUL_R(((QMF_RE(buffer[len+offset-1][bd])+(1<<(exp-1)))>>exp), ((QMF_RE(buffer[len+offset-2][bd])+(1<<(exp-1)))>>exp)) +
-        MUL_R(((QMF_RE(buffer[offset-1][bd])+(1<<(exp-1)))>>exp), ((QMF_RE(buffer[offset-2][bd])+(1<<(exp-1)))>>exp));
-    RE(ac->r22) = r11 -
-        MUL_R(((QMF_RE(buffer[len+offset-2][bd])+(1<<(exp-1)))>>exp), ((QMF_RE(buffer[len+offset-2][bd])+(1<<(exp-1)))>>exp)) +
-        MUL_R(((QMF_RE(buffer[offset-2][bd])+(1<<(exp-1)))>>exp), ((QMF_RE(buffer[offset-2][bd])+(1<<(exp-1)))>>exp));
-#else
-    for (j = offset; j < len + offset; j++)
-    {
-        r01 += QMF_RE(buffer[j][bd]) * QMF_RE(buffer[j-1][bd]);
-        r02 += QMF_RE(buffer[j][bd]) * QMF_RE(buffer[j-2][bd]);
-        r11 += QMF_RE(buffer[j-1][bd]) * QMF_RE(buffer[j-1][bd]);
-    }
-    RE(ac->r12) = r01 -
-        QMF_RE(buffer[len+offset-1][bd]) * QMF_RE(buffer[len+offset-2][bd]) +
-        QMF_RE(buffer[offset-1][bd]) * QMF_RE(buffer[offset-2][bd]);
-    RE(ac->r22) = r11 -
-        QMF_RE(buffer[len+offset-2][bd]) * QMF_RE(buffer[len+offset-2][bd]) +
-        QMF_RE(buffer[offset-2][bd]) * QMF_RE(buffer[offset-2][bd]);
-#endif
-    RE(ac->r01) = r01;
-    RE(ac->r02) = r02;
-    RE(ac->r11) = r11;
-
-    ac->det = MUL_R(RE(ac->r11), RE(ac->r22)) - MUL_F(MUL_R(RE(ac->r12), RE(ac->r12)), rel);
-}
-#else
-static void auto_correlation(sbr_info *sbr, acorr_coef *ac, qmf_t buffer[MAX_NTSRHFG][64],
-                             uint8_t bd, uint8_t len)
-{
-    real_t r01r = 0, r01i = 0, r02r = 0, r02i = 0, r11r = 0;
-    real_t temp1_r, temp1_i, temp2_r, temp2_i, temp3_r, temp3_i, temp4_r, temp4_i, temp5_r, temp5_i;
-#ifdef FIXED_POINT
-    const real_t rel = FRAC_CONST(0.999999); // 1 / (1 + 1e-6f);
-    uint32_t mask, exp;
-    real_t pow2_to_exp;
-#else
-    const real_t rel = 1 / (1 + 1e-6f);
-#endif
-    int8_t j;
-    uint8_t offset = sbr->tHFAdj;
-
-#ifdef FIXED_POINT
-    mask = 0;
-
-    for (j = (offset-2); j < (len + offset); j++)
-    {
-        real_t x;
-        x = QMF_RE(buffer[j][bd])>>REAL_BITS;
-        mask |= x ^ (x >> 31);
-        x = QMF_IM(buffer[j][bd])>>REAL_BITS;
-        mask |= x ^ (x >> 31);
-    }
-
-    exp = wl_min_lzc(mask);
-
-    /* improves accuracy */
-    if (exp > 0)
-        exp -= 1;
-   
-    pow2_to_exp = 1<<(exp-1);
-
-    temp2_r = (QMF_RE(buffer[offset-2][bd]) + pow2_to_exp) >> exp;
-    temp2_i = (QMF_IM(buffer[offset-2][bd]) + pow2_to_exp) >> exp;
-    temp3_r = (QMF_RE(buffer[offset-1][bd]) + pow2_to_exp) >> exp;
-    temp3_i = (QMF_IM(buffer[offset-1][bd]) + pow2_to_exp) >> exp;
-    // Save these because they are needed after loop
-    temp4_r = temp2_r;
-    temp4_i = temp2_i;
-    temp5_r = temp3_r;
-    temp5_i = temp3_i;
-
-    for (j = offset; j < len + offset; j++)
-    {
-       temp1_r = temp2_r; // temp1_r = (QMF_RE(buffer[offset-2][bd] + (1<<(exp-1))) >> exp;
-       temp1_i = temp2_i; // temp1_i = (QMF_IM(buffer[offset-2][bd] + (1<<(exp-1))) >> exp;
-       temp2_r = temp3_r; // temp2_r = (QMF_RE(buffer[offset-1][bd] + (1<<(exp-1))) >> exp;
-       temp2_i = temp3_i; // temp2_i = (QMF_IM(buffer[offset-1][bd] + (1<<(exp-1))) >> exp;
-        temp3_r = (QMF_RE(buffer[j][bd]) + pow2_to_exp) >> exp;
-        temp3_i = (QMF_IM(buffer[j][bd]) + pow2_to_exp) >> exp;
-        r01r += MUL_R(temp3_r, temp2_r) + MUL_R(temp3_i, temp2_i);
-        r01i += MUL_R(temp3_i, temp2_r) - MUL_R(temp3_r, temp2_i);
-        r02r += MUL_R(temp3_r, temp1_r) + MUL_R(temp3_i, temp1_i);
-        r02i += MUL_R(temp3_i, temp1_r) - MUL_R(temp3_r, temp1_i);
-        r11r += MUL_R(temp2_r, temp2_r) + MUL_R(temp2_i, temp2_i);
-    }
-
-    // These are actual values in temporary variable at this point
-    // temp1_r = (QMF_RE(buffer[len+offset-1-2][bd] + (1<<(exp-1))) >> exp;
-    // temp1_i = (QMF_IM(buffer[len+offset-1-2][bd] + (1<<(exp-1))) >> exp;
-    // temp2_r = (QMF_RE(buffer[len+offset-1-1][bd] + (1<<(exp-1))) >> exp;
-    // temp2_i = (QMF_IM(buffer[len+offset-1-1][bd] + (1<<(exp-1))) >> exp;
-    // temp3_r = (QMF_RE(buffer[len+offset-1][bd]) + (1<<(exp-1))) >> exp;
-    // temp3_i = (QMF_IM(buffer[len+offset-1][bd]) + (1<<(exp-1))) >> exp;
-    // temp4_r = (QMF_RE(buffer[offset-2][bd]) + (1<<(exp-1))) >> exp;
-    // temp4_i = (QMF_IM(buffer[offset-2][bd]) + (1<<(exp-1))) >> exp;
-    // temp5_r = (QMF_RE(buffer[offset-1][bd]) + (1<<(exp-1))) >> exp;
-    // temp5_i = (QMF_IM(buffer[offset-1][bd]) + (1<<(exp-1))) >> exp;
-
-    RE(ac->r12) = r01r -
-        (MUL_R(temp3_r, temp2_r) + MUL_R(temp3_i, temp2_i)) +
-        (MUL_R(temp5_r, temp4_r) + MUL_R(temp5_i, temp4_i));
-    IM(ac->r12) = r01i -
-        (MUL_R(temp3_i, temp2_r) - MUL_R(temp3_r, temp2_i)) +
-        (MUL_R(temp5_i, temp4_r) - MUL_R(temp5_r, temp4_i));
-    RE(ac->r22) = r11r -
-        (MUL_R(temp2_r, temp2_r) + MUL_R(temp2_i, temp2_i)) +
-        (MUL_R(temp4_r, temp4_r) + MUL_R(temp4_i, temp4_i));
-
-#else
-
-    temp2_r = QMF_RE(buffer[offset-2][bd]);
-    temp2_i = QMF_IM(buffer[offset-2][bd]);
-    temp3_r = QMF_RE(buffer[offset-1][bd]);
-    temp3_i = QMF_IM(buffer[offset-1][bd]);
-    // Save these because they are needed after loop
-    temp4_r = temp2_r;
-    temp4_i = temp2_i;
-    temp5_r = temp3_r;
-    temp5_i = temp3_i;
-
-    for (j = offset; j < len + offset; j++)
-    {
-       temp1_r = temp2_r; // temp1_r = QMF_RE(buffer[j-2][bd];
-       temp1_i = temp2_i; // temp1_i = QMF_IM(buffer[j-2][bd];
-       temp2_r = temp3_r; // temp2_r = QMF_RE(buffer[j-1][bd];
-       temp2_i = temp3_i; // temp2_i = QMF_IM(buffer[j-1][bd];
-        temp3_r = QMF_RE(buffer[j][bd]);
-        temp3_i = QMF_IM(buffer[j][bd]);
-        r01r += temp3_r * temp2_r + temp3_i * temp2_i;
-        r01i += temp3_i * temp2_r - temp3_r * temp2_i;
-        r02r += temp3_r * temp1_r + temp3_i * temp1_i;
-        r02i += temp3_i * temp1_r - temp3_r * temp1_i;
-        r11r += temp2_r * temp2_r + temp2_i * temp2_i;
-    }
-
-    // These are actual values in temporary variable at this point
-    // temp1_r = QMF_RE(buffer[len+offset-1-2][bd];
-    // temp1_i = QMF_IM(buffer[len+offset-1-2][bd];
-    // temp2_r = QMF_RE(buffer[len+offset-1-1][bd];
-    // temp2_i = QMF_IM(buffer[len+offset-1-1][bd];
-    // temp3_r = QMF_RE(buffer[len+offset-1][bd]);
-    // temp3_i = QMF_IM(buffer[len+offset-1][bd]);
-    // temp4_r = QMF_RE(buffer[offset-2][bd]);
-    // temp4_i = QMF_IM(buffer[offset-2][bd]);
-    // temp5_r = QMF_RE(buffer[offset-1][bd]);
-    // temp5_i = QMF_IM(buffer[offset-1][bd]);
-
-    RE(ac->r12) = r01r -
-        (temp3_r * temp2_r + temp3_i * temp2_i) +
-        (temp5_r * temp4_r + temp5_i * temp4_i);
-    IM(ac->r12) = r01i -
-        (temp3_i * temp2_r - temp3_r * temp2_i) +
-        (temp5_i * temp4_r - temp5_r * temp4_i);
-    RE(ac->r22) = r11r -
-        (temp2_r * temp2_r + temp2_i * temp2_i) +
-        (temp4_r * temp4_r + temp4_i * temp4_i);
-
-#endif
-
-    RE(ac->r01) = r01r;
-    IM(ac->r01) = r01i;
-    RE(ac->r02) = r02r;
-    IM(ac->r02) = r02i;
-    RE(ac->r11) = r11r;
-
-    ac->det = MUL_R(RE(ac->r11), RE(ac->r22)) - MUL_F(rel, (MUL_R(RE(ac->r12), RE(ac->r12)) + MUL_R(IM(ac->r12), IM(ac->r12))));
-}
-#endif
-
-/* calculate linear prediction coefficients using the covariance method */
-#ifndef SBR_LOW_POWER
-static void calc_prediction_coef(sbr_info *sbr, qmf_t Xlow[MAX_NTSRHFG][64],
-                                 complex_t *alpha_0, complex_t *alpha_1, uint8_t k)
-{
-    real_t tmp;
-    acorr_coef ac;
-
-    auto_correlation(sbr, &ac, Xlow, k, sbr->numTimeSlotsRate + 6);
-
-    if (ac.det == 0)
-    {
-        RE(alpha_1[k]) = 0;
-        IM(alpha_1[k]) = 0;
-    } else {
-#ifdef FIXED_POINT
-        tmp = (MUL_R(RE(ac.r01), RE(ac.r12)) - MUL_R(IM(ac.r01), IM(ac.r12)) - MUL_R(RE(ac.r02), RE(ac.r11)));
-        RE(alpha_1[k]) = DIV_R(tmp, ac.det);
-        tmp = (MUL_R(IM(ac.r01), RE(ac.r12)) + MUL_R(RE(ac.r01), IM(ac.r12)) - MUL_R(IM(ac.r02), RE(ac.r11)));
-        IM(alpha_1[k]) = DIV_R(tmp, ac.det);
-#else
-        tmp = REAL_CONST(1.0) / ac.det;
-        RE(alpha_1[k]) = (MUL_R(RE(ac.r01), RE(ac.r12)) - MUL_R(IM(ac.r01), IM(ac.r12)) - MUL_R(RE(ac.r02), RE(ac.r11))) * tmp;
-        IM(alpha_1[k]) = (MUL_R(IM(ac.r01), RE(ac.r12)) + MUL_R(RE(ac.r01), IM(ac.r12)) - MUL_R(IM(ac.r02), RE(ac.r11))) * tmp;
-#endif
-    }
-
-    if (RE(ac.r11) == 0)
-    {
-        RE(alpha_0[k]) = 0;
-        IM(alpha_0[k]) = 0;
-    } else {
-#ifdef FIXED_POINT
-        tmp = -(RE(ac.r01) + MUL_R(RE(alpha_1[k]), RE(ac.r12)) + MUL_R(IM(alpha_1[k]), IM(ac.r12)));
-        RE(alpha_0[k]) = DIV_R(tmp, RE(ac.r11));
-        tmp = -(IM(ac.r01) + MUL_R(IM(alpha_1[k]), RE(ac.r12)) - MUL_R(RE(alpha_1[k]), IM(ac.r12)));
-        IM(alpha_0[k]) = DIV_R(tmp, RE(ac.r11));
-#else
-        tmp = 1.0f / RE(ac.r11);
-        RE(alpha_0[k]) = -(RE(ac.r01) + MUL_R(RE(alpha_1[k]), RE(ac.r12)) + MUL_R(IM(alpha_1[k]), IM(ac.r12))) * tmp;
-        IM(alpha_0[k]) = -(IM(ac.r01) + MUL_R(IM(alpha_1[k]), RE(ac.r12)) - MUL_R(RE(alpha_1[k]), IM(ac.r12))) * tmp;
-#endif
-    }
-
-    if ((MUL_R(RE(alpha_0[k]),RE(alpha_0[k])) + MUL_R(IM(alpha_0[k]),IM(alpha_0[k])) >= REAL_CONST(16)) ||
-        (MUL_R(RE(alpha_1[k]),RE(alpha_1[k])) + MUL_R(IM(alpha_1[k]),IM(alpha_1[k])) >= REAL_CONST(16)))
-    {
-        RE(alpha_0[k]) = 0;
-        IM(alpha_0[k]) = 0;
-        RE(alpha_1[k]) = 0;
-        IM(alpha_1[k]) = 0;
-    }
-}
-#else
-static void calc_prediction_coef_lp(sbr_info *sbr, qmf_t Xlow[MAX_NTSRHFG][64],
-                                    complex_t *alpha_0, complex_t *alpha_1, real_t *rxx)
-{
-    uint8_t k;
-    real_t tmp;
-    acorr_coef ac;
-
-    for (k = 1; k < sbr->f_master[0]; k++)
-    {
-        auto_correlation(sbr, &ac, Xlow, k, sbr->numTimeSlotsRate + 6);
-
-        if (ac.det == 0)
-        {
-            RE(alpha_0[k]) = 0;
-            RE(alpha_1[k]) = 0;
-        } else {
-            tmp = MUL_R(RE(ac.r01), RE(ac.r22)) - MUL_R(RE(ac.r12), RE(ac.r02));
-            RE(alpha_0[k]) = DIV_R(tmp, (-ac.det));
-
-            tmp = MUL_R(RE(ac.r01), RE(ac.r12)) - MUL_R(RE(ac.r02), RE(ac.r11));
-            RE(alpha_1[k]) = DIV_R(tmp, ac.det);
-        }
-
-        if ((RE(alpha_0[k]) >= REAL_CONST(4)) || (RE(alpha_1[k]) >= REAL_CONST(4)))
-        {
-            RE(alpha_0[k]) = REAL_CONST(0);
-            RE(alpha_1[k]) = REAL_CONST(0);
-        }
-
-        /* reflection coefficient */
-        if (RE(ac.r11) == 0)
-        {
-            rxx[k] = COEF_CONST(0.0);
-        } else {
-            rxx[k] = DIV_C(RE(ac.r01), RE(ac.r11));
-            rxx[k] = -rxx[k];
-            if (rxx[k] > COEF_CONST(1.0)) rxx[k] = COEF_CONST(1.0);
-            if (rxx[k] < COEF_CONST(-1.0)) rxx[k] = COEF_CONST(-1.0);
-        }
-    }
-}
-
-static void calc_aliasing_degree(sbr_info *sbr, real_t *rxx, real_t *deg)
-{
-    uint8_t k;
-
-    rxx[0] = COEF_CONST(0.0);
-    deg[1] = COEF_CONST(0.0);
-
-    for (k = 2; k < sbr->k0; k++)
-    {
-        deg[k] = 0.0;
-
-        if ((k % 2 == 0) && (rxx[k] < COEF_CONST(0.0)))
-        {
-            if (rxx[k-1] < 0.0)
-            {
-                deg[k] = COEF_CONST(1.0);
-
-                if (rxx[k-2] > COEF_CONST(0.0))
-                {
-                    deg[k-1] = COEF_CONST(1.0) - MUL_C(rxx[k-1], rxx[k-1]);
-                }
-            } else if (rxx[k-2] > COEF_CONST(0.0)) {
-                deg[k] = COEF_CONST(1.0) - MUL_C(rxx[k-1], rxx[k-1]);
-            }
-        }
-
-        if ((k % 2 == 1) && (rxx[k] > COEF_CONST(0.0)))
-        {
-            if (rxx[k-1] > COEF_CONST(0.0))
-            {
-                deg[k] = COEF_CONST(1.0);
-
-                if (rxx[k-2] < COEF_CONST(0.0))
-                {
-                    deg[k-1] = COEF_CONST(1.0) - MUL_C(rxx[k-1], rxx[k-1]);
-                }
-            } else if (rxx[k-2] < COEF_CONST(0.0)) {
-                deg[k] = COEF_CONST(1.0) - MUL_C(rxx[k-1], rxx[k-1]);
-            }
-        }
-    }
-}
-#endif
-
-/* FIXED POINT: bwArray = COEF */
-static real_t mapNewBw(uint8_t invf_mode, uint8_t invf_mode_prev)
-{
-    switch (invf_mode)
-    {
-    case 1: /* LOW */
-        if (invf_mode_prev == 0) /* NONE */
-            return COEF_CONST(0.6);
-        else
-            return COEF_CONST(0.75);
-
-    case 2: /* MID */
-        return COEF_CONST(0.9);
-
-    case 3: /* HIGH */
-        return COEF_CONST(0.98);
-
-    default: /* NONE */
-        if (invf_mode_prev == 1) /* LOW */
-            return COEF_CONST(0.6);
-        else
-            return COEF_CONST(0.0);
-    }
-}
-
-/* FIXED POINT: bwArray = COEF */
-static void calc_chirp_factors(sbr_info *sbr, uint8_t ch)
-{
-    uint8_t i;
-
-    for (i = 0; i < sbr->N_Q; i++)
-    {
-        sbr->bwArray[ch][i] = mapNewBw(sbr->bs_invf_mode[ch][i], sbr->bs_invf_mode_prev[ch][i]);
-
-        if (sbr->bwArray[ch][i] < sbr->bwArray_prev[ch][i])
-            sbr->bwArray[ch][i] = MUL_F(sbr->bwArray[ch][i], FRAC_CONST(0.75)) + MUL_F(sbr->bwArray_prev[ch][i], FRAC_CONST(0.25));
-        else
-            sbr->bwArray[ch][i] = MUL_F(sbr->bwArray[ch][i], FRAC_CONST(0.90625)) + MUL_F(sbr->bwArray_prev[ch][i], FRAC_CONST(0.09375));
-
-        if (sbr->bwArray[ch][i] < COEF_CONST(0.015625))
-            sbr->bwArray[ch][i] = COEF_CONST(0.0);
-
-        if (sbr->bwArray[ch][i] >= COEF_CONST(0.99609375))
-            sbr->bwArray[ch][i] = COEF_CONST(0.99609375);
-
-        sbr->bwArray_prev[ch][i] = sbr->bwArray[ch][i];
-        sbr->bs_invf_mode_prev[ch][i] = sbr->bs_invf_mode[ch][i];
-    }
-}
-
-static void patch_construction(sbr_info *sbr)
-{
-    uint8_t i, k;
-    uint8_t odd, sb;
-    uint8_t msb = sbr->k0;
-    uint8_t usb = sbr->kx;
-    uint8_t goalSbTab[] = { 21, 23, 32, 43, 46, 64, 85, 93, 128, 0, 0, 0 };
-    /* (uint8_t)(2.048e6/sbr->sample_rate + 0.5); */
-    uint8_t goalSb = goalSbTab[get_sr_index(sbr->sample_rate)];
-
-    sbr->noPatches = 0;
-
-    if (goalSb < (sbr->kx + sbr->M))
-    {
-        for (i = 0, k = 0; sbr->f_master[i] < goalSb; i++)
-            k = i+1;
-    } else {
-        k = sbr->N_master;
-    }
-
-    if (sbr->N_master == 0)
-    {
-        sbr->noPatches = 0;
-        sbr->patchNoSubbands[0] = 0;
-        sbr->patchStartSubband[0] = 0;
-
-        return;
-    }
-
-    do
-    {
-        uint8_t j = k + 1;
-
-        do
-        {
-            j--;
-
-            sb = sbr->f_master[j];
-            odd = (sb - 2 + sbr->k0) % 2;
-        } while (sb > (sbr->k0 - 1 + msb - odd));
-
-        sbr->patchNoSubbands[sbr->noPatches] = max(sb - usb, 0);
-        sbr->patchStartSubband[sbr->noPatches] = sbr->k0 - odd -
-            sbr->patchNoSubbands[sbr->noPatches];
-
-        if (sbr->patchNoSubbands[sbr->noPatches] > 0)
-        {
-            usb = sb;
-            msb = sb;
-            sbr->noPatches++;
-        } else {
-            msb = sbr->kx;
-        }
-
-        if (sbr->f_master[k] - sb < 3)
-            k = sbr->N_master;
-    } while (sb != (sbr->kx + sbr->M));
-
-    if ((sbr->patchNoSubbands[sbr->noPatches-1] < 3) && (sbr->noPatches > 1))
-    {
-        sbr->noPatches--;
-    }
-
-    sbr->noPatches = min(sbr->noPatches, 5);
-}
-
-#endif
diff --git a/lib/libfaad2/libfaad/sbr_hfgen.h b/lib/libfaad2/libfaad/sbr_hfgen.h
deleted file mode 100644 (file)
index a7c8424..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_hfgen.h,v 1.20 2007/11/01 12:33:35 menno Exp $
-**/
-
-#ifndef __SBR_HFGEN_H__
-#define __SBR_HFGEN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void hf_generation(sbr_info *sbr, qmf_t Xlow[MAX_NTSRHFG][64],
-                   qmf_t Xhigh[MAX_NTSRHFG][64]
-#ifdef SBR_LOW_POWER
-                   ,real_t *deg
-#endif
-                   ,uint8_t ch);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/sbr_huff.c b/lib/libfaad2/libfaad/sbr_huff.c
deleted file mode 100644 (file)
index 6ba8786..0000000
+++ /dev/null
@@ -1,360 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_huff.c,v 1.21 2007/11/01 12:33:35 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SBR_DEC
-
-#include "sbr_syntax.h"
-#include "bits.h"
-#include "sbr_huff.h"
-#include "sbr_e_nf.h"
-
-
-typedef const int8_t (*sbr_huff_tab)[2];
-
-static const int8_t t_huffman_env_1_5dB[120][2] = {
-    {   1,   2 },    { -64, -65 },    {   3,   4 },    { -63, -66 },
-    {   5,   6 },    { -62, -67 },    {   7,   8 },    { -61, -68 },
-    {   9,  10 },    { -60, -69 },    {  11,  12 },    { -59, -70 },
-    {  13,  14 },    { -58, -71 },    {  15,  16 },    { -57, -72 },
-    {  17,  18 },    { -73, -56 },    {  19,  21 },    { -74,  20 },
-    { -55, -75 },    {  22,  26 },    {  23,  24 },    { -54, -76 },
-    { -77,  25 },    { -53, -78 },    {  27,  34 },    {  28,  29 },
-    { -52, -79 },    {  30,  31 },    { -80, -51 },    {  32,  33 },
-    { -83, -82 },    { -81, -50 },    {  35,  57 },    {  36,  40 },
-    {  37,  38 },    { -88, -84 },    { -48,  39 },    { -90, -85 },
-    {  41,  46 },    {  42,  43 },    { -49, -87 },    {  44,  45 },
-    { -89, -86 },    {-124,-123 },    {  47,  50 },    {  48,  49 },
-    {-122,-121 },    {-120,-119 },    {  51,  54 },    {  52,  53 },
-    {-118,-117 },    {-116,-115 },    {  55,  56 },    {-114,-113 },
-    {-112,-111 },    {  58,  89 },    {  59,  74 },    {  60,  67 },
-    {  61,  64 },    {  62,  63 },    {-110,-109 },    {-108,-107 },
-    {  65,  66 },    {-106,-105 },    {-104,-103 },    {  68,  71 },
-    {  69,  70 },    {-102,-101 },    {-100, -99 },    {  72,  73 },
-    { -98, -97 },    { -96, -95 },    {  75,  82 },    {  76,  79 },
-    {  77,  78 },    { -94, -93 },    { -92, -91 },    {  80,  81 },
-    { -47, -46 },    { -45, -44 },    {  83,  86 },    {  84,  85 },
-    { -43, -42 },    { -41, -40 },    {  87,  88 },    { -39, -38 },
-    { -37, -36 },    {  90, 105 },    {  91,  98 },    {  92,  95 },
-    {  93,  94 },    { -35, -34 },    { -33, -32 },    {  96,  97 },
-    { -31, -30 },    { -29, -28 },    {  99, 102 },    { 100, 101 },
-    { -27, -26 },    { -25, -24 },    { 103, 104 },    { -23, -22 },
-    { -21, -20 },    { 106, 113 },    { 107, 110 },    { 108, 109 },
-    { -19, -18 },    { -17, -16 },    { 111, 112 },    { -15, -14 },
-    { -13, -12 },    { 114, 117 },    { 115, 116 },    { -11, -10 },
-    {  -9,  -8 },    { 118, 119 },    {  -7,  -6 },    {  -5,  -4 }
-};
-
-static const int8_t f_huffman_env_1_5dB[120][2] = {
-    {   1,   2 },    { -64, -65 },    {   3,   4 },    { -63, -66 },
-    {   5,   6 },    { -67, -62 },    {   7,   8 },    { -68, -61 },
-    {   9,  10 },    { -69, -60 },    {  11,  13 },    { -70,  12 },
-    { -59, -71 },    {  14,  16 },    { -58,  15 },    { -72, -57 },
-    {  17,  19 },    { -73,  18 },    { -56, -74 },    {  20,  23 },
-    {  21,  22 },    { -55, -75 },    { -54, -53 },    {  24,  27 },
-    {  25,  26 },    { -76, -52 },    { -77, -51 },    {  28,  31 },
-    {  29,  30 },    { -50, -78 },    { -79, -49 },    {  32,  36 },
-    {  33,  34 },    { -48, -47 },    { -80,  35 },    { -81, -82 },
-    {  37,  47 },    {  38,  41 },    {  39,  40 },    { -83, -46 },
-    { -45, -84 },    {  42,  44 },    { -85,  43 },    { -44, -43 },
-    {  45,  46 },    { -88, -87 },    { -86, -90 },    {  48,  66 },
-    {  49,  56 },    {  50,  53 },    {  51,  52 },    { -92, -42 },
-    { -41, -39 },    {  54,  55 },    {-105, -89 },    { -38, -37 },
-    {  57,  60 },    {  58,  59 },    { -94, -91 },    { -40, -36 },
-    {  61,  63 },    { -20,  62 },    {-115,-110 },    {  64,  65 },
-    {-108,-107 },    {-101, -97 },    {  67,  89 },    {  68,  75 },
-    {  69,  72 },    {  70,  71 },    { -95, -93 },    { -34, -27 },
-    {  73,  74 },    { -22, -17 },    { -16,-124 },    {  76,  82 },
-    {  77,  79 },    {-123,  78 },    {-122,-121 },    {  80,  81 },
-    {-120,-119 },    {-118,-117 },    {  83,  86 },    {  84,  85 },
-    {-116,-114 },    {-113,-112 },    {  87,  88 },    {-111,-109 },
-    {-106,-104 },    {  90, 105 },    {  91,  98 },    {  92,  95 },
-    {  93,  94 },    {-103,-102 },    {-100, -99 },    {  96,  97 },
-    { -98, -96 },    { -35, -33 },    {  99, 102 },    { 100, 101 },
-    { -32, -31 },    { -30, -29 },    { 103, 104 },    { -28, -26 },
-    { -25, -24 },    { 106, 113 },    { 107, 110 },    { 108, 109 },
-    { -23, -21 },    { -19, -18 },    { 111, 112 },    { -15, -14 },
-    { -13, -12 },    { 114, 117 },    { 115, 116 },    { -11, -10 },
-    {  -9,  -8 },    { 118, 119 },    {  -7,  -6 },    {  -5,  -4 }
-};
-
-static const int8_t t_huffman_env_bal_1_5dB[48][2] = {
-    { -64,   1 },    { -63,   2 },    { -65,   3 },    { -62,   4 },
-    { -66,   5 },    { -61,   6 },    { -67,   7 },    { -60,   8 },
-    { -68,   9 },    {  10,  11 },    { -69, -59 },    {  12,  13 },
-    { -70, -58 },    {  14,  28 },    {  15,  21 },    {  16,  18 },
-    { -57,  17 },    { -71, -56 },    {  19,  20 },    { -88, -87 },
-    { -86, -85 },    {  22,  25 },    {  23,  24 },    { -84, -83 },
-    { -82, -81 },    {  26,  27 },    { -80, -79 },    { -78, -77 },
-    {  29,  36 },    {  30,  33 },    {  31,  32 },    { -76, -75 },
-    { -74, -73 },    {  34,  35 },    { -72, -55 },    { -54, -53 },
-    {  37,  41 },    {  38,  39 },    { -52, -51 },    { -50,  40 },
-    { -49, -48 },    {  42,  45 },    {  43,  44 },    { -47, -46 },
-    { -45, -44 },    {  46,  47 },    { -43, -42 },    { -41, -40 }
-};
-
-static const int8_t f_huffman_env_bal_1_5dB[48][2] = {
-    { -64,   1 },    { -65,   2 },    { -63,   3 },    { -66,   4 },
-    { -62,   5 },    { -61,   6 },    { -67,   7 },    { -68,   8 },
-    { -60,   9 },    {  10,  11 },    { -69, -59 },    { -70,  12 },
-    { -58,  13 },    {  14,  17 },    { -71,  15 },    { -57,  16 },
-    { -56, -73 },    {  18,  32 },    {  19,  25 },    {  20,  22 },
-    { -72,  21 },    { -88, -87 },    {  23,  24 },    { -86, -85 },
-    { -84, -83 },    {  26,  29 },    {  27,  28 },    { -82, -81 },
-    { -80, -79 },    {  30,  31 },    { -78, -77 },    { -76, -75 },
-    {  33,  40 },    {  34,  37 },    {  35,  36 },    { -74, -55 },
-    { -54, -53 },    {  38,  39 },    { -52, -51 },    { -50, -49 },
-    {  41,  44 },    {  42,  43 },    { -48, -47 },    { -46, -45 },
-    {  45,  46 },    { -44, -43 },    { -42,  47 },    { -41, -40 }
-};
-
-static const int8_t t_huffman_env_3_0dB[62][2] = {
-    { -64,   1 },    { -65,   2 },    { -63,   3 },    { -66,   4 },
-    { -62,   5 },    { -67,   6 },    { -61,   7 },    { -68,   8 },
-    { -60,   9 },    {  10,  11 },    { -69, -59 },    {  12,  14 },
-    { -70,  13 },    { -71, -58 },    {  15,  18 },    {  16,  17 },
-    { -72, -57 },    { -73, -74 },    {  19,  22 },    { -56,  20 },
-    { -55,  21 },    { -54, -77 },    {  23,  31 },    {  24,  25 },
-    { -75, -76 },    {  26,  27 },    { -78, -53 },    {  28,  29 },
-    { -52, -95 },    { -94,  30 },    { -93, -92 },    {  32,  47 },
-    {  33,  40 },    {  34,  37 },    {  35,  36 },    { -91, -90 },
-    { -89, -88 },    {  38,  39 },    { -87, -86 },    { -85, -84 },
-    {  41,  44 },    {  42,  43 },    { -83, -82 },    { -81, -80 },
-    {  45,  46 },    { -79, -51 },    { -50, -49 },    {  48,  55 },
-    {  49,  52 },    {  50,  51 },    { -48, -47 },    { -46, -45 },
-    {  53,  54 },    { -44, -43 },    { -42, -41 },    {  56,  59 },
-    {  57,  58 },    { -40, -39 },    { -38, -37 },    {  60,  61 },
-    { -36, -35 },    { -34, -33 }
-};
-
-static const int8_t f_huffman_env_3_0dB[62][2] = {
-    { -64,   1 },    { -65,   2 },    { -63,   3 },    { -66,   4 },
-    { -62,   5 },    { -67,   6 },    {   7,   8 },    { -61, -68 },
-    {   9,  10 },    { -60, -69 },    {  11,  12 },    { -59, -70 },
-    {  13,  14 },    { -58, -71 },    {  15,  16 },    { -57, -72 },
-    {  17,  19 },    { -56,  18 },    { -55, -73 },    {  20,  24 },
-    {  21,  22 },    { -74, -54 },    { -53,  23 },    { -75, -76 },
-    {  25,  30 },    {  26,  27 },    { -52, -51 },    {  28,  29 },
-    { -77, -79 },    { -50, -49 },    {  31,  39 },    {  32,  35 },
-    {  33,  34 },    { -78, -46 },    { -82, -88 },    {  36,  37 },
-    { -83, -48 },    { -47,  38 },    { -86, -85 },    {  40,  47 },
-    {  41,  44 },    {  42,  43 },    { -80, -44 },    { -43, -42 },
-    {  45,  46 },    { -39, -87 },    { -84, -40 },    {  48,  55 },
-    {  49,  52 },    {  50,  51 },    { -95, -94 },    { -93, -92 },
-    {  53,  54 },    { -91, -90 },    { -89, -81 },    {  56,  59 },
-    {  57,  58 },    { -45, -41 },    { -38, -37 },    {  60,  61 },
-    { -36, -35 },    { -34, -33 }
-};
-
-static const int8_t t_huffman_env_bal_3_0dB[24][2] = {
-    { -64,   1 },    { -63,   2 },    { -65,   3 },    { -66,   4 },
-    { -62,   5 },    { -61,   6 },    { -67,   7 },    { -68,   8 },
-    { -60,   9 },    {  10,  16 },    {  11,  13 },    { -69,  12 },
-    { -76, -75 },    {  14,  15 },    { -74, -73 },    { -72, -71 },
-    {  17,  20 },    {  18,  19 },    { -70, -59 },    { -58, -57 },
-    {  21,  22 },    { -56, -55 },    { -54,  23 },    { -53, -52 }
-};
-
-static const int8_t f_huffman_env_bal_3_0dB[24][2] = {
-    { -64,   1 },    { -65,   2 },    { -63,   3 },    { -66,   4 },
-    { -62,   5 },    { -61,   6 },    { -67,   7 },    { -68,   8 },
-    { -60,   9 },    {  10,  13 },    { -69,  11 },    { -59,  12 },
-    { -58, -76 },    {  14,  17 },    {  15,  16 },    { -75, -74 },
-    { -73, -72 },    {  18,  21 },    {  19,  20 },    { -71, -70 },
-    { -57, -56 },    {  22,  23 },    { -55, -54 },    { -53, -52 }
-};
-
-static const int8_t t_huffman_noise_3_0dB[62][2] = {
-    { -64,   1 },    { -63,   2 },    { -65,   3 },    { -66,   4 },
-    { -62,   5 },    { -67,   6 },    {   7,   8 },    { -61, -68 },
-    {   9,  30 },    {  10,  15 },    { -60,  11 },    { -69,  12 },
-    {  13,  14 },    { -59, -53 },    { -95, -94 },    {  16,  23 },
-    {  17,  20 },    {  18,  19 },    { -93, -92 },    { -91, -90 },
-    {  21,  22 },    { -89, -88 },    { -87, -86 },    {  24,  27 },
-    {  25,  26 },    { -85, -84 },    { -83, -82 },    {  28,  29 },
-    { -81, -80 },    { -79, -78 },    {  31,  46 },    {  32,  39 },
-    {  33,  36 },    {  34,  35 },    { -77, -76 },    { -75, -74 },
-    {  37,  38 },    { -73, -72 },    { -71, -70 },    {  40,  43 },
-    {  41,  42 },    { -58, -57 },    { -56, -55 },    {  44,  45 },
-    { -54, -52 },    { -51, -50 },    {  47,  54 },    {  48,  51 },
-    {  49,  50 },    { -49, -48 },    { -47, -46 },    {  52,  53 },
-    { -45, -44 },    { -43, -42 },    {  55,  58 },    {  56,  57 },
-    { -41, -40 },    { -39, -38 },    {  59,  60 },    { -37, -36 },
-    { -35,  61 },    { -34, -33 }
-};
-
-static const int8_t t_huffman_noise_bal_3_0dB[24][2] = {
-    { -64,   1 },    { -65,   2 },    { -63,   3 },    {   4,   9 },
-    { -66,   5 },    { -62,   6 },    {   7,   8 },    { -76, -75 },
-    { -74, -73 },    {  10,  17 },    {  11,  14 },    {  12,  13 },
-    { -72, -71 },    { -70, -69 },    {  15,  16 },    { -68, -67 },
-    { -61, -60 },    {  18,  21 },    {  19,  20 },    { -59, -58 },
-    { -57, -56 },    {  22,  23 },    { -55, -54 },    { -53, -52 }
-};
-
-
-static INLINE int16_t sbr_huff_dec(bitfile *ld, sbr_huff_tab t_huff)
-{
-    uint8_t bit;
-    int16_t index = 0;
-
-    while (index >= 0)
-    {
-        bit = (uint8_t)faad_get1bit(ld);
-        index = t_huff[index][bit];
-    }
-
-    return index + 64;
-}
-
-/* table 10 */
-void sbr_envelope(bitfile *ld, sbr_info *sbr, uint8_t ch)
-{
-    uint8_t env, band;
-    int8_t delta = 0;
-    sbr_huff_tab t_huff, f_huff;
-
-    if ((sbr->L_E[ch] == 1) && (sbr->bs_frame_class[ch] == FIXFIX))
-        sbr->amp_res[ch] = 0;
-    else
-        sbr->amp_res[ch] = sbr->bs_amp_res;
-
-    if ((sbr->bs_coupling) && (ch == 1))
-    {
-        delta = 1;
-        if (sbr->amp_res[ch])
-        {
-            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 {
-        delta = 0;
-        if (sbr->amp_res[ch])
-        {
-            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->L_E[ch]; env++)
-    {
-        if (sbr->bs_df_env[ch][env] == 0)
-        {
-            if ((sbr->bs_coupling == 1) && (ch == 1))
-            {
-                if (sbr->amp_res[ch])
-                {
-                    sbr->E[ch][0][env] = (uint16_t)(faad_getbits(ld, 5
-                        DEBUGVAR(1,272,"sbr_envelope(): bs_data_env")) << delta);
-                } else {
-                    sbr->E[ch][0][env] = (uint16_t)(faad_getbits(ld, 6
-                        DEBUGVAR(1,273,"sbr_envelope(): bs_data_env")) << delta);
-                }
-            } else {
-                if (sbr->amp_res[ch])
-                {
-                    sbr->E[ch][0][env] = (uint16_t)(faad_getbits(ld, 6
-                        DEBUGVAR(1,274,"sbr_envelope(): bs_data_env")) << delta);
-                } else {
-                    sbr->E[ch][0][env] = (uint16_t)(faad_getbits(ld, 7
-                        DEBUGVAR(1,275,"sbr_envelope(): bs_data_env")) << delta);
-                }
-            }
-
-            for (band = 1; band < sbr->n[sbr->f[ch][env]]; band++)
-            {
-                sbr->E[ch][band][env] = (sbr_huff_dec(ld, f_huff) << delta);
-            }
-
-        } else {
-            for (band = 0; band < sbr->n[sbr->f[ch][env]]; band++)
-            {
-                sbr->E[ch][band][env] = (sbr_huff_dec(ld, t_huff) << delta);
-            }
-        }
-    }
-
-    extract_envelope_data(sbr, ch);
-}
-
-/* table 11 */
-void sbr_noise(bitfile *ld, sbr_info *sbr, uint8_t ch)
-{
-    uint8_t noise, band;
-    int8_t delta = 0;
-    sbr_huff_tab t_huff, f_huff;
-
-    if ((sbr->bs_coupling == 1) && (ch == 1))
-    {
-        delta = 1;
-        t_huff = t_huffman_noise_bal_3_0dB;
-        f_huff = f_huffman_env_bal_3_0dB;
-    } else {
-        delta = 0;
-        t_huff = t_huffman_noise_3_0dB;
-        f_huff = f_huffman_env_3_0dB;
-    }
-
-    for (noise = 0; noise < sbr->L_Q[ch]; noise++)
-    {
-        if(sbr->bs_df_noise[ch][noise] == 0)
-        {
-            if ((sbr->bs_coupling == 1) && (ch == 1))
-            {
-                sbr->Q[ch][0][noise] = (faad_getbits(ld, 5
-                    DEBUGVAR(1,276,"sbr_noise(): bs_data_noise")) << delta);
-            } else {
-                sbr->Q[ch][0][noise] = (faad_getbits(ld, 5
-                    DEBUGVAR(1,277,"sbr_noise(): bs_data_noise")) << delta);
-            }
-            for (band = 1; band < sbr->N_Q; band++)
-            {
-                sbr->Q[ch][band][noise] = (sbr_huff_dec(ld, f_huff) << delta);
-            }
-        } else {
-            for (band = 0; band < sbr->N_Q; band++)
-            {
-                sbr->Q[ch][band][noise] = (sbr_huff_dec(ld, t_huff) << delta);
-            }
-        }
-    }
-
-    extract_noise_floor_data(sbr, ch);
-}
-
-#endif
diff --git a/lib/libfaad2/libfaad/sbr_huff.h b/lib/libfaad2/libfaad/sbr_huff.h
deleted file mode 100644 (file)
index f749f2e..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_huff.h,v 1.21 2007/11/01 12:33:35 menno Exp $
-**/
-
-#ifndef __SBR_HUFF_H__
-#define __SBR_HUFF_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-void sbr_envelope(bitfile *ld, sbr_info *sbr, uint8_t ch);
-void sbr_noise(bitfile *ld, sbr_info *sbr, uint8_t ch);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/sbr_noise.h b/lib/libfaad2/libfaad/sbr_noise.h
deleted file mode 100644 (file)
index 1cf7190..0000000
+++ /dev/null
@@ -1,564 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_noise.h,v 1.17 2007/11/01 12:33:35 menno Exp $
-**/
-
-#ifndef __SBR_NOISE_H__
-#define __SBR_NOISE_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef _MSC_VER
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#endif
-
-
-/* Table 1.A.13 Noise table V */
-ALIGN static const complex_t V[] = {
-    { FRAC_CONST(-0.99948155879974), FRAC_CONST(-0.59483414888382) },
-    { FRAC_CONST(0.97113454341888), FRAC_CONST(-0.67528516054153) },
-    { FRAC_CONST(0.14130051434040), FRAC_CONST(-0.95090985298157) },
-    { FRAC_CONST(-0.47005495429039), FRAC_CONST(-0.37340548634529) },
-    { FRAC_CONST(0.80705064535141), FRAC_CONST(0.29653668403625) },
-    { FRAC_CONST(-0.38981479406357), FRAC_CONST(0.89572608470917) },
-    { FRAC_CONST(-0.01053049881011), FRAC_CONST(-0.66959059238434) },
-    { FRAC_CONST(-0.91266369819641), FRAC_CONST(-0.11522938311100) },
-    { FRAC_CONST(0.54840421676636), FRAC_CONST(0.75221365690231) },
-    { FRAC_CONST(0.40009254217148), FRAC_CONST(-0.98929399251938) },
-    { FRAC_CONST(-0.99867975711823), FRAC_CONST(-0.88147068023682) },
-    { FRAC_CONST(-0.95531076192856), FRAC_CONST(0.90908759832382) },
-    { FRAC_CONST(-0.45725932717323), FRAC_CONST(-0.56716322898865) },
-    { FRAC_CONST(-0.72929674386978), FRAC_CONST(-0.98008275032043) },
-    { FRAC_CONST(0.75622802972794), FRAC_CONST(0.20950329303741) },
-    { FRAC_CONST(0.07069442421198), FRAC_CONST(-0.78247898817062) },
-    { FRAC_CONST(0.74496251344681), FRAC_CONST(-0.91169005632401) },
-    { FRAC_CONST(-0.96440184116364), FRAC_CONST(-0.94739919900894) },
-    { FRAC_CONST(0.30424630641937), FRAC_CONST(-0.49438267946243) },
-    { FRAC_CONST(0.66565030813217), FRAC_CONST(0.64652937650681) },
-    { FRAC_CONST(0.91697007417679), FRAC_CONST(0.17514097690582) },
-    { FRAC_CONST(-0.70774918794632), FRAC_CONST(0.52548652887344) },
-    { FRAC_CONST(-0.70051413774490), FRAC_CONST(-0.45340028405190) },
-    { FRAC_CONST(-0.99496513605118), FRAC_CONST(-0.90071910619736) },
-    { FRAC_CONST(0.98164492845535), FRAC_CONST(-0.77463155984879) },
-    { FRAC_CONST(-0.54671579599380), FRAC_CONST(-0.02570928446949) },
-    { FRAC_CONST(-0.01689629070461), FRAC_CONST(0.00287506449968) },
-    { FRAC_CONST(-0.86110347509384), FRAC_CONST(0.42548584938049) },
-    { FRAC_CONST(-0.98892980813980), FRAC_CONST(-0.87881129980087) },
-    { FRAC_CONST(0.51756626367569), FRAC_CONST(0.66926783323288) },
-    { FRAC_CONST(-0.99635028839111), FRAC_CONST(-0.58107727766037) },
-    { FRAC_CONST(-0.99969369173050), FRAC_CONST(0.98369991779327) },
-    { FRAC_CONST(0.55266261100769), FRAC_CONST(0.59449058771133) },
-    { FRAC_CONST(0.34581178426743), FRAC_CONST(0.94879418611526) },
-    { FRAC_CONST(0.62664210796356), FRAC_CONST(-0.74402970075607) },
-    { FRAC_CONST(-0.77149701118469), FRAC_CONST(-0.33883658051491) },
-    { FRAC_CONST(-0.91592246294022), FRAC_CONST(0.03687901422381) },
-    { FRAC_CONST(-0.76285493373871), FRAC_CONST(-0.91371870040894) },
-    { FRAC_CONST(0.79788339138031), FRAC_CONST(-0.93180972337723) },
-    { FRAC_CONST(0.54473078250885), FRAC_CONST(-0.11919206380844) },
-    { FRAC_CONST(-0.85639280080795), FRAC_CONST(0.42429855465889) },
-    { FRAC_CONST(-0.92882400751114), FRAC_CONST(0.27871808409691) },
-    { FRAC_CONST(-0.11708371341228), FRAC_CONST(-0.99800843000412) },
-    { FRAC_CONST(0.21356749534607), FRAC_CONST(-0.90716296434402) },
-    { FRAC_CONST(-0.76191693544388), FRAC_CONST(0.99768120050430) },
-    { FRAC_CONST(0.98111045360565), FRAC_CONST(-0.95854461193085) },
-    { FRAC_CONST(-0.85913270711899), FRAC_CONST(0.95766568183899) },
-    { FRAC_CONST(-0.93307244777679), FRAC_CONST(0.49431759119034) },
-    { FRAC_CONST(0.30485755205154), FRAC_CONST(-0.70540034770966) },
-    { FRAC_CONST(0.85289651155472), FRAC_CONST(0.46766132116318) },
-    { FRAC_CONST(0.91328084468842), FRAC_CONST(-0.99839597940445) },
-    { FRAC_CONST(-0.05890199914575), FRAC_CONST(0.70741826295853) },
-    { FRAC_CONST(0.28398686647415), FRAC_CONST(0.34633556008339) },
-    { FRAC_CONST(0.95258164405823), FRAC_CONST(-0.54893416166306) },
-    { FRAC_CONST(-0.78566324710846), FRAC_CONST(-0.75568538904190) },
-    { FRAC_CONST(-0.95789498090744), FRAC_CONST(-0.20423194766045) },
-    { FRAC_CONST(0.82411158084869), FRAC_CONST(0.96654617786407) },
-    { FRAC_CONST(-0.65185445547104), FRAC_CONST(-0.88734990358353) },
-    { FRAC_CONST(-0.93643605709076), FRAC_CONST(0.99870789051056) },
-    { FRAC_CONST(0.91427159309387), FRAC_CONST(-0.98290503025055) },
-    { FRAC_CONST(-0.70395684242249), FRAC_CONST(0.58796799182892) },
-    { FRAC_CONST(0.00563771976158), FRAC_CONST(0.61768198013306) },
-    { FRAC_CONST(0.89065051078796), FRAC_CONST(0.52783352136612) },
-    { FRAC_CONST(-0.68683707714081), FRAC_CONST(0.80806946754456) },
-    { FRAC_CONST(0.72165340185165), FRAC_CONST(-0.69259858131409) },
-    { FRAC_CONST(-0.62928247451782), FRAC_CONST(0.13627037405968) },
-    { FRAC_CONST(0.29938435554504), FRAC_CONST(-0.46051329374313) },
-    { FRAC_CONST(-0.91781955957413), FRAC_CONST(-0.74012714624405) },
-    { FRAC_CONST(0.99298715591431), FRAC_CONST(0.40816611051559) },
-    { FRAC_CONST(0.82368296384811), FRAC_CONST(-0.74036049842834) },
-    { FRAC_CONST(-0.98512834310532), FRAC_CONST(-0.99972331523895) },
-    { FRAC_CONST(-0.95915371179581), FRAC_CONST(-0.99237799644470) },
-    { FRAC_CONST(-0.21411126852036), FRAC_CONST(-0.93424820899963) },
-    { FRAC_CONST(-0.68821477890015), FRAC_CONST(-0.26892307400703) },
-    { FRAC_CONST(0.91851997375488), FRAC_CONST(0.09358228743076) },
-    { FRAC_CONST(-0.96062767505646), FRAC_CONST(0.36099094152451) },
-    { FRAC_CONST(0.51646184921265), FRAC_CONST(-0.71373331546783) },
-    { FRAC_CONST(0.61130720376968), FRAC_CONST(0.46950140595436) },
-    { FRAC_CONST(0.47336128354073), FRAC_CONST(-0.27333179116249) },
-    { FRAC_CONST(0.90998309850693), FRAC_CONST(0.96715664863586) },
-    { FRAC_CONST(0.44844800233841), FRAC_CONST(0.99211573600769) },
-    { FRAC_CONST(0.66614890098572), FRAC_CONST(0.96590173244476) },
-    { FRAC_CONST(0.74922239780426), FRAC_CONST(-0.89879858493805) },
-    { FRAC_CONST(-0.99571585655212), FRAC_CONST(0.52785521745682) },
-    { FRAC_CONST(0.97401082515717), FRAC_CONST(-0.16855870187283) },
-    { FRAC_CONST(0.72683745622635), FRAC_CONST(-0.48060774803162) },
-    { FRAC_CONST(0.95432192087173), FRAC_CONST(0.68849605321884) },
-    { FRAC_CONST(-0.72962206602097), FRAC_CONST(-0.76608443260193) },
-    { FRAC_CONST(-0.85359477996826), FRAC_CONST(0.88738125562668) },
-    { FRAC_CONST(-0.81412428617477), FRAC_CONST(-0.97480767965317) },
-    { FRAC_CONST(-0.87930774688721), FRAC_CONST(0.74748307466507) },
-    { FRAC_CONST(-0.71573328971863), FRAC_CONST(-0.98570609092712) },
-    { FRAC_CONST(0.83524298667908), FRAC_CONST(0.83702534437180) },
-    { FRAC_CONST(-0.48086065053940), FRAC_CONST(-0.98848503828049) },
-    { FRAC_CONST(0.97139126062393), FRAC_CONST(0.80093622207642) },
-    { FRAC_CONST(0.51992827653885), FRAC_CONST(0.80247628688812) },
-    { FRAC_CONST(-0.00848591234535), FRAC_CONST(-0.76670128107071) },
-    { FRAC_CONST(-0.70294374227524), FRAC_CONST(0.55359911918640) },
-    { FRAC_CONST(-0.95894426107407), FRAC_CONST(-0.43265503644943) },
-    { FRAC_CONST(0.97079253196716), FRAC_CONST(0.09325857460499) },
-    { FRAC_CONST(-0.92404294013977), FRAC_CONST(0.85507702827454) },
-    { FRAC_CONST(-0.69506472349167), FRAC_CONST(0.98633414506912) },
-    { FRAC_CONST(0.26559203863144), FRAC_CONST(0.73314309120178) },
-    { FRAC_CONST(0.28038442134857), FRAC_CONST(0.14537914097309) },
-    { FRAC_CONST(-0.74138122797012), FRAC_CONST(0.99310338497162) },
-    { FRAC_CONST(-0.01752796024084), FRAC_CONST(-0.82616633176804) },
-    { FRAC_CONST(-0.55126774311066), FRAC_CONST(-0.98898541927338) },
-    { FRAC_CONST(0.97960901260376), FRAC_CONST(-0.94021445512772) },
-    { FRAC_CONST(-0.99196308851242), FRAC_CONST(0.67019015550613) },
-    { FRAC_CONST(-0.67684930562973), FRAC_CONST(0.12631492316723) },
-    { FRAC_CONST(0.09140039235353), FRAC_CONST(-0.20537731051445) },
-    { FRAC_CONST(-0.71658962965012), FRAC_CONST(-0.97788202762604) },
-    { FRAC_CONST(0.81014639139175), FRAC_CONST(0.53722649812698) },
-    { FRAC_CONST(0.40616992115974), FRAC_CONST(-0.26469007134438) },
-    { FRAC_CONST(-0.67680186033249), FRAC_CONST(0.94502049684525) },
-    { FRAC_CONST(0.86849772930145), FRAC_CONST(-0.18333598971367) },
-    { FRAC_CONST(-0.99500381946564), FRAC_CONST(-0.02634122036397) },
-    { FRAC_CONST(0.84329187870026), FRAC_CONST(0.10406957566738) },
-    { FRAC_CONST(-0.09215968847275), FRAC_CONST(0.69540011882782) },
-    { FRAC_CONST(0.99956172704697), FRAC_CONST(-0.12358541786671) },
-    { FRAC_CONST(-0.79732781648636), FRAC_CONST(-0.91582524776459) },
-    { FRAC_CONST(0.96349972486496), FRAC_CONST(0.96640455722809) },
-    { FRAC_CONST(-0.79942780733109), FRAC_CONST(0.64323902130127) },
-    { FRAC_CONST(-0.11566039919853), FRAC_CONST(0.28587844967842) },
-    { FRAC_CONST(-0.39922955632210), FRAC_CONST(0.94129604101181) },
-    { FRAC_CONST(0.99089199304581), FRAC_CONST(-0.92062628269196) },
-    { FRAC_CONST(0.28631284832954), FRAC_CONST(-0.91035044193268) },
-    { FRAC_CONST(-0.83302724361420), FRAC_CONST(-0.67330408096313) },
-    { FRAC_CONST(0.95404446125031), FRAC_CONST(0.49162766337395) },
-    { FRAC_CONST(-0.06449863314629), FRAC_CONST(0.03250560909510) },
-    { FRAC_CONST(-0.99575054645538), FRAC_CONST(0.42389783263206) },
-    { FRAC_CONST(-0.65501141548157), FRAC_CONST(0.82546114921570) },
-    { FRAC_CONST(-0.81254440546036), FRAC_CONST(-0.51627236604691) },
-    { FRAC_CONST(-0.99646371603012), FRAC_CONST(0.84490531682968) },
-    { FRAC_CONST(0.00287840608507), FRAC_CONST(0.64768260717392) },
-    { FRAC_CONST(0.70176988840103), FRAC_CONST(-0.20453028380871) },
-    { FRAC_CONST(0.96361881494522), FRAC_CONST(0.40706968307495) },
-    { FRAC_CONST(-0.68883758783340), FRAC_CONST(0.91338956356049) },
-    { FRAC_CONST(-0.34875586628914), FRAC_CONST(0.71472293138504) },
-    { FRAC_CONST(0.91980081796646), FRAC_CONST(0.66507452726364) },
-    { FRAC_CONST(-0.99009048938751), FRAC_CONST(0.85868018865585) },
-    { FRAC_CONST(0.68865793943405), FRAC_CONST(0.55660319328308) },
-    { FRAC_CONST(-0.99484401941299), FRAC_CONST(-0.20052559673786) },
-    { FRAC_CONST(0.94214510917664), FRAC_CONST(-0.99696427583694) },
-    { FRAC_CONST(-0.67414629459381), FRAC_CONST(0.49548220634460) },
-    { FRAC_CONST(-0.47339352965355), FRAC_CONST(-0.85904330015182) },
-    { FRAC_CONST(0.14323651790619), FRAC_CONST(-0.94145596027374) },
-    { FRAC_CONST(-0.29268294572830), FRAC_CONST(0.05759225040674) },
-    { FRAC_CONST(0.43793860077858), FRAC_CONST(-0.78904968500137) },
-    { FRAC_CONST(-0.36345127224922), FRAC_CONST(0.64874434471130) },
-    { FRAC_CONST(-0.08750604838133), FRAC_CONST(0.97686946392059) },
-    { FRAC_CONST(-0.96495270729065), FRAC_CONST(-0.53960305452347) },
-    { FRAC_CONST(0.55526942014694), FRAC_CONST(0.78891521692276) },
-    { FRAC_CONST(0.73538213968277), FRAC_CONST(0.96452075242996) },
-    { FRAC_CONST(-0.30889773368835), FRAC_CONST(-0.80664390325546) },
-    { FRAC_CONST(0.03574995696545), FRAC_CONST(-0.97325617074966) },
-    { FRAC_CONST(0.98720687627792), FRAC_CONST(0.48409134149551) },
-    { FRAC_CONST(-0.81689298152924), FRAC_CONST(-0.90827703475952) },
-    { FRAC_CONST(0.67866861820221), FRAC_CONST(0.81284505128860) },
-    { FRAC_CONST(-0.15808570384979), FRAC_CONST(0.85279554128647) },
-    { FRAC_CONST(0.80723392963409), FRAC_CONST(-0.24717418849468) },
-    { FRAC_CONST(0.47788757085800), FRAC_CONST(-0.46333149075508) },
-    { FRAC_CONST(0.96367555856705), FRAC_CONST(0.38486748933792) },
-    { FRAC_CONST(-0.99143874645233), FRAC_CONST(-0.24945276975632) },
-    { FRAC_CONST(0.83081877231598), FRAC_CONST(-0.94780850410461) },
-    { FRAC_CONST(-0.58753192424774), FRAC_CONST(0.01290772389621) },
-    { FRAC_CONST(0.95538109540939), FRAC_CONST(-0.85557049512863) },
-    { FRAC_CONST(-0.96490919589996), FRAC_CONST(-0.64020973443985) },
-    { FRAC_CONST(-0.97327101230621), FRAC_CONST(0.12378127872944) },
-    { FRAC_CONST(0.91400367021561), FRAC_CONST(0.57972472906113) },
-    { FRAC_CONST(-0.99925839900970), FRAC_CONST(0.71084845066071) },
-    { FRAC_CONST(-0.86875903606415), FRAC_CONST(-0.20291699469090) },
-    { FRAC_CONST(-0.26240035891533), FRAC_CONST(-0.68264555931091) },
-    { FRAC_CONST(-0.24664412438869), FRAC_CONST(-0.87642270326614) },
-    { FRAC_CONST(0.02416275814176), FRAC_CONST(0.27192914485931) },
-    { FRAC_CONST(0.82068622112274), FRAC_CONST(-0.85087788105011) },
-    { FRAC_CONST(0.88547372817993), FRAC_CONST(-0.89636802673340) },
-    { FRAC_CONST(-0.18173077702522), FRAC_CONST(-0.26152145862579) },
-    { FRAC_CONST(0.09355476498604), FRAC_CONST(0.54845124483109) },
-    { FRAC_CONST(-0.54668414592743), FRAC_CONST(0.95980775356293) },
-    { FRAC_CONST(0.37050989270210), FRAC_CONST(-0.59910142421722) },
-    { FRAC_CONST(-0.70373594760895), FRAC_CONST(0.91227668523788) },
-    { FRAC_CONST(-0.34600785374641), FRAC_CONST(-0.99441426992416) },
-    { FRAC_CONST(-0.68774479627609), FRAC_CONST(-0.30238837003708) },
-    { FRAC_CONST(-0.26843291521072), FRAC_CONST(0.83115667104721) },
-    { FRAC_CONST(0.49072334170341), FRAC_CONST(-0.45359709858894) },
-    { FRAC_CONST(0.38975992798805), FRAC_CONST(0.95515358448029) },
-    { FRAC_CONST(-0.97757124900818), FRAC_CONST(0.05305894464254) },
-    { FRAC_CONST(-0.17325553297997), FRAC_CONST(-0.92770671844482) },
-    { FRAC_CONST(0.99948036670685), FRAC_CONST(0.58285546302795) },
-    { FRAC_CONST(-0.64946246147156), FRAC_CONST(0.68645507097244) },
-    { FRAC_CONST(-0.12016920745373), FRAC_CONST(-0.57147324085236) },
-    { FRAC_CONST(-0.58947455883026), FRAC_CONST(-0.34847131371498) },
-    { FRAC_CONST(-0.41815140843391), FRAC_CONST(0.16276422142982) },
-    { FRAC_CONST(0.99885648488998), FRAC_CONST(0.11136095225811) },
-    { FRAC_CONST(-0.56649613380432), FRAC_CONST(-0.90494865179062) },
-    { FRAC_CONST(0.94138020277023), FRAC_CONST(0.35281917452812) },
-    { FRAC_CONST(-0.75725078582764), FRAC_CONST(0.53650552034378) },
-    { FRAC_CONST(0.20541973412037), FRAC_CONST(-0.94435143470764) },
-    { FRAC_CONST(0.99980372190475), FRAC_CONST(0.79835915565491) },
-    { FRAC_CONST(0.29078277945518), FRAC_CONST(0.35393777489662) },
-    { FRAC_CONST(-0.62858772277832), FRAC_CONST(0.38765692710876) },
-    { FRAC_CONST(0.43440905213356), FRAC_CONST(-0.98546332120895) },
-    { FRAC_CONST(-0.98298585414886), FRAC_CONST(0.21021524071693) },
-    { FRAC_CONST(0.19513028860092), FRAC_CONST(-0.94239830970764) },
-    { FRAC_CONST(-0.95476663112640), FRAC_CONST(0.98364555835724) },
-    { FRAC_CONST(0.93379634618759), FRAC_CONST(-0.70881992578506) },
-    { FRAC_CONST(-0.85235410928726), FRAC_CONST(-0.08342348039150) },
-    { FRAC_CONST(-0.86425095796585), FRAC_CONST(-0.45795026421547) },
-    { FRAC_CONST(0.38879778981209), FRAC_CONST(0.97274428606033) },
-    { FRAC_CONST(0.92045122385025), FRAC_CONST(-0.62433654069901) },
-    { FRAC_CONST(0.89162534475327), FRAC_CONST(0.54950958490372) },
-    { FRAC_CONST(-0.36834338307381), FRAC_CONST(0.96458297967911) },
-    { FRAC_CONST(0.93891763687134), FRAC_CONST(-0.89968353509903) },
-    { FRAC_CONST(0.99267655611038), FRAC_CONST(-0.03757034242153) },
-    { FRAC_CONST(-0.94063472747803), FRAC_CONST(0.41332337260246) },
-    { FRAC_CONST(0.99740225076675), FRAC_CONST(-0.16830494999886) },
-    { FRAC_CONST(-0.35899412631989), FRAC_CONST(-0.46633225679398) },
-    { FRAC_CONST(0.05237237364054), FRAC_CONST(-0.25640362501144) },
-    { FRAC_CONST(0.36703583598137), FRAC_CONST(-0.38653266429901) },
-    { FRAC_CONST(0.91653180122375), FRAC_CONST(-0.30587628483772) },
-    { FRAC_CONST(0.69000804424286), FRAC_CONST(0.90952169895172) },
-    { FRAC_CONST(-0.38658750057220), FRAC_CONST(0.99501574039459) },
-    { FRAC_CONST(-0.29250815510750), FRAC_CONST(0.37444993853569) },
-    { FRAC_CONST(-0.60182201862335), FRAC_CONST(0.86779648065567) },
-    { FRAC_CONST(-0.97418588399887), FRAC_CONST(0.96468526124954) },
-    { FRAC_CONST(0.88461571931839), FRAC_CONST(0.57508403062820) },
-    { FRAC_CONST(0.05198933184147), FRAC_CONST(0.21269661188126) },
-    { FRAC_CONST(-0.53499621152878), FRAC_CONST(0.97241556644440) },
-    { FRAC_CONST(-0.49429559707642), FRAC_CONST(0.98183864355087) },
-    { FRAC_CONST(-0.98935145139694), FRAC_CONST(-0.40249159932137) },
-    { FRAC_CONST(-0.98081380128860), FRAC_CONST(-0.72856897115707) },
-    { FRAC_CONST(-0.27338150143623), FRAC_CONST(0.99950921535492) },
-    { FRAC_CONST(0.06310802698135), FRAC_CONST(-0.54539585113525) },
-    { FRAC_CONST(-0.20461677014828), FRAC_CONST(-0.14209978282452) },
-    { FRAC_CONST(0.66223841905594), FRAC_CONST(0.72528582811356) },
-    { FRAC_CONST(-0.84764343500137), FRAC_CONST(0.02372316829860) },
-    { FRAC_CONST(-0.89039862155914), FRAC_CONST(0.88866579532623) },
-    { FRAC_CONST(0.95903307199478), FRAC_CONST(0.76744925975800) },
-    { FRAC_CONST(0.73504126071930), FRAC_CONST(-0.03747203201056) },
-    { FRAC_CONST(-0.31744435429573), FRAC_CONST(-0.36834111809731) },
-    { FRAC_CONST(-0.34110826253891), FRAC_CONST(0.40211221575737) },
-    { FRAC_CONST(0.47803884744644), FRAC_CONST(-0.39423218369484) },
-    { FRAC_CONST(0.98299193382263), FRAC_CONST(0.01989791356027) },
-    { FRAC_CONST(-0.30963072180748), FRAC_CONST(-0.18076720833778) },
-    { FRAC_CONST(0.99992591142654), FRAC_CONST(-0.26281872391701) },
-    { FRAC_CONST(-0.93149733543396), FRAC_CONST(-0.98313164710999) },
-    { FRAC_CONST(0.99923473596573), FRAC_CONST(-0.80142992734909) },
-    { FRAC_CONST(-0.26024168729782), FRAC_CONST(-0.75999760627747) },
-    { FRAC_CONST(-0.35712513327599), FRAC_CONST(0.19298963248730) },
-    { FRAC_CONST(-0.99899083375931), FRAC_CONST(0.74645155668259) },
-    { FRAC_CONST(0.86557173728943), FRAC_CONST(0.55593866109848) },
-    { FRAC_CONST(0.33408042788506), FRAC_CONST(0.86185956001282) },
-    { FRAC_CONST(0.99010735750198), FRAC_CONST(0.04602397605777) },
-    { FRAC_CONST(-0.66694271564484), FRAC_CONST(-0.91643613576889) },
-    { FRAC_CONST(0.64016789197922), FRAC_CONST(0.15649530291557) },
-    { FRAC_CONST(0.99570536613464), FRAC_CONST(0.45844584703445) },
-    { FRAC_CONST(-0.63431465625763), FRAC_CONST(0.21079117059708) },
-    { FRAC_CONST(-0.07706847041845), FRAC_CONST(-0.89581435918808) },
-    { FRAC_CONST(0.98590087890625), FRAC_CONST(0.88241720199585) },
-    { FRAC_CONST(0.80099332332611), FRAC_CONST(-0.36851897835732) },
-    { FRAC_CONST(0.78368133306503), FRAC_CONST(0.45506998896599) },
-    { FRAC_CONST(0.08707806468010), FRAC_CONST(0.80938994884491) },
-    { FRAC_CONST(-0.86811882257462), FRAC_CONST(0.39347308874130) },
-    { FRAC_CONST(-0.39466530084610), FRAC_CONST(-0.66809433698654) },
-    { FRAC_CONST(0.97875326871872), FRAC_CONST(-0.72467839717865) },
-    { FRAC_CONST(-0.95038563013077), FRAC_CONST(0.89563220739365) },
-    { FRAC_CONST(0.17005239427090), FRAC_CONST(0.54683053493500) },
-    { FRAC_CONST(-0.76910793781281), FRAC_CONST(-0.96226614713669) },
-    { FRAC_CONST(0.99743282794952), FRAC_CONST(0.42697158455849) },
-    { FRAC_CONST(0.95437383651733), FRAC_CONST(0.97002321481705) },
-    { FRAC_CONST(0.99578905105591), FRAC_CONST(-0.54106825590134) },
-    { FRAC_CONST(0.28058260679245), FRAC_CONST(-0.85361421108246) },
-    { FRAC_CONST(0.85256522893906), FRAC_CONST(-0.64567607641220) },
-    { FRAC_CONST(-0.50608539581299), FRAC_CONST(-0.65846014022827) },
-    { FRAC_CONST(-0.97210735082626), FRAC_CONST(-0.23095212876797) },
-    { FRAC_CONST(0.95424050092697), FRAC_CONST(-0.99240148067474) },
-    { FRAC_CONST(-0.96926569938660), FRAC_CONST(0.73775655031204) },
-    { FRAC_CONST(0.30872163176537), FRAC_CONST(0.41514959931374) },
-    { FRAC_CONST(-0.24523839354515), FRAC_CONST(0.63206630945206) },
-    { FRAC_CONST(-0.33813264966011), FRAC_CONST(-0.38661777973175) },
-    { FRAC_CONST(-0.05826828256249), FRAC_CONST(-0.06940773874521) },
-    { FRAC_CONST(-0.22898460924625), FRAC_CONST(0.97054851055145) },
-    { FRAC_CONST(-0.18509915471077), FRAC_CONST(0.47565764188766) },
-    { FRAC_CONST(-0.10488238185644), FRAC_CONST(-0.87769949436188) },
-    { FRAC_CONST(-0.71886587142944), FRAC_CONST(0.78030979633331) },
-    { FRAC_CONST(0.99793875217438), FRAC_CONST(0.90041309595108) },
-    { FRAC_CONST(0.57563304901123), FRAC_CONST(-0.91034334897995) },
-    { FRAC_CONST(0.28909647464752), FRAC_CONST(0.96307784318924) },
-    { FRAC_CONST(0.42188999056816), FRAC_CONST(0.48148649930954) },
-    { FRAC_CONST(0.93335050344467), FRAC_CONST(-0.43537023663521) },
-    { FRAC_CONST(-0.97087377309799), FRAC_CONST(0.86636447906494) },
-    { FRAC_CONST(0.36722871661186), FRAC_CONST(0.65291655063629) },
-    { FRAC_CONST(-0.81093025207520), FRAC_CONST(0.08778370171785) },
-    { FRAC_CONST(-0.26240602135658), FRAC_CONST(-0.92774093151093) },
-    { FRAC_CONST(0.83996498584747), FRAC_CONST(0.55839848518372) },
-    { FRAC_CONST(-0.99909615516663), FRAC_CONST(-0.96024608612061) },
-    { FRAC_CONST(0.74649465084076), FRAC_CONST(0.12144893407822) },
-    { FRAC_CONST(-0.74774593114853), FRAC_CONST(-0.26898062229156) },
-    { FRAC_CONST(0.95781666040421), FRAC_CONST(-0.79047924280167) },
-    { FRAC_CONST(0.95472306013107), FRAC_CONST(-0.08588775992393) },
-    { FRAC_CONST(0.48708331584930), FRAC_CONST(0.99999040365219) },
-    { FRAC_CONST(0.46332037448883), FRAC_CONST(0.10964126139879) },
-    { FRAC_CONST(-0.76497006416321), FRAC_CONST(0.89210927486420) },
-    { FRAC_CONST(0.57397389411926), FRAC_CONST(0.35289704799652) },
-    { FRAC_CONST(0.75374317169189), FRAC_CONST(0.96705216169357) },
-    { FRAC_CONST(-0.59174400568008), FRAC_CONST(-0.89405369758606) },
-    { FRAC_CONST(0.75087904930115), FRAC_CONST(-0.29612672328949) },
-    { FRAC_CONST(-0.98607856035233), FRAC_CONST(0.25034910440445) },
-    { FRAC_CONST(-0.40761056542397), FRAC_CONST(-0.90045571327209) },
-    { FRAC_CONST(0.66929268836975), FRAC_CONST(0.98629492521286) },
-    { FRAC_CONST(-0.97463697195053), FRAC_CONST(-0.00190223299433) },
-    { FRAC_CONST(0.90145510435104), FRAC_CONST(0.99781388044357) },
-    { FRAC_CONST(-0.87259286642075), FRAC_CONST(0.99233585596085) },
-    { FRAC_CONST(-0.91529458761215), FRAC_CONST(-0.15698707103729) },
-    { FRAC_CONST(-0.03305738791823), FRAC_CONST(-0.37205263972282) },
-    { FRAC_CONST(0.07223051041365), FRAC_CONST(-0.88805001974106) },
-    { FRAC_CONST(0.99498009681702), FRAC_CONST(0.97094357013702) },
-    { FRAC_CONST(-0.74904936552048), FRAC_CONST(0.99985486268997) },
-    { FRAC_CONST(0.04585228487849), FRAC_CONST(0.99812334775925) },
-    { FRAC_CONST(-0.89054954051971), FRAC_CONST(-0.31791913509369) },
-    { FRAC_CONST(-0.83782142400742), FRAC_CONST(0.97637635469437) },
-    { FRAC_CONST(0.33454805612564), FRAC_CONST(-0.86231517791748) },
-    { FRAC_CONST(-0.99707579612732), FRAC_CONST(0.93237990140915) },
-    { FRAC_CONST(-0.22827528417110), FRAC_CONST(0.18874759972095) },
-    { FRAC_CONST(0.67248046398163), FRAC_CONST(-0.03646211326122) },
-    { FRAC_CONST(-0.05146538093686), FRAC_CONST(-0.92599701881409) },
-    { FRAC_CONST(0.99947297573090), FRAC_CONST(0.93625229597092) },
-    { FRAC_CONST(0.66951125860214), FRAC_CONST(0.98905825614929) },
-    { FRAC_CONST(-0.99602955579758), FRAC_CONST(-0.44654715061188) },
-    { FRAC_CONST(0.82104903459549), FRAC_CONST(0.99540740251541) },
-    { FRAC_CONST(0.99186509847641), FRAC_CONST(0.72022998332977) },
-    { FRAC_CONST(-0.65284591913223), FRAC_CONST(0.52186721563339) },
-    { FRAC_CONST(0.93885445594788), FRAC_CONST(-0.74895310401917) },
-    { FRAC_CONST(0.96735250949860), FRAC_CONST(0.90891814231873) },
-    { FRAC_CONST(-0.22225968539715), FRAC_CONST(0.57124030590057) },
-    { FRAC_CONST(-0.44132784008980), FRAC_CONST(-0.92688840627670) },
-    { FRAC_CONST(-0.85694974660873), FRAC_CONST(0.88844531774521) },
-    { FRAC_CONST(0.91783040761948), FRAC_CONST(-0.46356892585754) },
-    { FRAC_CONST(0.72556972503662), FRAC_CONST(-0.99899554252625) },
-    { FRAC_CONST(-0.99711579084396), FRAC_CONST(0.58211559057236) },
-    { FRAC_CONST(0.77638977766037), FRAC_CONST(0.94321835041046) },
-    { FRAC_CONST(0.07717324048281), FRAC_CONST(0.58638399839401) },
-    { FRAC_CONST(-0.56049829721451), FRAC_CONST(0.82522302865982) },
-    { FRAC_CONST(0.98398894071579), FRAC_CONST(0.39467439055443) },
-    { FRAC_CONST(0.47546947002411), FRAC_CONST(0.68613046407700) },
-    { FRAC_CONST(0.65675091743469), FRAC_CONST(0.18331636488438) },
-    { FRAC_CONST(0.03273375332355), FRAC_CONST(-0.74933111667633) },
-    { FRAC_CONST(-0.38684144616127), FRAC_CONST(0.51337349414825) },
-    { FRAC_CONST(-0.97346270084381), FRAC_CONST(-0.96549361944199) },
-    { FRAC_CONST(-0.53282153606415), FRAC_CONST(-0.91423267126083) },
-    { FRAC_CONST(0.99817311763763), FRAC_CONST(0.61133575439453) },
-    { FRAC_CONST(-0.50254499912262), FRAC_CONST(-0.88829338550568) },
-    { FRAC_CONST(0.01995873264968), FRAC_CONST(0.85223513841629) },
-    { FRAC_CONST(0.99930381774902), FRAC_CONST(0.94578897953033) },
-    { FRAC_CONST(0.82907766103745), FRAC_CONST(-0.06323442608118) },
-    { FRAC_CONST(-0.58660709857941), FRAC_CONST(0.96840775012970) },
-    { FRAC_CONST(-0.17573736608028), FRAC_CONST(-0.48166921734810) },
-    { FRAC_CONST(0.83434289693832), FRAC_CONST(-0.13023450970650) },
-    { FRAC_CONST(0.05946491286159), FRAC_CONST(0.20511047542095) },
-    { FRAC_CONST(0.81505483388901), FRAC_CONST(-0.94685947895050) },
-    { FRAC_CONST(-0.44976380467415), FRAC_CONST(0.40894573926926) },
-    { FRAC_CONST(-0.89746475219727), FRAC_CONST(0.99846577644348) },
-    { FRAC_CONST(0.39677256345749), FRAC_CONST(-0.74854665994644) },
-    { FRAC_CONST(-0.07588948309422), FRAC_CONST(0.74096214771271) },
-    { FRAC_CONST(0.76343196630478), FRAC_CONST(0.41746628284454) },
-    { FRAC_CONST(-0.74490106105804), FRAC_CONST(0.94725912809372) },
-    { FRAC_CONST(0.64880120754242), FRAC_CONST(0.41336661577225) },
-    { FRAC_CONST(0.62319535017014), FRAC_CONST(-0.93098312616348) },
-    { FRAC_CONST(0.42215818166733), FRAC_CONST(-0.07712787389755) },
-    { FRAC_CONST(0.02704554051161), FRAC_CONST(-0.05417517945170) },
-    { FRAC_CONST(0.80001771450043), FRAC_CONST(0.91542196273804) },
-    { FRAC_CONST(-0.79351830482483), FRAC_CONST(-0.36208897829056) },
-    { FRAC_CONST(0.63872361183167), FRAC_CONST(0.08128252625465) },
-    { FRAC_CONST(0.52890521287918), FRAC_CONST(0.60048872232437) },
-    { FRAC_CONST(0.74238550662994), FRAC_CONST(0.04491915181279) },
-    { FRAC_CONST(0.99096131324768), FRAC_CONST(-0.19451183080673) },
-    { FRAC_CONST(-0.80412328243256), FRAC_CONST(-0.88513815402985) },
-    { FRAC_CONST(-0.64612615108490), FRAC_CONST(0.72198677062988) },
-    { FRAC_CONST(0.11657770723104), FRAC_CONST(-0.83662831783295) },
-    { FRAC_CONST(-0.95053184032440), FRAC_CONST(-0.96939903497696) },
-    { FRAC_CONST(-0.62228870391846), FRAC_CONST(0.82767260074615) },
-    { FRAC_CONST(0.03004475869238), FRAC_CONST(-0.99738895893097) },
-    { FRAC_CONST(-0.97987216711044), FRAC_CONST(0.36526128649712) },
-    { FRAC_CONST(-0.99986982345581), FRAC_CONST(-0.36021611094475) },
-    { FRAC_CONST(0.89110648632050), FRAC_CONST(-0.97894251346588) },
-    { FRAC_CONST(0.10407960414886), FRAC_CONST(0.77357792854309) },
-    { FRAC_CONST(0.95964735746384), FRAC_CONST(-0.35435819625854) },
-    { FRAC_CONST(0.50843232870102), FRAC_CONST(0.96107691526413) },
-    { FRAC_CONST(0.17006334662437), FRAC_CONST(-0.76854026317596) },
-    { FRAC_CONST(0.25872674584389), FRAC_CONST(0.99893301725388) },
-    { FRAC_CONST(-0.01115998718888), FRAC_CONST(0.98496019840240) },
-    { FRAC_CONST(-0.79598701000214), FRAC_CONST(0.97138410806656) },
-    { FRAC_CONST(-0.99264711141586), FRAC_CONST(-0.99542820453644) },
-    { FRAC_CONST(-0.99829661846161), FRAC_CONST(0.01877138763666) },
-    { FRAC_CONST(-0.70801013708115), FRAC_CONST(0.33680686354637) },
-    { FRAC_CONST(-0.70467054843903), FRAC_CONST(0.93272775411606) },
-    { FRAC_CONST(0.99846023321152), FRAC_CONST(-0.98725748062134) },
-    { FRAC_CONST(-0.63364970684052), FRAC_CONST(-0.16473594307899) },
-    { FRAC_CONST(-0.16258217394352), FRAC_CONST(-0.95939123630524) },
-    { FRAC_CONST(-0.43645593523979), FRAC_CONST(-0.94805032014847) },
-    { FRAC_CONST(-0.99848473072052), FRAC_CONST(0.96245169639587) },
-    { FRAC_CONST(-0.16796459257603), FRAC_CONST(-0.98987513780594) },
-    { FRAC_CONST(-0.87979227304459), FRAC_CONST(-0.71725726127625) },
-    { FRAC_CONST(0.44183099269867), FRAC_CONST(-0.93568974733353) },
-    { FRAC_CONST(0.93310177326202), FRAC_CONST(-0.99913311004639) },
-    { FRAC_CONST(-0.93941932916641), FRAC_CONST(-0.56409376859665) },
-    { FRAC_CONST(-0.88590002059937), FRAC_CONST(0.47624599933624) },
-    { FRAC_CONST(0.99971461296082), FRAC_CONST(-0.83889955282211) },
-    { FRAC_CONST(-0.75376385450363), FRAC_CONST(0.00814643409103) },
-    { FRAC_CONST(0.93887686729431), FRAC_CONST(-0.11284527927637) },
-    { FRAC_CONST(0.85126435756683), FRAC_CONST(0.52349251508713) },
-    { FRAC_CONST(0.39701420068741), FRAC_CONST(0.81779634952545) },
-    { FRAC_CONST(-0.37024465203285), FRAC_CONST(-0.87071657180786) },
-    { FRAC_CONST(-0.36024826765060), FRAC_CONST(0.34655734896660) },
-    { FRAC_CONST(-0.93388813734055), FRAC_CONST(-0.84476542472839) },
-    { FRAC_CONST(-0.65298801660538), FRAC_CONST(-0.18439576029778) },
-    { FRAC_CONST(0.11960318684578), FRAC_CONST(0.99899345636368) },
-    { FRAC_CONST(0.94292563199997), FRAC_CONST(0.83163905143738) },
-    { FRAC_CONST(0.75081145763397), FRAC_CONST(-0.35533222556114) },
-    { FRAC_CONST(0.56721979379654), FRAC_CONST(-0.24076835811138) },
-    { FRAC_CONST(0.46857765316963), FRAC_CONST(-0.30140233039856) },
-    { FRAC_CONST(0.97312313318253), FRAC_CONST(-0.99548190832138) },
-    { FRAC_CONST(-0.38299977779388), FRAC_CONST(0.98516911268234) },
-    { FRAC_CONST(0.41025799512863), FRAC_CONST(0.02116736955941) },
-    { FRAC_CONST(0.09638062119484), FRAC_CONST(0.04411984235048) },
-    { FRAC_CONST(-0.85283249616623), FRAC_CONST(0.91475564241409) },
-    { FRAC_CONST(0.88866806030273), FRAC_CONST(-0.99735265970230) },
-    { FRAC_CONST(-0.48202428221703), FRAC_CONST(-0.96805608272552) },
-    { FRAC_CONST(0.27572581171989), FRAC_CONST(0.58634752035141) },
-    { FRAC_CONST(-0.65889132022858), FRAC_CONST(0.58835631608963) },
-    { FRAC_CONST(0.98838084936142), FRAC_CONST(0.99994349479675) },
-    { FRAC_CONST(-0.20651349425316), FRAC_CONST(0.54593044519424) },
-    { FRAC_CONST(-0.62126415967941), FRAC_CONST(-0.59893679618835) },
-    { FRAC_CONST(0.20320105552673), FRAC_CONST(-0.86879181861877) },
-    { FRAC_CONST(-0.97790551185608), FRAC_CONST(0.96290808916092) },
-    { FRAC_CONST(0.11112534999847), FRAC_CONST(0.21484763920307) },
-    { FRAC_CONST(-0.41368338465691), FRAC_CONST(0.28216838836670) },
-    { FRAC_CONST(0.24133038520813), FRAC_CONST(0.51294362545013) },
-    { FRAC_CONST(-0.66393411159515), FRAC_CONST(-0.08249679952860) },
-    { FRAC_CONST(-0.53697830438614), FRAC_CONST(-0.97649902105331) },
-    { FRAC_CONST(-0.97224736213684), FRAC_CONST(0.22081333398819) },
-    { FRAC_CONST(0.87392479181290), FRAC_CONST(-0.12796173989773) },
-    { FRAC_CONST(0.19050361216068), FRAC_CONST(0.01602615416050) },
-    { FRAC_CONST(-0.46353441476822), FRAC_CONST(-0.95249038934708) },
-    { FRAC_CONST(-0.07064096629620), FRAC_CONST(-0.94479805231094) },
-    { FRAC_CONST(-0.92444086074829), FRAC_CONST(-0.10457590222359) },
-    { FRAC_CONST(-0.83822596073151), FRAC_CONST(-0.01695043221116) },
-    { FRAC_CONST(0.75214684009552), FRAC_CONST(-0.99955683946609) },
-    { FRAC_CONST(-0.42102998495102), FRAC_CONST(0.99720942974091) },
-    { FRAC_CONST(-0.72094786167145), FRAC_CONST(-0.35008960962296) },
-    { FRAC_CONST(0.78843313455582), FRAC_CONST(0.52851396799088) },
-    { FRAC_CONST(0.97394025325775), FRAC_CONST(-0.26695942878723) },
-    { FRAC_CONST(0.99206465482712), FRAC_CONST(-0.57010120153427) },
-    { FRAC_CONST(0.76789611577988), FRAC_CONST(-0.76519358158112) },
-    { FRAC_CONST(-0.82002419233322), FRAC_CONST(-0.73530179262161) },
-    { FRAC_CONST(0.81924992799759), FRAC_CONST(0.99698424339294) },
-    { FRAC_CONST(-0.26719850301743), FRAC_CONST(0.68903368711472) },
-    { FRAC_CONST(-0.43311259150505), FRAC_CONST(0.85321813821793) },
-    { FRAC_CONST(0.99194979667664), FRAC_CONST(0.91876250505447) },
-    { FRAC_CONST(-0.80691999197006), FRAC_CONST(-0.32627540826797) },
-    { FRAC_CONST(0.43080005049706), FRAC_CONST(-0.21919095516205) },
-    { FRAC_CONST(0.67709493637085), FRAC_CONST(-0.95478075742722) },
-    { FRAC_CONST(0.56151771545410), FRAC_CONST(-0.70693808794022) },
-    { FRAC_CONST(0.10831862688065), FRAC_CONST(-0.08628837019205) },
-    { FRAC_CONST(0.91229414939880), FRAC_CONST(-0.65987348556519) },
-    { FRAC_CONST(-0.48972892761230), FRAC_CONST(0.56289243698120) },
-    { FRAC_CONST(-0.89033657312393), FRAC_CONST(-0.71656566858292) },
-    { FRAC_CONST(0.65269446372986), FRAC_CONST(0.65916007757187) },
-    { FRAC_CONST(0.67439478635788), FRAC_CONST(-0.81684380769730) },
-    { FRAC_CONST(-0.47770830988884), FRAC_CONST(-0.16789555549622) },
-    { FRAC_CONST(-0.99715977907181), FRAC_CONST(-0.93565785884857) },
-    { FRAC_CONST(-0.90889590978622), FRAC_CONST(0.62034398317337) },
-    { FRAC_CONST(-0.06618622690439), FRAC_CONST(-0.23812216520309) },
-    { FRAC_CONST(0.99430269002914), FRAC_CONST(0.18812555074692) },
-    { FRAC_CONST(0.97686403989792), FRAC_CONST(-0.28664535284042) },
-    { FRAC_CONST(0.94813650846481), FRAC_CONST(-0.97506642341614) },
-    { FRAC_CONST(-0.95434498786926), FRAC_CONST(-0.79607981443405) },
-    { FRAC_CONST(-0.49104782938957), FRAC_CONST(0.32895213365555) },
-    { FRAC_CONST(0.99881172180176), FRAC_CONST(0.88993984460831) },
-    { FRAC_CONST(0.50449168682098), FRAC_CONST(-0.85995072126389) },
-    { FRAC_CONST(0.47162890434265), FRAC_CONST(-0.18680204451084) },
-    { FRAC_CONST(-0.62081581354141), FRAC_CONST(0.75000673532486) },
-    { FRAC_CONST(-0.43867015838623), FRAC_CONST(0.99998068809509) },
-    { FRAC_CONST(0.98630565404892), FRAC_CONST(-0.53578901290894) },
-    { FRAC_CONST(-0.61510360240936), FRAC_CONST(-0.89515018463135) },
-    { FRAC_CONST(-0.03841517493129), FRAC_CONST(-0.69888818264008) },
-    { FRAC_CONST(-0.30102157592773), FRAC_CONST(-0.07667808979750) },
-    { FRAC_CONST(0.41881284117699), FRAC_CONST(0.02188098989427) },
-    { FRAC_CONST(-0.86135452985764), FRAC_CONST(0.98947483301163) },
-    { FRAC_CONST(0.67226862907410), FRAC_CONST(-0.13494388759136) },
-    { FRAC_CONST(-0.70737397670746), FRAC_CONST(-0.76547348499298) },
-    { FRAC_CONST(0.94044947624207), FRAC_CONST(0.09026201069355) },
-    { FRAC_CONST(-0.82386350631714), FRAC_CONST(0.08924768865108) },
-    { FRAC_CONST(-0.32070666551590), FRAC_CONST(0.50143420696259) },
-    { FRAC_CONST(0.57593160867691), FRAC_CONST(-0.98966425657272) },
-    { FRAC_CONST(-0.36326017975807), FRAC_CONST(0.07440242916346) },
-    { FRAC_CONST(0.99979043006897), FRAC_CONST(-0.14130286872387) },
-    { FRAC_CONST(-0.92366021871567), FRAC_CONST(-0.97979295253754) },
-    { FRAC_CONST(-0.44607177376747), FRAC_CONST(-0.54233253002167) },
-    { FRAC_CONST(0.44226801395416), FRAC_CONST(0.71326756477356) },
-    { FRAC_CONST(0.03671907261014), FRAC_CONST(0.63606387376785) },
-    { FRAC_CONST(0.52175426483154), FRAC_CONST(-0.85396826267242) },
-    { FRAC_CONST(-0.94701141119003), FRAC_CONST(-0.01826348155737) },
-    { FRAC_CONST(-0.98759609460831), FRAC_CONST(0.82288712263107) },
-    { FRAC_CONST(0.87434792518616), FRAC_CONST(0.89399492740631) },
-    { FRAC_CONST(-0.93412041664124), FRAC_CONST(0.41374051570892) },
-    { FRAC_CONST(0.96063941717148), FRAC_CONST(0.93116706609726) },
-    { FRAC_CONST(0.97534251213074), FRAC_CONST(0.86150932312012) },
-    { FRAC_CONST(0.99642467498779), FRAC_CONST(0.70190042257309) },
-    { FRAC_CONST(-0.94705086946487), FRAC_CONST(-0.29580041766167) },
-    { FRAC_CONST(0.91599804162979), FRAC_CONST(-0.98147833347321) }
-};
-
-#ifdef __cplusplus
-
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/sbr_qmf.c b/lib/libfaad2/libfaad/sbr_qmf.c
deleted file mode 100644 (file)
index 68f4089..0000000
+++ /dev/null
@@ -1,636 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_qmf.c,v 1.32 2007/11/01 12:33:36 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SBR_DEC
-
-
-#include <stdlib.h>
-#include <string.h>
-#include "sbr_dct.h"
-#include "sbr_qmf.h"
-#include "sbr_qmf_c.h"
-#include "sbr_syntax.h"
-
-qmfa_info *qmfa_init(uint8_t channels)
-{
-    qmfa_info *qmfa = (qmfa_info*)faad_malloc(sizeof(qmfa_info));
-
-       /* x is implemented as double ringbuffer */
-    qmfa->x = (real_t*)faad_malloc(2 * channels * 10 * sizeof(real_t));
-    memset(qmfa->x, 0, 2 * channels * 10 * sizeof(real_t));
-
-       /* ringbuffer index */
-       qmfa->x_index = 0;
-
-    qmfa->channels = channels;
-
-    return qmfa;
-}
-
-void qmfa_end(qmfa_info *qmfa)
-{
-    if (qmfa)
-    {
-        if (qmfa->x) faad_free(qmfa->x);
-        faad_free(qmfa);
-    }
-}
-
-void sbr_qmf_analysis_32(sbr_info *sbr, qmfa_info *qmfa, const real_t *input,
-                         qmf_t X[MAX_NTSRHFG][64], uint8_t offset, uint8_t kx)
-{
-    ALIGN real_t u[64];
-#ifndef SBR_LOW_POWER
-    ALIGN real_t in_real[32], in_imag[32], out_real[32], out_imag[32];
-#else
-    ALIGN real_t y[32];
-#endif
-    uint32_t in = 0;
-    uint8_t l;
-
-    /* qmf subsample l */
-    for (l = 0; l < sbr->numTimeSlotsRate; l++)
-    {
-        int16_t n;
-
-        /* shift input buffer x */
-               /* input buffer is not shifted anymore, x is implemented as double ringbuffer */
-        //memmove(qmfa->x + 32, qmfa->x, (320-32)*sizeof(real_t));
-
-        /* add new samples to input buffer x */
-        for (n = 32 - 1; n >= 0; n--)
-        {
-#ifdef FIXED_POINT
-            qmfa->x[qmfa->x_index + n] = qmfa->x[qmfa->x_index + n + 320] = (input[in++]) >> 4;
-#else
-            qmfa->x[qmfa->x_index + n] = qmfa->x[qmfa->x_index + n + 320] = input[in++];
-#endif
-        }
-
-        /* window and summation to create array u */
-        for (n = 0; n < 64; n++)
-        {
-            u[n] = MUL_F(qmfa->x[qmfa->x_index + n], qmf_c[2*n]) +
-                MUL_F(qmfa->x[qmfa->x_index + n + 64], qmf_c[2*(n + 64)]) +
-                MUL_F(qmfa->x[qmfa->x_index + n + 128], qmf_c[2*(n + 128)]) +
-                MUL_F(qmfa->x[qmfa->x_index + n + 192], qmf_c[2*(n + 192)]) +
-                MUL_F(qmfa->x[qmfa->x_index + n + 256], qmf_c[2*(n + 256)]);
-        }
-
-               /* update ringbuffer index */
-               qmfa->x_index -= 32;
-               if (qmfa->x_index < 0)
-                       qmfa->x_index = (320-32);
-
-        /* calculate 32 subband samples by introducing X */
-#ifdef SBR_LOW_POWER
-        y[0] = u[48];
-        for (n = 1; n < 16; n++)
-            y[n] = u[n+48] + u[48-n];
-        for (n = 16; n < 32; n++)
-            y[n] = -u[n-16] + u[48-n];
-
-        DCT3_32_unscaled(u, y);
-
-        for (n = 0; n < 32; n++)
-        {
-            if (n < kx)
-            {
-#ifdef FIXED_POINT
-                QMF_RE(X[l + offset][n]) = u[n] /*<< 1*/;
-#else
-                QMF_RE(X[l + offset][n]) = 2. * u[n];
-#endif
-            } else {
-                QMF_RE(X[l + offset][n]) = 0;
-            }
-        }
-#else
-
-        // Reordering of data moved from DCT_IV to here
-        in_imag[31] = u[1];
-        in_real[0] = u[0];
-        for (n = 1; n < 31; n++)
-        {
-            in_imag[31 - n] = u[n+1];
-            in_real[n] = -u[64-n];
-        }
-        in_imag[0] = u[32];
-        in_real[31] = -u[33];
-
-        // dct4_kernel is DCT_IV without reordering which is done before and after FFT
-        dct4_kernel(in_real, in_imag, out_real, out_imag);
-
-        // Reordering of data moved from DCT_IV to here
-        for (n = 0; n < 16; n++) {
-            if (2*n+1 < kx) {
-#ifdef FIXED_POINT
-                QMF_RE(X[l + offset][2*n])   = out_real[n];
-                QMF_IM(X[l + offset][2*n])   = out_imag[n];
-                QMF_RE(X[l + offset][2*n+1]) = -out_imag[31-n];
-                QMF_IM(X[l + offset][2*n+1]) = -out_real[31-n];
-#else
-                QMF_RE(X[l + offset][2*n])   = 2. * out_real[n];
-                QMF_IM(X[l + offset][2*n])   = 2. * out_imag[n];
-                QMF_RE(X[l + offset][2*n+1]) = -2. * out_imag[31-n];
-                QMF_IM(X[l + offset][2*n+1]) = -2. * out_real[31-n];
-#endif
-            } else {
-                if (2*n < kx) {
-#ifdef FIXED_POINT
-                    QMF_RE(X[l + offset][2*n])   = out_real[n];
-                    QMF_IM(X[l + offset][2*n])   = out_imag[n];
-#else
-                    QMF_RE(X[l + offset][2*n])   = 2. * out_real[n];
-                    QMF_IM(X[l + offset][2*n])   = 2. * out_imag[n];
-#endif
-                }
-                else {
-                    QMF_RE(X[l + offset][2*n]) = 0;
-                    QMF_IM(X[l + offset][2*n]) = 0;
-                }
-                QMF_RE(X[l + offset][2*n+1]) = 0;
-                QMF_IM(X[l + offset][2*n+1]) = 0;
-            }
-        }
-#endif
-    }
-}
-
-static const complex_t qmf32_pre_twiddle[] =
-{
-    { FRAC_CONST(0.999924701839145), FRAC_CONST(-0.012271538285720) },
-    { FRAC_CONST(0.999322384588350), FRAC_CONST(-0.036807222941359) },
-    { FRAC_CONST(0.998118112900149), FRAC_CONST(-0.061320736302209) },
-    { FRAC_CONST(0.996312612182778), FRAC_CONST(-0.085797312344440) },
-    { FRAC_CONST(0.993906970002356), FRAC_CONST(-0.110222207293883) },
-    { FRAC_CONST(0.990902635427780), FRAC_CONST(-0.134580708507126) },
-    { FRAC_CONST(0.987301418157858), FRAC_CONST(-0.158858143333861) },
-    { FRAC_CONST(0.983105487431216), FRAC_CONST(-0.183039887955141) },
-    { FRAC_CONST(0.978317370719628), FRAC_CONST(-0.207111376192219) },
-    { FRAC_CONST(0.972939952205560), FRAC_CONST(-0.231058108280671) },
-    { FRAC_CONST(0.966976471044852), FRAC_CONST(-0.254865659604515) },
-    { FRAC_CONST(0.960430519415566), FRAC_CONST(-0.278519689385053) },
-    { FRAC_CONST(0.953306040354194), FRAC_CONST(-0.302005949319228) },
-    { FRAC_CONST(0.945607325380521), FRAC_CONST(-0.325310292162263) },
-    { FRAC_CONST(0.937339011912575), FRAC_CONST(-0.348418680249435) },
-    { FRAC_CONST(0.928506080473216), FRAC_CONST(-0.371317193951838) },
-    { FRAC_CONST(0.919113851690058), FRAC_CONST(-0.393992040061048) },
-    { FRAC_CONST(0.909167983090522), FRAC_CONST(-0.416429560097637) },
-    { FRAC_CONST(0.898674465693954), FRAC_CONST(-0.438616238538528) },
-    { FRAC_CONST(0.887639620402854), FRAC_CONST(-0.460538710958240) },
-    { FRAC_CONST(0.876070094195407), FRAC_CONST(-0.482183772079123) },
-    { FRAC_CONST(0.863972856121587), FRAC_CONST(-0.503538383725718) },
-    { FRAC_CONST(0.851355193105265), FRAC_CONST(-0.524589682678469) },
-    { FRAC_CONST(0.838224705554838), FRAC_CONST(-0.545324988422046) },
-    { FRAC_CONST(0.824589302785025), FRAC_CONST(-0.565731810783613) },
-    { FRAC_CONST(0.810457198252595), FRAC_CONST(-0.585797857456439) },
-    { FRAC_CONST(0.795836904608884), FRAC_CONST(-0.605511041404326) },
-    { FRAC_CONST(0.780737228572094), FRAC_CONST(-0.624859488142386) },
-    { FRAC_CONST(0.765167265622459), FRAC_CONST(-0.643831542889791) },
-    { FRAC_CONST(0.749136394523459), FRAC_CONST(-0.662415777590172) },
-    { FRAC_CONST(0.732654271672413), FRAC_CONST(-0.680600997795453) },
-    { FRAC_CONST(0.715730825283819), FRAC_CONST(-0.698376249408973) }
-};
-
-qmfs_info *qmfs_init(uint8_t channels)
-{
-    qmfs_info *qmfs = (qmfs_info*)faad_malloc(sizeof(qmfs_info));
-
-       /* v is a double ringbuffer */
-    qmfs->v = (real_t*)faad_malloc(2 * channels * 20 * sizeof(real_t));
-    memset(qmfs->v, 0, 2 * channels * 20 * sizeof(real_t));
-
-    qmfs->v_index = 0;
-
-    qmfs->channels = channels;
-
-    return qmfs;
-}
-
-void qmfs_end(qmfs_info *qmfs)
-{
-    if (qmfs)
-    {
-        if (qmfs->v) faad_free(qmfs->v);
-        faad_free(qmfs);
-    }
-}
-
-#ifdef SBR_LOW_POWER
-
-void sbr_qmf_synthesis_32(sbr_info *sbr, qmfs_info *qmfs, qmf_t X[MAX_NTSRHFG][64],
-                          real_t *output)
-{
-    ALIGN real_t x[16];
-    ALIGN real_t y[16];
-    int32_t n, k, out = 0;
-    uint8_t l;
-
-    /* qmf subsample l */
-    for (l = 0; l < sbr->numTimeSlotsRate; l++)
-    {
-        /* shift buffers */
-        /* we are not shifting v, it is a double ringbuffer */
-        //memmove(qmfs->v + 64, qmfs->v, (640-64)*sizeof(real_t));
-
-        /* calculate 64 samples */
-        for (k = 0; k < 16; k++)
-        {
-#ifdef FIXED_POINT
-            y[k] = (QMF_RE(X[l][k]) - QMF_RE(X[l][31 - k]));
-            x[k] = (QMF_RE(X[l][k]) + QMF_RE(X[l][31 - k]));
-#else
-            y[k] = (QMF_RE(X[l][k]) - QMF_RE(X[l][31 - k])) / 32.0;
-            x[k] = (QMF_RE(X[l][k]) + QMF_RE(X[l][31 - k])) / 32.0;
-#endif
-        }
-
-        /* even n samples */
-        DCT2_16_unscaled(x, x);
-        /* odd n samples */
-        DCT4_16(y, y);
-
-        for (n = 8; n < 24; n++)
-        {
-            qmfs->v[qmfs->v_index + n*2] = qmfs->v[qmfs->v_index + 640 + n*2] = x[n-8];
-            qmfs->v[qmfs->v_index + n*2+1] = qmfs->v[qmfs->v_index + 640 + n*2+1] = y[n-8];
-        }
-        for (n = 0; n < 16; n++)
-        {
-            qmfs->v[qmfs->v_index + n] = qmfs->v[qmfs->v_index + 640 + n] = qmfs->v[qmfs->v_index + 32-n];
-        }
-        qmfs->v[qmfs->v_index + 48] = qmfs->v[qmfs->v_index + 640 + 48] = 0;
-        for (n = 1; n < 16; n++)
-        {
-            qmfs->v[qmfs->v_index + 48+n] = qmfs->v[qmfs->v_index + 640 + 48+n] = -qmfs->v[qmfs->v_index + 48-n];
-        }
-
-        /* calculate 32 output samples and window */
-        for (k = 0; k < 32; k++)
-        {
-            output[out++] = MUL_F(qmfs->v[qmfs->v_index + k], qmf_c[2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 96 + k], qmf_c[64 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 128 + k], qmf_c[128 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 224 + k], qmf_c[192 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 256 + k], qmf_c[256 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 352 + k], qmf_c[320 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 384 + k], qmf_c[384 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 480 + k], qmf_c[448 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 512 + k], qmf_c[512 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 608 + k], qmf_c[576 + 2*k]);
-        }
-
-        /* update the ringbuffer index */
-        qmfs->v_index -= 64;
-        if (qmfs->v_index < 0)
-            qmfs->v_index = (640-64);
-    }
-}
-
-void sbr_qmf_synthesis_64(sbr_info *sbr, qmfs_info *qmfs, qmf_t X[MAX_NTSRHFG][64],
-                          real_t *output)
-{
-    ALIGN real_t x[64];
-    ALIGN real_t y[64];
-    int32_t n, k, out = 0;
-    uint8_t l;
-
-
-    /* qmf subsample l */
-    for (l = 0; l < sbr->numTimeSlotsRate; l++)
-    {
-        /* shift buffers */
-        /* we are not shifting v, it is a double ringbuffer */
-        //memmove(qmfs->v + 128, qmfs->v, (1280-128)*sizeof(real_t));
-
-        /* calculate 128 samples */
-        for (k = 0; k < 32; k++)
-        {
-#ifdef FIXED_POINT
-            y[k] = (QMF_RE(X[l][k]) - QMF_RE(X[l][63 - k]));
-            x[k] = (QMF_RE(X[l][k]) + QMF_RE(X[l][63 - k]));
-#else
-            y[k] = (QMF_RE(X[l][k]) - QMF_RE(X[l][63 - k])) / 32.0;
-            x[k] = (QMF_RE(X[l][k]) + QMF_RE(X[l][63 - k])) / 32.0;
-#endif
-        }
-
-        /* even n samples */
-        DCT2_32_unscaled(x, x);
-        /* odd n samples */
-        DCT4_32(y, y);
-
-        for (n = 16; n < 48; n++)
-        {
-            qmfs->v[qmfs->v_index + n*2]   = qmfs->v[qmfs->v_index + 1280 + n*2]   = x[n-16];
-            qmfs->v[qmfs->v_index + n*2+1] = qmfs->v[qmfs->v_index + 1280 + n*2+1] = y[n-16];
-        }
-        for (n = 0; n < 32; n++)
-        {
-            qmfs->v[qmfs->v_index + n] = qmfs->v[qmfs->v_index + 1280 + n] = qmfs->v[qmfs->v_index + 64-n];
-        }
-        qmfs->v[qmfs->v_index + 96] = qmfs->v[qmfs->v_index + 1280 + 96] = 0;
-        for (n = 1; n < 32; n++)
-        {
-            qmfs->v[qmfs->v_index + 96+n] = qmfs->v[qmfs->v_index + 1280 + 96+n] = -qmfs->v[qmfs->v_index + 96-n];
-        }
-
-        /* calculate 64 output samples and window */
-        for (k = 0; k < 64; k++)
-        {
-            output[out++] = MUL_F(qmfs->v[qmfs->v_index + k], qmf_c[k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 192 + k], qmf_c[64 + k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 256 + k], qmf_c[128 + k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 256 + 192 + k], qmf_c[128 + 64 + k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 512 + k], qmf_c[256 + k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 512 + 192 + k], qmf_c[256 + 64 + k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 768 + k], qmf_c[384 + k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 768 + 192 + k], qmf_c[384 + 64 + k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 1024 + k], qmf_c[512 + k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 1024 + 192 + k], qmf_c[512 + 64 + k]);
-        }
-
-        /* update the ringbuffer index */
-        qmfs->v_index -= 128;
-        if (qmfs->v_index < 0)
-            qmfs->v_index = (1280-128);
-    }
-}
-#else
-void sbr_qmf_synthesis_32(sbr_info *sbr, qmfs_info *qmfs, qmf_t X[MAX_NTSRHFG][64],
-                          real_t *output)
-{
-    ALIGN real_t x1[32], x2[32];
-#ifndef FIXED_POINT
-    real_t scale = 1.f/64.f;
-#endif
-    int32_t n, k, out = 0;
-    uint8_t l;
-
-
-    /* qmf subsample l */
-    for (l = 0; l < sbr->numTimeSlotsRate; l++)
-    {
-        /* shift buffer v */
-        /* buffer is not shifted, we are using a ringbuffer */
-        //memmove(qmfs->v + 64, qmfs->v, (640-64)*sizeof(real_t));
-
-        /* calculate 64 samples */
-        /* complex pre-twiddle */
-        for (k = 0; k < 32; k++)
-        {
-            x1[k] = MUL_F(QMF_RE(X[l][k]), RE(qmf32_pre_twiddle[k])) - MUL_F(QMF_IM(X[l][k]), IM(qmf32_pre_twiddle[k]));
-            x2[k] = MUL_F(QMF_IM(X[l][k]), RE(qmf32_pre_twiddle[k])) + MUL_F(QMF_RE(X[l][k]), IM(qmf32_pre_twiddle[k]));
-
-#ifndef FIXED_POINT
-            x1[k] *= scale;
-            x2[k] *= scale;
-#else
-            x1[k] >>= 1;
-            x2[k] >>= 1;
-#endif
-        }
-
-        /* transform */
-        DCT4_32(x1, x1);
-        DST4_32(x2, x2);
-
-        for (n = 0; n < 32; n++)
-        {
-            qmfs->v[qmfs->v_index + n]      = qmfs->v[qmfs->v_index + 640 + n]      = -x1[n] + x2[n];
-            qmfs->v[qmfs->v_index + 63 - n] = qmfs->v[qmfs->v_index + 640 + 63 - n] =  x1[n] + x2[n];
-        }
-
-        /* calculate 32 output samples and window */
-        for (k = 0; k < 32; k++)
-        {
-            output[out++] = MUL_F(qmfs->v[qmfs->v_index + k], qmf_c[2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 96 + k], qmf_c[64 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 128 + k], qmf_c[128 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 224 + k], qmf_c[192 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 256 + k], qmf_c[256 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 352 + k], qmf_c[320 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 384 + k], qmf_c[384 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 480 + k], qmf_c[448 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 512 + k], qmf_c[512 + 2*k]) +
-                MUL_F(qmfs->v[qmfs->v_index + 608 + k], qmf_c[576 + 2*k]);
-        }
-
-        /* update ringbuffer index */
-        qmfs->v_index -= 64;
-        if (qmfs->v_index < 0)
-            qmfs->v_index = (640 - 64);
-    }
-}
-
-void sbr_qmf_synthesis_64(sbr_info *sbr, qmfs_info *qmfs, qmf_t X[MAX_NTSRHFG][64],
-                          real_t *output)
-{
-//    ALIGN real_t x1[64], x2[64];
-#ifndef SBR_LOW_POWER
-    ALIGN real_t in_real1[32], in_imag1[32], out_real1[32], out_imag1[32];
-    ALIGN real_t in_real2[32], in_imag2[32], out_real2[32], out_imag2[32];
-#endif
-    qmf_t * pX;
-    real_t * pring_buffer_1, * pring_buffer_3;
-//    real_t * ptemp_1, * ptemp_2;
-#ifdef PREFER_POINTERS
-    // These pointers are used if target platform has autoinc address generators
-    real_t * pring_buffer_2, * pring_buffer_4;
-    real_t * pring_buffer_5, * pring_buffer_6;
-    real_t * pring_buffer_7, * pring_buffer_8;
-    real_t * pring_buffer_9, * pring_buffer_10;
-    const real_t * pqmf_c_1, * pqmf_c_2, * pqmf_c_3, * pqmf_c_4;
-    const real_t * pqmf_c_5, * pqmf_c_6, * pqmf_c_7, * pqmf_c_8;
-    const real_t * pqmf_c_9, * pqmf_c_10;
-#endif // #ifdef PREFER_POINTERS
-#ifndef FIXED_POINT
-    real_t scale = 1.f/64.f;
-#endif
-    int32_t n, k, out = 0;
-    uint8_t l;
-
-
-    /* qmf subsample l */
-    for (l = 0; l < sbr->numTimeSlotsRate; l++)
-    {
-        /* shift buffer v */
-               /* buffer is not shifted, we use double ringbuffer */
-               //memmove(qmfs->v + 128, qmfs->v, (1280-128)*sizeof(real_t));
-
-        /* calculate 128 samples */
-#ifndef FIXED_POINT
-
-        pX = X[l];
-
-        in_imag1[31] = scale*QMF_RE(pX[1]);
-        in_real1[0]  = scale*QMF_RE(pX[0]);
-        in_imag2[31] = scale*QMF_IM(pX[63-1]);
-        in_real2[0]  = scale*QMF_IM(pX[63-0]);
-        for (k = 1; k < 31; k++)
-        {
-            in_imag1[31 - k] = scale*QMF_RE(pX[2*k + 1]);
-            in_real1[     k] = scale*QMF_RE(pX[2*k    ]);
-            in_imag2[31 - k] = scale*QMF_IM(pX[63 - (2*k + 1)]);
-            in_real2[     k] = scale*QMF_IM(pX[63 - (2*k    )]);
-        }
-        in_imag1[0]  = scale*QMF_RE(pX[63]);
-        in_real1[31] = scale*QMF_RE(pX[62]);
-        in_imag2[0]  = scale*QMF_IM(pX[63-63]);
-        in_real2[31] = scale*QMF_IM(pX[63-62]);
-
-#else
-
-        pX = X[l];
-
-        in_imag1[31] = QMF_RE(pX[1]) >> 1;
-        in_real1[0]  = QMF_RE(pX[0]) >> 1;
-        in_imag2[31] = QMF_IM(pX[62]) >> 1;
-        in_real2[0]  = QMF_IM(pX[63]) >> 1;
-        for (k = 1; k < 31; k++)
-        {
-            in_imag1[31 - k] = QMF_RE(pX[2*k + 1]) >> 1;
-            in_real1[     k] = QMF_RE(pX[2*k    ]) >> 1;
-            in_imag2[31 - k] = QMF_IM(pX[63 - (2*k + 1)]) >> 1;
-            in_real2[     k] = QMF_IM(pX[63 - (2*k    )]) >> 1;
-        }
-        in_imag1[0]  = QMF_RE(pX[63]) >> 1;
-        in_real1[31] = QMF_RE(pX[62]) >> 1;
-        in_imag2[0]  = QMF_IM(pX[0]) >> 1;
-        in_real2[31] = QMF_IM(pX[1]) >> 1;
-
-#endif
-
-
-        // dct4_kernel is DCT_IV without reordering which is done before and after FFT
-        dct4_kernel(in_real1, in_imag1, out_real1, out_imag1);
-        dct4_kernel(in_real2, in_imag2, out_real2, out_imag2);
-
-
-        pring_buffer_1 = qmfs->v + qmfs->v_index;
-        pring_buffer_3 = pring_buffer_1 + 1280;
-#ifdef PREFER_POINTERS
-        pring_buffer_2 = pring_buffer_1 + 127;
-        pring_buffer_4 = pring_buffer_1 + (1280 + 127);
-#endif // #ifdef PREFER_POINTERS
-//        ptemp_1 = x1;
-//        ptemp_2 = x2;
-#ifdef PREFER_POINTERS
-        for (n = 0; n < 32; n ++)
-        {
-            //real_t x1 = *ptemp_1++;
-            //real_t x2 = *ptemp_2++;
-            // pring_buffer_3 and pring_buffer_4 are needed only for double ring buffer
-            *pring_buffer_1++ = *pring_buffer_3++ = out_real2[n] - out_real1[n];
-            *pring_buffer_2-- = *pring_buffer_4-- = out_real2[n] + out_real1[n];
-            //x1 = *ptemp_1++;
-            //x2 = *ptemp_2++;
-            *pring_buffer_1++ = *pring_buffer_3++ = out_imag2[31-n] + out_imag1[31-n];
-            *pring_buffer_2-- = *pring_buffer_4-- = out_imag2[31-n] - out_imag1[31-n];
-        }
-#else // #ifdef PREFER_POINTERS
-
-        for (n = 0; n < 32; n++)
-        {
-            // pring_buffer_3 and pring_buffer_4 are needed only for double ring buffer
-            pring_buffer_1[2*n]         = pring_buffer_3[2*n]         = out_real2[n] - out_real1[n];
-            pring_buffer_1[127-2*n]     = pring_buffer_3[127-2*n]     = out_real2[n] + out_real1[n];
-            pring_buffer_1[2*n+1]       = pring_buffer_3[2*n+1]       = out_imag2[31-n] + out_imag1[31-n];
-            pring_buffer_1[127-(2*n+1)] = pring_buffer_3[127-(2*n+1)] = out_imag2[31-n] - out_imag1[31-n];
-        }
-
-#endif // #ifdef PREFER_POINTERS
-
-        pring_buffer_1 = qmfs->v + qmfs->v_index;
-#ifdef PREFER_POINTERS
-        pring_buffer_2 = pring_buffer_1 + 192;
-        pring_buffer_3 = pring_buffer_1 + 256;
-        pring_buffer_4 = pring_buffer_1 + (256 + 192);
-        pring_buffer_5 = pring_buffer_1 + 512;
-        pring_buffer_6 = pring_buffer_1 + (512 + 192);
-        pring_buffer_7 = pring_buffer_1 + 768;
-        pring_buffer_8 = pring_buffer_1 + (768 + 192);
-        pring_buffer_9 = pring_buffer_1 + 1024;
-        pring_buffer_10 = pring_buffer_1 + (1024 + 192);
-        pqmf_c_1 = qmf_c;
-        pqmf_c_2 = qmf_c + 64;
-        pqmf_c_3 = qmf_c + 128;
-        pqmf_c_4 = qmf_c + 192;
-        pqmf_c_5 = qmf_c + 256;
-        pqmf_c_6 = qmf_c + 320;
-        pqmf_c_7 = qmf_c + 384;
-        pqmf_c_8 = qmf_c + 448;
-        pqmf_c_9 = qmf_c + 512;
-        pqmf_c_10 = qmf_c + 576;
-#endif // #ifdef PREFER_POINTERS
-
-        /* calculate 64 output samples and window */
-        for (k = 0; k < 64; k++)
-        {
-#ifdef PREFER_POINTERS
-            output[out++] =
-                MUL_F(*pring_buffer_1++,  *pqmf_c_1++) +
-                MUL_F(*pring_buffer_2++,  *pqmf_c_2++) +
-                MUL_F(*pring_buffer_3++,  *pqmf_c_3++) +
-                MUL_F(*pring_buffer_4++,  *pqmf_c_4++) +
-                MUL_F(*pring_buffer_5++,  *pqmf_c_5++) +
-                MUL_F(*pring_buffer_6++,  *pqmf_c_6++) +
-                MUL_F(*pring_buffer_7++,  *pqmf_c_7++) +
-                MUL_F(*pring_buffer_8++,  *pqmf_c_8++) +
-                MUL_F(*pring_buffer_9++,  *pqmf_c_9++) +
-                MUL_F(*pring_buffer_10++, *pqmf_c_10++);
-#else // #ifdef PREFER_POINTERS
-            output[out++] =
-                MUL_F(pring_buffer_1[k+0],          qmf_c[k+0])   +
-                MUL_F(pring_buffer_1[k+192],        qmf_c[k+64])  +
-                MUL_F(pring_buffer_1[k+256],        qmf_c[k+128]) +
-                MUL_F(pring_buffer_1[k+(256+192)],  qmf_c[k+192]) +
-                MUL_F(pring_buffer_1[k+512],        qmf_c[k+256]) +
-                MUL_F(pring_buffer_1[k+(512+192)],  qmf_c[k+320]) +
-                MUL_F(pring_buffer_1[k+768],        qmf_c[k+384]) +
-                MUL_F(pring_buffer_1[k+(768+192)],  qmf_c[k+448]) +
-                MUL_F(pring_buffer_1[k+1024],       qmf_c[k+512]) +
-                MUL_F(pring_buffer_1[k+(1024+192)], qmf_c[k+576]);
-#endif // #ifdef PREFER_POINTERS
-        }
-
-        /* update ringbuffer index */
-        qmfs->v_index -= 128;
-        if (qmfs->v_index < 0)
-            qmfs->v_index = (1280 - 128);
-    }
-}
-#endif
-
-#endif
diff --git a/lib/libfaad2/libfaad/sbr_qmf.h b/lib/libfaad2/libfaad/sbr_qmf.h
deleted file mode 100644 (file)
index efb167b..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_qmf.h,v 1.25 2007/11/01 12:33:36 menno Exp $
-**/
-
-#ifndef __SBR_QMF_H__
-#define __SBR_QMF_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-qmfa_info *qmfa_init(uint8_t channels);
-void qmfa_end(qmfa_info *qmfa);
-qmfs_info *qmfs_init(uint8_t channels);
-void qmfs_end(qmfs_info *qmfs);
-
-void sbr_qmf_analysis_32(sbr_info *sbr, qmfa_info *qmfa, const real_t *input,
-                         qmf_t X[MAX_NTSRHFG][64], uint8_t offset, uint8_t kx);
-void sbr_qmf_synthesis_32(sbr_info *sbr, qmfs_info *qmfs, qmf_t X[MAX_NTSRHFG][64],
-                          real_t *output);
-void sbr_qmf_synthesis_64(sbr_info *sbr, qmfs_info *qmfs, qmf_t X[MAX_NTSRHFG][64],
-                          real_t *output);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/sbr_qmf_c.h b/lib/libfaad2/libfaad/sbr_qmf_c.h
deleted file mode 100644 (file)
index c2fcd27..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_qmf_c.h,v 1.17 2007/11/01 12:33:36 menno Exp $
-**/
-
-#ifndef __SBR_QMF_C_H__
-#define __SBR_QMF_C_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#ifdef _MSC_VER
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#endif
-
-ALIGN static const real_t qmf_c[640] = {
-    FRAC_CONST(0), FRAC_CONST(-0.00055252865047),
-    FRAC_CONST(-0.00056176925738), FRAC_CONST(-0.00049475180896),
-    FRAC_CONST(-0.00048752279712), FRAC_CONST(-0.00048937912498),
-    FRAC_CONST(-0.00050407143497), FRAC_CONST(-0.00052265642972),
-    FRAC_CONST(-0.00054665656337), FRAC_CONST(-0.00056778025613),
-    FRAC_CONST(-0.00058709304852), FRAC_CONST(-0.00061327473938),
-    FRAC_CONST(-0.00063124935319), FRAC_CONST(-0.00065403333621),
-    FRAC_CONST(-0.00067776907764), FRAC_CONST(-0.00069416146273),
-    FRAC_CONST(-0.00071577364744), FRAC_CONST(-0.00072550431222),
-    FRAC_CONST(-0.00074409418541), FRAC_CONST(-0.00074905980532),
-    FRAC_CONST(-0.0007681371927), FRAC_CONST(-0.00077248485949),
-    FRAC_CONST(-0.00078343322877), FRAC_CONST(-0.00077798694927),
-    FRAC_CONST(-0.000780366471), FRAC_CONST(-0.00078014496257),
-    FRAC_CONST(-0.0007757977331), FRAC_CONST(-0.00076307935757),
-    FRAC_CONST(-0.00075300014201), FRAC_CONST(-0.00073193571525),
-    FRAC_CONST(-0.00072153919876), FRAC_CONST(-0.00069179375372),
-    FRAC_CONST(-0.00066504150893), FRAC_CONST(-0.00063415949025),
-    FRAC_CONST(-0.0005946118933), FRAC_CONST(-0.00055645763906),
-    FRAC_CONST(-0.00051455722108), FRAC_CONST(-0.00046063254803),
-    FRAC_CONST(-0.00040951214522), FRAC_CONST(-0.00035011758756),
-    FRAC_CONST(-0.00028969811748), FRAC_CONST(-0.0002098337344),
-    FRAC_CONST(-0.00014463809349), FRAC_CONST(-6.173344072E-005),
-    FRAC_CONST(1.349497418E-005), FRAC_CONST(0.00010943831274),
-    FRAC_CONST(0.00020430170688), FRAC_CONST(0.00029495311041),
-    FRAC_CONST(0.0004026540216), FRAC_CONST(0.00051073884952),
-    FRAC_CONST(0.00062393761391), FRAC_CONST(0.00074580258865),
-    FRAC_CONST(0.00086084433262), FRAC_CONST(0.00098859883015),
-    FRAC_CONST(0.00112501551307), FRAC_CONST(0.00125778846475),
-    FRAC_CONST(0.00139024948272), FRAC_CONST(0.00154432198471),
-    FRAC_CONST(0.00168680832531), FRAC_CONST(0.00183482654224),
-    FRAC_CONST(0.00198411407369), FRAC_CONST(0.00214615835557),
-    FRAC_CONST(0.00230172547746), FRAC_CONST(0.00246256169126),
-    FRAC_CONST(0.00262017586902), FRAC_CONST(0.00278704643465),
-    FRAC_CONST(0.00294694477165), FRAC_CONST(0.00311254206525),
-    FRAC_CONST(0.00327396134847), FRAC_CONST(0.00344188741828),
-    FRAC_CONST(0.00360082681231), FRAC_CONST(0.00376039229104),
-    FRAC_CONST(0.00392074323703), FRAC_CONST(0.00408197531935),
-    FRAC_CONST(0.0042264269227), FRAC_CONST(0.00437307196781),
-    FRAC_CONST(0.00452098527825), FRAC_CONST(0.00466064606118),
-    FRAC_CONST(0.00479325608498), FRAC_CONST(0.00491376035745),
-    FRAC_CONST(0.00503930226013), FRAC_CONST(0.00514073539032),
-    FRAC_CONST(0.00524611661324), FRAC_CONST(0.00534716811982),
-    FRAC_CONST(0.00541967759307), FRAC_CONST(0.00548760401507),
-    FRAC_CONST(0.00554757145088), FRAC_CONST(0.00559380230045),
-    FRAC_CONST(0.00562206432097), FRAC_CONST(0.00564551969164),
-    FRAC_CONST(0.00563891995151), FRAC_CONST(0.00562661141932),
-    FRAC_CONST(0.0055917128663), FRAC_CONST(0.005540436394),
-    FRAC_CONST(0.0054753783077), FRAC_CONST(0.0053838975897),
-    FRAC_CONST(0.00527157587272), FRAC_CONST(0.00513822754514),
-    FRAC_CONST(0.00498396877629), FRAC_CONST(0.004810946906),
-    FRAC_CONST(0.00460395301471), FRAC_CONST(0.00438018617447),
-    FRAC_CONST(0.0041251642327), FRAC_CONST(0.00384564081246),
-    FRAC_CONST(0.00354012465507), FRAC_CONST(0.00320918858098),
-    FRAC_CONST(0.00284467578623), FRAC_CONST(0.00245085400321),
-    FRAC_CONST(0.0020274176185), FRAC_CONST(0.00157846825768),
-    FRAC_CONST(0.00109023290512), FRAC_CONST(0.0005832264248),
-    FRAC_CONST(2.760451905E-005), FRAC_CONST(-0.00054642808664),
-    FRAC_CONST(-0.00115681355227), FRAC_CONST(-0.00180394725893),
-    FRAC_CONST(-0.00248267236449), FRAC_CONST(-0.003193377839),
-    FRAC_CONST(-0.00394011240522), FRAC_CONST(-0.004722259624),
-    FRAC_CONST(-0.00553372111088), FRAC_CONST(-0.00637922932685),
-    FRAC_CONST(-0.00726158168517), FRAC_CONST(-0.00817982333726),
-    FRAC_CONST(-0.00913253296085), FRAC_CONST(-0.01011502154986),
-    FRAC_CONST(-0.01113155480321), FRAC_CONST(-0.01218499959508),
-    FRAC_CONST(0.01327182200351), FRAC_CONST(0.01439046660792),
-    FRAC_CONST(0.01554055533423), FRAC_CONST(0.01673247129989),
-    FRAC_CONST(0.01794333813443), FRAC_CONST(0.01918724313698),
-    FRAC_CONST(0.02045317933555), FRAC_CONST(0.02174675502535),
-    FRAC_CONST(0.02306801692862), FRAC_CONST(0.02441609920285),
-    FRAC_CONST(0.02578758475467), FRAC_CONST(0.02718594296329),
-    FRAC_CONST(0.02860721736385), FRAC_CONST(0.03005026574279),
-    FRAC_CONST(0.03150176087389), FRAC_CONST(0.03297540810337),
-    FRAC_CONST(0.03446209487686), FRAC_CONST(0.03596975605542),
-    FRAC_CONST(0.03748128504252), FRAC_CONST(0.03900536794745),
-    FRAC_CONST(0.04053491705584), FRAC_CONST(0.04206490946367),
-    FRAC_CONST(0.04360975421304), FRAC_CONST(0.04514884056413),
-    FRAC_CONST(0.04668430272642), FRAC_CONST(0.04821657200672),
-    FRAC_CONST(0.04973857556014), FRAC_CONST(0.05125561555216),
-    FRAC_CONST(0.05276307465207), FRAC_CONST(0.05424527683589),
-    FRAC_CONST(0.05571736482138), FRAC_CONST(0.05716164501299),
-    FRAC_CONST(0.0585915683626), FRAC_CONST(0.05998374801761),
-    FRAC_CONST(0.06134551717207), FRAC_CONST(0.06268578081172),
-    FRAC_CONST(0.06397158980681), FRAC_CONST(0.0652247106438),
-    FRAC_CONST(0.06643675122104), FRAC_CONST(0.06760759851228),
-    FRAC_CONST(0.06870438283512), FRAC_CONST(0.06976302447127),
-    FRAC_CONST(0.07076287107266), FRAC_CONST(0.07170026731102),
-    FRAC_CONST(0.07256825833083), FRAC_CONST(0.07336202550803),
-    FRAC_CONST(0.07410036424342), FRAC_CONST(0.07474525581194),
-    FRAC_CONST(0.07531373362019), FRAC_CONST(0.07580083586584),
-    FRAC_CONST(0.07619924793396), FRAC_CONST(0.07649921704119),
-    FRAC_CONST(0.07670934904245), FRAC_CONST(0.07681739756964),
-    FRAC_CONST(0.07682300113923), FRAC_CONST(0.07672049241746),
-    FRAC_CONST(0.07650507183194), FRAC_CONST(0.07617483218536),
-    FRAC_CONST(0.07573057565061), FRAC_CONST(0.0751576255287),
-    FRAC_CONST(0.07446643947564), FRAC_CONST(0.0736406005762),
-    FRAC_CONST(0.07267746427299), FRAC_CONST(0.07158263647903),
-    FRAC_CONST(0.07035330735093), FRAC_CONST(0.06896640131951),
-    FRAC_CONST(0.06745250215166), FRAC_CONST(0.06576906686508),
-    FRAC_CONST(0.06394448059633), FRAC_CONST(0.06196027790387),
-    FRAC_CONST(0.0598166570809), FRAC_CONST(0.05751526919867),
-    FRAC_CONST(0.05504600343009), FRAC_CONST(0.05240938217366),
-    FRAC_CONST(0.04959786763445), FRAC_CONST(0.04663033051701),
-    FRAC_CONST(0.04347687821958), FRAC_CONST(0.04014582784127),
-    FRAC_CONST(0.03664181168133), FRAC_CONST(0.03295839306691),
-    FRAC_CONST(0.02908240060125), FRAC_CONST(0.02503075618909),
-    FRAC_CONST(0.02079970728622), FRAC_CONST(0.01637012582228),
-    FRAC_CONST(0.01176238327857), FRAC_CONST(0.00696368621617),
-    FRAC_CONST(0.00197656014503), FRAC_CONST(-0.00320868968304),
-    FRAC_CONST(-0.00857117491366), FRAC_CONST(-0.01412888273558),
-    FRAC_CONST(-0.01988341292573), FRAC_CONST(-0.02582272888064),
-    FRAC_CONST(-0.03195312745332), FRAC_CONST(-0.03827765720822),
-    FRAC_CONST(-0.04478068215856), FRAC_CONST(-0.05148041767934),
-    FRAC_CONST(-0.05837053268336), FRAC_CONST(-0.06544098531359),
-    FRAC_CONST(-0.07269433008129), FRAC_CONST(-0.08013729344279),
-    FRAC_CONST(-0.08775475365593), FRAC_CONST(-0.09555333528914),
-    FRAC_CONST(-0.10353295311463), FRAC_CONST(-0.1116826931773),
-    FRAC_CONST(-0.120007798468), FRAC_CONST(-0.12850028503878),
-    FRAC_CONST(-0.13715517611934), FRAC_CONST(-0.1459766491187),
-    FRAC_CONST(-0.15496070710605), FRAC_CONST(-0.16409588556669),
-    FRAC_CONST(-0.17338081721706), FRAC_CONST(-0.18281725485142),
-    FRAC_CONST(-0.19239667457267), FRAC_CONST(-0.20212501768103),
-    FRAC_CONST(-0.21197358538056), FRAC_CONST(-0.22196526964149),
-    FRAC_CONST(-0.23206908706791), FRAC_CONST(-0.24230168845974),
-    FRAC_CONST(-0.25264803095722), FRAC_CONST(-0.26310532994603),
-    FRAC_CONST(-0.27366340405625), FRAC_CONST(-0.28432141891085),
-    FRAC_CONST(-0.29507167170646), FRAC_CONST(-0.30590985751916),
-    FRAC_CONST(-0.31682789136456), FRAC_CONST(-0.32781137272105),
-    FRAC_CONST(-0.33887226938665), FRAC_CONST(-0.3499914122931),
-    FRAC_CONST(0.36115899031355), FRAC_CONST(0.37237955463061),
-    FRAC_CONST(0.38363500139043), FRAC_CONST(0.39492117615675),
-    FRAC_CONST(0.40623176767625), FRAC_CONST(0.41756968968409),
-    FRAC_CONST(0.42891199207373), FRAC_CONST(0.44025537543665),
-    FRAC_CONST(0.45159965356824), FRAC_CONST(0.46293080852757),
-    FRAC_CONST(0.47424532146115), FRAC_CONST(0.48552530911099),
-    FRAC_CONST(0.49677082545707), FRAC_CONST(0.50798175000434),
-    FRAC_CONST(0.51912349702391), FRAC_CONST(0.53022408956855),
-    FRAC_CONST(0.54125534487322), FRAC_CONST(0.55220512585061),
-    FRAC_CONST(0.5630789140137), FRAC_CONST(0.57385241316923),
-    FRAC_CONST(0.58454032354679), FRAC_CONST(0.59511230862496),
-    FRAC_CONST(0.6055783538918), FRAC_CONST(0.61591099320291),
-    FRAC_CONST(0.62612426956055), FRAC_CONST(0.63619801077286),
-    FRAC_CONST(0.64612696959461), FRAC_CONST(0.65590163024671),
-    FRAC_CONST(0.66551398801627), FRAC_CONST(0.67496631901712),
-    FRAC_CONST(0.68423532934598), FRAC_CONST(0.69332823767032),
-    FRAC_CONST(0.70223887193539), FRAC_CONST(0.71094104263095),
-    FRAC_CONST(0.71944626349561), FRAC_CONST(0.72774489002994),
-    FRAC_CONST(0.73582117582769), FRAC_CONST(0.74368278636488),
-    FRAC_CONST(0.75131374561237), FRAC_CONST(0.75870807608242),
-    FRAC_CONST(0.76586748650939), FRAC_CONST(0.77277808813327),
-    FRAC_CONST(0.77942875190216), FRAC_CONST(0.7858353120392),
-    FRAC_CONST(0.79197358416424), FRAC_CONST(0.797846641377),
-    FRAC_CONST(0.80344857518505), FRAC_CONST(0.80876950044491),
-    FRAC_CONST(0.81381912706217), FRAC_CONST(0.81857760046468),
-    FRAC_CONST(0.82304198905409), FRAC_CONST(0.8272275347336),
-    FRAC_CONST(0.8311038457152), FRAC_CONST(0.83469373618402),
-    FRAC_CONST(0.83797173378865), FRAC_CONST(0.84095413924722),
-    FRAC_CONST(0.84362382812005), FRAC_CONST(0.84598184698206),
-    FRAC_CONST(0.84803157770763), FRAC_CONST(0.84978051984268),
-    FRAC_CONST(0.85119715249343), FRAC_CONST(0.85230470352147),
-    FRAC_CONST(0.85310209497017), FRAC_CONST(0.85357205739107),
-    FRAC_CONST(0.85373856005937 /*max*/), FRAC_CONST(0.85357205739107),
-    FRAC_CONST(0.85310209497017), FRAC_CONST(0.85230470352147),
-    FRAC_CONST(0.85119715249343), FRAC_CONST(0.84978051984268),
-    FRAC_CONST(0.84803157770763), FRAC_CONST(0.84598184698206),
-    FRAC_CONST(0.84362382812005), FRAC_CONST(0.84095413924722),
-    FRAC_CONST(0.83797173378865), FRAC_CONST(0.83469373618402),
-    FRAC_CONST(0.8311038457152), FRAC_CONST(0.8272275347336),
-    FRAC_CONST(0.82304198905409), FRAC_CONST(0.81857760046468),
-    FRAC_CONST(0.81381912706217), FRAC_CONST(0.80876950044491),
-    FRAC_CONST(0.80344857518505), FRAC_CONST(0.797846641377),
-    FRAC_CONST(0.79197358416424), FRAC_CONST(0.7858353120392),
-    FRAC_CONST(0.77942875190216), FRAC_CONST(0.77277808813327),
-    FRAC_CONST(0.76586748650939), FRAC_CONST(0.75870807608242),
-    FRAC_CONST(0.75131374561237), FRAC_CONST(0.74368278636488),
-    FRAC_CONST(0.73582117582769), FRAC_CONST(0.72774489002994),
-    FRAC_CONST(0.71944626349561), FRAC_CONST(0.71094104263095),
-    FRAC_CONST(0.70223887193539), FRAC_CONST(0.69332823767032),
-    FRAC_CONST(0.68423532934598), FRAC_CONST(0.67496631901712),
-    FRAC_CONST(0.66551398801627), FRAC_CONST(0.65590163024671),
-    FRAC_CONST(0.64612696959461), FRAC_CONST(0.63619801077286),
-    FRAC_CONST(0.62612426956055), FRAC_CONST(0.61591099320291),
-    FRAC_CONST(0.6055783538918), FRAC_CONST(0.59511230862496),
-    FRAC_CONST(0.58454032354679), FRAC_CONST(0.57385241316923),
-    FRAC_CONST(0.5630789140137), FRAC_CONST(0.55220512585061),
-    FRAC_CONST(0.54125534487322), FRAC_CONST(0.53022408956855),
-    FRAC_CONST(0.51912349702391), FRAC_CONST(0.50798175000434),
-    FRAC_CONST(0.49677082545707), FRAC_CONST(0.48552530911099),
-    FRAC_CONST(0.47424532146115), FRAC_CONST(0.46293080852757),
-    FRAC_CONST(0.45159965356824), FRAC_CONST(0.44025537543665),
-    FRAC_CONST(0.42891199207373), FRAC_CONST(0.41756968968409),
-    FRAC_CONST(0.40623176767625), FRAC_CONST(0.39492117615675),
-    FRAC_CONST(0.38363500139043), FRAC_CONST(0.37237955463061),
-    FRAC_CONST(-0.36115899031355), FRAC_CONST(-0.3499914122931),
-    FRAC_CONST(-0.33887226938665), FRAC_CONST(-0.32781137272105),
-    FRAC_CONST(-0.31682789136456), FRAC_CONST(-0.30590985751916),
-    FRAC_CONST(-0.29507167170646), FRAC_CONST(-0.28432141891085),
-    FRAC_CONST(-0.27366340405625), FRAC_CONST(-0.26310532994603),
-    FRAC_CONST(-0.25264803095722), FRAC_CONST(-0.24230168845974),
-    FRAC_CONST(-0.23206908706791), FRAC_CONST(-0.22196526964149),
-    FRAC_CONST(-0.21197358538056), FRAC_CONST(-0.20212501768103),
-    FRAC_CONST(-0.19239667457267), FRAC_CONST(-0.18281725485142),
-    FRAC_CONST(-0.17338081721706), FRAC_CONST(-0.16409588556669),
-    FRAC_CONST(-0.15496070710605), FRAC_CONST(-0.1459766491187),
-    FRAC_CONST(-0.13715517611934), FRAC_CONST(-0.12850028503878),
-    FRAC_CONST(-0.120007798468), FRAC_CONST(-0.1116826931773),
-    FRAC_CONST(-0.10353295311463), FRAC_CONST(-0.09555333528914),
-    FRAC_CONST(-0.08775475365593), FRAC_CONST(-0.08013729344279),
-    FRAC_CONST(-0.07269433008129), FRAC_CONST(-0.06544098531359),
-    FRAC_CONST(-0.05837053268336), FRAC_CONST(-0.05148041767934),
-    FRAC_CONST(-0.04478068215856), FRAC_CONST(-0.03827765720822),
-    FRAC_CONST(-0.03195312745332), FRAC_CONST(-0.02582272888064),
-    FRAC_CONST(-0.01988341292573), FRAC_CONST(-0.01412888273558),
-    FRAC_CONST(-0.00857117491366), FRAC_CONST(-0.00320868968304),
-    FRAC_CONST(0.00197656014503), FRAC_CONST(0.00696368621617),
-    FRAC_CONST(0.01176238327857), FRAC_CONST(0.01637012582228),
-    FRAC_CONST(0.02079970728622), FRAC_CONST(0.02503075618909),
-    FRAC_CONST(0.02908240060125), FRAC_CONST(0.03295839306691),
-    FRAC_CONST(0.03664181168133), FRAC_CONST(0.04014582784127),
-    FRAC_CONST(0.04347687821958), FRAC_CONST(0.04663033051701),
-    FRAC_CONST(0.04959786763445), FRAC_CONST(0.05240938217366),
-    FRAC_CONST(0.05504600343009), FRAC_CONST(0.05751526919867),
-    FRAC_CONST(0.0598166570809), FRAC_CONST(0.06196027790387),
-    FRAC_CONST(0.06394448059633), FRAC_CONST(0.06576906686508),
-    FRAC_CONST(0.06745250215166), FRAC_CONST(0.06896640131951),
-    FRAC_CONST(0.07035330735093), FRAC_CONST(0.07158263647903),
-    FRAC_CONST(0.07267746427299), FRAC_CONST(0.0736406005762),
-    FRAC_CONST(0.07446643947564), FRAC_CONST(0.0751576255287),
-    FRAC_CONST(0.07573057565061), FRAC_CONST(0.07617483218536),
-    FRAC_CONST(0.07650507183194), FRAC_CONST(0.07672049241746),
-    FRAC_CONST(0.07682300113923), FRAC_CONST(0.07681739756964),
-    FRAC_CONST(0.07670934904245), FRAC_CONST(0.07649921704119),
-    FRAC_CONST(0.07619924793396), FRAC_CONST(0.07580083586584),
-    FRAC_CONST(0.07531373362019), FRAC_CONST(0.07474525581194),
-    FRAC_CONST(0.07410036424342), FRAC_CONST(0.07336202550803),
-    FRAC_CONST(0.07256825833083), FRAC_CONST(0.07170026731102),
-    FRAC_CONST(0.07076287107266), FRAC_CONST(0.06976302447127),
-    FRAC_CONST(0.06870438283512), FRAC_CONST(0.06760759851228),
-    FRAC_CONST(0.06643675122104), FRAC_CONST(0.0652247106438),
-    FRAC_CONST(0.06397158980681), FRAC_CONST(0.06268578081172),
-    FRAC_CONST(0.06134551717207), FRAC_CONST(0.05998374801761),
-    FRAC_CONST(0.0585915683626), FRAC_CONST(0.05716164501299),
-    FRAC_CONST(0.05571736482138), FRAC_CONST(0.05424527683589),
-    FRAC_CONST(0.05276307465207), FRAC_CONST(0.05125561555216),
-    FRAC_CONST(0.04973857556014), FRAC_CONST(0.04821657200672),
-    FRAC_CONST(0.04668430272642), FRAC_CONST(0.04514884056413),
-    FRAC_CONST(0.04360975421304), FRAC_CONST(0.04206490946367),
-    FRAC_CONST(0.04053491705584), FRAC_CONST(0.03900536794745),
-    FRAC_CONST(0.03748128504252), FRAC_CONST(0.03596975605542),
-    FRAC_CONST(0.03446209487686), FRAC_CONST(0.03297540810337),
-    FRAC_CONST(0.03150176087389), FRAC_CONST(0.03005026574279),
-    FRAC_CONST(0.02860721736385), FRAC_CONST(0.02718594296329),
-    FRAC_CONST(0.02578758475467), FRAC_CONST(0.02441609920285),
-    FRAC_CONST(0.02306801692862), FRAC_CONST(0.02174675502535),
-    FRAC_CONST(0.02045317933555), FRAC_CONST(0.01918724313698),
-    FRAC_CONST(0.01794333813443), FRAC_CONST(0.01673247129989),
-    FRAC_CONST(0.01554055533423), FRAC_CONST(0.01439046660792),
-    FRAC_CONST(-0.01327182200351), FRAC_CONST(-0.01218499959508),
-    FRAC_CONST(-0.01113155480321), FRAC_CONST(-0.01011502154986),
-    FRAC_CONST(-0.00913253296085), FRAC_CONST(-0.00817982333726),
-    FRAC_CONST(-0.00726158168517), FRAC_CONST(-0.00637922932685),
-    FRAC_CONST(-0.00553372111088), FRAC_CONST(-0.004722259624),
-    FRAC_CONST(-0.00394011240522), FRAC_CONST(-0.003193377839),
-    FRAC_CONST(-0.00248267236449), FRAC_CONST(-0.00180394725893),
-    FRAC_CONST(-0.00115681355227), FRAC_CONST(-0.00054642808664),
-    FRAC_CONST(2.760451905E-005), FRAC_CONST(0.0005832264248),
-    FRAC_CONST(0.00109023290512), FRAC_CONST(0.00157846825768),
-    FRAC_CONST(0.0020274176185), FRAC_CONST(0.00245085400321),
-    FRAC_CONST(0.00284467578623), FRAC_CONST(0.00320918858098),
-    FRAC_CONST(0.00354012465507), FRAC_CONST(0.00384564081246),
-    FRAC_CONST(0.0041251642327), FRAC_CONST(0.00438018617447),
-    FRAC_CONST(0.00460395301471), FRAC_CONST(0.004810946906),
-    FRAC_CONST(0.00498396877629), FRAC_CONST(0.00513822754514),
-    FRAC_CONST(0.00527157587272), FRAC_CONST(0.0053838975897),
-    FRAC_CONST(0.0054753783077), FRAC_CONST(0.005540436394),
-    FRAC_CONST(0.0055917128663), FRAC_CONST(0.00562661141932),
-    FRAC_CONST(0.00563891995151), FRAC_CONST(0.00564551969164),
-    FRAC_CONST(0.00562206432097), FRAC_CONST(0.00559380230045),
-    FRAC_CONST(0.00554757145088), FRAC_CONST(0.00548760401507),
-    FRAC_CONST(0.00541967759307), FRAC_CONST(0.00534716811982),
-    FRAC_CONST(0.00524611661324), FRAC_CONST(0.00514073539032),
-    FRAC_CONST(0.00503930226013), FRAC_CONST(0.00491376035745),
-    FRAC_CONST(0.00479325608498), FRAC_CONST(0.00466064606118),
-    FRAC_CONST(0.00452098527825), FRAC_CONST(0.00437307196781),
-    FRAC_CONST(0.0042264269227), FRAC_CONST(0.00408197531935),
-    FRAC_CONST(0.00392074323703), FRAC_CONST(0.00376039229104),
-    FRAC_CONST(0.00360082681231), FRAC_CONST(0.00344188741828),
-    FRAC_CONST(0.00327396134847), FRAC_CONST(0.00311254206525),
-    FRAC_CONST(0.00294694477165), FRAC_CONST(0.00278704643465),
-    FRAC_CONST(0.00262017586902), FRAC_CONST(0.00246256169126),
-    FRAC_CONST(0.00230172547746), FRAC_CONST(0.00214615835557),
-    FRAC_CONST(0.00198411407369), FRAC_CONST(0.00183482654224),
-    FRAC_CONST(0.00168680832531), FRAC_CONST(0.00154432198471),
-    FRAC_CONST(0.00139024948272), FRAC_CONST(0.00125778846475),
-    FRAC_CONST(0.00112501551307), FRAC_CONST(0.00098859883015),
-    FRAC_CONST(0.00086084433262), FRAC_CONST(0.00074580258865),
-    FRAC_CONST(0.00062393761391), FRAC_CONST(0.00051073884952),
-    FRAC_CONST(0.0004026540216), FRAC_CONST(0.00029495311041),
-    FRAC_CONST(0.00020430170688), FRAC_CONST(0.00010943831274),
-    FRAC_CONST(1.349497418E-005), FRAC_CONST(-6.173344072E-005),
-    FRAC_CONST(-0.00014463809349), FRAC_CONST(-0.0002098337344),
-    FRAC_CONST(-0.00028969811748), FRAC_CONST(-0.00035011758756),
-    FRAC_CONST(-0.00040951214522), FRAC_CONST(-0.00046063254803),
-    FRAC_CONST(-0.00051455722108), FRAC_CONST(-0.00055645763906),
-    FRAC_CONST(-0.0005946118933), FRAC_CONST(-0.00063415949025),
-    FRAC_CONST(-0.00066504150893), FRAC_CONST(-0.00069179375372),
-    FRAC_CONST(-0.00072153919876), FRAC_CONST(-0.00073193571525),
-    FRAC_CONST(-0.00075300014201), FRAC_CONST(-0.00076307935757),
-    FRAC_CONST(-0.0007757977331), FRAC_CONST(-0.00078014496257),
-    FRAC_CONST(-0.000780366471), FRAC_CONST(-0.00077798694927),
-    FRAC_CONST(-0.00078343322877), FRAC_CONST(-0.00077248485949),
-    FRAC_CONST(-0.0007681371927), FRAC_CONST(-0.00074905980532),
-    FRAC_CONST(-0.00074409418541), FRAC_CONST(-0.00072550431222),
-    FRAC_CONST(-0.00071577364744), FRAC_CONST(-0.00069416146273),
-    FRAC_CONST(-0.00067776907764), FRAC_CONST(-0.00065403333621),
-    FRAC_CONST(-0.00063124935319), FRAC_CONST(-0.00061327473938),
-    FRAC_CONST(-0.00058709304852), FRAC_CONST(-0.00056778025613),
-    FRAC_CONST(-0.00054665656337), FRAC_CONST(-0.00052265642972),
-    FRAC_CONST(-0.00050407143497), FRAC_CONST(-0.00048937912498),
-    FRAC_CONST(-0.00048752279712), FRAC_CONST(-0.00049475180896),
-    FRAC_CONST(-0.00056176925738), FRAC_CONST(-0.00055252865047)
-};
-
-#endif
-
diff --git a/lib/libfaad2/libfaad/sbr_syntax.c b/lib/libfaad2/libfaad/sbr_syntax.c
deleted file mode 100644 (file)
index 216c2e9..0000000
+++ /dev/null
@@ -1,910 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_syntax.c,v 1.38 2007/11/01 12:33:36 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SBR_DEC
-
-#include "sbr_syntax.h"
-#include "syntax.h"
-#include "sbr_huff.h"
-#include "sbr_fbt.h"
-#include "sbr_tf_grid.h"
-#include "sbr_e_nf.h"
-#include "bits.h"
-#ifdef PS_DEC
-#include "ps_dec.h"
-#endif
-#ifdef DRM_PS
-#include "drm_dec.h"
-#endif
-#include "analysis.h"
-
-/* static function declarations */
-/* static function declarations */
-static void sbr_header(bitfile *ld, sbr_info *sbr);
-static uint8_t calc_sbr_tables(sbr_info *sbr, uint8_t start_freq, uint8_t stop_freq,
-                               uint8_t samplerate_mode, uint8_t freq_scale,
-                               uint8_t alter_scale, uint8_t xover_band);
-static uint8_t sbr_data(bitfile *ld, sbr_info *sbr);
-static uint16_t sbr_extension(bitfile *ld, sbr_info *sbr,
-                              uint8_t bs_extension_id, uint16_t num_bits_left);
-static uint8_t sbr_single_channel_element(bitfile *ld, sbr_info *sbr);
-static uint8_t sbr_channel_pair_element(bitfile *ld, sbr_info *sbr);
-static uint8_t 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 sinusoidal_coding(bitfile *ld, sbr_info *sbr, uint8_t ch);
-
-
-static void sbr_reset(sbr_info *sbr)
-{
-#if 0
-    printf("%d\n", sbr->bs_start_freq_prev);
-    printf("%d\n", sbr->bs_stop_freq_prev);
-    printf("%d\n", sbr->bs_freq_scale_prev);
-    printf("%d\n", sbr->bs_alter_scale_prev);
-    printf("%d\n", sbr->bs_xover_band_prev);
-    printf("%d\n\n", sbr->bs_noise_bands_prev);
-#endif
-
-    /* if these are different from the previous frame: Reset = 1 */
-    if ((sbr->bs_start_freq != sbr->bs_start_freq_prev) ||
-        (sbr->bs_stop_freq != sbr->bs_stop_freq_prev) ||
-        (sbr->bs_freq_scale != sbr->bs_freq_scale_prev) ||
-        (sbr->bs_alter_scale != sbr->bs_alter_scale_prev) ||
-        (sbr->bs_xover_band != sbr->bs_xover_band_prev) ||
-        (sbr->bs_noise_bands != sbr->bs_noise_bands_prev))
-    {
-        sbr->Reset = 1;
-    } else {
-        sbr->Reset = 0;
-    }
-
-    sbr->bs_start_freq_prev = sbr->bs_start_freq;
-    sbr->bs_stop_freq_prev = sbr->bs_stop_freq;
-    sbr->bs_freq_scale_prev = sbr->bs_freq_scale;
-    sbr->bs_alter_scale_prev = sbr->bs_alter_scale;
-    sbr->bs_xover_band_prev = sbr->bs_xover_band;
-    sbr->bs_noise_bands_prev = sbr->bs_noise_bands;
-}
-
-static uint8_t calc_sbr_tables(sbr_info *sbr, uint8_t start_freq, uint8_t stop_freq,
-                               uint8_t samplerate_mode, uint8_t freq_scale,
-                               uint8_t alter_scale, uint8_t xover_band)
-{
-    uint8_t result = 0;
-    uint8_t k2;
-
-    /* calculate the Master Frequency Table */
-    sbr->k0 = qmf_start_channel(start_freq, samplerate_mode, sbr->sample_rate);
-    k2 = qmf_stop_channel(stop_freq, sbr->sample_rate, sbr->k0);
-
-    /* check k0 and k2 */
-    if (sbr->sample_rate >= 48000)
-    {
-        if ((k2 - sbr->k0) > 32)
-            result += 1;
-    } else if (sbr->sample_rate <= 32000) {
-        if ((k2 - sbr->k0) > 48)
-            result += 1;
-    } else { /* (sbr->sample_rate == 44100) */
-        if ((k2 - sbr->k0) > 45)
-            result += 1;
-    }
-
-    if (freq_scale == 0)
-    {
-        result += master_frequency_table_fs0(sbr, sbr->k0, k2, alter_scale);
-    } else {
-        result += master_frequency_table(sbr, sbr->k0, k2, freq_scale, alter_scale);
-    }
-    result += derived_frequency_table(sbr, xover_band, k2);
-
-    result = (result > 0) ? 1 : 0;
-
-    return result;
-}
-
-/* table 2 */
-uint8_t sbr_extension_data(bitfile *ld, sbr_info *sbr, uint16_t cnt,
-                           uint8_t psResetFlag)
-{
-    uint8_t result = 0;
-    uint16_t num_align_bits = 0;
-    uint16_t num_sbr_bits1 = (uint16_t)faad_get_processed_bits(ld);
-    uint16_t num_sbr_bits2;
-
-    uint8_t saved_start_freq, saved_samplerate_mode;
-    uint8_t saved_stop_freq, saved_freq_scale;
-    uint8_t saved_alter_scale, saved_xover_band;
-
-#if (defined(PS_DEC) || defined(DRM_PS))
-    if (psResetFlag)
-        sbr->psResetFlag = psResetFlag;
-#endif
-
-#ifdef DRM
-    if (!sbr->Is_DRM_SBR)
-#endif
-    {
-        uint8_t bs_extension_type = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,198,"sbr_bitstream(): bs_extension_type"));
-
-        if (bs_extension_type == EXT_SBR_DATA_CRC)
-        {
-            sbr->bs_sbr_crc_bits = (uint16_t)faad_getbits(ld, 10
-                DEBUGVAR(1,199,"sbr_bitstream(): bs_sbr_crc_bits"));
-        }
-    }
-
-    /* save old header values, in case the new ones are corrupted */
-    saved_start_freq = sbr->bs_start_freq;
-    saved_samplerate_mode = sbr->bs_samplerate_mode;
-    saved_stop_freq = sbr->bs_stop_freq;
-    saved_freq_scale = sbr->bs_freq_scale;
-    saved_alter_scale = sbr->bs_alter_scale;
-    saved_xover_band = sbr->bs_xover_band;
-
-    sbr->bs_header_flag = faad_get1bit(ld
-        DEBUGVAR(1,200,"sbr_bitstream(): bs_header_flag"));
-
-    if (sbr->bs_header_flag)
-        sbr_header(ld, sbr);
-
-    /* Reset? */
-    sbr_reset(sbr);
-
-    /* first frame should have a header */
-    //if (!(sbr->frame == 0 && sbr->bs_header_flag == 0))
-    if (sbr->header_count != 0)
-    {
-        if (sbr->Reset || (sbr->bs_header_flag && sbr->just_seeked))
-        {
-            uint8_t rt = calc_sbr_tables(sbr, sbr->bs_start_freq, sbr->bs_stop_freq,
-                sbr->bs_samplerate_mode, sbr->bs_freq_scale,
-                sbr->bs_alter_scale, sbr->bs_xover_band);
-
-            /* if an error occured with the new header values revert to the old ones */
-            if (rt > 0)
-            {
-                calc_sbr_tables(sbr, saved_start_freq, saved_stop_freq,
-                    saved_samplerate_mode, saved_freq_scale,
-                    saved_alter_scale, saved_xover_band);
-            }
-        }
-
-        if (result == 0)
-        {
-            result = sbr_data(ld, sbr);
-
-            /* sbr_data() returning an error means that there was an error in
-               envelope_time_border_vector().
-               In this case the old time border vector is saved and all the previous
-               data normally read after sbr_grid() is saved.
-            */
-            /* to be on the safe side, calculate old sbr tables in case of error */
-            if ((result > 0) &&
-                (sbr->Reset || (sbr->bs_header_flag && sbr->just_seeked)))
-            {
-                calc_sbr_tables(sbr, saved_start_freq, saved_stop_freq,
-                    saved_samplerate_mode, saved_freq_scale,
-                    saved_alter_scale, saved_xover_band);          
-            }
-
-            /* we should be able to safely set result to 0 now, */
-            /* but practise indicates this doesn't work well */
-        }
-    } else {
-        result = 1;
-    }
-
-    num_sbr_bits2 = (uint16_t)faad_get_processed_bits(ld) - num_sbr_bits1;
-
-    /* check if we read more bits then were available for sbr */
-    if (8*cnt < num_sbr_bits2)
-    {
-        faad_resetbits(ld, num_sbr_bits1 + 8*cnt);
-        num_sbr_bits2 = 8*cnt;
-
-#ifdef PS_DEC
-        /* turn off PS for the unfortunate case that we randomly read some
-         * PS data that looks correct */
-        sbr->ps_used = 0;
-#endif
-
-        /* Make sure it doesn't decode SBR in this frame, or we'll get glitches */
-        return 1;
-    }
-
-#ifdef DRM
-    if (!sbr->Is_DRM_SBR)
-#endif
-    {       
-        /* -4 does not apply, bs_extension_type is re-read in this function */
-        num_align_bits = 8*cnt /*- 4*/ - num_sbr_bits2;
-
-        while (num_align_bits > 7)
-        {
-            faad_getbits(ld, 8
-                DEBUGVAR(1,999,"sbr_bitstream(): num_align_bits"));
-            num_align_bits -= 8;
-        }
-        faad_getbits(ld, num_align_bits
-            DEBUGVAR(1,999,"sbr_bitstream(): num_align_bits"));
-    }
-
-    return result;
-}
-
-/* table 3 */
-static void sbr_header(bitfile *ld, sbr_info *sbr)
-{
-    uint8_t bs_header_extra_1, bs_header_extra_2;
-
-    sbr->header_count++;
-
-    sbr->bs_amp_res = faad_get1bit(ld
-        DEBUGVAR(1,203,"sbr_header(): bs_amp_res"));
-
-    /* bs_start_freq and bs_stop_freq must define a fequency band that does
-       not exceed 48 channels */
-    sbr->bs_start_freq = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,204,"sbr_header(): bs_start_freq"));
-    sbr->bs_stop_freq = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,205,"sbr_header(): bs_stop_freq"));
-    sbr->bs_xover_band = (uint8_t)faad_getbits(ld, 3
-        DEBUGVAR(1,206,"sbr_header(): bs_xover_band"));
-    faad_getbits(ld, 2
-        DEBUGVAR(1,207,"sbr_header(): bs_reserved_bits_hdr"));
-    bs_header_extra_1 = (uint8_t)faad_get1bit(ld
-        DEBUGVAR(1,208,"sbr_header(): bs_header_extra_1"));
-    bs_header_extra_2 = (uint8_t)faad_get1bit(ld
-        DEBUGVAR(1,209,"sbr_header(): bs_header_extra_2"));
-
-    if (bs_header_extra_1)
-    {
-        sbr->bs_freq_scale = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,211,"sbr_header(): bs_freq_scale"));
-        sbr->bs_alter_scale = (uint8_t)faad_get1bit(ld
-            DEBUGVAR(1,212,"sbr_header(): bs_alter_scale"));
-        sbr->bs_noise_bands = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,213,"sbr_header(): bs_noise_bands"));
-    } else {
-        /* Default values */
-        sbr->bs_freq_scale = 2;
-        sbr->bs_alter_scale = 1;
-        sbr->bs_noise_bands = 2;
-    }
-
-    if (bs_header_extra_2)
-    {
-        sbr->bs_limiter_bands = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,214,"sbr_header(): bs_limiter_bands"));
-        sbr->bs_limiter_gains = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,215,"sbr_header(): bs_limiter_gains"));
-        sbr->bs_interpol_freq = (uint8_t)faad_get1bit(ld
-            DEBUGVAR(1,216,"sbr_header(): bs_interpol_freq"));
-        sbr->bs_smoothing_mode = (uint8_t)faad_get1bit(ld
-            DEBUGVAR(1,217,"sbr_header(): bs_smoothing_mode"));
-    } else {
-        /* Default values */
-        sbr->bs_limiter_bands = 2;
-        sbr->bs_limiter_gains = 2;
-        sbr->bs_interpol_freq = 1;
-        sbr->bs_smoothing_mode = 1;
-    }
-
-#if 0
-    /* print the header to screen */
-    printf("bs_amp_res: %d\n", sbr->bs_amp_res);
-    printf("bs_start_freq: %d\n", sbr->bs_start_freq);
-    printf("bs_stop_freq: %d\n", sbr->bs_stop_freq);
-    printf("bs_xover_band: %d\n", sbr->bs_xover_band);
-    if (bs_header_extra_1)
-    {
-        printf("bs_freq_scale: %d\n", sbr->bs_freq_scale);
-        printf("bs_alter_scale: %d\n", sbr->bs_alter_scale);
-        printf("bs_noise_bands: %d\n", sbr->bs_noise_bands);
-    }
-    if (bs_header_extra_2)
-    {
-        printf("bs_limiter_bands: %d\n", sbr->bs_limiter_bands);
-        printf("bs_limiter_gains: %d\n", sbr->bs_limiter_gains);
-        printf("bs_interpol_freq: %d\n", sbr->bs_interpol_freq);
-        printf("bs_smoothing_mode: %d\n", sbr->bs_smoothing_mode);
-    }
-    printf("\n");
-#endif
-}
-
-/* table 4 */
-static uint8_t sbr_data(bitfile *ld, sbr_info *sbr)
-{
-    uint8_t result;
-#if 0
-    sbr->bs_samplerate_mode = faad_get1bit(ld
-        DEBUGVAR(1,219,"sbr_data(): bs_samplerate_mode"));
-#endif
-
-    sbr->rate = (sbr->bs_samplerate_mode) ? 2 : 1;
-
-    switch (sbr->id_aac)
-    {
-    case ID_SCE:
-               if ((result = sbr_single_channel_element(ld, sbr)) > 0)
-                       return result;
-        break;
-    case ID_CPE:
-               if ((result = sbr_channel_pair_element(ld, sbr)) > 0)
-                       return result;
-        break;
-    }
-
-       return 0;
-}
-
-/* table 5 */
-static uint8_t sbr_single_channel_element(bitfile *ld, sbr_info *sbr)
-{
-    uint8_t result;
-
-    if (faad_get1bit(ld
-        DEBUGVAR(1,220,"sbr_single_channel_element(): bs_data_extra")))
-    {
-        faad_getbits(ld, 4
-            DEBUGVAR(1,221,"sbr_single_channel_element(): bs_reserved_bits_data"));
-    }
-
-#ifdef DRM
-    /* bs_coupling, from sbr_channel_pair_base_element(bs_amp_res) */
-    if (sbr->Is_DRM_SBR)
-    {
-        faad_get1bit(ld);
-    }
-#endif
-
-    if ((result = sbr_grid(ld, sbr, 0)) > 0)
-        return result;
-
-    sbr_dtdf(ld, sbr, 0);
-    invf_mode(ld, sbr, 0);
-    sbr_envelope(ld, sbr, 0);
-    sbr_noise(ld, sbr, 0);
-
-#ifndef FIXED_POINT
-    envelope_noise_dequantisation(sbr, 0);
-#endif
-
-    memset(sbr->bs_add_harmonic[0], 0, 64*sizeof(uint8_t));
-
-    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 = faad_get1bit(ld
-        DEBUGVAR(1,224,"sbr_single_channel_element(): bs_extended_data[0]"));
-
-    if (sbr->bs_extended_data)
-    {
-        uint16_t nr_bits_left;
-#if (defined(PS_DEC) || defined(DRM_PS))
-        uint8_t ps_ext_read = 0;
-#endif
-        uint16_t cnt = (uint16_t)faad_getbits(ld, 4
-            DEBUGVAR(1,225,"sbr_single_channel_element(): bs_extension_size"));
-        if (cnt == 15)
-        {
-            cnt += (uint16_t)faad_getbits(ld, 8
-                DEBUGVAR(1,226,"sbr_single_channel_element(): bs_esc_count"));
-        }
-
-        nr_bits_left = 8 * cnt;
-        while (nr_bits_left > 7)
-        {
-            uint16_t tmp_nr_bits = 0;
-
-            sbr->bs_extension_id = (uint8_t)faad_getbits(ld, 2
-                DEBUGVAR(1,227,"sbr_single_channel_element(): bs_extension_id"));
-            tmp_nr_bits += 2;
-
-            /* allow only 1 PS extension element per extension data */
-#if (defined(PS_DEC) || defined(DRM_PS))
-#if (defined(PS_DEC) && defined(DRM_PS))
-            if (sbr->bs_extension_id == EXTENSION_ID_PS || sbr->bs_extension_id == DRM_PARAMETRIC_STEREO)
-#else
-#ifdef PS_DEC
-            if (sbr->bs_extension_id == EXTENSION_ID_PS)
-#else
-#ifdef DRM_PS
-            if (sbr->bs_extension_id == DRM_PARAMETRIC_STEREO)
-#endif
-#endif
-#endif
-            {
-                if (ps_ext_read == 0)
-                {
-                    ps_ext_read = 1;
-                } else {
-                    /* to be safe make it 3, will switch to "default"
-                     * in sbr_extension() */
-#ifdef DRM
-                    return 1;
-#else
-                    sbr->bs_extension_id = 3;
-#endif
-                }
-            }
-#endif
-
-            tmp_nr_bits += sbr_extension(ld, sbr, sbr->bs_extension_id, nr_bits_left);
-
-            /* check if the data read is bigger than the number of available bits */
-            if (tmp_nr_bits > nr_bits_left)
-                return 1;
-
-            nr_bits_left -= tmp_nr_bits;
-        }
-
-        /* Corrigendum */
-        if (nr_bits_left > 0)
-        {
-            faad_getbits(ld, nr_bits_left
-                DEBUGVAR(1,280,"sbr_single_channel_element(): nr_bits_left"));
-        }
-    }
-
-    return 0;
-}
-
-/* table 6 */
-static uint8_t sbr_channel_pair_element(bitfile *ld, sbr_info *sbr)
-{
-    uint8_t n, result;
-
-    if (faad_get1bit(ld
-        DEBUGVAR(1,228,"sbr_single_channel_element(): bs_data_extra")))
-    {
-        faad_getbits(ld, 4
-            DEBUGVAR(1,228,"sbr_channel_pair_element(): bs_reserved_bits_data"));
-        faad_getbits(ld, 4
-            DEBUGVAR(1,228,"sbr_channel_pair_element(): bs_reserved_bits_data"));
-    }
-
-    sbr->bs_coupling = faad_get1bit(ld
-        DEBUGVAR(1,228,"sbr_channel_pair_element(): bs_coupling"));
-
-    if (sbr->bs_coupling)
-    {
-        if ((result = sbr_grid(ld, sbr, 0)) > 0)
-            return result;
-
-        /* need to copy some data from left to right */
-        sbr->bs_frame_class[1] = sbr->bs_frame_class[0];
-        sbr->L_E[1] = sbr->L_E[0];
-        sbr->L_Q[1] = sbr->L_Q[0];
-        sbr->bs_pointer[1] = sbr->bs_pointer[0];
-
-        for (n = 0; n <= sbr->L_E[0]; n++)
-        {
-            sbr->t_E[1][n] = sbr->t_E[0][n];
-            sbr->f[1][n] = sbr->f[0][n];
-        }
-        for (n = 0; n <= sbr->L_Q[0]; n++)
-            sbr->t_Q[1][n] = sbr->t_Q[0][n];
-
-        sbr_dtdf(ld, sbr, 0);
-        sbr_dtdf(ld, sbr, 1);
-        invf_mode(ld, sbr, 0);
-
-        /* more copying */
-        for (n = 0; n < sbr->N_Q; n++)
-            sbr->bs_invf_mode[1][n] = sbr->bs_invf_mode[0][n];
-
-        sbr_envelope(ld, sbr, 0);
-        sbr_noise(ld, sbr, 0);
-        sbr_envelope(ld, sbr, 1);
-        sbr_noise(ld, sbr, 1);
-
-        memset(sbr->bs_add_harmonic[0], 0, 64*sizeof(uint8_t));
-        memset(sbr->bs_add_harmonic[1], 0, 64*sizeof(uint8_t));
-
-        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);
-    } else {
-        uint8_t saved_t_E[6] = {0}, saved_t_Q[3] = {0};
-        uint8_t saved_L_E = sbr->L_E[0];
-        uint8_t saved_L_Q = sbr->L_Q[0];
-        uint8_t saved_frame_class = sbr->bs_frame_class[0];
-
-        for (n = 0; n < saved_L_E; n++)
-            saved_t_E[n] = sbr->t_E[0][n];
-        for (n = 0; n < saved_L_Q; n++)
-            saved_t_Q[n] = sbr->t_Q[0][n];
-
-        if ((result = sbr_grid(ld, sbr, 0)) > 0)
-            return result;
-        if ((result = sbr_grid(ld, sbr, 1)) > 0)
-        {
-            /* restore first channel data as well */
-            sbr->bs_frame_class[0] = saved_frame_class;
-            sbr->L_E[0] = saved_L_E;
-            sbr->L_Q[0] = saved_L_Q;
-            for (n = 0; n < 6; n++)
-                sbr->t_E[0][n] = saved_t_E[n];
-            for (n = 0; n < 3; n++)
-                sbr->t_Q[0][n] = saved_t_Q[n];
-
-            return result;
-        }
-        sbr_dtdf(ld, sbr, 0);
-        sbr_dtdf(ld, sbr, 1);
-        invf_mode(ld, sbr, 0);
-        invf_mode(ld, sbr, 1);
-        sbr_envelope(ld, sbr, 0);
-        sbr_envelope(ld, sbr, 1);
-        sbr_noise(ld, sbr, 0);
-        sbr_noise(ld, sbr, 1);
-
-        memset(sbr->bs_add_harmonic[0], 0, 64*sizeof(uint8_t));
-        memset(sbr->bs_add_harmonic[1], 0, 64*sizeof(uint8_t));
-
-        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);
-    }
-#ifndef FIXED_POINT
-    envelope_noise_dequantisation(sbr, 0);
-    envelope_noise_dequantisation(sbr, 1);
-
-    if (sbr->bs_coupling)
-        unmap_envelope_noise(sbr);
-#endif
-
-    sbr->bs_extended_data = faad_get1bit(ld
-        DEBUGVAR(1,233,"sbr_channel_pair_element(): bs_extended_data[0]"));
-    if (sbr->bs_extended_data)
-    {
-        uint16_t nr_bits_left;
-        uint16_t cnt = (uint16_t)faad_getbits(ld, 4
-            DEBUGVAR(1,234,"sbr_channel_pair_element(): bs_extension_size"));
-        if (cnt == 15)
-        {
-            cnt += (uint16_t)faad_getbits(ld, 8
-                DEBUGVAR(1,235,"sbr_channel_pair_element(): bs_esc_count"));
-        }
-
-        nr_bits_left = 8 * cnt;
-        while (nr_bits_left > 7)
-        {
-            uint16_t tmp_nr_bits = 0;
-
-            sbr->bs_extension_id = (uint8_t)faad_getbits(ld, 2
-                DEBUGVAR(1,236,"sbr_channel_pair_element(): bs_extension_id"));
-            tmp_nr_bits += 2;
-            tmp_nr_bits += sbr_extension(ld, sbr, sbr->bs_extension_id, nr_bits_left);
-
-            /* check if the data read is bigger than the number of available bits */
-            if (tmp_nr_bits > nr_bits_left)
-                return 1;
-
-            nr_bits_left -= tmp_nr_bits;
-        }
-
-        /* Corrigendum */
-        if (nr_bits_left > 0)
-        {
-            faad_getbits(ld, nr_bits_left
-                DEBUGVAR(1,280,"sbr_channel_pair_element(): nr_bits_left"));
-        }
-    }
-
-    return 0;
-}
-
-/* integer log[2](x): input range [0,10) */
-static int8_t sbr_log2(const int8_t val)
-{
-    int8_t log2tab[] = { 0, 0, 1, 2, 2, 3, 3, 3, 3, 4 };
-    if (val < 10 && val >= 0)
-        return log2tab[val];
-    else
-        return 0;
-}
-
-
-/* table 7 */
-static uint8_t sbr_grid(bitfile *ld, sbr_info *sbr, uint8_t ch)
-{
-    uint8_t i, env, rel, result;
-    uint8_t bs_abs_bord, bs_abs_bord_1;
-    uint8_t bs_num_env = 0;
-    uint8_t saved_L_E = sbr->L_E[ch];
-    uint8_t saved_L_Q = sbr->L_Q[ch];
-    uint8_t saved_frame_class = sbr->bs_frame_class[ch];
-
-    sbr->bs_frame_class[ch] = (uint8_t)faad_getbits(ld, 2
-        DEBUGVAR(1,248,"sbr_grid(): bs_frame_class"));
-
-    switch (sbr->bs_frame_class[ch])
-    {
-    case FIXFIX:
-        i = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,249,"sbr_grid(): bs_num_env_raw"));
-
-        bs_num_env = min(1 << i, 5);
-
-        i = (uint8_t)faad_get1bit(ld
-            DEBUGVAR(1,250,"sbr_grid(): bs_freq_res_flag"));
-        for (env = 0; env < bs_num_env; env++)
-            sbr->f[ch][env] = i;
-
-        sbr->abs_bord_lead[ch] = 0;
-        sbr->abs_bord_trail[ch] = sbr->numTimeSlots;
-        sbr->n_rel_lead[ch] = bs_num_env - 1;
-        sbr->n_rel_trail[ch] = 0;
-        break;
-
-    case FIXVAR:
-        bs_abs_bord = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,251,"sbr_grid(): bs_abs_bord")) + sbr->numTimeSlots;
-        bs_num_env = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,252,"sbr_grid(): bs_num_env")) + 1;
-
-        for (rel = 0; rel < bs_num_env-1; rel++)
-        {
-            sbr->bs_rel_bord[ch][rel] = 2 * (uint8_t)faad_getbits(ld, 2
-                DEBUGVAR(1,253,"sbr_grid(): bs_rel_bord")) + 2;
-        }
-        i = sbr_log2(bs_num_env + 1);
-        sbr->bs_pointer[ch] = (uint8_t)faad_getbits(ld, i
-            DEBUGVAR(1,254,"sbr_grid(): bs_pointer"));
-
-        for (env = 0; env < bs_num_env; env++)
-        {
-            sbr->f[ch][bs_num_env - env - 1] = (uint8_t)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;
-        sbr->n_rel_lead[ch] = 0;
-        sbr->n_rel_trail[ch] = bs_num_env - 1;
-        break;
-
-    case VARFIX:
-        bs_abs_bord = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,256,"sbr_grid(): bs_abs_bord"));
-        bs_num_env = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,257,"sbr_grid(): bs_num_env")) + 1;
-
-        for (rel = 0; rel < bs_num_env-1; rel++)
-        {
-            sbr->bs_rel_bord[ch][rel] = 2 * (uint8_t)faad_getbits(ld, 2
-                DEBUGVAR(1,258,"sbr_grid(): bs_rel_bord")) + 2;
-        }
-        i = sbr_log2(bs_num_env + 1);
-        sbr->bs_pointer[ch] = (uint8_t)faad_getbits(ld, i
-            DEBUGVAR(1,259,"sbr_grid(): bs_pointer"));
-
-        for (env = 0; env < bs_num_env; env++)
-        {
-            sbr->f[ch][env] = (uint8_t)faad_get1bit(ld
-                DEBUGVAR(1,260,"sbr_grid(): bs_freq_res"));
-        }
-
-        sbr->abs_bord_lead[ch] = bs_abs_bord;
-        sbr->abs_bord_trail[ch] = sbr->numTimeSlots;
-        sbr->n_rel_lead[ch] = bs_num_env - 1;
-        sbr->n_rel_trail[ch] = 0;
-        break;
-
-    case VARVAR:
-        bs_abs_bord = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,261,"sbr_grid(): bs_abs_bord_0"));
-        bs_abs_bord_1 = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,262,"sbr_grid(): bs_abs_bord_1")) + sbr->numTimeSlots;
-        sbr->bs_num_rel_0[ch] = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,263,"sbr_grid(): bs_num_rel_0"));
-        sbr->bs_num_rel_1[ch] = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,264,"sbr_grid(): bs_num_rel_1"));
-
-        bs_num_env = min(5, 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 * (uint8_t)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 * (uint8_t)faad_getbits(ld, 2
-                DEBUGVAR(1,266,"sbr_grid(): bs_rel_bord")) + 2;
-        }
-        i = sbr_log2(sbr->bs_num_rel_0[ch] + sbr->bs_num_rel_1[ch] + 2);
-        sbr->bs_pointer[ch] = (uint8_t)faad_getbits(ld, i
-            DEBUGVAR(1,267,"sbr_grid(): bs_pointer"));
-
-        for (env = 0; env < bs_num_env; env++)
-        {
-            sbr->f[ch][env] = (uint8_t)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;
-        sbr->n_rel_lead[ch] = sbr->bs_num_rel_0[ch];
-        sbr->n_rel_trail[ch] = sbr->bs_num_rel_1[ch];
-        break;
-    }
-
-    if (sbr->bs_frame_class[ch] == VARVAR)
-        sbr->L_E[ch] = min(bs_num_env, 5);
-    else
-        sbr->L_E[ch] = min(bs_num_env, 4);
-
-    if (sbr->L_E[ch] <= 0)
-        return 1;
-
-    if (sbr->L_E[ch] > 1)
-        sbr->L_Q[ch] = 2;
-    else
-        sbr->L_Q[ch] = 1;
-
-    /* TODO: this code can probably be integrated into the code above! */
-    if ((result = envelope_time_border_vector(sbr, ch)) > 0)
-    {
-        sbr->bs_frame_class[ch] = saved_frame_class;
-        sbr->L_E[ch] = saved_L_E;
-        sbr->L_Q[ch] = saved_L_Q;
-        return result;
-    }
-    noise_floor_time_border_vector(sbr, ch);
-
-#if 0
-    for (env = 0; env < bs_num_env; env++)
-    {
-        printf("freq_res[ch:%d][env:%d]: %d\n", ch, env, sbr->f[ch][env]);
-    }
-#endif
-
-    return 0;
-}
-
-/* table 8 */
-static void sbr_dtdf(bitfile *ld, sbr_info *sbr, uint8_t ch)
-{
-    uint8_t i;
-
-    for (i = 0; i < sbr->L_E[ch]; i++)
-    {
-        sbr->bs_df_env[ch][i] = faad_get1bit(ld
-            DEBUGVAR(1,269,"sbr_dtdf(): bs_df_env"));
-    }
-
-    for (i = 0; i < sbr->L_Q[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->N_Q; n++)
-    {
-        sbr->bs_invf_mode[ch][n] = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,271,"invf_mode(): bs_invf_mode"));
-    }
-}
-
-static uint16_t sbr_extension(bitfile *ld, sbr_info *sbr,
-                              uint8_t bs_extension_id, uint16_t num_bits_left)
-{
-#ifdef PS_DEC
-    uint8_t header;
-    uint16_t ret;
-#endif
-
-    switch (bs_extension_id)
-    {
-#ifdef PS_DEC
-    case EXTENSION_ID_PS:
-        if (!sbr->ps)
-        {
-            sbr->ps = ps_init(get_sr_index(sbr->sample_rate));
-        }
-        if (sbr->psResetFlag)
-        {
-            sbr->ps->header_read = 0;
-        }
-        ret = ps_data(sbr->ps, ld, &header);
-
-        /* enable PS if and only if: a header has been decoded */
-        if (sbr->ps_used == 0 && header == 1)
-        {
-            sbr->ps_used = 1;
-        }
-
-        if (header == 1)
-        {
-            sbr->psResetFlag = 0;
-        }
-
-        return ret;
-#endif
-#ifdef DRM_PS
-    case DRM_PARAMETRIC_STEREO:
-        sbr->ps_used = 1;
-        if (!sbr->drm_ps)
-        {
-            sbr->drm_ps = drm_ps_init();
-        }
-        return drm_ps_data(sbr->drm_ps, ld);
-#endif
-    default:
-        sbr->bs_extension_data = (uint8_t)faad_getbits(ld, 6
-            DEBUGVAR(1,279,"sbr_single_channel_element(): bs_extension_data"));
-        return 6;
-    }
-}
-
-/* table 12 */
-static void sinusoidal_coding(bitfile *ld, sbr_info *sbr, uint8_t ch)
-{
-    uint8_t n;
-
-    for (n = 0; n < sbr->N_high; n++)
-    {
-        sbr->bs_add_harmonic[ch][n] = faad_get1bit(ld
-            DEBUGVAR(1,278,"sinusoidal_coding(): bs_add_harmonic"));
-    }
-}
-
-
-#endif /* SBR_DEC */
diff --git a/lib/libfaad2/libfaad/sbr_syntax.h b/lib/libfaad2/libfaad/sbr_syntax.h
deleted file mode 100644 (file)
index a13b270..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_syntax.h,v 1.23 2007/11/01 12:33:36 menno Exp $
-**/
-
-#ifndef __SBR_SYNTAX_H__
-#define __SBR_SYNTAX_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "bits.h"
-
-#define T_HFGEN 8
-#define T_HFADJ 2
-
-#define EXT_SBR_DATA     13
-#define EXT_SBR_DATA_CRC 14
-
-#define FIXFIX 0
-#define FIXVAR 1
-#define VARFIX 2
-#define VARVAR 3
-
-#define LO_RES 0
-#define HI_RES 1
-
-#define NO_TIME_SLOTS_960 15
-#define NO_TIME_SLOTS     16
-#define RATE              2
-
-#define NOISE_FLOOR_OFFSET 6
-
-
-uint8_t sbr_extension_data(bitfile *ld, sbr_info *sbr, uint16_t cnt,
-                           uint8_t resetFlag);
-
-#ifdef __cplusplus
-}
-#endif
-#endif /* __SBR_SYNTAX_H__ */
-
diff --git a/lib/libfaad2/libfaad/sbr_tf_grid.c b/lib/libfaad2/libfaad/sbr_tf_grid.c
deleted file mode 100644 (file)
index b3b24fd..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_tf_grid.c,v 1.19 2007/11/01 12:33:36 menno Exp $
-**/
-
-/* Time/Frequency grid */
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SBR_DEC
-
-#include <stdlib.h>
-
-#include "sbr_syntax.h"
-#include "sbr_tf_grid.h"
-
-
-/* static function declarations */
-#if 0
-static int16_t rel_bord_lead(sbr_info *sbr, uint8_t ch, uint8_t l);
-static int16_t rel_bord_trail(sbr_info *sbr, uint8_t ch, uint8_t l);
-#endif
-static uint8_t middleBorder(sbr_info *sbr, uint8_t ch);
-
-
-/* function constructs new time border vector */
-/* first build into temp vector to be able to use previous vector on error */
-uint8_t envelope_time_border_vector(sbr_info *sbr, uint8_t ch)
-{
-    uint8_t l, border, temp;
-    uint8_t t_E_temp[6] = {0};
-
-    t_E_temp[0] = sbr->rate * sbr->abs_bord_lead[ch];
-    t_E_temp[sbr->L_E[ch]] = sbr->rate * sbr->abs_bord_trail[ch];
-
-    switch (sbr->bs_frame_class[ch])
-    {
-    case FIXFIX:
-        switch (sbr->L_E[ch])
-        {
-        case 4:
-            temp = (int) (sbr->numTimeSlots / 4);
-            t_E_temp[3] = sbr->rate * 3 * temp;
-            t_E_temp[2] = sbr->rate * 2 * temp;
-            t_E_temp[1] = sbr->rate * temp;
-            break;
-        case 2:
-            t_E_temp[1] = sbr->rate * (int) (sbr->numTimeSlots / 2);
-            break;
-        default:
-            break;
-        }
-        break;
-
-    case FIXVAR:
-        if (sbr->L_E[ch] > 1)
-        {
-            int8_t i = sbr->L_E[ch];
-            border = sbr->abs_bord_trail[ch];
-
-            for (l = 0; l < (sbr->L_E[ch] - 1); l++)
-            {
-                if (border < sbr->bs_rel_bord[ch][l])
-                    return 1;
-
-                border -= sbr->bs_rel_bord[ch][l];
-                t_E_temp[--i] = sbr->rate * border;
-            }
-        }
-        break;
-
-    case VARFIX:
-        if (sbr->L_E[ch] > 1)
-        {
-            int8_t i = 1;
-            border = sbr->abs_bord_lead[ch];
-
-            for (l = 0; l < (sbr->L_E[ch] - 1); l++)
-            {
-                border += sbr->bs_rel_bord[ch][l];
-
-                if (sbr->rate * border + sbr->tHFAdj > sbr->numTimeSlotsRate+sbr->tHFGen)
-                    return 1;
-
-                t_E_temp[i++] = sbr->rate * border;
-            }
-        }
-        break;
-
-    case VARVAR:
-        if (sbr->bs_num_rel_0[ch])
-        {
-            int8_t i = 1;
-            border = sbr->abs_bord_lead[ch];
-
-            for (l = 0; l < sbr->bs_num_rel_0[ch]; l++)
-            {
-                border += sbr->bs_rel_bord_0[ch][l];
-
-                if (sbr->rate * border + sbr->tHFAdj > sbr->numTimeSlotsRate+sbr->tHFGen)
-                    return 1;
-
-                t_E_temp[i++] = sbr->rate * border;
-            }
-        }
-
-        if (sbr->bs_num_rel_1[ch])
-        {
-            int8_t i = sbr->L_E[ch];
-            border = sbr->abs_bord_trail[ch];
-
-            for (l = 0; l < sbr->bs_num_rel_1[ch]; l++)
-            {
-                if (border < sbr->bs_rel_bord_1[ch][l])
-                    return 1;
-
-                border -= sbr->bs_rel_bord_1[ch][l];
-                t_E_temp[--i] = sbr->rate * border;
-            }
-        }
-        break;
-    }
-
-    /* no error occured, we can safely use this t_E vector */
-    for (l = 0; l < 6; l++)
-    {
-        sbr->t_E[ch][l] = t_E_temp[l];
-    }
-
-    return 0;
-}
-
-void noise_floor_time_border_vector(sbr_info *sbr, uint8_t ch)
-{
-    sbr->t_Q[ch][0] = sbr->t_E[ch][0];
-
-    if (sbr->L_E[ch] == 1)
-    {
-        sbr->t_Q[ch][1] = sbr->t_E[ch][1];
-        sbr->t_Q[ch][2] = 0;
-    } else {
-        uint8_t index = middleBorder(sbr, ch);
-        sbr->t_Q[ch][1] = sbr->t_E[ch][index];
-        sbr->t_Q[ch][2] = sbr->t_E[ch][sbr->L_E[ch]];
-    }
-}
-
-#if 0
-static int16_t rel_bord_lead(sbr_info *sbr, uint8_t ch, uint8_t l)
-{
-    uint8_t i;
-    int16_t acc = 0;
-
-    switch (sbr->bs_frame_class[ch])
-    {
-    case FIXFIX:
-        return sbr->numTimeSlots/sbr->L_E[ch];
-    case FIXVAR:
-        return 0;
-    case VARFIX:
-        for (i = 0; i < l; i++)
-        {
-            acc += sbr->bs_rel_bord[ch][i];
-        }
-        return acc;
-    case VARVAR:
-        for (i = 0; i < l; i++)
-        {
-            acc += sbr->bs_rel_bord_0[ch][i];
-        }
-        return acc;
-    }
-
-    return 0;
-}
-
-static int16_t rel_bord_trail(sbr_info *sbr, uint8_t ch, uint8_t l)
-{
-    uint8_t i;
-    int16_t acc = 0;
-
-    switch (sbr->bs_frame_class[ch])
-    {
-    case FIXFIX:
-    case VARFIX:
-        return 0;
-    case FIXVAR:
-        for (i = 0; i < l; i++)
-        {
-            acc += sbr->bs_rel_bord[ch][i];
-        }
-        return acc;
-    case VARVAR:
-        for (i = 0; i < l; i++)
-        {
-            acc += sbr->bs_rel_bord_1[ch][i];
-        }
-        return acc;
-    }
-
-    return 0;
-}
-#endif
-
-static uint8_t middleBorder(sbr_info *sbr, uint8_t ch)
-{
-    int8_t retval = 0;
-
-    switch (sbr->bs_frame_class[ch])
-    {
-    case FIXFIX:
-        retval = sbr->L_E[ch]/2;
-        break;
-    case VARFIX:
-        if (sbr->bs_pointer[ch] == 0)
-            retval = 1;
-        else if (sbr->bs_pointer[ch] == 1)
-            retval = sbr->L_E[ch] - 1;
-        else
-            retval = sbr->bs_pointer[ch] - 1;
-        break;
-    case FIXVAR:
-    case VARVAR:
-        if (sbr->bs_pointer[ch] > 1)
-            retval = sbr->L_E[ch] + 1 - sbr->bs_pointer[ch];
-        else
-            retval = sbr->L_E[ch] - 1;
-        break;
-    }
-
-    return (retval > 0) ? retval : 0;
-}
-
-
-#endif
diff --git a/lib/libfaad2/libfaad/sbr_tf_grid.h b/lib/libfaad2/libfaad/sbr_tf_grid.h
deleted file mode 100644 (file)
index 27a8f90..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sbr_tf_grid.h,v 1.17 2007/11/01 12:33:36 menno Exp $
-**/
-
-#ifndef __SBR_TF_GRID_H__
-#define __SBR_TF_GRID_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-uint8_t envelope_time_border_vector(sbr_info *sbr, uint8_t ch);
-void noise_floor_time_border_vector(sbr_info *sbr, uint8_t ch);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-
diff --git a/lib/libfaad2/libfaad/sine_win.h b/lib/libfaad2/libfaad/sine_win.h
deleted file mode 100644 (file)
index e4198da..0000000
+++ /dev/null
@@ -1,4304 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: sine_win.h,v 1.19 2007/11/01 12:33:36 menno Exp $
-**/
-
-#ifndef __SINE_WIN_H__
-#define __SINE_WIN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef _MSC_VER
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#endif
-
-ALIGN static const real_t sine_long_1024[] =
-{
-    FRAC_CONST(0.00076699031874270449),
-    FRAC_CONST(0.002300969151425805),
-    FRAC_CONST(0.0038349425697062275),
-    FRAC_CONST(0.0053689069639963425),
-    FRAC_CONST(0.0069028587247297558),
-    FRAC_CONST(0.0084367942423697988),
-    FRAC_CONST(0.0099707099074180308),
-    FRAC_CONST(0.011504602110422714),
-    FRAC_CONST(0.013038467241987334),
-    FRAC_CONST(0.014572301692779064),
-    FRAC_CONST(0.016106101853537287),
-    FRAC_CONST(0.017639864115082053),
-    FRAC_CONST(0.019173584868322623),
-    FRAC_CONST(0.020707260504265895),
-    FRAC_CONST(0.022240887414024961),
-    FRAC_CONST(0.023774461988827555),
-    FRAC_CONST(0.025307980620024571),
-    FRAC_CONST(0.026841439699098531),
-    FRAC_CONST(0.028374835617672099),
-    FRAC_CONST(0.029908164767516555),
-    FRAC_CONST(0.031441423540560301),
-    FRAC_CONST(0.032974608328897335),
-    FRAC_CONST(0.03450771552479575),
-    FRAC_CONST(0.036040741520706229),
-    FRAC_CONST(0.037573682709270494),
-    FRAC_CONST(0.039106535483329888),
-    FRAC_CONST(0.040639296235933736),
-    FRAC_CONST(0.042171961360347947),
-    FRAC_CONST(0.043704527250063421),
-    FRAC_CONST(0.04523699029880459),
-    FRAC_CONST(0.046769346900537863),
-    FRAC_CONST(0.048301593449480144),
-    FRAC_CONST(0.049833726340107277),
-    FRAC_CONST(0.051365741967162593),
-    FRAC_CONST(0.052897636725665324),
-    FRAC_CONST(0.054429407010919133),
-    FRAC_CONST(0.055961049218520569),
-    FRAC_CONST(0.057492559744367566),
-    FRAC_CONST(0.059023934984667931),
-    FRAC_CONST(0.060555171335947788),
-    FRAC_CONST(0.062086265195060088),
-    FRAC_CONST(0.063617212959193106),
-    FRAC_CONST(0.065148011025878833),
-    FRAC_CONST(0.066678655793001557),
-    FRAC_CONST(0.068209143658806329),
-    FRAC_CONST(0.069739471021907307),
-    FRAC_CONST(0.071269634281296401),
-    FRAC_CONST(0.072799629836351673),
-    FRAC_CONST(0.074329454086845756),
-    FRAC_CONST(0.075859103432954447),
-    FRAC_CONST(0.077388574275265049),
-    FRAC_CONST(0.078917863014784942),
-    FRAC_CONST(0.080446966052950014),
-    FRAC_CONST(0.081975879791633066),
-    FRAC_CONST(0.083504600633152432),
-    FRAC_CONST(0.085033124980280275),
-    FRAC_CONST(0.08656144923625117),
-    FRAC_CONST(0.088089569804770507),
-    FRAC_CONST(0.089617483090022959),
-    FRAC_CONST(0.091145185496681005),
-    FRAC_CONST(0.09267267342991331),
-    FRAC_CONST(0.094199943295393204),
-    FRAC_CONST(0.095726991499307162),
-    FRAC_CONST(0.097253814448363271),
-    FRAC_CONST(0.098780408549799623),
-    FRAC_CONST(0.10030677021139286),
-    FRAC_CONST(0.10183289584146653),
-    FRAC_CONST(0.10335878184889961),
-    FRAC_CONST(0.10488442464313497),
-    FRAC_CONST(0.10640982063418768),
-    FRAC_CONST(0.10793496623265365),
-    FRAC_CONST(0.10945985784971798),
-    FRAC_CONST(0.11098449189716339),
-    FRAC_CONST(0.11250886478737869),
-    FRAC_CONST(0.1140329729333672),
-    FRAC_CONST(0.11555681274875526),
-    FRAC_CONST(0.11708038064780059),
-    FRAC_CONST(0.11860367304540072),
-    FRAC_CONST(0.1201266863571015),
-    FRAC_CONST(0.12164941699910553),
-    FRAC_CONST(0.12317186138828048),
-    FRAC_CONST(0.12469401594216764),
-    FRAC_CONST(0.12621587707899035),
-    FRAC_CONST(0.12773744121766231),
-    FRAC_CONST(0.12925870477779614),
-    FRAC_CONST(0.13077966417971171),
-    FRAC_CONST(0.13230031584444465),
-    FRAC_CONST(0.13382065619375472),
-    FRAC_CONST(0.13534068165013421),
-    FRAC_CONST(0.13686038863681638),
-    FRAC_CONST(0.13837977357778389),
-    FRAC_CONST(0.13989883289777721),
-    FRAC_CONST(0.14141756302230302),
-    FRAC_CONST(0.14293596037764267),
-    FRAC_CONST(0.14445402139086047),
-    FRAC_CONST(0.14597174248981221),
-    FRAC_CONST(0.14748912010315357),
-    FRAC_CONST(0.14900615066034845),
-    FRAC_CONST(0.1505228305916774),
-    FRAC_CONST(0.15203915632824605),
-    FRAC_CONST(0.15355512430199345),
-    FRAC_CONST(0.15507073094570051),
-    FRAC_CONST(0.15658597269299843),
-    FRAC_CONST(0.15810084597837698),
-    FRAC_CONST(0.15961534723719306),
-    FRAC_CONST(0.16112947290567881),
-    FRAC_CONST(0.16264321942095031),
-    FRAC_CONST(0.16415658322101581),
-    FRAC_CONST(0.16566956074478412),
-    FRAC_CONST(0.16718214843207294),
-    FRAC_CONST(0.16869434272361733),
-    FRAC_CONST(0.17020614006107807),
-    FRAC_CONST(0.17171753688704997),
-    FRAC_CONST(0.17322852964507032),
-    FRAC_CONST(0.1747391147796272),
-    FRAC_CONST(0.17624928873616788),
-    FRAC_CONST(0.17775904796110717),
-    FRAC_CONST(0.17926838890183575),
-    FRAC_CONST(0.18077730800672859),
-    FRAC_CONST(0.1822858017251533),
-    FRAC_CONST(0.18379386650747845),
-    FRAC_CONST(0.1853014988050819),
-    FRAC_CONST(0.18680869507035927),
-    FRAC_CONST(0.18831545175673212),
-    FRAC_CONST(0.18982176531865641),
-    FRAC_CONST(0.1913276322116309),
-    FRAC_CONST(0.19283304889220523),
-    FRAC_CONST(0.1943380118179886),
-    FRAC_CONST(0.19584251744765785),
-    FRAC_CONST(0.19734656224096592),
-    FRAC_CONST(0.19885014265875009),
-    FRAC_CONST(0.20035325516294045),
-    FRAC_CONST(0.20185589621656805),
-    FRAC_CONST(0.20335806228377332),
-    FRAC_CONST(0.20485974982981442),
-    FRAC_CONST(0.20636095532107551),
-    FRAC_CONST(0.20786167522507507),
-    FRAC_CONST(0.20936190601047416),
-    FRAC_CONST(0.21086164414708486),
-    FRAC_CONST(0.21236088610587842),
-    FRAC_CONST(0.21385962835899375),
-    FRAC_CONST(0.21535786737974555),
-    FRAC_CONST(0.21685559964263262),
-    FRAC_CONST(0.21835282162334632),
-    FRAC_CONST(0.2198495297987787),
-    FRAC_CONST(0.22134572064703081),
-    FRAC_CONST(0.22284139064742112),
-    FRAC_CONST(0.2243365362804936),
-    FRAC_CONST(0.22583115402802617),
-    FRAC_CONST(0.22732524037303886),
-    FRAC_CONST(0.22881879179980222),
-    FRAC_CONST(0.23031180479384544),
-    FRAC_CONST(0.23180427584196478),
-    FRAC_CONST(0.23329620143223159),
-    FRAC_CONST(0.23478757805400097),
-    FRAC_CONST(0.23627840219791957),
-    FRAC_CONST(0.23776867035593419),
-    FRAC_CONST(0.23925837902129998),
-    FRAC_CONST(0.24074752468858843),
-    FRAC_CONST(0.24223610385369601),
-    FRAC_CONST(0.24372411301385216),
-    FRAC_CONST(0.24521154866762754),
-    FRAC_CONST(0.24669840731494241),
-    FRAC_CONST(0.24818468545707478),
-    FRAC_CONST(0.24967037959666857),
-    FRAC_CONST(0.25115548623774192),
-    FRAC_CONST(0.25264000188569552),
-    FRAC_CONST(0.25412392304732062),
-    FRAC_CONST(0.25560724623080738),
-    FRAC_CONST(0.25708996794575312),
-    FRAC_CONST(0.25857208470317034),
-    FRAC_CONST(0.26005359301549519),
-    FRAC_CONST(0.26153448939659552),
-    FRAC_CONST(0.263014770361779),
-    FRAC_CONST(0.26449443242780163),
-    FRAC_CONST(0.26597347211287559),
-    FRAC_CONST(0.26745188593667762),
-    FRAC_CONST(0.26892967042035726),
-    FRAC_CONST(0.27040682208654482),
-    FRAC_CONST(0.27188333745935972),
-    FRAC_CONST(0.27335921306441868),
-    FRAC_CONST(0.27483444542884394),
-    FRAC_CONST(0.27630903108127108),
-    FRAC_CONST(0.27778296655185769),
-    FRAC_CONST(0.27925624837229118),
-    FRAC_CONST(0.28072887307579719),
-    FRAC_CONST(0.28220083719714756),
-    FRAC_CONST(0.28367213727266843),
-    FRAC_CONST(0.28514276984024867),
-    FRAC_CONST(0.28661273143934779),
-    FRAC_CONST(0.28808201861100413),
-    FRAC_CONST(0.28955062789784303),
-    FRAC_CONST(0.29101855584408509),
-    FRAC_CONST(0.29248579899555388),
-    FRAC_CONST(0.29395235389968466),
-    FRAC_CONST(0.29541821710553201),
-    FRAC_CONST(0.29688338516377827),
-    FRAC_CONST(0.2983478546267414),
-    FRAC_CONST(0.29981162204838335),
-    FRAC_CONST(0.30127468398431795),
-    FRAC_CONST(0.30273703699181914),
-    FRAC_CONST(0.30419867762982911),
-    FRAC_CONST(0.30565960245896612),
-    FRAC_CONST(0.3071198080415331),
-    FRAC_CONST(0.30857929094152509),
-    FRAC_CONST(0.31003804772463789),
-    FRAC_CONST(0.31149607495827591),
-    FRAC_CONST(0.3129533692115602),
-    FRAC_CONST(0.31440992705533666),
-    FRAC_CONST(0.31586574506218396),
-    FRAC_CONST(0.31732081980642174),
-    FRAC_CONST(0.31877514786411848),
-    FRAC_CONST(0.32022872581309986),
-    FRAC_CONST(0.32168155023295658),
-    FRAC_CONST(0.32313361770505233),
-    FRAC_CONST(0.32458492481253215),
-    FRAC_CONST(0.32603546814033024),
-    FRAC_CONST(0.327485244275178),
-    FRAC_CONST(0.3289342498056122),
-    FRAC_CONST(0.33038248132198278),
-    FRAC_CONST(0.33182993541646111),
-    FRAC_CONST(0.33327660868304793),
-    FRAC_CONST(0.33472249771758122),
-    FRAC_CONST(0.33616759911774452),
-    FRAC_CONST(0.33761190948307462),
-    FRAC_CONST(0.33905542541496964),
-    FRAC_CONST(0.34049814351669716),
-    FRAC_CONST(0.34194006039340219),
-    FRAC_CONST(0.34338117265211504),
-    FRAC_CONST(0.34482147690175929),
-    FRAC_CONST(0.34626096975316001),
-    FRAC_CONST(0.34769964781905138),
-    FRAC_CONST(0.34913750771408497),
-    FRAC_CONST(0.35057454605483751),
-    FRAC_CONST(0.35201075945981908),
-    FRAC_CONST(0.35344614454948081),
-    FRAC_CONST(0.35488069794622279),
-    FRAC_CONST(0.35631441627440241),
-    FRAC_CONST(0.3577472961603419),
-    FRAC_CONST(0.3591793342323365),
-    FRAC_CONST(0.36061052712066227),
-    FRAC_CONST(0.36204087145758418),
-    FRAC_CONST(0.36347036387736376),
-    FRAC_CONST(0.36489900101626732),
-    FRAC_CONST(0.36632677951257359),
-    FRAC_CONST(0.36775369600658198),
-    FRAC_CONST(0.36917974714062002),
-    FRAC_CONST(0.37060492955905167),
-    FRAC_CONST(0.37202923990828501),
-    FRAC_CONST(0.3734526748367803),
-    FRAC_CONST(0.37487523099505754),
-    FRAC_CONST(0.37629690503570479),
-    FRAC_CONST(0.37771769361338564),
-    FRAC_CONST(0.37913759338484732),
-    FRAC_CONST(0.38055660100892852),
-    FRAC_CONST(0.38197471314656722),
-    FRAC_CONST(0.38339192646080866),
-    FRAC_CONST(0.38480823761681288),
-    FRAC_CONST(0.38622364328186298),
-    FRAC_CONST(0.38763814012537273),
-    FRAC_CONST(0.38905172481889438),
-    FRAC_CONST(0.39046439403612659),
-    FRAC_CONST(0.39187614445292235),
-    FRAC_CONST(0.3932869727472964),
-    FRAC_CONST(0.39469687559943356),
-    FRAC_CONST(0.39610584969169627),
-    FRAC_CONST(0.39751389170863233),
-    FRAC_CONST(0.39892099833698291),
-    FRAC_CONST(0.40032716626569009),
-    FRAC_CONST(0.40173239218590501),
-    FRAC_CONST(0.4031366727909953),
-    FRAC_CONST(0.404540004776553),
-    FRAC_CONST(0.40594238484040251),
-    FRAC_CONST(0.40734380968260797),
-    FRAC_CONST(0.40874427600548136),
-    FRAC_CONST(0.41014378051359024),
-    FRAC_CONST(0.41154231991376522),
-    FRAC_CONST(0.41293989091510808),
-    FRAC_CONST(0.4143364902289991),
-    FRAC_CONST(0.41573211456910536),
-    FRAC_CONST(0.41712676065138787),
-    FRAC_CONST(0.4185204251941097),
-    FRAC_CONST(0.41991310491784362),
-    FRAC_CONST(0.42130479654547964),
-    FRAC_CONST(0.42269549680223295),
-    FRAC_CONST(0.42408520241565156),
-    FRAC_CONST(0.4254739101156238),
-    FRAC_CONST(0.42686161663438643),
-    FRAC_CONST(0.42824831870653196),
-    FRAC_CONST(0.42963401306901638),
-    FRAC_CONST(0.43101869646116703),
-    FRAC_CONST(0.43240236562469014),
-    FRAC_CONST(0.43378501730367852),
-    FRAC_CONST(0.43516664824461926),
-    FRAC_CONST(0.4365472551964012),
-    FRAC_CONST(0.43792683491032286),
-    FRAC_CONST(0.43930538414009995),
-    FRAC_CONST(0.4406828996418729),
-    FRAC_CONST(0.4420593781742147),
-    FRAC_CONST(0.44343481649813848),
-    FRAC_CONST(0.44480921137710488),
-    FRAC_CONST(0.44618255957703007),
-    FRAC_CONST(0.44755485786629301),
-    FRAC_CONST(0.44892610301574326),
-    FRAC_CONST(0.45029629179870861),
-    FRAC_CONST(0.45166542099100249),
-    FRAC_CONST(0.45303348737093158),
-    FRAC_CONST(0.45440048771930358),
-    FRAC_CONST(0.45576641881943464),
-    FRAC_CONST(0.45713127745715698),
-    FRAC_CONST(0.45849506042082627),
-    FRAC_CONST(0.45985776450132954),
-    FRAC_CONST(0.46121938649209238),
-    FRAC_CONST(0.46257992318908681),
-    FRAC_CONST(0.46393937139083852),
-    FRAC_CONST(0.4652977278984346),
-    FRAC_CONST(0.46665498951553092),
-    FRAC_CONST(0.46801115304835983),
-    FRAC_CONST(0.46936621530573752),
-    FRAC_CONST(0.4707201730990716),
-    FRAC_CONST(0.47207302324236866),
-    FRAC_CONST(0.47342476255224153),
-    FRAC_CONST(0.47477538784791712),
-    FRAC_CONST(0.47612489595124358),
-    FRAC_CONST(0.47747328368669806),
-    FRAC_CONST(0.47882054788139389),
-    FRAC_CONST(0.48016668536508839),
-    FRAC_CONST(0.48151169297018986),
-    FRAC_CONST(0.48285556753176567),
-    FRAC_CONST(0.48419830588754903),
-    FRAC_CONST(0.48553990487794696),
-    FRAC_CONST(0.48688036134604734),
-    FRAC_CONST(0.48821967213762679),
-    FRAC_CONST(0.48955783410115744),
-    FRAC_CONST(0.49089484408781509),
-    FRAC_CONST(0.49223069895148602),
-    FRAC_CONST(0.49356539554877477),
-    FRAC_CONST(0.49489893073901126),
-    FRAC_CONST(0.49623130138425825),
-    FRAC_CONST(0.49756250434931915),
-    FRAC_CONST(0.49889253650174459),
-    FRAC_CONST(0.50022139471184068),
-    FRAC_CONST(0.50154907585267539),
-    FRAC_CONST(0.50287557680008699),
-    FRAC_CONST(0.50420089443269034),
-    FRAC_CONST(0.50552502563188539),
-    FRAC_CONST(0.50684796728186321),
-    FRAC_CONST(0.5081697162696146),
-    FRAC_CONST(0.50949026948493636),
-    FRAC_CONST(0.51080962382043904),
-    FRAC_CONST(0.51212777617155469),
-    FRAC_CONST(0.51344472343654346),
-    FRAC_CONST(0.5147604625165012),
-    FRAC_CONST(0.51607499031536663),
-    FRAC_CONST(0.51738830373992906),
-    FRAC_CONST(0.51870039969983495),
-    FRAC_CONST(0.52001127510759604),
-    FRAC_CONST(0.52132092687859566),
-    FRAC_CONST(0.52262935193109661),
-    FRAC_CONST(0.5239365471862486),
-    FRAC_CONST(0.52524250956809471),
-    FRAC_CONST(0.52654723600357944),
-    FRAC_CONST(0.52785072342255523),
-    FRAC_CONST(0.52915296875779061),
-    FRAC_CONST(0.53045396894497632),
-    FRAC_CONST(0.53175372092273332),
-    FRAC_CONST(0.53305222163261945),
-    FRAC_CONST(0.53434946801913752),
-    FRAC_CONST(0.53564545702974109),
-    FRAC_CONST(0.53694018561484291),
-    FRAC_CONST(0.5382336507278217),
-    FRAC_CONST(0.53952584932502889),
-    FRAC_CONST(0.54081677836579667),
-    FRAC_CONST(0.54210643481244392),
-    FRAC_CONST(0.5433948156302848),
-    FRAC_CONST(0.54468191778763453),
-    FRAC_CONST(0.54596773825581757),
-    FRAC_CONST(0.54725227400917409),
-    FRAC_CONST(0.54853552202506739),
-    FRAC_CONST(0.54981747928389091),
-    FRAC_CONST(0.55109814276907543),
-    FRAC_CONST(0.55237750946709607),
-    FRAC_CONST(0.55365557636747931),
-    FRAC_CONST(0.55493234046281037),
-    FRAC_CONST(0.55620779874873993),
-    FRAC_CONST(0.55748194822399155),
-    FRAC_CONST(0.55875478589036831),
-    FRAC_CONST(0.56002630875276038),
-    FRAC_CONST(0.56129651381915147),
-    FRAC_CONST(0.56256539810062656),
-    FRAC_CONST(0.56383295861137817),
-    FRAC_CONST(0.56509919236871398),
-    FRAC_CONST(0.56636409639306384),
-    FRAC_CONST(0.56762766770798623),
-    FRAC_CONST(0.56888990334017586),
-    FRAC_CONST(0.5701508003194703),
-    FRAC_CONST(0.57141035567885723),
-    FRAC_CONST(0.57266856645448116),
-    FRAC_CONST(0.57392542968565075),
-    FRAC_CONST(0.57518094241484508),
-    FRAC_CONST(0.57643510168772183),
-    FRAC_CONST(0.5776879045531228),
-    FRAC_CONST(0.57893934806308178),
-    FRAC_CONST(0.58018942927283168),
-    FRAC_CONST(0.58143814524081017),
-    FRAC_CONST(0.58268549302866846),
-    FRAC_CONST(0.58393146970127618),
-    FRAC_CONST(0.58517607232673041),
-    FRAC_CONST(0.5864192979763605),
-    FRAC_CONST(0.58766114372473666),
-    FRAC_CONST(0.58890160664967572),
-    FRAC_CONST(0.59014068383224882),
-    FRAC_CONST(0.59137837235678758),
-    FRAC_CONST(0.59261466931089113),
-    FRAC_CONST(0.59384957178543363),
-    FRAC_CONST(0.59508307687456996),
-    FRAC_CONST(0.59631518167574371),
-    FRAC_CONST(0.59754588328969316),
-    FRAC_CONST(0.59877517882045872),
-    FRAC_CONST(0.60000306537538894),
-    FRAC_CONST(0.6012295400651485),
-    FRAC_CONST(0.60245460000372375),
-    FRAC_CONST(0.60367824230843037),
-    FRAC_CONST(0.60490046409991982),
-    FRAC_CONST(0.60612126250218612),
-    FRAC_CONST(0.60734063464257293),
-    FRAC_CONST(0.60855857765177945),
-    FRAC_CONST(0.60977508866386843),
-    FRAC_CONST(0.61099016481627166),
-    FRAC_CONST(0.61220380324979795),
-    FRAC_CONST(0.61341600110863859),
-    FRAC_CONST(0.61462675554037505),
-    FRAC_CONST(0.61583606369598509),
-    FRAC_CONST(0.61704392272984976),
-    FRAC_CONST(0.61825032979976025),
-    FRAC_CONST(0.61945528206692402),
-    FRAC_CONST(0.62065877669597214),
-    FRAC_CONST(0.62186081085496536),
-    FRAC_CONST(0.62306138171540126),
-    FRAC_CONST(0.62426048645222065),
-    FRAC_CONST(0.62545812224381436),
-    FRAC_CONST(0.62665428627202935),
-    FRAC_CONST(0.62784897572217646),
-    FRAC_CONST(0.629042187783036),
-    FRAC_CONST(0.63023391964686437),
-    FRAC_CONST(0.63142416850940186),
-    FRAC_CONST(0.63261293156987741),
-    FRAC_CONST(0.63380020603101728),
-    FRAC_CONST(0.63498598909904946),
-    FRAC_CONST(0.63617027798371217),
-    FRAC_CONST(0.63735306989825913),
-    FRAC_CONST(0.63853436205946679),
-    FRAC_CONST(0.63971415168764045),
-    FRAC_CONST(0.64089243600662138),
-    FRAC_CONST(0.64206921224379254),
-    FRAC_CONST(0.64324447763008585),
-    FRAC_CONST(0.64441822939998838),
-    FRAC_CONST(0.64559046479154869),
-    FRAC_CONST(0.64676118104638392),
-    FRAC_CONST(0.64793037540968534),
-    FRAC_CONST(0.64909804513022595),
-    FRAC_CONST(0.65026418746036585),
-    FRAC_CONST(0.65142879965605982),
-    FRAC_CONST(0.65259187897686244),
-    FRAC_CONST(0.65375342268593606),
-    FRAC_CONST(0.65491342805005603),
-    FRAC_CONST(0.6560718923396176),
-    FRAC_CONST(0.65722881282864254),
-    FRAC_CONST(0.65838418679478505),
-    FRAC_CONST(0.65953801151933866),
-    FRAC_CONST(0.6606902842872423),
-    FRAC_CONST(0.66184100238708687),
-    FRAC_CONST(0.66299016311112147),
-    FRAC_CONST(0.66413776375526001),
-    FRAC_CONST(0.66528380161908718),
-    FRAC_CONST(0.66642827400586524),
-    FRAC_CONST(0.66757117822254031),
-    FRAC_CONST(0.66871251157974798),
-    FRAC_CONST(0.66985227139182102),
-    FRAC_CONST(0.67099045497679422),
-    FRAC_CONST(0.67212705965641173),
-    FRAC_CONST(0.67326208275613297),
-    FRAC_CONST(0.67439552160513905),
-    FRAC_CONST(0.67552737353633852),
-    FRAC_CONST(0.67665763588637495),
-    FRAC_CONST(0.6777863059956315),
-    FRAC_CONST(0.67891338120823841),
-    FRAC_CONST(0.68003885887207893),
-    FRAC_CONST(0.68116273633879543),
-    FRAC_CONST(0.68228501096379557),
-    FRAC_CONST(0.68340568010625868),
-    FRAC_CONST(0.6845247411291423),
-    FRAC_CONST(0.68564219139918747),
-    FRAC_CONST(0.68675802828692589),
-    FRAC_CONST(0.68787224916668555),
-    FRAC_CONST(0.68898485141659704),
-    FRAC_CONST(0.69009583241859995),
-    FRAC_CONST(0.69120518955844845),
-    FRAC_CONST(0.69231292022571822),
-    FRAC_CONST(0.69341902181381176),
-    FRAC_CONST(0.69452349171996552),
-    FRAC_CONST(0.69562632734525487),
-    FRAC_CONST(0.6967275260946012),
-    FRAC_CONST(0.69782708537677729),
-    FRAC_CONST(0.69892500260441415),
-    FRAC_CONST(0.70002127519400625),
-    FRAC_CONST(0.70111590056591866),
-    FRAC_CONST(0.70220887614439187),
-    FRAC_CONST(0.70330019935754873),
-    FRAC_CONST(0.70438986763740041),
-    FRAC_CONST(0.7054778784198521),
-    FRAC_CONST(0.70656422914470951),
-    FRAC_CONST(0.70764891725568435),
-    FRAC_CONST(0.70873194020040065),
-    FRAC_CONST(0.70981329543040084),
-    FRAC_CONST(0.71089298040115168),
-    FRAC_CONST(0.71197099257204999),
-    FRAC_CONST(0.71304732940642923),
-    FRAC_CONST(0.71412198837156471),
-    FRAC_CONST(0.71519496693868001),
-    FRAC_CONST(0.71626626258295312),
-    FRAC_CONST(0.71733587278352173),
-    FRAC_CONST(0.71840379502348972),
-    FRAC_CONST(0.71947002678993299),
-    FRAC_CONST(0.72053456557390527),
-    FRAC_CONST(0.72159740887044366),
-    FRAC_CONST(0.72265855417857561),
-    FRAC_CONST(0.72371799900132339),
-    FRAC_CONST(0.72477574084571128),
-    FRAC_CONST(0.72583177722277037),
-    FRAC_CONST(0.72688610564754497),
-    FRAC_CONST(0.72793872363909862),
-    FRAC_CONST(0.72898962872051931),
-    FRAC_CONST(0.73003881841892615),
-    FRAC_CONST(0.73108629026547423),
-    FRAC_CONST(0.73213204179536129),
-    FRAC_CONST(0.73317607054783274),
-    FRAC_CONST(0.73421837406618817),
-    FRAC_CONST(0.73525894989778673),
-    FRAC_CONST(0.73629779559405306),
-    FRAC_CONST(0.73733490871048279),
-    FRAC_CONST(0.73837028680664851),
-    FRAC_CONST(0.73940392744620576),
-    FRAC_CONST(0.74043582819689802),
-    FRAC_CONST(0.74146598663056329),
-    FRAC_CONST(0.74249440032313918),
-    FRAC_CONST(0.74352106685466912),
-    FRAC_CONST(0.74454598380930725),
-    FRAC_CONST(0.74556914877532543),
-    FRAC_CONST(0.74659055934511731),
-    FRAC_CONST(0.74761021311520515),
-    FRAC_CONST(0.74862810768624533),
-    FRAC_CONST(0.74964424066303348),
-    FRAC_CONST(0.75065860965451059),
-    FRAC_CONST(0.75167121227376843),
-    FRAC_CONST(0.75268204613805523),
-    FRAC_CONST(0.75369110886878121),
-    FRAC_CONST(0.75469839809152439),
-    FRAC_CONST(0.75570391143603588),
-    FRAC_CONST(0.75670764653624567),
-    FRAC_CONST(0.75770960103026808),
-    FRAC_CONST(0.75870977256040739),
-    FRAC_CONST(0.75970815877316344),
-    FRAC_CONST(0.76070475731923692),
-    FRAC_CONST(0.76169956585353527),
-    FRAC_CONST(0.76269258203517787),
-    FRAC_CONST(0.76368380352750187),
-    FRAC_CONST(0.76467322799806714),
-    FRAC_CONST(0.76566085311866239),
-    FRAC_CONST(0.76664667656531038),
-    FRAC_CONST(0.76763069601827327),
-    FRAC_CONST(0.76861290916205827),
-    FRAC_CONST(0.76959331368542294),
-    FRAC_CONST(0.7705719072813807),
-    FRAC_CONST(0.7715486876472063),
-    FRAC_CONST(0.77252365248444133),
-    FRAC_CONST(0.77349679949889905),
-    FRAC_CONST(0.77446812640067086),
-    FRAC_CONST(0.77543763090413043),
-    FRAC_CONST(0.77640531072794039),
-    FRAC_CONST(0.7773711635950562),
-    FRAC_CONST(0.77833518723273309),
-    FRAC_CONST(0.7792973793725303),
-    FRAC_CONST(0.78025773775031659),
-    FRAC_CONST(0.78121626010627609),
-    FRAC_CONST(0.7821729441849129),
-    FRAC_CONST(0.78312778773505731),
-    FRAC_CONST(0.78408078850986995),
-    FRAC_CONST(0.78503194426684808),
-    FRAC_CONST(0.78598125276783015),
-    FRAC_CONST(0.7869287117790017),
-    FRAC_CONST(0.78787431907090011),
-    FRAC_CONST(0.78881807241842017),
-    FRAC_CONST(0.78975996960081907),
-    FRAC_CONST(0.79070000840172161),
-    FRAC_CONST(0.79163818660912577),
-    FRAC_CONST(0.79257450201540758),
-    FRAC_CONST(0.79350895241732666),
-    FRAC_CONST(0.79444153561603059),
-    FRAC_CONST(0.79537224941706119),
-    FRAC_CONST(0.79630109163035911),
-    FRAC_CONST(0.7972280600702687),
-    FRAC_CONST(0.79815315255554375),
-    FRAC_CONST(0.79907636690935235),
-    FRAC_CONST(0.79999770095928191),
-    FRAC_CONST(0.8009171525373443),
-    FRAC_CONST(0.80183471947998131),
-    FRAC_CONST(0.80275039962806916),
-    FRAC_CONST(0.80366419082692409),
-    FRAC_CONST(0.804576090926307),
-    FRAC_CONST(0.80548609778042912),
-    FRAC_CONST(0.80639420924795624),
-    FRAC_CONST(0.80730042319201445),
-    FRAC_CONST(0.80820473748019472),
-    FRAC_CONST(0.80910714998455813),
-    FRAC_CONST(0.81000765858164114),
-    FRAC_CONST(0.81090626115245967),
-    FRAC_CONST(0.81180295558251536),
-    FRAC_CONST(0.81269773976179949),
-    FRAC_CONST(0.81359061158479851),
-    FRAC_CONST(0.81448156895049861),
-    FRAC_CONST(0.81537060976239129),
-    FRAC_CONST(0.81625773192847739),
-    FRAC_CONST(0.81714293336127297),
-    FRAC_CONST(0.81802621197781344),
-    FRAC_CONST(0.81890756569965895),
-    FRAC_CONST(0.81978699245289899),
-    FRAC_CONST(0.82066449016815746),
-    FRAC_CONST(0.82154005678059761),
-    FRAC_CONST(0.82241369022992639),
-    FRAC_CONST(0.82328538846040011),
-    FRAC_CONST(0.82415514942082857),
-    FRAC_CONST(0.82502297106458022),
-    FRAC_CONST(0.82588885134958678),
-    FRAC_CONST(0.82675278823834852),
-    FRAC_CONST(0.8276147796979384),
-    FRAC_CONST(0.82847482370000713),
-    FRAC_CONST(0.82933291822078825),
-    FRAC_CONST(0.83018906124110237),
-    FRAC_CONST(0.83104325074636232),
-    FRAC_CONST(0.83189548472657759),
-    FRAC_CONST(0.83274576117635946),
-    FRAC_CONST(0.83359407809492514),
-    FRAC_CONST(0.83444043348610319),
-    FRAC_CONST(0.83528482535833737),
-    FRAC_CONST(0.83612725172469216),
-    FRAC_CONST(0.83696771060285702),
-    FRAC_CONST(0.83780620001515094),
-    FRAC_CONST(0.8386427179885273),
-    FRAC_CONST(0.83947726255457855),
-    FRAC_CONST(0.84030983174954077),
-    FRAC_CONST(0.84114042361429808),
-    FRAC_CONST(0.84196903619438768),
-    FRAC_CONST(0.84279566754000412),
-    FRAC_CONST(0.84362031570600404),
-    FRAC_CONST(0.84444297875191066),
-    FRAC_CONST(0.84526365474191822),
-    FRAC_CONST(0.84608234174489694),
-    FRAC_CONST(0.84689903783439735),
-    FRAC_CONST(0.84771374108865427),
-    FRAC_CONST(0.84852644959059265),
-    FRAC_CONST(0.84933716142783067),
-    FRAC_CONST(0.85014587469268521),
-    FRAC_CONST(0.85095258748217573),
-    FRAC_CONST(0.85175729789802912),
-    FRAC_CONST(0.85256000404668397),
-    FRAC_CONST(0.85336070403929543),
-    FRAC_CONST(0.85415939599173873),
-    FRAC_CONST(0.85495607802461482),
-    FRAC_CONST(0.85575074826325392),
-    FRAC_CONST(0.85654340483771996),
-    FRAC_CONST(0.85733404588281559),
-    FRAC_CONST(0.85812266953808602),
-    FRAC_CONST(0.8589092739478239),
-    FRAC_CONST(0.85969385726107261),
-    FRAC_CONST(0.86047641763163207),
-    FRAC_CONST(0.86125695321806206),
-    FRAC_CONST(0.86203546218368721),
-    FRAC_CONST(0.86281194269660033),
-    FRAC_CONST(0.86358639292966799),
-    FRAC_CONST(0.86435881106053403),
-    FRAC_CONST(0.86512919527162369),
-    FRAC_CONST(0.86589754375014882),
-    FRAC_CONST(0.86666385468811102),
-    FRAC_CONST(0.86742812628230692),
-    FRAC_CONST(0.86819035673433131),
-    FRAC_CONST(0.86895054425058238),
-    FRAC_CONST(0.86970868704226556),
-    FRAC_CONST(0.87046478332539767),
-    FRAC_CONST(0.8712188313208109),
-    FRAC_CONST(0.8719708292541577),
-    FRAC_CONST(0.8727207753559143),
-    FRAC_CONST(0.87346866786138488),
-    FRAC_CONST(0.8742145050107063),
-    FRAC_CONST(0.87495828504885154),
-    FRAC_CONST(0.8757000062256346),
-    FRAC_CONST(0.87643966679571361),
-    FRAC_CONST(0.87717726501859594),
-    FRAC_CONST(0.87791279915864173),
-    FRAC_CONST(0.87864626748506813),
-    FRAC_CONST(0.87937766827195318),
-    FRAC_CONST(0.88010699979824036),
-    FRAC_CONST(0.88083426034774204),
-    FRAC_CONST(0.88155944820914378),
-    FRAC_CONST(0.8822825616760086),
-    FRAC_CONST(0.88300359904678072),
-    FRAC_CONST(0.88372255862478966),
-    FRAC_CONST(0.8844394387182537),
-    FRAC_CONST(0.88515423764028511),
-    FRAC_CONST(0.88586695370889279),
-    FRAC_CONST(0.88657758524698704),
-    FRAC_CONST(0.88728613058238315),
-    FRAC_CONST(0.88799258804780556),
-    FRAC_CONST(0.88869695598089171),
-    FRAC_CONST(0.88939923272419552),
-    FRAC_CONST(0.89009941662519221),
-    FRAC_CONST(0.89079750603628149),
-    FRAC_CONST(0.89149349931479138),
-    FRAC_CONST(0.89218739482298248),
-    FRAC_CONST(0.89287919092805168),
-    FRAC_CONST(0.89356888600213602),
-    FRAC_CONST(0.89425647842231604),
-    FRAC_CONST(0.89494196657062075),
-    FRAC_CONST(0.89562534883403),
-    FRAC_CONST(0.89630662360447966),
-    FRAC_CONST(0.89698578927886397),
-    FRAC_CONST(0.89766284425904075),
-    FRAC_CONST(0.89833778695183419),
-    FRAC_CONST(0.89901061576903907),
-    FRAC_CONST(0.89968132912742393),
-    FRAC_CONST(0.9003499254487356),
-    FRAC_CONST(0.90101640315970233),
-    FRAC_CONST(0.90168076069203773),
-    FRAC_CONST(0.9023429964824442),
-    FRAC_CONST(0.90300310897261704),
-    FRAC_CONST(0.90366109660924798),
-    FRAC_CONST(0.90431695784402832),
-    FRAC_CONST(0.90497069113365325),
-    FRAC_CONST(0.90562229493982516),
-    FRAC_CONST(0.90627176772925766),
-    FRAC_CONST(0.90691910797367803),
-    FRAC_CONST(0.90756431414983252),
-    FRAC_CONST(0.9082073847394887),
-    FRAC_CONST(0.90884831822943912),
-    FRAC_CONST(0.90948711311150543),
-    FRAC_CONST(0.91012376788254157),
-    FRAC_CONST(0.91075828104443757),
-    FRAC_CONST(0.91139065110412232),
-    FRAC_CONST(0.91202087657356823),
-    FRAC_CONST(0.9126489559697939),
-    FRAC_CONST(0.91327488781486776),
-    FRAC_CONST(0.91389867063591168),
-    FRAC_CONST(0.91452030296510445),
-    FRAC_CONST(0.91513978333968526),
-    FRAC_CONST(0.91575711030195672),
-    FRAC_CONST(0.91637228239928914),
-    FRAC_CONST(0.91698529818412289),
-    FRAC_CONST(0.91759615621397295),
-    FRAC_CONST(0.9182048550514309),
-    FRAC_CONST(0.91881139326416994),
-    FRAC_CONST(0.91941576942494696),
-    FRAC_CONST(0.92001798211160657),
-    FRAC_CONST(0.92061802990708386),
-    FRAC_CONST(0.92121591139940873),
-    FRAC_CONST(0.92181162518170812),
-    FRAC_CONST(0.92240516985220988),
-    FRAC_CONST(0.92299654401424625),
-    FRAC_CONST(0.92358574627625656),
-    FRAC_CONST(0.9241727752517912),
-    FRAC_CONST(0.92475762955951391),
-    FRAC_CONST(0.9253403078232062),
-    FRAC_CONST(0.92592080867176996),
-    FRAC_CONST(0.92649913073923051),
-    FRAC_CONST(0.9270752726647401),
-    FRAC_CONST(0.92764923309258118),
-    FRAC_CONST(0.92822101067216944),
-    FRAC_CONST(0.92879060405805702),
-    FRAC_CONST(0.9293580119099355),
-    FRAC_CONST(0.92992323289263956),
-    FRAC_CONST(0.93048626567614978),
-    FRAC_CONST(0.93104710893559517),
-    FRAC_CONST(0.93160576135125783),
-    FRAC_CONST(0.93216222160857432),
-    FRAC_CONST(0.93271648839814025),
-    FRAC_CONST(0.93326856041571205),
-    FRAC_CONST(0.93381843636221096),
-    FRAC_CONST(0.9343661149437259),
-    FRAC_CONST(0.93491159487151609),
-    FRAC_CONST(0.93545487486201462),
-    FRAC_CONST(0.9359959536368313),
-    FRAC_CONST(0.9365348299227555),
-    FRAC_CONST(0.93707150245175919),
-    FRAC_CONST(0.93760596996099999),
-    FRAC_CONST(0.93813823119282436),
-    FRAC_CONST(0.93866828489477017),
-    FRAC_CONST(0.9391961298195699),
-    FRAC_CONST(0.93972176472515334),
-    FRAC_CONST(0.94024518837465088),
-    FRAC_CONST(0.94076639953639607),
-    FRAC_CONST(0.94128539698392866),
-    FRAC_CONST(0.94180217949599765),
-    FRAC_CONST(0.94231674585656378),
-    FRAC_CONST(0.94282909485480271),
-    FRAC_CONST(0.94333922528510772),
-    FRAC_CONST(0.94384713594709269),
-    FRAC_CONST(0.94435282564559475),
-    FRAC_CONST(0.94485629319067721),
-    FRAC_CONST(0.94535753739763229),
-    FRAC_CONST(0.94585655708698391),
-    FRAC_CONST(0.94635335108449059),
-    FRAC_CONST(0.946847918221148),
-    FRAC_CONST(0.94734025733319194),
-    FRAC_CONST(0.94783036726210101),
-    FRAC_CONST(0.94831824685459909),
-    FRAC_CONST(0.94880389496265838),
-    FRAC_CONST(0.94928731044350201),
-    FRAC_CONST(0.94976849215960668),
-    FRAC_CONST(0.95024743897870523),
-    FRAC_CONST(0.95072414977378961),
-    FRAC_CONST(0.95119862342311323),
-    FRAC_CONST(0.95167085881019386),
-    FRAC_CONST(0.95214085482381583),
-    FRAC_CONST(0.95260861035803324),
-    FRAC_CONST(0.9530741243121722),
-    FRAC_CONST(0.95353739559083328),
-    FRAC_CONST(0.95399842310389449),
-    FRAC_CONST(0.95445720576651349),
-    FRAC_CONST(0.95491374249913052),
-    FRAC_CONST(0.95536803222747024),
-    FRAC_CONST(0.95582007388254542),
-    FRAC_CONST(0.95626986640065814),
-    FRAC_CONST(0.95671740872340305),
-    FRAC_CONST(0.9571626997976701),
-    FRAC_CONST(0.95760573857564624),
-    FRAC_CONST(0.9580465240148186),
-    FRAC_CONST(0.9584850550779761),
-    FRAC_CONST(0.95892133073321306),
-    FRAC_CONST(0.95935534995393079),
-    FRAC_CONST(0.9597871117188399),
-    FRAC_CONST(0.96021661501196343),
-    FRAC_CONST(0.96064385882263847),
-    FRAC_CONST(0.96106884214551935),
-    FRAC_CONST(0.961491563980579),
-    FRAC_CONST(0.9619120233331121),
-    FRAC_CONST(0.9623302192137374),
-    FRAC_CONST(0.96274615063839941),
-    FRAC_CONST(0.96315981662837136),
-    FRAC_CONST(0.96357121621025721),
-    FRAC_CONST(0.96398034841599411),
-    FRAC_CONST(0.96438721228285429),
-    FRAC_CONST(0.9647918068534479),
-    FRAC_CONST(0.96519413117572472),
-    FRAC_CONST(0.96559418430297683),
-    FRAC_CONST(0.96599196529384057),
-    FRAC_CONST(0.96638747321229879),
-    FRAC_CONST(0.96678070712768327),
-    FRAC_CONST(0.96717166611467664),
-    FRAC_CONST(0.96756034925331436),
-    FRAC_CONST(0.9679467556289878),
-    FRAC_CONST(0.9683308843324453),
-    FRAC_CONST(0.96871273445979478),
-    FRAC_CONST(0.9690923051125061),
-    FRAC_CONST(0.96946959539741295),
-    FRAC_CONST(0.96984460442671483),
-    FRAC_CONST(0.97021733131797916),
-    FRAC_CONST(0.97058777519414363),
-    FRAC_CONST(0.97095593518351797),
-    FRAC_CONST(0.97132181041978616),
-    FRAC_CONST(0.97168540004200854),
-    FRAC_CONST(0.9720467031946235),
-    FRAC_CONST(0.97240571902744977),
-    FRAC_CONST(0.97276244669568857),
-    FRAC_CONST(0.97311688535992513),
-    FRAC_CONST(0.97346903418613095),
-    FRAC_CONST(0.9738188923456661),
-    FRAC_CONST(0.97416645901528032),
-    FRAC_CONST(0.97451173337711572),
-    FRAC_CONST(0.97485471461870843),
-    FRAC_CONST(0.97519540193299037),
-    FRAC_CONST(0.97553379451829136),
-    FRAC_CONST(0.97586989157834103),
-    FRAC_CONST(0.97620369232227056),
-    FRAC_CONST(0.97653519596461447),
-    FRAC_CONST(0.97686440172531264),
-    FRAC_CONST(0.97719130882971228),
-    FRAC_CONST(0.97751591650856928),
-    FRAC_CONST(0.97783822399805043),
-    FRAC_CONST(0.97815823053973505),
-    FRAC_CONST(0.97847593538061683),
-    FRAC_CONST(0.97879133777310567),
-    FRAC_CONST(0.97910443697502925),
-    FRAC_CONST(0.97941523224963478),
-    FRAC_CONST(0.97972372286559117),
-    FRAC_CONST(0.98002990809698998),
-    FRAC_CONST(0.98033378722334796),
-    FRAC_CONST(0.98063535952960812),
-    FRAC_CONST(0.98093462430614164),
-    FRAC_CONST(0.98123158084874973),
-    FRAC_CONST(0.98152622845866466),
-    FRAC_CONST(0.9818185664425525),
-    FRAC_CONST(0.98210859411251361),
-    FRAC_CONST(0.98239631078608469),
-    FRAC_CONST(0.98268171578624086),
-    FRAC_CONST(0.98296480844139644),
-    FRAC_CONST(0.98324558808540707),
-    FRAC_CONST(0.98352405405757126),
-    FRAC_CONST(0.98380020570263149),
-    FRAC_CONST(0.98407404237077645),
-    FRAC_CONST(0.9843455634176419),
-    FRAC_CONST(0.9846147682043126),
-    FRAC_CONST(0.9848816560973237),
-    FRAC_CONST(0.98514622646866223),
-    FRAC_CONST(0.98540847869576842),
-    FRAC_CONST(0.98566841216153755),
-    FRAC_CONST(0.98592602625432113),
-    FRAC_CONST(0.98618132036792827),
-    FRAC_CONST(0.98643429390162707),
-    FRAC_CONST(0.98668494626014669),
-    FRAC_CONST(0.98693327685367771),
-    FRAC_CONST(0.98717928509787434),
-    FRAC_CONST(0.98742297041385541),
-    FRAC_CONST(0.98766433222820571),
-    FRAC_CONST(0.98790336997297779),
-    FRAC_CONST(0.98814008308569257),
-    FRAC_CONST(0.98837447100934128),
-    FRAC_CONST(0.98860653319238645),
-    FRAC_CONST(0.98883626908876354),
-    FRAC_CONST(0.98906367815788154),
-    FRAC_CONST(0.98928875986462517),
-    FRAC_CONST(0.98951151367935519),
-    FRAC_CONST(0.98973193907791057),
-    FRAC_CONST(0.98995003554160899),
-    FRAC_CONST(0.9901658025572484),
-    FRAC_CONST(0.99037923961710816),
-    FRAC_CONST(0.99059034621895015),
-    FRAC_CONST(0.99079912186602037),
-    FRAC_CONST(0.99100556606704937),
-    FRAC_CONST(0.99120967833625406),
-    FRAC_CONST(0.99141145819333854),
-    FRAC_CONST(0.99161090516349537),
-    FRAC_CONST(0.99180801877740643),
-    FRAC_CONST(0.99200279857124452),
-    FRAC_CONST(0.99219524408667392),
-    FRAC_CONST(0.99238535487085167),
-    FRAC_CONST(0.99257313047642881),
-    FRAC_CONST(0.99275857046155114),
-    FRAC_CONST(0.99294167438986047),
-    FRAC_CONST(0.99312244183049558),
-    FRAC_CONST(0.99330087235809328),
-    FRAC_CONST(0.99347696555278919),
-    FRAC_CONST(0.99365072100021912),
-    FRAC_CONST(0.99382213829151966),
-    FRAC_CONST(0.99399121702332938),
-    FRAC_CONST(0.99415795679778973),
-    FRAC_CONST(0.99432235722254581),
-    FRAC_CONST(0.9944844179107476),
-    FRAC_CONST(0.99464413848105071),
-    FRAC_CONST(0.99480151855761711),
-    FRAC_CONST(0.99495655777011638),
-    FRAC_CONST(0.99510925575372611),
-    FRAC_CONST(0.99525961214913339),
-    FRAC_CONST(0.9954076266025349),
-    FRAC_CONST(0.99555329876563847),
-    FRAC_CONST(0.99569662829566352),
-    FRAC_CONST(0.99583761485534161),
-    FRAC_CONST(0.99597625811291779),
-    FRAC_CONST(0.99611255774215113),
-    FRAC_CONST(0.99624651342231552),
-    FRAC_CONST(0.99637812483820021),
-    FRAC_CONST(0.99650739168011082),
-    FRAC_CONST(0.9966343136438699),
-    FRAC_CONST(0.996758890430818),
-    FRAC_CONST(0.99688112174781385),
-    FRAC_CONST(0.99700100730723529),
-    FRAC_CONST(0.99711854682697998),
-    FRAC_CONST(0.99723374003046616),
-    FRAC_CONST(0.99734658664663323),
-    FRAC_CONST(0.99745708640994191),
-    FRAC_CONST(0.99756523906037575),
-    FRAC_CONST(0.997671044343441),
-    FRAC_CONST(0.99777450201016782),
-    FRAC_CONST(0.99787561181711015),
-    FRAC_CONST(0.99797437352634699),
-    FRAC_CONST(0.99807078690548234),
-    FRAC_CONST(0.99816485172764624),
-    FRAC_CONST(0.99825656777149518),
-    FRAC_CONST(0.99834593482121237),
-    FRAC_CONST(0.99843295266650844),
-    FRAC_CONST(0.99851762110262221),
-    FRAC_CONST(0.99859993993032037),
-    FRAC_CONST(0.99867990895589909),
-    FRAC_CONST(0.99875752799118334),
-    FRAC_CONST(0.99883279685352799),
-    FRAC_CONST(0.99890571536581829),
-    FRAC_CONST(0.99897628335646982),
-    FRAC_CONST(0.99904450065942929),
-    FRAC_CONST(0.99911036711417489),
-    FRAC_CONST(0.99917388256571638),
-    FRAC_CONST(0.99923504686459585),
-    FRAC_CONST(0.99929385986688779),
-    FRAC_CONST(0.99935032143419944),
-    FRAC_CONST(0.9994044314336713),
-    FRAC_CONST(0.99945618973797734),
-    FRAC_CONST(0.99950559622532531),
-    FRAC_CONST(0.99955265077945699),
-    FRAC_CONST(0.99959735328964838),
-    FRAC_CONST(0.9996397036507102),
-    FRAC_CONST(0.99967970176298793),
-    FRAC_CONST(0.99971734753236219),
-    FRAC_CONST(0.99975264087024884),
-    FRAC_CONST(0.99978558169359921),
-    FRAC_CONST(0.99981616992490041),
-    FRAC_CONST(0.99984440549217524),
-    FRAC_CONST(0.99987028832898295),
-    FRAC_CONST(0.99989381837441849),
-    FRAC_CONST(0.99991499557311347),
-    FRAC_CONST(0.999933819875236),
-    FRAC_CONST(0.99995029123649048),
-    FRAC_CONST(0.99996440961811828),
-    FRAC_CONST(0.99997617498689761),
-    FRAC_CONST(0.9999855873151432),
-    FRAC_CONST(0.99999264658070719),
-    FRAC_CONST(0.99999735276697821),
-    FRAC_CONST(0.99999970586288223)
-};
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-ALIGN static const real_t sine_long_960[] =
-{
-    FRAC_CONST(0.00081812299560725323),
-    FRAC_CONST(0.0024543667964602917),
-    FRAC_CONST(0.0040906040262347889),
-    FRAC_CONST(0.0057268303042312674),
-    FRAC_CONST(0.0073630412497795667),
-    FRAC_CONST(0.0089992324822505774),
-    FRAC_CONST(0.010635399621067975),
-    FRAC_CONST(0.012271538285719924),
-    FRAC_CONST(0.013907644095770845),
-    FRAC_CONST(0.015543712670873098),
-    FRAC_CONST(0.017179739630778748),
-    FRAC_CONST(0.018815720595351273),
-    FRAC_CONST(0.020451651184577292),
-    FRAC_CONST(0.022087527018578291),
-    FRAC_CONST(0.023723343717622358),
-    FRAC_CONST(0.025359096902135895),
-    FRAC_CONST(0.02699478219271537),
-    FRAC_CONST(0.028630395210139003),
-    FRAC_CONST(0.030265931575378519),
-    FRAC_CONST(0.031901386909610863),
-    FRAC_CONST(0.033536756834229922),
-    FRAC_CONST(0.035172036970858266),
-    FRAC_CONST(0.036807222941358832),
-    FRAC_CONST(0.038442310367846677),
-    FRAC_CONST(0.040077294872700696),
-    FRAC_CONST(0.041712172078575326),
-    FRAC_CONST(0.043346937608412288),
-    FRAC_CONST(0.044981587085452281),
-    FRAC_CONST(0.046616116133246711),
-    FRAC_CONST(0.048250520375669431),
-    FRAC_CONST(0.049884795436928406),
-    FRAC_CONST(0.051518936941577477),
-    FRAC_CONST(0.053152940514528055),
-    FRAC_CONST(0.05478680178106083),
-    FRAC_CONST(0.056420516366837495),
-    FRAC_CONST(0.05805407989791244),
-    FRAC_CONST(0.059687488000744485),
-    FRAC_CONST(0.061320736302208578),
-    FRAC_CONST(0.062953820429607482),
-    FRAC_CONST(0.064586736010683557),
-    FRAC_CONST(0.066219478673630344),
-    FRAC_CONST(0.06785204404710439),
-    FRAC_CONST(0.069484427760236861),
-    FRAC_CONST(0.071116625442645326),
-    FRAC_CONST(0.072748632724445372),
-    FRAC_CONST(0.07438044523626236),
-    FRAC_CONST(0.076012058609243122),
-    FRAC_CONST(0.077643468475067631),
-    FRAC_CONST(0.079274670465960706),
-    FRAC_CONST(0.080905660214703745),
-    FRAC_CONST(0.082536433354646319),
-    FRAC_CONST(0.084166985519717977),
-    FRAC_CONST(0.085797312344439894),
-    FRAC_CONST(0.08742740946393647),
-    FRAC_CONST(0.089057272513947183),
-    FRAC_CONST(0.090686897130838162),
-    FRAC_CONST(0.092316278951613845),
-    FRAC_CONST(0.093945413613928788),
-    FRAC_CONST(0.095574296756099186),
-    FRAC_CONST(0.097202924017114667),
-    FRAC_CONST(0.098831291036649963),
-    FRAC_CONST(0.10045939345507648),
-    FRAC_CONST(0.10208722691347409),
-    FRAC_CONST(0.10371478705364276),
-    FRAC_CONST(0.10534206951811415),
-    FRAC_CONST(0.10696906995016341),
-    FRAC_CONST(0.10859578399382072),
-    FRAC_CONST(0.11022220729388306),
-    FRAC_CONST(0.11184833549592579),
-    FRAC_CONST(0.11347416424631435),
-    FRAC_CONST(0.11509968919221586),
-    FRAC_CONST(0.11672490598161089),
-    FRAC_CONST(0.11834981026330495),
-    FRAC_CONST(0.11997439768694031),
-    FRAC_CONST(0.12159866390300751),
-    FRAC_CONST(0.12322260456285709),
-    FRAC_CONST(0.12484621531871121),
-    FRAC_CONST(0.12646949182367517),
-    FRAC_CONST(0.12809242973174936),
-    FRAC_CONST(0.12971502469784052),
-    FRAC_CONST(0.13133727237777362),
-    FRAC_CONST(0.13295916842830346),
-    FRAC_CONST(0.13458070850712617),
-    FRAC_CONST(0.13620188827289101),
-    FRAC_CONST(0.1378227033852118),
-    FRAC_CONST(0.13944314950467873),
-    FRAC_CONST(0.14106322229286994),
-    FRAC_CONST(0.14268291741236291),
-    FRAC_CONST(0.14430223052674654),
-    FRAC_CONST(0.1459211573006321),
-    FRAC_CONST(0.14753969339966552),
-    FRAC_CONST(0.14915783449053857),
-    FRAC_CONST(0.15077557624100058),
-    FRAC_CONST(0.15239291431987001),
-    FRAC_CONST(0.1540098443970461),
-    FRAC_CONST(0.15562636214352044),
-    FRAC_CONST(0.15724246323138855),
-    FRAC_CONST(0.15885814333386142),
-    FRAC_CONST(0.16047339812527725),
-    FRAC_CONST(0.16208822328111283),
-    FRAC_CONST(0.16370261447799525),
-    FRAC_CONST(0.16531656739371339),
-    FRAC_CONST(0.16693007770722967),
-    FRAC_CONST(0.16854314109869134),
-    FRAC_CONST(0.17015575324944232),
-    FRAC_CONST(0.17176790984203447),
-    FRAC_CONST(0.17337960656023954),
-    FRAC_CONST(0.1749908390890603),
-    FRAC_CONST(0.17660160311474243),
-    FRAC_CONST(0.17821189432478593),
-    FRAC_CONST(0.17982170840795647),
-    FRAC_CONST(0.18143104105429744),
-    FRAC_CONST(0.18303988795514095),
-    FRAC_CONST(0.1846482448031197),
-    FRAC_CONST(0.18625610729217834),
-    FRAC_CONST(0.1878634711175852),
-    FRAC_CONST(0.18947033197594348),
-    FRAC_CONST(0.19107668556520319),
-    FRAC_CONST(0.19268252758467228),
-    FRAC_CONST(0.19428785373502844),
-    FRAC_CONST(0.19589265971833042),
-    FRAC_CONST(0.19749694123802966),
-    FRAC_CONST(0.19910069399898173),
-    FRAC_CONST(0.20070391370745785),
-    FRAC_CONST(0.20230659607115639),
-    FRAC_CONST(0.20390873679921437),
-    FRAC_CONST(0.20551033160221882),
-    FRAC_CONST(0.20711137619221856),
-    FRAC_CONST(0.2087118662827353),
-    FRAC_CONST(0.21031179758877552),
-    FRAC_CONST(0.21191116582684155),
-    FRAC_CONST(0.21350996671494335),
-    FRAC_CONST(0.21510819597260972),
-    FRAC_CONST(0.21670584932089998),
-    FRAC_CONST(0.2183029224824154),
-    FRAC_CONST(0.21989941118131037),
-    FRAC_CONST(0.22149531114330431),
-    FRAC_CONST(0.22309061809569264),
-    FRAC_CONST(0.22468532776735861),
-    FRAC_CONST(0.22627943588878449),
-    FRAC_CONST(0.22787293819206314),
-    FRAC_CONST(0.22946583041090929),
-    FRAC_CONST(0.23105810828067114),
-    FRAC_CONST(0.23264976753834157),
-    FRAC_CONST(0.23424080392256985),
-    FRAC_CONST(0.2358312131736727),
-    FRAC_CONST(0.23742099103364595),
-    FRAC_CONST(0.23901013324617584),
-    FRAC_CONST(0.24059863555665045),
-    FRAC_CONST(0.24218649371217096),
-    FRAC_CONST(0.24377370346156332),
-    FRAC_CONST(0.24536026055538934),
-    FRAC_CONST(0.24694616074595824),
-    FRAC_CONST(0.24853139978733788),
-    FRAC_CONST(0.25011597343536629),
-    FRAC_CONST(0.25169987744766298),
-    FRAC_CONST(0.25328310758364025),
-    FRAC_CONST(0.25486565960451457),
-    FRAC_CONST(0.25644752927331788),
-    FRAC_CONST(0.25802871235490898),
-    FRAC_CONST(0.25960920461598508),
-    FRAC_CONST(0.26118900182509258),
-    FRAC_CONST(0.26276809975263904),
-    FRAC_CONST(0.264346494170904),
-    FRAC_CONST(0.26592418085405067),
-    FRAC_CONST(0.26750115557813692),
-    FRAC_CONST(0.2690774141211269),
-    FRAC_CONST(0.27065295226290209),
-    FRAC_CONST(0.2722277657852728),
-    FRAC_CONST(0.27380185047198918),
-    FRAC_CONST(0.27537520210875299),
-    FRAC_CONST(0.2769478164832283),
-    FRAC_CONST(0.27851968938505312),
-    FRAC_CONST(0.28009081660585067),
-    FRAC_CONST(0.28166119393924061),
-    FRAC_CONST(0.28323081718085019),
-    FRAC_CONST(0.28479968212832563),
-    FRAC_CONST(0.28636778458134327),
-    FRAC_CONST(0.28793512034162105),
-    FRAC_CONST(0.2895016852129294),
-    FRAC_CONST(0.29106747500110264),
-    FRAC_CONST(0.29263248551405047),
-    FRAC_CONST(0.2941967125617686),
-    FRAC_CONST(0.29576015195635058),
-    FRAC_CONST(0.29732279951199847),
-    FRAC_CONST(0.29888465104503475),
-    FRAC_CONST(0.30044570237391266),
-    FRAC_CONST(0.30200594931922808),
-    FRAC_CONST(0.30356538770373032),
-    FRAC_CONST(0.30512401335233358),
-    FRAC_CONST(0.30668182209212791),
-    FRAC_CONST(0.3082388097523906),
-    FRAC_CONST(0.30979497216459695),
-    FRAC_CONST(0.31135030516243201),
-    FRAC_CONST(0.3129048045818012),
-    FRAC_CONST(0.31445846626084178),
-    FRAC_CONST(0.31601128603993378),
-    FRAC_CONST(0.31756325976171151),
-    FRAC_CONST(0.31911438327107416),
-    FRAC_CONST(0.32066465241519732),
-    FRAC_CONST(0.32221406304354389),
-    FRAC_CONST(0.3237626110078754),
-    FRAC_CONST(0.32531029216226293),
-    FRAC_CONST(0.32685710236309828),
-    FRAC_CONST(0.32840303746910487),
-    FRAC_CONST(0.32994809334134939),
-    FRAC_CONST(0.3314922658432522),
-    FRAC_CONST(0.33303555084059877),
-    FRAC_CONST(0.33457794420155085),
-    FRAC_CONST(0.33611944179665709),
-    FRAC_CONST(0.33766003949886464),
-    FRAC_CONST(0.33919973318352969),
-    FRAC_CONST(0.34073851872842903),
-    FRAC_CONST(0.34227639201377064),
-    FRAC_CONST(0.34381334892220483),
-    FRAC_CONST(0.34534938533883547),
-    FRAC_CONST(0.34688449715123082),
-    FRAC_CONST(0.34841868024943456),
-    FRAC_CONST(0.34995193052597684),
-    FRAC_CONST(0.35148424387588523),
-    FRAC_CONST(0.3530156161966958),
-    FRAC_CONST(0.35454604338846402),
-    FRAC_CONST(0.35607552135377557),
-    FRAC_CONST(0.35760404599775775),
-    FRAC_CONST(0.35913161322809023),
-    FRAC_CONST(0.36065821895501554),
-    FRAC_CONST(0.36218385909135092),
-    FRAC_CONST(0.36370852955249849),
-    FRAC_CONST(0.36523222625645668),
-    FRAC_CONST(0.36675494512383078),
-    FRAC_CONST(0.36827668207784414),
-    FRAC_CONST(0.36979743304434909),
-    FRAC_CONST(0.37131719395183754),
-    FRAC_CONST(0.37283596073145214),
-    FRAC_CONST(0.37435372931699717),
-    FRAC_CONST(0.37587049564494951),
-    FRAC_CONST(0.37738625565446909),
-    FRAC_CONST(0.37890100528741022),
-    FRAC_CONST(0.38041474048833229),
-    FRAC_CONST(0.38192745720451066),
-    FRAC_CONST(0.38343915138594736),
-    FRAC_CONST(0.38494981898538222),
-    FRAC_CONST(0.38645945595830333),
-    FRAC_CONST(0.38796805826295838),
-    FRAC_CONST(0.38947562186036483),
-    FRAC_CONST(0.39098214271432141),
-    FRAC_CONST(0.39248761679141814),
-    FRAC_CONST(0.3939920400610481),
-    FRAC_CONST(0.39549540849541737),
-    FRAC_CONST(0.39699771806955625),
-    FRAC_CONST(0.39849896476132979),
-    FRAC_CONST(0.39999914455144892),
-    FRAC_CONST(0.40149825342348083),
-    FRAC_CONST(0.4029962873638599),
-    FRAC_CONST(0.40449324236189854),
-    FRAC_CONST(0.40598911440979762),
-    FRAC_CONST(0.40748389950265762),
-    FRAC_CONST(0.40897759363848879),
-    FRAC_CONST(0.41047019281822261),
-    FRAC_CONST(0.41196169304572178),
-    FRAC_CONST(0.4134520903277914),
-    FRAC_CONST(0.41494138067418929),
-    FRAC_CONST(0.41642956009763715),
-    FRAC_CONST(0.41791662461383078),
-    FRAC_CONST(0.41940257024145089),
-    FRAC_CONST(0.42088739300217382),
-    FRAC_CONST(0.42237108892068231),
-    FRAC_CONST(0.42385365402467584),
-    FRAC_CONST(0.42533508434488143),
-    FRAC_CONST(0.42681537591506419),
-    FRAC_CONST(0.42829452477203828),
-    FRAC_CONST(0.42977252695567697),
-    FRAC_CONST(0.43124937850892364),
-    FRAC_CONST(0.4327250754778022),
-    FRAC_CONST(0.43419961391142781),
-    FRAC_CONST(0.43567298986201736),
-    FRAC_CONST(0.43714519938489987),
-    FRAC_CONST(0.43861623853852766),
-    FRAC_CONST(0.44008610338448595),
-    FRAC_CONST(0.44155478998750436),
-    FRAC_CONST(0.44302229441546676),
-    FRAC_CONST(0.4444886127394222),
-    FRAC_CONST(0.44595374103359531),
-    FRAC_CONST(0.44741767537539667),
-    FRAC_CONST(0.44888041184543348),
-    FRAC_CONST(0.45034194652752002),
-    FRAC_CONST(0.45180227550868812),
-    FRAC_CONST(0.45326139487919759),
-    FRAC_CONST(0.45471930073254679),
-    FRAC_CONST(0.45617598916548296),
-    FRAC_CONST(0.45763145627801283),
-    FRAC_CONST(0.45908569817341294),
-    FRAC_CONST(0.46053871095824001),
-    FRAC_CONST(0.46199049074234161),
-    FRAC_CONST(0.46344103363886635),
-    FRAC_CONST(0.46489033576427435),
-    FRAC_CONST(0.46633839323834758),
-    FRAC_CONST(0.46778520218420055),
-    FRAC_CONST(0.46923075872829029),
-    FRAC_CONST(0.47067505900042683),
-    FRAC_CONST(0.47211809913378361),
-    FRAC_CONST(0.47355987526490806),
-    FRAC_CONST(0.47500038353373153),
-    FRAC_CONST(0.47643962008357982),
-    FRAC_CONST(0.47787758106118372),
-    FRAC_CONST(0.47931426261668875),
-    FRAC_CONST(0.48074966090366611),
-    FRAC_CONST(0.48218377207912272),
-    FRAC_CONST(0.48361659230351117),
-    FRAC_CONST(0.48504811774074069),
-    FRAC_CONST(0.48647834455818684),
-    FRAC_CONST(0.48790726892670194),
-    FRAC_CONST(0.48933488702062544),
-    FRAC_CONST(0.49076119501779414),
-    FRAC_CONST(0.49218618909955225),
-    FRAC_CONST(0.4936098654507618),
-    FRAC_CONST(0.49503222025981269),
-    FRAC_CONST(0.49645324971863303),
-    FRAC_CONST(0.49787295002269943),
-    FRAC_CONST(0.49929131737104687),
-    FRAC_CONST(0.50070834796627917),
-    FRAC_CONST(0.50212403801457872),
-    FRAC_CONST(0.50353838372571758),
-    FRAC_CONST(0.50495138131306638),
-    FRAC_CONST(0.50636302699360547),
-    FRAC_CONST(0.50777331698793449),
-    FRAC_CONST(0.50918224752028263),
-    FRAC_CONST(0.51058981481851906),
-    FRAC_CONST(0.51199601511416237),
-    FRAC_CONST(0.51340084464239111),
-    FRAC_CONST(0.51480429964205421),
-    FRAC_CONST(0.51620637635567967),
-    FRAC_CONST(0.51760707102948678),
-    FRAC_CONST(0.51900637991339404),
-    FRAC_CONST(0.5204042992610306),
-    FRAC_CONST(0.52180082532974559),
-    FRAC_CONST(0.5231959543806185),
-    FRAC_CONST(0.52458968267846895),
-    FRAC_CONST(0.52598200649186677),
-    FRAC_CONST(0.52737292209314235),
-    FRAC_CONST(0.52876242575839572),
-    FRAC_CONST(0.53015051376750777),
-    FRAC_CONST(0.53153718240414882),
-    FRAC_CONST(0.53292242795578992),
-    FRAC_CONST(0.53430624671371152),
-    FRAC_CONST(0.53568863497301467),
-    FRAC_CONST(0.5370695890326298),
-    FRAC_CONST(0.5384491051953274),
-    FRAC_CONST(0.53982717976772743),
-    FRAC_CONST(0.54120380906030963),
-    FRAC_CONST(0.54257898938742311),
-    FRAC_CONST(0.54395271706729609),
-    FRAC_CONST(0.54532498842204646),
-    FRAC_CONST(0.54669579977769045),
-    FRAC_CONST(0.54806514746415402),
-    FRAC_CONST(0.54943302781528081),
-    FRAC_CONST(0.55079943716884383),
-    FRAC_CONST(0.55216437186655387),
-    FRAC_CONST(0.55352782825406999),
-    FRAC_CONST(0.55488980268100907),
-    FRAC_CONST(0.55625029150095584),
-    FRAC_CONST(0.55760929107147217),
-    FRAC_CONST(0.55896679775410718),
-    FRAC_CONST(0.56032280791440714),
-    FRAC_CONST(0.56167731792192455),
-    FRAC_CONST(0.56303032415022869),
-    FRAC_CONST(0.56438182297691453),
-    FRAC_CONST(0.56573181078361312),
-    FRAC_CONST(0.56708028395600085),
-    FRAC_CONST(0.56842723888380908),
-    FRAC_CONST(0.56977267196083425),
-    FRAC_CONST(0.57111657958494688),
-    FRAC_CONST(0.5724589581581021),
-    FRAC_CONST(0.57379980408634845),
-    FRAC_CONST(0.57513911377983773),
-    FRAC_CONST(0.57647688365283478),
-    FRAC_CONST(0.57781311012372738),
-    FRAC_CONST(0.57914778961503466),
-    FRAC_CONST(0.58048091855341843),
-    FRAC_CONST(0.5818124933696911),
-    FRAC_CONST(0.58314251049882604),
-    FRAC_CONST(0.58447096637996743),
-    FRAC_CONST(0.58579785745643886),
-    FRAC_CONST(0.5871231801757536),
-    FRAC_CONST(0.58844693098962408),
-    FRAC_CONST(0.58976910635397084),
-    FRAC_CONST(0.59108970272893235),
-    FRAC_CONST(0.59240871657887517),
-    FRAC_CONST(0.59372614437240179),
-    FRAC_CONST(0.59504198258236196),
-    FRAC_CONST(0.5963562276858605),
-    FRAC_CONST(0.59766887616426767),
-    FRAC_CONST(0.5989799245032289),
-    FRAC_CONST(0.60028936919267273),
-    FRAC_CONST(0.60159720672682204),
-    FRAC_CONST(0.60290343360420195),
-    FRAC_CONST(0.60420804632765002),
-    FRAC_CONST(0.60551104140432543),
-    FRAC_CONST(0.60681241534571839),
-    FRAC_CONST(0.60811216466765883),
-    FRAC_CONST(0.60941028589032709),
-    FRAC_CONST(0.61070677553826169),
-    FRAC_CONST(0.61200163014036979),
-    FRAC_CONST(0.61329484622993602),
-    FRAC_CONST(0.6145864203446314),
-    FRAC_CONST(0.61587634902652377),
-    FRAC_CONST(0.61716462882208556),
-    FRAC_CONST(0.61845125628220421),
-    FRAC_CONST(0.61973622796219074),
-    FRAC_CONST(0.6210195404217892),
-    FRAC_CONST(0.62230119022518593),
-    FRAC_CONST(0.62358117394101897),
-    FRAC_CONST(0.62485948814238634),
-    FRAC_CONST(0.62613612940685637),
-    FRAC_CONST(0.62741109431647646),
-    FRAC_CONST(0.62868437945778133),
-    FRAC_CONST(0.62995598142180387),
-    FRAC_CONST(0.6312258968040827),
-    FRAC_CONST(0.63249412220467238),
-    FRAC_CONST(0.63376065422815175),
-    FRAC_CONST(0.63502548948363347),
-    FRAC_CONST(0.63628862458477287),
-    FRAC_CONST(0.63755005614977711),
-    FRAC_CONST(0.63880978080141437),
-    FRAC_CONST(0.6400677951670225),
-    FRAC_CONST(0.6413240958785188),
-    FRAC_CONST(0.64257867957240766),
-    FRAC_CONST(0.6438315428897915),
-    FRAC_CONST(0.64508268247637779),
-    FRAC_CONST(0.64633209498248945),
-    FRAC_CONST(0.64757977706307335),
-    FRAC_CONST(0.64882572537770888),
-    FRAC_CONST(0.65006993659061751),
-    FRAC_CONST(0.65131240737067142),
-    FRAC_CONST(0.65255313439140239),
-    FRAC_CONST(0.65379211433101081),
-    FRAC_CONST(0.65502934387237444),
-    FRAC_CONST(0.6562648197030575),
-    FRAC_CONST(0.65749853851531959),
-    FRAC_CONST(0.65873049700612374),
-    FRAC_CONST(0.65996069187714679),
-    FRAC_CONST(0.66118911983478657),
-    FRAC_CONST(0.66241577759017178),
-    FRAC_CONST(0.66364066185917048),
-    FRAC_CONST(0.66486376936239888),
-    FRAC_CONST(0.66608509682523009),
-    FRAC_CONST(0.66730464097780284),
-    FRAC_CONST(0.66852239855503071),
-    FRAC_CONST(0.66973836629660977),
-    FRAC_CONST(0.67095254094702894),
-    FRAC_CONST(0.67216491925557675),
-    FRAC_CONST(0.67337549797635199),
-    FRAC_CONST(0.67458427386827102),
-    FRAC_CONST(0.67579124369507693),
-    FRAC_CONST(0.67699640422534846),
-    FRAC_CONST(0.67819975223250772),
-    FRAC_CONST(0.6794012844948305),
-    FRAC_CONST(0.68060099779545302),
-    FRAC_CONST(0.68179888892238183),
-    FRAC_CONST(0.6829949546685018),
-    FRAC_CONST(0.68418919183158522),
-    FRAC_CONST(0.68538159721429948),
-    FRAC_CONST(0.6865721676242168),
-    FRAC_CONST(0.68776089987382172),
-    FRAC_CONST(0.68894779078052026),
-    FRAC_CONST(0.69013283716664853),
-    FRAC_CONST(0.69131603585948032),
-    FRAC_CONST(0.69249738369123692),
-    FRAC_CONST(0.69367687749909468),
-    FRAC_CONST(0.69485451412519361),
-    FRAC_CONST(0.69603029041664599),
-    FRAC_CONST(0.6972042032255451),
-    FRAC_CONST(0.6983762494089728),
-    FRAC_CONST(0.69954642582900894),
-    FRAC_CONST(0.70071472935273893),
-    FRAC_CONST(0.70188115685226271),
-    FRAC_CONST(0.703045705204703),
-    FRAC_CONST(0.70420837129221303),
-    FRAC_CONST(0.70536915200198613),
-    FRAC_CONST(0.70652804422626281),
-    FRAC_CONST(0.70768504486233985),
-    FRAC_CONST(0.70884015081257845),
-    FRAC_CONST(0.70999335898441229),
-    FRAC_CONST(0.711144666290356),
-    FRAC_CONST(0.71229406964801356),
-    FRAC_CONST(0.71344156598008623),
-    FRAC_CONST(0.71458715221438096),
-    FRAC_CONST(0.71573082528381871),
-    FRAC_CONST(0.71687258212644234),
-    FRAC_CONST(0.7180124196854254),
-    FRAC_CONST(0.71915033490907943),
-    FRAC_CONST(0.72028632475086318),
-    FRAC_CONST(0.72142038616938997),
-    FRAC_CONST(0.72255251612843596),
-    FRAC_CONST(0.72368271159694852),
-    FRAC_CONST(0.72481096954905444),
-    FRAC_CONST(0.72593728696406756),
-    FRAC_CONST(0.72706166082649704),
-    FRAC_CONST(0.72818408812605595),
-    FRAC_CONST(0.72930456585766834),
-    FRAC_CONST(0.73042309102147851),
-    FRAC_CONST(0.73153966062285747),
-    FRAC_CONST(0.73265427167241282),
-    FRAC_CONST(0.73376692118599507),
-    FRAC_CONST(0.73487760618470677),
-    FRAC_CONST(0.73598632369490979),
-    FRAC_CONST(0.73709307074823405),
-    FRAC_CONST(0.73819784438158409),
-    FRAC_CONST(0.73930064163714881),
-    FRAC_CONST(0.74040145956240788),
-    FRAC_CONST(0.74150029521014049),
-    FRAC_CONST(0.74259714563843304),
-    FRAC_CONST(0.74369200791068657),
-    FRAC_CONST(0.74478487909562552),
-    FRAC_CONST(0.74587575626730485),
-    FRAC_CONST(0.74696463650511791),
-    FRAC_CONST(0.74805151689380456),
-    FRAC_CONST(0.74913639452345926),
-    FRAC_CONST(0.75021926648953785),
-    FRAC_CONST(0.75130012989286621),
-    FRAC_CONST(0.7523789818396478),
-    FRAC_CONST(0.75345581944147111),
-    FRAC_CONST(0.75453063981531809),
-    FRAC_CONST(0.75560344008357094),
-    FRAC_CONST(0.75667421737402052),
-    FRAC_CONST(0.7577429688198738),
-    FRAC_CONST(0.75880969155976163),
-    FRAC_CONST(0.75987438273774599),
-    FRAC_CONST(0.76093703950332836),
-    FRAC_CONST(0.76199765901145666),
-    FRAC_CONST(0.76305623842253345),
-    FRAC_CONST(0.76411277490242291),
-    FRAC_CONST(0.76516726562245885),
-    FRAC_CONST(0.76621970775945258),
-    FRAC_CONST(0.76727009849569949),
-    FRAC_CONST(0.76831843501898767),
-    FRAC_CONST(0.76936471452260458),
-    FRAC_CONST(0.77040893420534517),
-    FRAC_CONST(0.77145109127151923),
-    FRAC_CONST(0.77249118293095853),
-    FRAC_CONST(0.77352920639902467),
-    FRAC_CONST(0.77456515889661659),
-    FRAC_CONST(0.77559903765017746),
-    FRAC_CONST(0.7766308398917029),
-    FRAC_CONST(0.77766056285874774),
-    FRAC_CONST(0.77868820379443371),
-    FRAC_CONST(0.77971375994745684),
-    FRAC_CONST(0.78073722857209438),
-    FRAC_CONST(0.7817586069282132),
-    FRAC_CONST(0.78277789228127592),
-    FRAC_CONST(0.78379508190234881),
-    FRAC_CONST(0.78481017306810918),
-    FRAC_CONST(0.78582316306085265),
-    FRAC_CONST(0.78683404916849986),
-    FRAC_CONST(0.78784282868460476),
-    FRAC_CONST(0.78884949890836087),
-    FRAC_CONST(0.78985405714460888),
-    FRAC_CONST(0.7908565007038445),
-    FRAC_CONST(0.79185682690222425),
-    FRAC_CONST(0.79285503306157412),
-    FRAC_CONST(0.79385111650939566),
-    FRAC_CONST(0.79484507457887377),
-    FRAC_CONST(0.79583690460888357),
-    FRAC_CONST(0.79682660394399751),
-    FRAC_CONST(0.79781416993449272),
-    FRAC_CONST(0.79879959993635785),
-    FRAC_CONST(0.7997828913113002),
-    FRAC_CONST(0.80076404142675273),
-    FRAC_CONST(0.80174304765588156),
-    FRAC_CONST(0.80271990737759213),
-    FRAC_CONST(0.80369461797653707),
-    FRAC_CONST(0.80466717684312306),
-    FRAC_CONST(0.80563758137351682),
-    FRAC_CONST(0.80660582896965372),
-    FRAC_CONST(0.80757191703924336),
-    FRAC_CONST(0.80853584299577752),
-    FRAC_CONST(0.80949760425853612),
-    FRAC_CONST(0.81045719825259477),
-    FRAC_CONST(0.81141462240883167),
-    FRAC_CONST(0.81236987416393436),
-    FRAC_CONST(0.81332295096040608),
-    FRAC_CONST(0.81427385024657373),
-    FRAC_CONST(0.81522256947659355),
-    FRAC_CONST(0.81616910611045879),
-    FRAC_CONST(0.817113457614006),
-    FRAC_CONST(0.81805562145892186),
-    FRAC_CONST(0.81899559512275044),
-    FRAC_CONST(0.81993337608889916),
-    FRAC_CONST(0.82086896184664637),
-    FRAC_CONST(0.8218023498911472),
-    FRAC_CONST(0.82273353772344116),
-    FRAC_CONST(0.82366252285045805),
-    FRAC_CONST(0.82458930278502529),
-    FRAC_CONST(0.82551387504587381),
-    FRAC_CONST(0.82643623715764558),
-    FRAC_CONST(0.82735638665089983),
-    FRAC_CONST(0.82827432106211907),
-    FRAC_CONST(0.82919003793371693),
-    FRAC_CONST(0.83010353481404364),
-    FRAC_CONST(0.83101480925739324),
-    FRAC_CONST(0.83192385882400965),
-    FRAC_CONST(0.83283068108009373),
-    FRAC_CONST(0.8337352735978093),
-    FRAC_CONST(0.83463763395529011),
-    FRAC_CONST(0.83553775973664579),
-    FRAC_CONST(0.83643564853196872),
-    FRAC_CONST(0.83733129793734051),
-    FRAC_CONST(0.83822470555483797),
-    FRAC_CONST(0.83911586899254031),
-    FRAC_CONST(0.84000478586453453),
-    FRAC_CONST(0.84089145379092289),
-    FRAC_CONST(0.84177587039782842),
-    FRAC_CONST(0.84265803331740163),
-    FRAC_CONST(0.84353794018782702),
-    FRAC_CONST(0.844415588653329),
-    FRAC_CONST(0.8452909763641786),
-    FRAC_CONST(0.84616410097669936),
-    FRAC_CONST(0.84703496015327406),
-    FRAC_CONST(0.84790355156235053),
-    FRAC_CONST(0.84876987287844818),
-    FRAC_CONST(0.8496339217821639),
-    FRAC_CONST(0.85049569596017938),
-    FRAC_CONST(0.85135519310526508),
-    FRAC_CONST(0.85221241091628896),
-    FRAC_CONST(0.85306734709822085),
-    FRAC_CONST(0.85391999936213903),
-    FRAC_CONST(0.85477036542523732),
-    FRAC_CONST(0.85561844301082923),
-    FRAC_CONST(0.85646422984835635),
-    FRAC_CONST(0.85730772367339259),
-    FRAC_CONST(0.85814892222765116),
-    FRAC_CONST(0.85898782325899026),
-    FRAC_CONST(0.85982442452141961),
-    FRAC_CONST(0.86065872377510555),
-    FRAC_CONST(0.86149071878637817),
-    FRAC_CONST(0.8623204073277364),
-    FRAC_CONST(0.86314778717785412),
-    FRAC_CONST(0.8639728561215867),
-    FRAC_CONST(0.86479561194997623),
-    FRAC_CONST(0.86561605246025763),
-    FRAC_CONST(0.86643417545586487),
-    FRAC_CONST(0.8672499787464365),
-    FRAC_CONST(0.86806346014782154),
-    FRAC_CONST(0.8688746174820855),
-    FRAC_CONST(0.86968344857751589),
-    FRAC_CONST(0.87048995126862883),
-    FRAC_CONST(0.87129412339617363),
-    FRAC_CONST(0.87209596280713941),
-    FRAC_CONST(0.8728954673547612),
-    FRAC_CONST(0.87369263489852422),
-    FRAC_CONST(0.87448746330417149),
-    FRAC_CONST(0.87527995044370765),
-    FRAC_CONST(0.8760700941954066),
-    FRAC_CONST(0.87685789244381551),
-    FRAC_CONST(0.87764334307976144),
-    FRAC_CONST(0.87842644400035663),
-    FRAC_CONST(0.8792071931090043),
-    FRAC_CONST(0.87998558831540408),
-    FRAC_CONST(0.88076162753555787),
-    FRAC_CONST(0.88153530869177488),
-    FRAC_CONST(0.88230662971267804),
-    FRAC_CONST(0.88307558853320878),
-    FRAC_CONST(0.88384218309463292),
-    FRAC_CONST(0.8846064113445461),
-    FRAC_CONST(0.88536827123687933),
-    FRAC_CONST(0.88612776073190425),
-    FRAC_CONST(0.88688487779623937),
-    FRAC_CONST(0.88763962040285393),
-    FRAC_CONST(0.8883919865310751),
-    FRAC_CONST(0.88914197416659235),
-    FRAC_CONST(0.88988958130146301),
-    FRAC_CONST(0.8906348059341177),
-    FRAC_CONST(0.89137764606936609),
-    FRAC_CONST(0.89211809971840139),
-    FRAC_CONST(0.89285616489880615),
-    FRAC_CONST(0.89359183963455813),
-    FRAC_CONST(0.89432512195603453),
-    FRAC_CONST(0.89505600990001799),
-    FRAC_CONST(0.89578450150970124),
-    FRAC_CONST(0.8965105948346932),
-    FRAC_CONST(0.89723428793102367),
-    FRAC_CONST(0.89795557886114807),
-    FRAC_CONST(0.89867446569395382),
-    FRAC_CONST(0.89939094650476448),
-    FRAC_CONST(0.90010501937534515),
-    FRAC_CONST(0.900816682393908),
-    FRAC_CONST(0.90152593365511691),
-    FRAC_CONST(0.90223277126009283),
-    FRAC_CONST(0.90293719331641886),
-    FRAC_CONST(0.90363919793814496),
-    FRAC_CONST(0.90433878324579353),
-    FRAC_CONST(0.90503594736636439),
-    FRAC_CONST(0.90573068843333915),
-    FRAC_CONST(0.90642300458668679),
-    FRAC_CONST(0.90711289397286898),
-    FRAC_CONST(0.90780035474484411),
-    FRAC_CONST(0.90848538506207266),
-    FRAC_CONST(0.90916798309052227),
-    FRAC_CONST(0.90984814700267291),
-    FRAC_CONST(0.9105258749775208),
-    FRAC_CONST(0.91120116520058425),
-    FRAC_CONST(0.91187401586390815),
-    FRAC_CONST(0.91254442516606893),
-    FRAC_CONST(0.9132123913121788),
-    FRAC_CONST(0.91387791251389161),
-    FRAC_CONST(0.91454098698940678),
-    FRAC_CONST(0.91520161296347435),
-    FRAC_CONST(0.91585978866739981),
-    FRAC_CONST(0.91651551233904871),
-    FRAC_CONST(0.91716878222285148),
-    FRAC_CONST(0.91781959656980805),
-    FRAC_CONST(0.91846795363749245),
-    FRAC_CONST(0.91911385169005766),
-    FRAC_CONST(0.9197572889982405),
-    FRAC_CONST(0.9203982638393654),
-    FRAC_CONST(0.92103677449734989),
-    FRAC_CONST(0.92167281926270861),
-    FRAC_CONST(0.92230639643255874),
-    FRAC_CONST(0.92293750431062316),
-    FRAC_CONST(0.92356614120723612),
-    FRAC_CONST(0.92419230543934783),
-    FRAC_CONST(0.92481599533052783),
-    FRAC_CONST(0.92543720921097061),
-    FRAC_CONST(0.92605594541749991),
-    FRAC_CONST(0.92667220229357261),
-    FRAC_CONST(0.92728597818928349),
-    FRAC_CONST(0.9278972714613698),
-    FRAC_CONST(0.92850608047321548),
-    FRAC_CONST(0.9291124035948557),
-    FRAC_CONST(0.92971623920298097),
-    FRAC_CONST(0.93031758568094147),
-    FRAC_CONST(0.93091644141875196),
-    FRAC_CONST(0.93151280481309506),
-    FRAC_CONST(0.93210667426732674),
-    FRAC_CONST(0.93269804819147983),
-    FRAC_CONST(0.93328692500226818),
-    FRAC_CONST(0.93387330312309147),
-    FRAC_CONST(0.93445718098403896),
-    FRAC_CONST(0.93503855702189376),
-    FRAC_CONST(0.9356174296801375),
-    FRAC_CONST(0.93619379740895381),
-    FRAC_CONST(0.93676765866523259),
-    FRAC_CONST(0.93733901191257496),
-    FRAC_CONST(0.93790785562129597),
-    FRAC_CONST(0.93847418826842988),
-    FRAC_CONST(0.93903800833773399),
-    FRAC_CONST(0.93959931431969212),
-    FRAC_CONST(0.94015810471151917),
-    FRAC_CONST(0.94071437801716529),
-    FRAC_CONST(0.94126813274731924),
-    FRAC_CONST(0.94181936741941319),
-    FRAC_CONST(0.94236808055762578),
-    FRAC_CONST(0.94291427069288691),
-    FRAC_CONST(0.94345793636288133),
-    FRAC_CONST(0.94399907611205225),
-    FRAC_CONST(0.9445376884916058),
-    FRAC_CONST(0.94507377205951448),
-    FRAC_CONST(0.94560732538052128),
-    FRAC_CONST(0.94613834702614352),
-    FRAC_CONST(0.94666683557467624),
-    FRAC_CONST(0.94719278961119657),
-    FRAC_CONST(0.94771620772756759),
-    FRAC_CONST(0.94823708852244104),
-    FRAC_CONST(0.94875543060126255),
-    FRAC_CONST(0.94927123257627433),
-    FRAC_CONST(0.94978449306651924),
-    FRAC_CONST(0.95029521069784428),
-    FRAC_CONST(0.9508033841029051),
-    FRAC_CONST(0.95130901192116835),
-    FRAC_CONST(0.9518120927989161),
-    FRAC_CONST(0.95231262538924943),
-    FRAC_CONST(0.95281060835209208),
-    FRAC_CONST(0.95330604035419386),
-    FRAC_CONST(0.95379892006913403),
-    FRAC_CONST(0.95428924617732525),
-    FRAC_CONST(0.95477701736601728),
-    FRAC_CONST(0.95526223232929941),
-    FRAC_CONST(0.95574488976810545),
-    FRAC_CONST(0.95622498839021619),
-    FRAC_CONST(0.95670252691026292),
-    FRAC_CONST(0.95717750404973156),
-    FRAC_CONST(0.95764991853696524),
-    FRAC_CONST(0.95811976910716812),
-    FRAC_CONST(0.95858705450240911),
-    FRAC_CONST(0.95905177347162429),
-    FRAC_CONST(0.95951392477062125),
-    FRAC_CONST(0.95997350716208196),
-    FRAC_CONST(0.96043051941556579),
-    FRAC_CONST(0.96088496030751369),
-    FRAC_CONST(0.96133682862125036),
-    FRAC_CONST(0.96178612314698864),
-    FRAC_CONST(0.96223284268183173),
-    FRAC_CONST(0.9626769860297768),
-    FRAC_CONST(0.96311855200171881),
-    FRAC_CONST(0.96355753941545252),
-    FRAC_CONST(0.96399394709567654),
-    FRAC_CONST(0.96442777387399625),
-    FRAC_CONST(0.96485901858892686),
-    FRAC_CONST(0.96528768008589627),
-    FRAC_CONST(0.96571375721724895),
-    FRAC_CONST(0.96613724884224783),
-    FRAC_CONST(0.96655815382707866),
-    FRAC_CONST(0.96697647104485207),
-    FRAC_CONST(0.96739219937560694),
-    FRAC_CONST(0.96780533770631338),
-    FRAC_CONST(0.96821588493087585),
-    FRAC_CONST(0.9686238399501359),
-    FRAC_CONST(0.96902920167187501),
-    FRAC_CONST(0.96943196901081796),
-    FRAC_CONST(0.96983214088863534),
-    FRAC_CONST(0.9702297162339466),
-    FRAC_CONST(0.97062469398232287),
-    FRAC_CONST(0.97101707307629004),
-    FRAC_CONST(0.97140685246533098),
-    FRAC_CONST(0.97179403110588902),
-    FRAC_CONST(0.97217860796137046),
-    FRAC_CONST(0.97256058200214734),
-    FRAC_CONST(0.97293995220556007),
-    FRAC_CONST(0.97331671755592064),
-    FRAC_CONST(0.97369087704451474),
-    FRAC_CONST(0.97406242966960455),
-    FRAC_CONST(0.97443137443643235),
-    FRAC_CONST(0.97479771035722163),
-    FRAC_CONST(0.97516143645118103),
-    FRAC_CONST(0.97552255174450631),
-    FRAC_CONST(0.97588105527038305),
-    FRAC_CONST(0.97623694606898959),
-    FRAC_CONST(0.97659022318749911),
-    FRAC_CONST(0.97694088568008242),
-    FRAC_CONST(0.97728893260791039),
-    FRAC_CONST(0.97763436303915685),
-    FRAC_CONST(0.97797717604900047),
-    FRAC_CONST(0.97831737071962765),
-    FRAC_CONST(0.97865494614023485),
-    FRAC_CONST(0.97898990140703124),
-    FRAC_CONST(0.97932223562324061),
-    FRAC_CONST(0.97965194789910426),
-    FRAC_CONST(0.9799790373518833),
-    FRAC_CONST(0.98030350310586067),
-    FRAC_CONST(0.98062534429234405),
-    FRAC_CONST(0.98094456004966768),
-    FRAC_CONST(0.98126114952319499),
-    FRAC_CONST(0.98157511186532054),
-    FRAC_CONST(0.98188644623547261),
-    FRAC_CONST(0.98219515180011563),
-    FRAC_CONST(0.98250122773275184),
-    FRAC_CONST(0.98280467321392362),
-    FRAC_CONST(0.98310548743121629),
-    FRAC_CONST(0.98340366957925973),
-    FRAC_CONST(0.98369921885973044),
-    FRAC_CONST(0.98399213448135414),
-    FRAC_CONST(0.98428241565990748),
-    FRAC_CONST(0.98457006161822058),
-    FRAC_CONST(0.98485507158617835),
-    FRAC_CONST(0.98513744480072363),
-    FRAC_CONST(0.98541718050585803),
-    FRAC_CONST(0.98569427795264519),
-    FRAC_CONST(0.98596873639921168),
-    FRAC_CONST(0.98624055511074971),
-    FRAC_CONST(0.98650973335951875),
-    FRAC_CONST(0.98677627042484772),
-    FRAC_CONST(0.98704016559313645),
-    FRAC_CONST(0.98730141815785832),
-    FRAC_CONST(0.98756002741956173),
-    FRAC_CONST(0.9878159926858715),
-    FRAC_CONST(0.98806931327149194),
-    FRAC_CONST(0.98831998849820735),
-    FRAC_CONST(0.98856801769488489),
-    FRAC_CONST(0.98881340019747566),
-    FRAC_CONST(0.98905613534901682),
-    FRAC_CONST(0.98929622249963345),
-    FRAC_CONST(0.98953366100653983),
-    FRAC_CONST(0.98976845023404181),
-    FRAC_CONST(0.99000058955353776),
-    FRAC_CONST(0.99023007834352106),
-    FRAC_CONST(0.99045691598958097),
-    FRAC_CONST(0.99068110188440506),
-    FRAC_CONST(0.99090263542778001),
-    FRAC_CONST(0.99112151602659404),
-    FRAC_CONST(0.99133774309483769),
-    FRAC_CONST(0.99155131605360625),
-    FRAC_CONST(0.99176223433110056),
-    FRAC_CONST(0.99197049736262888),
-    FRAC_CONST(0.99217610459060845),
-    FRAC_CONST(0.99237905546456673),
-    FRAC_CONST(0.99257934944114334),
-    FRAC_CONST(0.99277698598409092),
-    FRAC_CONST(0.99297196456427694),
-    FRAC_CONST(0.99316428465968509),
-    FRAC_CONST(0.99335394575541669),
-    FRAC_CONST(0.99354094734369169),
-    FRAC_CONST(0.99372528892385081),
-    FRAC_CONST(0.99390697000235606),
-    FRAC_CONST(0.99408599009279242),
-    FRAC_CONST(0.99426234871586938),
-    FRAC_CONST(0.99443604539942176),
-    FRAC_CONST(0.99460707967841133),
-    FRAC_CONST(0.99477545109492771),
-    FRAC_CONST(0.99494115919819004),
-    FRAC_CONST(0.99510420354454787),
-    FRAC_CONST(0.99526458369748239),
-    FRAC_CONST(0.99542229922760772),
-    FRAC_CONST(0.99557734971267187),
-    FRAC_CONST(0.9957297347375581),
-    FRAC_CONST(0.99587945389428578),
-    FRAC_CONST(0.99602650678201154),
-    FRAC_CONST(0.99617089300703077),
-    FRAC_CONST(0.996312612182778),
-    FRAC_CONST(0.99645166392982831),
-    FRAC_CONST(0.99658804787589839),
-    FRAC_CONST(0.99672176365584741),
-    FRAC_CONST(0.99685281091167788),
-    FRAC_CONST(0.99698118929253687),
-    FRAC_CONST(0.99710689845471678),
-    FRAC_CONST(0.99722993806165661),
-    FRAC_CONST(0.99735030778394196),
-    FRAC_CONST(0.99746800729930707),
-    FRAC_CONST(0.99758303629263489),
-    FRAC_CONST(0.99769539445595812),
-    FRAC_CONST(0.99780508148846014),
-    FRAC_CONST(0.99791209709647588),
-    FRAC_CONST(0.99801644099349218),
-    FRAC_CONST(0.99811811290014918),
-    FRAC_CONST(0.9982171125442405),
-    FRAC_CONST(0.9983134396607144),
-    FRAC_CONST(0.99840709399167404),
-    FRAC_CONST(0.99849807528637868),
-    FRAC_CONST(0.99858638330124405),
-    FRAC_CONST(0.99867201779984294),
-    FRAC_CONST(0.99875497855290607),
-    FRAC_CONST(0.99883526533832245),
-    FRAC_CONST(0.99891287794114036),
-    FRAC_CONST(0.99898781615356746),
-    FRAC_CONST(0.99906007977497147),
-    FRAC_CONST(0.99912966861188113),
-    FRAC_CONST(0.99919658247798593),
-    FRAC_CONST(0.99926082119413751),
-    FRAC_CONST(0.99932238458834954),
-    FRAC_CONST(0.999381272495798),
-    FRAC_CONST(0.99943748475882255),
-    FRAC_CONST(0.9994910212269259),
-    FRAC_CONST(0.99954188175677483),
-    FRAC_CONST(0.99959006621220048),
-    FRAC_CONST(0.99963557446419837),
-    FRAC_CONST(0.99967840639092931),
-    FRAC_CONST(0.99971856187771946),
-    FRAC_CONST(0.99975604081706027),
-    FRAC_CONST(0.99979084310860955),
-    FRAC_CONST(0.99982296865919107),
-    FRAC_CONST(0.99985241738279484),
-    FRAC_CONST(0.99987918920057806),
-    FRAC_CONST(0.99990328404086426),
-    FRAC_CONST(0.9999247018391445),
-    FRAC_CONST(0.99994344253807688),
-    FRAC_CONST(0.99995950608748674),
-    FRAC_CONST(0.99997289244436727),
-    FRAC_CONST(0.99998360157287902),
-    FRAC_CONST(0.9999916334443506),
-    FRAC_CONST(0.99999698803727821),
-    FRAC_CONST(0.99999966533732598)
-};
-#endif
-
-ALIGN static const real_t sine_short_128[] =
-{
-    FRAC_CONST(0.0061358846491544753),
-    FRAC_CONST(0.01840672990580482),
-    FRAC_CONST(0.030674803176636626),
-    FRAC_CONST(0.04293825693494082),
-    FRAC_CONST(0.055195244349689934),
-    FRAC_CONST(0.067443919563664051),
-    FRAC_CONST(0.079682437971430126),
-    FRAC_CONST(0.091908956497132724),
-    FRAC_CONST(0.10412163387205459),
-    FRAC_CONST(0.11631863091190475),
-    FRAC_CONST(0.12849811079379317),
-    FRAC_CONST(0.14065823933284921),
-    FRAC_CONST(0.15279718525844344),
-    FRAC_CONST(0.16491312048996989),
-    FRAC_CONST(0.17700422041214875),
-    FRAC_CONST(0.18906866414980619),
-    FRAC_CONST(0.2011046348420919),
-    FRAC_CONST(0.21311031991609136),
-    FRAC_CONST(0.22508391135979283),
-    FRAC_CONST(0.2370236059943672),
-    FRAC_CONST(0.24892760574572015),
-    FRAC_CONST(0.26079411791527551),
-    FRAC_CONST(0.27262135544994898),
-    FRAC_CONST(0.28440753721127188),
-    FRAC_CONST(0.29615088824362379),
-    FRAC_CONST(0.30784964004153487),
-    FRAC_CONST(0.31950203081601569),
-    FRAC_CONST(0.33110630575987643),
-    FRAC_CONST(0.34266071731199438),
-    FRAC_CONST(0.35416352542049034),
-    FRAC_CONST(0.36561299780477385),
-    FRAC_CONST(0.37700741021641826),
-    FRAC_CONST(0.38834504669882625),
-    FRAC_CONST(0.39962419984564679),
-    FRAC_CONST(0.41084317105790391),
-    FRAC_CONST(0.42200027079979968),
-    FRAC_CONST(0.43309381885315196),
-    FRAC_CONST(0.4441221445704292),
-    FRAC_CONST(0.45508358712634384),
-    FRAC_CONST(0.46597649576796618),
-    FRAC_CONST(0.47679923006332209),
-    FRAC_CONST(0.487550160148436),
-    FRAC_CONST(0.49822766697278187),
-    FRAC_CONST(0.50883014254310699),
-    FRAC_CONST(0.51935599016558964),
-    FRAC_CONST(0.52980362468629461),
-    FRAC_CONST(0.54017147272989285),
-    FRAC_CONST(0.55045797293660481),
-    FRAC_CONST(0.56066157619733603),
-    FRAC_CONST(0.57078074588696726),
-    FRAC_CONST(0.58081395809576453),
-    FRAC_CONST(0.59075970185887416),
-    FRAC_CONST(0.60061647938386897),
-    FRAC_CONST(0.61038280627630948),
-    FRAC_CONST(0.6200572117632891),
-    FRAC_CONST(0.62963823891492698),
-    FRAC_CONST(0.63912444486377573),
-    FRAC_CONST(0.64851440102211244),
-    FRAC_CONST(0.65780669329707864),
-    FRAC_CONST(0.66699992230363747),
-    FRAC_CONST(0.67609270357531592),
-    FRAC_CONST(0.68508366777270036),
-    FRAC_CONST(0.693971460889654),
-    FRAC_CONST(0.7027547444572253),
-    FRAC_CONST(0.71143219574521643),
-    FRAC_CONST(0.72000250796138165),
-    FRAC_CONST(0.7284643904482252),
-    FRAC_CONST(0.73681656887736979),
-    FRAC_CONST(0.74505778544146595),
-    FRAC_CONST(0.75318679904361241),
-    FRAC_CONST(0.76120238548426178),
-    FRAC_CONST(0.76910333764557959),
-    FRAC_CONST(0.77688846567323244),
-    FRAC_CONST(0.78455659715557524),
-    FRAC_CONST(0.79210657730021239),
-    FRAC_CONST(0.79953726910790501),
-    FRAC_CONST(0.80684755354379922),
-    FRAC_CONST(0.8140363297059483),
-    FRAC_CONST(0.82110251499110465),
-    FRAC_CONST(0.8280450452577558),
-    FRAC_CONST(0.83486287498638001),
-    FRAC_CONST(0.84155497743689833),
-    FRAC_CONST(0.84812034480329712),
-    FRAC_CONST(0.85455798836540053),
-    FRAC_CONST(0.86086693863776731),
-    FRAC_CONST(0.86704624551569265),
-    FRAC_CONST(0.87309497841829009),
-    FRAC_CONST(0.87901222642863341),
-    FRAC_CONST(0.88479709843093779),
-    FRAC_CONST(0.89044872324475788),
-    FRAC_CONST(0.89596624975618511),
-    FRAC_CONST(0.90134884704602203),
-    FRAC_CONST(0.90659570451491533),
-    FRAC_CONST(0.91170603200542988),
-    FRAC_CONST(0.9166790599210427),
-    FRAC_CONST(0.9215140393420419),
-    FRAC_CONST(0.92621024213831127),
-    FRAC_CONST(0.93076696107898371),
-    FRAC_CONST(0.9351835099389475),
-    FRAC_CONST(0.93945922360218992),
-    FRAC_CONST(0.94359345816196039),
-    FRAC_CONST(0.94758559101774109),
-    FRAC_CONST(0.95143502096900834),
-    FRAC_CONST(0.95514116830577067),
-    FRAC_CONST(0.9587034748958716),
-    FRAC_CONST(0.96212140426904158),
-    FRAC_CONST(0.9653944416976894),
-    FRAC_CONST(0.96852209427441727),
-    FRAC_CONST(0.97150389098625178),
-    FRAC_CONST(0.97433938278557586),
-    FRAC_CONST(0.97702814265775439),
-    FRAC_CONST(0.97956976568544052),
-    FRAC_CONST(0.98196386910955524),
-    FRAC_CONST(0.98421009238692903),
-    FRAC_CONST(0.98630809724459867),
-    FRAC_CONST(0.98825756773074946),
-    FRAC_CONST(0.99005821026229712),
-    FRAC_CONST(0.99170975366909953),
-    FRAC_CONST(0.9932119492347945),
-    FRAC_CONST(0.99456457073425542),
-    FRAC_CONST(0.99576741446765982),
-    FRAC_CONST(0.99682029929116567),
-    FRAC_CONST(0.99772306664419164),
-    FRAC_CONST(0.99847558057329477),
-    FRAC_CONST(0.99907772775264536),
-    FRAC_CONST(0.99952941750109314),
-    FRAC_CONST(0.9998305817958234),
-    FRAC_CONST(0.99998117528260111)
-};
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-ALIGN static const real_t sine_short_120[] =
-{
-    FRAC_CONST(0.0065449379673518581),
-    FRAC_CONST(0.019633692460628301),
-    FRAC_CONST(0.032719082821776137),
-    FRAC_CONST(0.045798866936520771),
-    FRAC_CONST(0.058870803651189033),
-    FRAC_CONST(0.071932653156719387),
-    FRAC_CONST(0.084982177372441667),
-    FRAC_CONST(0.09801714032956059),
-    FRAC_CONST(0.11103530855427769),
-    FRAC_CONST(0.12403445145048532),
-    FRAC_CONST(0.13701234168196802),
-    FRAC_CONST(0.14996675555404498),
-    FRAC_CONST(0.16289547339458874),
-    FRAC_CONST(0.17579627993435451),
-    FRAC_CONST(0.18866696468655525),
-    FRAC_CONST(0.2015053223256171),
-    FRAC_CONST(0.21430915306505074),
-    FRAC_CONST(0.2270762630343732),
-    FRAC_CONST(0.23980446465501654),
-    FRAC_CONST(0.25249157701515795),
-    FRAC_CONST(0.26513542624340797),
-    FRAC_CONST(0.27773384588129219),
-    FRAC_CONST(0.29028467725446233),
-    FRAC_CONST(0.3027857698425746),
-    FRAC_CONST(0.31523498164776964),
-    FRAC_CONST(0.32763017956169349),
-    FRAC_CONST(0.33996923973099424),
-    FRAC_CONST(0.35225004792123354),
-    FRAC_CONST(0.36447049987914965),
-    FRAC_CONST(0.37662850169321077),
-    FRAC_CONST(0.38872197015239557),
-    FRAC_CONST(0.40074883310314097),
-    FRAC_CONST(0.41270702980439467),
-    FRAC_CONST(0.42459451128071307),
-    FRAC_CONST(0.43640924067334208),
-    FRAC_CONST(0.44814919358922256),
-    FRAC_CONST(0.45981235844785984),
-    FRAC_CONST(0.47139673682599764),
-    FRAC_CONST(0.48290034380003727),
-    FRAC_CONST(0.49432120828614462),
-    FRAC_CONST(0.50565737337798455),
-    FRAC_CONST(0.51690689668202761),
-    FRAC_CONST(0.52806785065036799),
-    FRAC_CONST(0.53913832291100017),
-    FRAC_CONST(0.55011641659549337),
-    FRAC_CONST(0.56100025066400983),
-    FRAC_CONST(0.57178796022761225),
-    FRAC_CONST(0.58247769686780215),
-    FRAC_CONST(0.59306762895323706),
-    FRAC_CONST(0.60355594195357143),
-    FRAC_CONST(0.61394083875036642),
-    FRAC_CONST(0.62422053994501758),
-    FRAC_CONST(0.63439328416364549),
-    FRAC_CONST(0.64445732835889735),
-    FRAC_CONST(0.65441094810861034),
-    FRAC_CONST(0.66425243791128175),
-    FRAC_CONST(0.67398011147829784),
-    FRAC_CONST(0.68359230202287125),
-    FRAC_CONST(0.69308736254563585),
-    FRAC_CONST(0.70246366611685174),
-    FRAC_CONST(0.71171960615517138),
-    FRAC_CONST(0.72085359670291882),
-    FRAC_CONST(0.7298640726978356),
-    FRAC_CONST(0.73874949024124625),
-    FRAC_CONST(0.74750832686259672),
-    FRAC_CONST(0.75613908178032285),
-    FRAC_CONST(0.76464027615900032),
-    FRAC_CONST(0.77301045336273699),
-    FRAC_CONST(0.78124817920475853),
-    FRAC_CONST(0.78935204219315003),
-    FRAC_CONST(0.79732065377270711),
-    FRAC_CONST(0.80515264856285829),
-    FRAC_CONST(0.81284668459161513),
-    FRAC_CONST(0.82040144352551359),
-    FRAC_CONST(0.82781563089550203),
-    FRAC_CONST(0.83508797631874299),
-    FRAC_CONST(0.84221723371628654),
-    FRAC_CONST(0.84920218152657889),
-    FRAC_CONST(0.85604162291477137),
-    FRAC_CONST(0.86273438597779184),
-    FRAC_CONST(0.86927932394514362),
-    FRAC_CONST(0.87567531537539967),
-    FRAC_CONST(0.88192126434835494),
-    FRAC_CONST(0.88801610065280734),
-    FRAC_CONST(0.89395877996993212),
-    FRAC_CONST(0.8997482840522214),
-    FRAC_CONST(0.90538362089795521),
-    FRAC_CONST(0.91086382492117568),
-    FRAC_CONST(0.91618795711713596),
-    FRAC_CONST(0.92135510522319242),
-    FRAC_CONST(0.9263643838751181),
-    FRAC_CONST(0.93121493475880346),
-    FRAC_CONST(0.93590592675732565),
-    FRAC_CONST(0.94043655609335486),
-    FRAC_CONST(0.94480604646687805),
-    FRAC_CONST(0.94901364918821385),
-    FRAC_CONST(0.95305864330629697),
-    FRAC_CONST(0.95694033573220882),
-    FRAC_CONST(0.9606580613579353),
-    FRAC_CONST(0.96421118317032928),
-    FRAC_CONST(0.96759909236025976),
-    FRAC_CONST(0.9708212084269281),
-    FRAC_CONST(0.97387697927733363),
-    FRAC_CONST(0.97676588132087239),
-    FRAC_CONST(0.97948741955905139),
-    FRAC_CONST(0.98204112767030394),
-    FRAC_CONST(0.98442656808989171),
-    FRAC_CONST(0.98664333208487898),
-    FRAC_CONST(0.98869103982416728),
-    FRAC_CONST(0.99056934044357725),
-    FRAC_CONST(0.99227791210596705),
-    FRAC_CONST(0.99381646205637808),
-    FRAC_CONST(0.99518472667219682),
-    FRAC_CONST(0.99638247150832537),
-    FRAC_CONST(0.99740949133735191),
-    FRAC_CONST(0.99826561018471593),
-    FRAC_CONST(0.99895068135886012),
-    FRAC_CONST(0.99946458747636568),
-    FRAC_CONST(0.99980724048206482),
-    FRAC_CONST(0.99997858166412923)
-};
-#endif
-
-#ifdef LD_DEC
-ALIGN static const real_t sine_mid_512[] =
-{
-    FRAC_CONST(0.0015339801862847655),
-    FRAC_CONST(0.0046019261204485705),
-    FRAC_CONST(0.007669828739531097),
-    FRAC_CONST(0.010737659167264491),
-    FRAC_CONST(0.013805388528060391),
-    FRAC_CONST(0.01687298794728171),
-    FRAC_CONST(0.019940428551514441),
-    FRAC_CONST(0.023007681468839369),
-    FRAC_CONST(0.026074717829103901),
-    FRAC_CONST(0.029141508764193722),
-    FRAC_CONST(0.032208025408304586),
-    FRAC_CONST(0.035274238898213947),
-    FRAC_CONST(0.038340120373552694),
-    FRAC_CONST(0.041405640977076739),
-    FRAC_CONST(0.044470771854938668),
-    FRAC_CONST(0.047535484156959303),
-    FRAC_CONST(0.050599749036899282),
-    FRAC_CONST(0.05366353765273052),
-    FRAC_CONST(0.056726821166907748),
-    FRAC_CONST(0.059789570746639868),
-    FRAC_CONST(0.062851757564161406),
-    FRAC_CONST(0.065913352797003805),
-    FRAC_CONST(0.068974327628266746),
-    FRAC_CONST(0.072034653246889332),
-    FRAC_CONST(0.075094300847921305),
-    FRAC_CONST(0.078153241632794232),
-    FRAC_CONST(0.081211446809592441),
-    FRAC_CONST(0.084268887593324071),
-    FRAC_CONST(0.087325535206192059),
-    FRAC_CONST(0.090381360877864983),
-    FRAC_CONST(0.093436335845747787),
-    FRAC_CONST(0.096490431355252593),
-    FRAC_CONST(0.099543618660069319),
-    FRAC_CONST(0.10259586902243628),
-    FRAC_CONST(0.10564715371341062),
-    FRAC_CONST(0.10869744401313872),
-    FRAC_CONST(0.11174671121112659),
-    FRAC_CONST(0.11479492660651008),
-    FRAC_CONST(0.11784206150832498),
-    FRAC_CONST(0.12088808723577708),
-    FRAC_CONST(0.12393297511851216),
-    FRAC_CONST(0.12697669649688587),
-    FRAC_CONST(0.13001922272223335),
-    FRAC_CONST(0.13306052515713906),
-    FRAC_CONST(0.1361005751757062),
-    FRAC_CONST(0.1391393441638262),
-    FRAC_CONST(0.14217680351944803),
-    FRAC_CONST(0.14521292465284746),
-    FRAC_CONST(0.14824767898689603),
-    FRAC_CONST(0.15128103795733022),
-    FRAC_CONST(0.1543129730130201),
-    FRAC_CONST(0.15734345561623825),
-    FRAC_CONST(0.16037245724292828),
-    FRAC_CONST(0.16339994938297323),
-    FRAC_CONST(0.1664259035404641),
-    FRAC_CONST(0.16945029123396796),
-    FRAC_CONST(0.17247308399679595),
-    FRAC_CONST(0.17549425337727143),
-    FRAC_CONST(0.17851377093899751),
-    FRAC_CONST(0.18153160826112497),
-    FRAC_CONST(0.18454773693861962),
-    FRAC_CONST(0.1875621285825296),
-    FRAC_CONST(0.19057475482025274),
-    FRAC_CONST(0.19358558729580361),
-    FRAC_CONST(0.19659459767008022),
-    FRAC_CONST(0.19960175762113097),
-    FRAC_CONST(0.20260703884442113),
-    FRAC_CONST(0.20561041305309924),
-    FRAC_CONST(0.20861185197826349),
-    FRAC_CONST(0.21161132736922755),
-    FRAC_CONST(0.21460881099378676),
-    FRAC_CONST(0.21760427463848364),
-    FRAC_CONST(0.22059769010887351),
-    FRAC_CONST(0.22358902922978999),
-    FRAC_CONST(0.22657826384561),
-    FRAC_CONST(0.22956536582051887),
-    FRAC_CONST(0.23255030703877524),
-    FRAC_CONST(0.23553305940497549),
-    FRAC_CONST(0.23851359484431842),
-    FRAC_CONST(0.24149188530286933),
-    FRAC_CONST(0.24446790274782415),
-    FRAC_CONST(0.24744161916777327),
-    FRAC_CONST(0.25041300657296522),
-    FRAC_CONST(0.25338203699557016),
-    FRAC_CONST(0.25634868248994291),
-    FRAC_CONST(0.25931291513288623),
-    FRAC_CONST(0.26227470702391359),
-    FRAC_CONST(0.26523403028551179),
-    FRAC_CONST(0.26819085706340318),
-    FRAC_CONST(0.27114515952680801),
-    FRAC_CONST(0.27409690986870638),
-    FRAC_CONST(0.2770460803060999),
-    FRAC_CONST(0.27999264308027322),
-    FRAC_CONST(0.28293657045705539),
-    FRAC_CONST(0.28587783472708062),
-    FRAC_CONST(0.28881640820604948),
-    FRAC_CONST(0.29175226323498926),
-    FRAC_CONST(0.29468537218051433),
-    FRAC_CONST(0.2976157074350862),
-    FRAC_CONST(0.30054324141727345),
-    FRAC_CONST(0.30346794657201132),
-    FRAC_CONST(0.30638979537086092),
-    FRAC_CONST(0.30930876031226873),
-    FRAC_CONST(0.31222481392182488),
-    FRAC_CONST(0.31513792875252244),
-    FRAC_CONST(0.31804807738501495),
-    FRAC_CONST(0.32095523242787521),
-    FRAC_CONST(0.32385936651785285),
-    FRAC_CONST(0.32676045232013173),
-    FRAC_CONST(0.32965846252858749),
-    FRAC_CONST(0.33255336986604422),
-    FRAC_CONST(0.3354451470845316),
-    FRAC_CONST(0.33833376696554113),
-    FRAC_CONST(0.34121920232028236),
-    FRAC_CONST(0.34410142598993881),
-    FRAC_CONST(0.34698041084592368),
-    FRAC_CONST(0.34985612979013492),
-    FRAC_CONST(0.35272855575521073),
-    FRAC_CONST(0.35559766170478385),
-    FRAC_CONST(0.35846342063373654),
-    FRAC_CONST(0.36132580556845428),
-    FRAC_CONST(0.36418478956707989),
-    FRAC_CONST(0.36704034571976718),
-    FRAC_CONST(0.3698924471489341),
-    FRAC_CONST(0.37274106700951576),
-    FRAC_CONST(0.37558617848921722),
-    FRAC_CONST(0.37842775480876556),
-    FRAC_CONST(0.38126576922216238),
-    FRAC_CONST(0.38410019501693504),
-    FRAC_CONST(0.38693100551438858),
-    FRAC_CONST(0.38975817406985641),
-    FRAC_CONST(0.39258167407295147),
-    FRAC_CONST(0.39540147894781635),
-    FRAC_CONST(0.39821756215337356),
-    FRAC_CONST(0.40102989718357562),
-    FRAC_CONST(0.40383845756765407),
-    FRAC_CONST(0.40664321687036903),
-    FRAC_CONST(0.40944414869225759),
-    FRAC_CONST(0.41224122666988289),
-    FRAC_CONST(0.41503442447608163),
-    FRAC_CONST(0.41782371582021227),
-    FRAC_CONST(0.42060907444840251),
-    FRAC_CONST(0.42339047414379605),
-    FRAC_CONST(0.42616788872679962),
-    FRAC_CONST(0.42894129205532949),
-    FRAC_CONST(0.43171065802505726),
-    FRAC_CONST(0.43447596056965565),
-    FRAC_CONST(0.43723717366104409),
-    FRAC_CONST(0.43999427130963326),
-    FRAC_CONST(0.44274722756457002),
-    FRAC_CONST(0.44549601651398174),
-    FRAC_CONST(0.44824061228521989),
-    FRAC_CONST(0.45098098904510386),
-    FRAC_CONST(0.45371712100016387),
-    FRAC_CONST(0.45644898239688392),
-    FRAC_CONST(0.45917654752194409),
-    FRAC_CONST(0.46189979070246273),
-    FRAC_CONST(0.46461868630623782),
-    FRAC_CONST(0.46733320874198842),
-    FRAC_CONST(0.47004333245959562),
-    FRAC_CONST(0.47274903195034279),
-    FRAC_CONST(0.47545028174715587),
-    FRAC_CONST(0.47814705642484301),
-    FRAC_CONST(0.48083933060033396),
-    FRAC_CONST(0.48352707893291874),
-    FRAC_CONST(0.48621027612448642),
-    FRAC_CONST(0.48888889691976317),
-    FRAC_CONST(0.4915629161065499),
-    FRAC_CONST(0.49423230851595967),
-    FRAC_CONST(0.49689704902265447),
-    FRAC_CONST(0.49955711254508184),
-    FRAC_CONST(0.50221247404571079),
-    FRAC_CONST(0.50486310853126759),
-    FRAC_CONST(0.50750899105297087),
-    FRAC_CONST(0.51015009670676681),
-    FRAC_CONST(0.51278640063356296),
-    FRAC_CONST(0.51541787801946293),
-    FRAC_CONST(0.51804450409599934),
-    FRAC_CONST(0.52066625414036716),
-    FRAC_CONST(0.52328310347565643),
-    FRAC_CONST(0.52589502747108463),
-    FRAC_CONST(0.52850200154222848),
-    FRAC_CONST(0.531104001151255),
-    FRAC_CONST(0.53370100180715296),
-    FRAC_CONST(0.53629297906596318),
-    FRAC_CONST(0.53887990853100842),
-    FRAC_CONST(0.54146176585312344),
-    FRAC_CONST(0.54403852673088382),
-    FRAC_CONST(0.54661016691083486),
-    FRAC_CONST(0.54917666218771966),
-    FRAC_CONST(0.55173798840470734),
-    FRAC_CONST(0.55429412145362),
-    FRAC_CONST(0.5568450372751601),
-    FRAC_CONST(0.55939071185913614),
-    FRAC_CONST(0.56193112124468947),
-    FRAC_CONST(0.5644662415205195),
-    FRAC_CONST(0.56699604882510868),
-    FRAC_CONST(0.56952051934694714),
-    FRAC_CONST(0.57203962932475705),
-    FRAC_CONST(0.57455335504771576),
-    FRAC_CONST(0.57706167285567944),
-    FRAC_CONST(0.57956455913940563),
-    FRAC_CONST(0.58206199034077544),
-    FRAC_CONST(0.58455394295301533),
-    FRAC_CONST(0.58704039352091797),
-    FRAC_CONST(0.58952131864106394),
-    FRAC_CONST(0.59199669496204099),
-    FRAC_CONST(0.59446649918466443),
-    FRAC_CONST(0.5969307080621965),
-    FRAC_CONST(0.59938929840056454),
-    FRAC_CONST(0.60184224705858003),
-    FRAC_CONST(0.60428953094815596),
-    FRAC_CONST(0.60673112703452448),
-    FRAC_CONST(0.60916701233645321),
-    FRAC_CONST(0.61159716392646191),
-    FRAC_CONST(0.61402155893103838),
-    FRAC_CONST(0.61644017453085365),
-    FRAC_CONST(0.61885298796097632),
-    FRAC_CONST(0.62125997651108755),
-    FRAC_CONST(0.62366111752569453),
-    FRAC_CONST(0.62605638840434352),
-    FRAC_CONST(0.62844576660183271),
-    FRAC_CONST(0.63082922962842447),
-    FRAC_CONST(0.63320675505005719),
-    FRAC_CONST(0.63557832048855611),
-    FRAC_CONST(0.63794390362184406),
-    FRAC_CONST(0.64030348218415167),
-    FRAC_CONST(0.64265703396622686),
-    FRAC_CONST(0.64500453681554393),
-    FRAC_CONST(0.64734596863651206),
-    FRAC_CONST(0.64968130739068319),
-    FRAC_CONST(0.6520105310969595),
-    FRAC_CONST(0.65433361783180044),
-    FRAC_CONST(0.65665054572942894),
-    FRAC_CONST(0.65896129298203732),
-    FRAC_CONST(0.66126583783999227),
-    FRAC_CONST(0.66356415861203977),
-    FRAC_CONST(0.66585623366550972),
-    FRAC_CONST(0.66814204142651845),
-    FRAC_CONST(0.67042156038017309),
-    FRAC_CONST(0.67269476907077286),
-    FRAC_CONST(0.67496164610201193),
-    FRAC_CONST(0.67722217013718033),
-    FRAC_CONST(0.67947631989936497),
-    FRAC_CONST(0.68172407417164971),
-    FRAC_CONST(0.6839654117973154),
-    FRAC_CONST(0.68620031168003859),
-    FRAC_CONST(0.68842875278409044),
-    FRAC_CONST(0.6906507141345346),
-    FRAC_CONST(0.69286617481742463),
-    FRAC_CONST(0.69507511398000088),
-    FRAC_CONST(0.69727751083088652),
-    FRAC_CONST(0.69947334464028377),
-    FRAC_CONST(0.70166259474016845),
-    FRAC_CONST(0.70384524052448494),
-    FRAC_CONST(0.70602126144933974),
-    FRAC_CONST(0.70819063703319529),
-    FRAC_CONST(0.71035334685706231),
-    FRAC_CONST(0.71250937056469232),
-    FRAC_CONST(0.71465868786276898),
-    FRAC_CONST(0.71680127852109954),
-    FRAC_CONST(0.71893712237280438),
-    FRAC_CONST(0.72106619931450811),
-    FRAC_CONST(0.72318848930652735),
-    FRAC_CONST(0.72530397237306066),
-    FRAC_CONST(0.72741262860237577),
-    FRAC_CONST(0.7295144381469969),
-    FRAC_CONST(0.73160938122389252),
-    FRAC_CONST(0.73369743811466026),
-    FRAC_CONST(0.73577858916571348),
-    FRAC_CONST(0.73785281478846598),
-    FRAC_CONST(0.73992009545951609),
-    FRAC_CONST(0.74198041172083096),
-    FRAC_CONST(0.74403374417992918),
-    FRAC_CONST(0.74608007351006378),
-    FRAC_CONST(0.74811938045040349),
-    FRAC_CONST(0.75015164580621496),
-    FRAC_CONST(0.7521768504490427),
-    FRAC_CONST(0.75419497531688917),
-    FRAC_CONST(0.75620600141439454),
-    FRAC_CONST(0.75820990981301528),
-    FRAC_CONST(0.76020668165120242),
-    FRAC_CONST(0.7621962981345789),
-    FRAC_CONST(0.76417874053611667),
-    FRAC_CONST(0.76615399019631281),
-    FRAC_CONST(0.76812202852336531),
-    FRAC_CONST(0.7700828369933479),
-    FRAC_CONST(0.77203639715038441),
-    FRAC_CONST(0.77398269060682279),
-    FRAC_CONST(0.77592169904340758),
-    FRAC_CONST(0.77785340420945304),
-    FRAC_CONST(0.77977778792301444),
-    FRAC_CONST(0.78169483207105939),
-    FRAC_CONST(0.7836045186096382),
-    FRAC_CONST(0.78550682956405393),
-    FRAC_CONST(0.78740174702903132),
-    FRAC_CONST(0.78928925316888565),
-    FRAC_CONST(0.79116933021769009),
-    FRAC_CONST(0.79304196047944364),
-    FRAC_CONST(0.79490712632823701),
-    FRAC_CONST(0.79676481020841872),
-    FRAC_CONST(0.79861499463476082),
-    FRAC_CONST(0.80045766219262271),
-    FRAC_CONST(0.80229279553811572),
-    FRAC_CONST(0.8041203773982657),
-    FRAC_CONST(0.80594039057117628),
-    FRAC_CONST(0.80775281792619036),
-    FRAC_CONST(0.80955764240405126),
-    FRAC_CONST(0.81135484701706373),
-    FRAC_CONST(0.81314441484925359),
-    FRAC_CONST(0.81492632905652662),
-    FRAC_CONST(0.81670057286682785),
-    FRAC_CONST(0.81846712958029866),
-    FRAC_CONST(0.82022598256943469),
-    FRAC_CONST(0.82197711527924155),
-    FRAC_CONST(0.82372051122739132),
-    FRAC_CONST(0.82545615400437744),
-    FRAC_CONST(0.82718402727366902),
-    FRAC_CONST(0.82890411477186487),
-    FRAC_CONST(0.8306164003088462),
-    FRAC_CONST(0.83232086776792968),
-    FRAC_CONST(0.83401750110601813),
-    FRAC_CONST(0.8357062843537526),
-    FRAC_CONST(0.83738720161566194),
-    FRAC_CONST(0.83906023707031263),
-    FRAC_CONST(0.84072537497045807),
-    FRAC_CONST(0.84238259964318596),
-    FRAC_CONST(0.84403189549006641),
-    FRAC_CONST(0.84567324698729907),
-    FRAC_CONST(0.84730663868585832),
-    FRAC_CONST(0.84893205521163961),
-    FRAC_CONST(0.85054948126560337),
-    FRAC_CONST(0.85215890162391983),
-    FRAC_CONST(0.8537603011381113),
-    FRAC_CONST(0.85535366473519603),
-    FRAC_CONST(0.85693897741782865),
-    FRAC_CONST(0.85851622426444274),
-    FRAC_CONST(0.86008539042939014),
-    FRAC_CONST(0.8616464611430813),
-    FRAC_CONST(0.86319942171212416),
-    FRAC_CONST(0.86474425751946238),
-    FRAC_CONST(0.86628095402451299),
-    FRAC_CONST(0.86780949676330321),
-    FRAC_CONST(0.86932987134860673),
-    FRAC_CONST(0.87084206347007886),
-    FRAC_CONST(0.87234605889439154),
-    FRAC_CONST(0.87384184346536675),
-    FRAC_CONST(0.87532940310411078),
-    FRAC_CONST(0.87680872380914576),
-    FRAC_CONST(0.87827979165654146),
-    FRAC_CONST(0.87974259280004741),
-    FRAC_CONST(0.88119711347122198),
-    FRAC_CONST(0.88264333997956279),
-    FRAC_CONST(0.88408125871263499),
-    FRAC_CONST(0.88551085613619995),
-    FRAC_CONST(0.88693211879434208),
-    FRAC_CONST(0.88834503330959624),
-    FRAC_CONST(0.88974958638307289),
-    FRAC_CONST(0.89114576479458318),
-    FRAC_CONST(0.89253355540276469),
-    FRAC_CONST(0.89391294514520325),
-    FRAC_CONST(0.89528392103855758),
-    FRAC_CONST(0.89664647017868015),
-    FRAC_CONST(0.89800057974073988),
-    FRAC_CONST(0.89934623697934146),
-    FRAC_CONST(0.90068342922864686),
-    FRAC_CONST(0.90201214390249307),
-    FRAC_CONST(0.90333236849451182),
-    FRAC_CONST(0.90464409057824624),
-    FRAC_CONST(0.90594729780726846),
-    FRAC_CONST(0.90724197791529593),
-    FRAC_CONST(0.90852811871630612),
-    FRAC_CONST(0.90980570810465222),
-    FRAC_CONST(0.91107473405517625),
-    FRAC_CONST(0.91233518462332275),
-    FRAC_CONST(0.91358704794525081),
-    FRAC_CONST(0.91483031223794609),
-    FRAC_CONST(0.91606496579933161),
-    FRAC_CONST(0.91729099700837791),
-    FRAC_CONST(0.91850839432521225),
-    FRAC_CONST(0.91971714629122736),
-    FRAC_CONST(0.92091724152918952),
-    FRAC_CONST(0.92210866874334507),
-    FRAC_CONST(0.92329141671952764),
-    FRAC_CONST(0.9244654743252626),
-    FRAC_CONST(0.92563083050987272),
-    FRAC_CONST(0.92678747430458175),
-    FRAC_CONST(0.92793539482261789),
-    FRAC_CONST(0.92907458125931575),
-    FRAC_CONST(0.93020502289221907),
-    FRAC_CONST(0.93132670908118043),
-    FRAC_CONST(0.93243962926846236),
-    FRAC_CONST(0.93354377297883617),
-    FRAC_CONST(0.93463912981968078),
-    FRAC_CONST(0.93572568948108037),
-    FRAC_CONST(0.93680344173592156),
-    FRAC_CONST(0.93787237643998989),
-    FRAC_CONST(0.93893248353206449),
-    FRAC_CONST(0.93998375303401394),
-    FRAC_CONST(0.94102617505088926),
-    FRAC_CONST(0.94205973977101731),
-    FRAC_CONST(0.94308443746609349),
-    FRAC_CONST(0.94410025849127266),
-    FRAC_CONST(0.94510719328526061),
-    FRAC_CONST(0.94610523237040334),
-    FRAC_CONST(0.94709436635277722),
-    FRAC_CONST(0.94807458592227623),
-    FRAC_CONST(0.94904588185270056),
-    FRAC_CONST(0.950008245001843),
-    FRAC_CONST(0.95096166631157508),
-    FRAC_CONST(0.95190613680793223),
-    FRAC_CONST(0.95284164760119872),
-    FRAC_CONST(0.95376818988599033),
-    FRAC_CONST(0.95468575494133834),
-    FRAC_CONST(0.95559433413077111),
-    FRAC_CONST(0.95649391890239499),
-    FRAC_CONST(0.95738450078897586),
-    FRAC_CONST(0.95826607140801767),
-    FRAC_CONST(0.95913862246184189),
-    FRAC_CONST(0.96000214573766585),
-    FRAC_CONST(0.96085663310767966),
-    FRAC_CONST(0.96170207652912254),
-    FRAC_CONST(0.96253846804435916),
-    FRAC_CONST(0.96336579978095405),
-    FRAC_CONST(0.96418406395174572),
-    FRAC_CONST(0.96499325285492032),
-    FRAC_CONST(0.96579335887408357),
-    FRAC_CONST(0.96658437447833312),
-    FRAC_CONST(0.96736629222232851),
-    FRAC_CONST(0.96813910474636233),
-    FRAC_CONST(0.96890280477642887),
-    FRAC_CONST(0.96965738512429245),
-    FRAC_CONST(0.9704028386875555),
-    FRAC_CONST(0.97113915844972509),
-    FRAC_CONST(0.9718663374802794),
-    FRAC_CONST(0.97258436893473221),
-    FRAC_CONST(0.97329324605469825),
-    FRAC_CONST(0.97399296216795583),
-    FRAC_CONST(0.97468351068851067),
-    FRAC_CONST(0.97536488511665687),
-    FRAC_CONST(0.97603707903903902),
-    FRAC_CONST(0.97670008612871184),
-    FRAC_CONST(0.97735390014519996),
-    FRAC_CONST(0.97799851493455714),
-    FRAC_CONST(0.9786339244294231),
-    FRAC_CONST(0.97926012264908202),
-    FRAC_CONST(0.97987710369951764),
-    FRAC_CONST(0.98048486177346938),
-    FRAC_CONST(0.98108339115048659),
-    FRAC_CONST(0.98167268619698311),
-    FRAC_CONST(0.98225274136628937),
-    FRAC_CONST(0.98282355119870524),
-    FRAC_CONST(0.98338511032155118),
-    FRAC_CONST(0.98393741344921892),
-    FRAC_CONST(0.98448045538322093),
-    FRAC_CONST(0.98501423101223984),
-    FRAC_CONST(0.98553873531217606),
-    FRAC_CONST(0.98605396334619544),
-    FRAC_CONST(0.98655991026477541),
-    FRAC_CONST(0.98705657130575097),
-    FRAC_CONST(0.98754394179435923),
-    FRAC_CONST(0.98802201714328353),
-    FRAC_CONST(0.98849079285269659),
-    FRAC_CONST(0.98895026451030299),
-    FRAC_CONST(0.98940042779138038),
-    FRAC_CONST(0.98984127845882053),
-    FRAC_CONST(0.99027281236316911),
-    FRAC_CONST(0.99069502544266463),
-    FRAC_CONST(0.99110791372327678),
-    FRAC_CONST(0.9915114733187439),
-    FRAC_CONST(0.99190570043060933),
-    FRAC_CONST(0.99229059134825737),
-    FRAC_CONST(0.99266614244894802),
-    FRAC_CONST(0.99303235019785141),
-    FRAC_CONST(0.99338921114808065),
-    FRAC_CONST(0.9937367219407246),
-    FRAC_CONST(0.99407487930487937),
-    FRAC_CONST(0.9944036800576791),
-    FRAC_CONST(0.9947231211043257),
-    FRAC_CONST(0.99503319943811863),
-    FRAC_CONST(0.99533391214048228),
-    FRAC_CONST(0.99562525638099431),
-    FRAC_CONST(0.99590722941741172),
-    FRAC_CONST(0.99617982859569687),
-    FRAC_CONST(0.99644305135004263),
-    FRAC_CONST(0.99669689520289606),
-    FRAC_CONST(0.99694135776498216),
-    FRAC_CONST(0.99717643673532619),
-    FRAC_CONST(0.9974021299012753),
-    FRAC_CONST(0.99761843513851955),
-    FRAC_CONST(0.99782535041111164),
-    FRAC_CONST(0.99802287377148624),
-    FRAC_CONST(0.99821100336047819),
-    FRAC_CONST(0.99838973740734016),
-    FRAC_CONST(0.99855907422975931),
-    FRAC_CONST(0.99871901223387294),
-    FRAC_CONST(0.99886954991428356),
-    FRAC_CONST(0.99901068585407338),
-    FRAC_CONST(0.99914241872481691),
-    FRAC_CONST(0.99926474728659442),
-    FRAC_CONST(0.99937767038800285),
-    FRAC_CONST(0.99948118696616695),
-    FRAC_CONST(0.99957529604674922),
-    FRAC_CONST(0.99965999674395922),
-    FRAC_CONST(0.99973528826056168),
-    FRAC_CONST(0.99980116988788426),
-    FRAC_CONST(0.99985764100582386),
-    FRAC_CONST(0.9999047010828529),
-    FRAC_CONST(0.99994234967602391),
-    FRAC_CONST(0.99997058643097414),
-    FRAC_CONST(0.9999894110819284),
-    FRAC_CONST(0.99999882345170188)
-};
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-ALIGN static const real_t sine_mid_480[] =
-{
-    FRAC_CONST(0.0016362454436240478),
-    FRAC_CONST(0.00490871880799799),
-    FRAC_CONST(0.0081811396039371282),
-    FRAC_CONST(0.011453472786443779),
-    FRAC_CONST(0.014725683311458524),
-    FRAC_CONST(0.017997736136235509),
-    FRAC_CONST(0.021269596219717739),
-    FRAC_CONST(0.024541228522912285),
-    FRAC_CONST(0.027812598009265607),
-    FRAC_CONST(0.03108366964503869),
-    FRAC_CONST(0.034354408399682276),
-    FRAC_CONST(0.037624779246211978),
-    FRAC_CONST(0.04089474716158345),
-    FRAC_CONST(0.044164277127067358),
-    FRAC_CONST(0.047433334128624507),
-    FRAC_CONST(0.050701883157280733),
-    FRAC_CONST(0.053969889209501881),
-    FRAC_CONST(0.057237317287568618),
-    FRAC_CONST(0.060504132399951269),
-    FRAC_CONST(0.063770299561684493),
-    FRAC_CONST(0.06703578379474201),
-    FRAC_CONST(0.070300550128411174),
-    FRAC_CONST(0.073564563599667426),
-    FRAC_CONST(0.076827789253548759),
-    FRAC_CONST(0.080090192143530081),
-    FRAC_CONST(0.083351737331897449),
-    FRAC_CONST(0.086612389890122182),
-    FRAC_CONST(0.089872114899234967),
-    FRAC_CONST(0.093130877450199795),
-    FRAC_CONST(0.096388642644287828),
-    FRAC_CONST(0.09964537559345106),
-    FRAC_CONST(0.1029010414206961),
-    FRAC_CONST(0.10615560526045748),
-    FRAC_CONST(0.10940903225897117),
-    FRAC_CONST(0.11266128757464781),
-    FRAC_CONST(0.11591233637844581),
-    FRAC_CONST(0.11916214385424433),
-    FRAC_CONST(0.1224106751992162),
-    FRAC_CONST(0.12565789562420052),
-    FRAC_CONST(0.12890377035407541),
-    FRAC_CONST(0.13214826462813015),
-    FRAC_CONST(0.13539134370043773),
-    FRAC_CONST(0.13863297284022669),
-    FRAC_CONST(0.14187311733225325),
-    FRAC_CONST(0.14511174247717309),
-    FRAC_CONST(0.14834881359191271),
-    FRAC_CONST(0.15158429601004111),
-    FRAC_CONST(0.15481815508214106),
-    FRAC_CONST(0.1580503561761798),
-    FRAC_CONST(0.16128086467788047),
-    FRAC_CONST(0.16450964599109233),
-    FRAC_CONST(0.16773666553816149),
-    FRAC_CONST(0.17096188876030122),
-    FRAC_CONST(0.17418528111796186),
-    FRAC_CONST(0.17740680809120093),
-    FRAC_CONST(0.18062643518005275),
-    FRAC_CONST(0.18384412790489776),
-    FRAC_CONST(0.18705985180683199),
-    FRAC_CONST(0.19027357244803589),
-    FRAC_CONST(0.19348525541214331),
-    FRAC_CONST(0.19669486630460997),
-    FRAC_CONST(0.19990237075308173),
-    FRAC_CONST(0.20310773440776286),
-    FRAC_CONST(0.20631092294178383),
-    FRAC_CONST(0.20951190205156878),
-    FRAC_CONST(0.21271063745720317),
-    FRAC_CONST(0.21590709490280058),
-    FRAC_CONST(0.2191012401568698),
-    FRAC_CONST(0.22229303901268133),
-    FRAC_CONST(0.22548245728863364),
-    FRAC_CONST(0.22866946082861941),
-    FRAC_CONST(0.23185401550239115),
-    FRAC_CONST(0.23503608720592667),
-    FRAC_CONST(0.23821564186179459),
-    FRAC_CONST(0.24139264541951888),
-    FRAC_CONST(0.24456706385594387),
-    FRAC_CONST(0.24773886317559846),
-    FRAC_CONST(0.25090800941106001),
-    FRAC_CONST(0.25407446862331851),
-    FRAC_CONST(0.25723820690213967),
-    FRAC_CONST(0.26039919036642817),
-    FRAC_CONST(0.26355738516459076),
-    FRAC_CONST(0.26671275747489837),
-    FRAC_CONST(0.2698652735058486),
-    FRAC_CONST(0.27301489949652735),
-    FRAC_CONST(0.27616160171697068),
-    FRAC_CONST(0.27930534646852595),
-    FRAC_CONST(0.28244610008421245),
-    FRAC_CONST(0.2855838289290823),
-    FRAC_CONST(0.28871849940058025),
-    FRAC_CONST(0.29185007792890405),
-    FRAC_CONST(0.29497853097736348),
-    FRAC_CONST(0.2981038250427398),
-    FRAC_CONST(0.30122592665564446),
-    FRAC_CONST(0.30434480238087736),
-    FRAC_CONST(0.30746041881778519),
-    FRAC_CONST(0.31057274260061901),
-    FRAC_CONST(0.31368174039889146),
-    FRAC_CONST(0.31678737891773395),
-    FRAC_CONST(0.31988962489825296),
-    FRAC_CONST(0.32298844511788638),
-    FRAC_CONST(0.32608380639075912),
-    FRAC_CONST(0.32917567556803889),
-    FRAC_CONST(0.33226401953829071),
-    FRAC_CONST(0.33534880522783189),
-    FRAC_CONST(0.33842999960108583),
-    FRAC_CONST(0.34150756966093632),
-    FRAC_CONST(0.34458148244908043),
-    FRAC_CONST(0.34765170504638188),
-    FRAC_CONST(0.35071820457322322),
-    FRAC_CONST(0.35378094818985806),
-    FRAC_CONST(0.35683990309676283),
-    FRAC_CONST(0.35989503653498811),
-    FRAC_CONST(0.36294631578650921),
-    FRAC_CONST(0.36599370817457672),
-    FRAC_CONST(0.36903718106406647),
-    FRAC_CONST(0.37207670186182878),
-    FRAC_CONST(0.37511223801703802),
-    FRAC_CONST(0.37814375702154046),
-    FRAC_CONST(0.38117122641020335),
-    FRAC_CONST(0.38419461376126157),
-    FRAC_CONST(0.38721388669666562),
-    FRAC_CONST(0.39022901288242801),
-    FRAC_CONST(0.39323996002896966),
-    FRAC_CONST(0.39624669589146555),
-    FRAC_CONST(0.39924918827019029),
-    FRAC_CONST(0.40224740501086254),
-    FRAC_CONST(0.40524131400498986),
-    FRAC_CONST(0.40823088319021217),
-    FRAC_CONST(0.41121608055064529),
-    FRAC_CONST(0.41419687411722372),
-    FRAC_CONST(0.41717323196804335),
-    FRAC_CONST(0.42014512222870243),
-    FRAC_CONST(0.42311251307264408),
-    FRAC_CONST(0.42607537272149631),
-    FRAC_CONST(0.4290336694454126),
-    FRAC_CONST(0.43198737156341183),
-    FRAC_CONST(0.43493644744371707),
-    FRAC_CONST(0.43788086550409511),
-    FRAC_CONST(0.44082059421219388),
-    FRAC_CONST(0.44375560208588088),
-    FRAC_CONST(0.44668585769357955),
-    FRAC_CONST(0.4496113296546066),
-    FRAC_CONST(0.45253198663950756),
-    FRAC_CONST(0.45544779737039259),
-    FRAC_CONST(0.45835873062127125),
-    FRAC_CONST(0.46126475521838717),
-    FRAC_CONST(0.46416584004055156),
-    FRAC_CONST(0.46706195401947659),
-    FRAC_CONST(0.46995306614010829),
-    FRAC_CONST(0.47283914544095862),
-    FRAC_CONST(0.47572016101443682),
-    FRAC_CONST(0.47859608200718085),
-    FRAC_CONST(0.4814668776203872),
-    FRAC_CONST(0.48433251711014125),
-    FRAC_CONST(0.4871929697877464),
-    FRAC_CONST(0.49004820502005247),
-    FRAC_CONST(0.49289819222978404),
-    FRAC_CONST(0.49574290089586776),
-    FRAC_CONST(0.49858230055375902),
-    FRAC_CONST(0.50141636079576901),
-    FRAC_CONST(0.50424505127138919),
-    FRAC_CONST(0.50706834168761705),
-    FRAC_CONST(0.50988620180928057),
-    FRAC_CONST(0.51269860145936175),
-    FRAC_CONST(0.51550551051931948),
-    FRAC_CONST(0.51830689892941317),
-    FRAC_CONST(0.5211027366890234),
-    FRAC_CONST(0.52389299385697385),
-    FRAC_CONST(0.52667764055185196),
-    FRAC_CONST(0.52945664695232897),
-    FRAC_CONST(0.53222998329747884),
-    FRAC_CONST(0.53499761988709726),
-    FRAC_CONST(0.53775952708201991),
-    FRAC_CONST(0.54051567530443978),
-    FRAC_CONST(0.54326603503822357),
-    FRAC_CONST(0.54601057682922816),
-    FRAC_CONST(0.54874927128561579),
-    FRAC_CONST(0.55148208907816942),
-    FRAC_CONST(0.55420900094060566),
-    FRAC_CONST(0.55692997766988939),
-    FRAC_CONST(0.559644990126546),
-    FRAC_CONST(0.56235400923497314),
-    FRAC_CONST(0.56505700598375252),
-    FRAC_CONST(0.56775395142596052),
-    FRAC_CONST(0.57044481667947822),
-    FRAC_CONST(0.57312957292730071),
-    FRAC_CONST(0.57580819141784534),
-    FRAC_CONST(0.57848064346525996),
-    FRAC_CONST(0.58114690044973039),
-    FRAC_CONST(0.58380693381778626),
-    FRAC_CONST(0.58646071508260733),
-    FRAC_CONST(0.58910821582432815),
-    FRAC_CONST(0.5917494076903429),
-    FRAC_CONST(0.5943842623956086),
-    FRAC_CONST(0.59701275172294799),
-    FRAC_CONST(0.59963484752335228),
-    FRAC_CONST(0.60225052171628191),
-    FRAC_CONST(0.60485974628996786),
-    FRAC_CONST(0.60746249330171098),
-    FRAC_CONST(0.61005873487818185),
-    FRAC_CONST(0.61264844321571899),
-    FRAC_CONST(0.61523159058062682),
-    FRAC_CONST(0.61780814930947225),
-    FRAC_CONST(0.62037809180938108),
-    FRAC_CONST(0.62294139055833397),
-    FRAC_CONST(0.6254980181054608),
-    FRAC_CONST(0.62804794707133416),
-    FRAC_CONST(0.63059115014826372),
-    FRAC_CONST(0.63312760010058777),
-    FRAC_CONST(0.63565726976496484),
-    FRAC_CONST(0.63818013205066515),
-    FRAC_CONST(0.64069615993986073),
-    FRAC_CONST(0.64320532648791406),
-    FRAC_CONST(0.64570760482366729),
-    FRAC_CONST(0.64820296814972966),
-    FRAC_CONST(0.65069138974276486),
-    FRAC_CONST(0.65317284295377676),
-    FRAC_CONST(0.65564730120839498),
-    FRAC_CONST(0.65811473800715958),
-    FRAC_CONST(0.660575126925805),
-    FRAC_CONST(0.66302844161554231),
-    FRAC_CONST(0.6654746558033422),
-    FRAC_CONST(0.66791374329221598),
-    FRAC_CONST(0.67034567796149647),
-    FRAC_CONST(0.67277043376711676),
-    FRAC_CONST(0.67518798474189046),
-    FRAC_CONST(0.67759830499578866),
-    FRAC_CONST(0.68000136871621808),
-    FRAC_CONST(0.68239715016829683),
-    FRAC_CONST(0.6847856236951303),
-    FRAC_CONST(0.68716676371808583),
-    FRAC_CONST(0.68954054473706683),
-    FRAC_CONST(0.69190694133078579),
-    FRAC_CONST(0.69426592815703603),
-    FRAC_CONST(0.69661747995296419),
-    FRAC_CONST(0.69896157153533944),
-    FRAC_CONST(0.70129817780082437),
-    FRAC_CONST(0.7036272737262429),
-    FRAC_CONST(0.70594883436884903),
-    FRAC_CONST(0.70826283486659336),
-    FRAC_CONST(0.71056925043838959),
-    FRAC_CONST(0.71286805638437978),
-    FRAC_CONST(0.71515922808619936),
-    FRAC_CONST(0.71744274100723993),
-    FRAC_CONST(0.71971857069291278),
-    FRAC_CONST(0.7219866927709101),
-    FRAC_CONST(0.72424708295146689),
-    FRAC_CONST(0.72649971702762028),
-    FRAC_CONST(0.72874457087546896),
-    FRAC_CONST(0.73098162045443171),
-    FRAC_CONST(0.73321084180750484),
-    FRAC_CONST(0.73543221106151868),
-    FRAC_CONST(0.73764570442739286),
-    FRAC_CONST(0.73985129820039208),
-    FRAC_CONST(0.74204896876037885),
-    FRAC_CONST(0.7442386925720671),
-    FRAC_CONST(0.74642044618527381),
-    FRAC_CONST(0.74859420623517081),
-    FRAC_CONST(0.75075994944253421),
-    FRAC_CONST(0.75291765261399446),
-    FRAC_CONST(0.75506729264228367),
-    FRAC_CONST(0.75720884650648446),
-    FRAC_CONST(0.75934229127227548),
-    FRAC_CONST(0.76146760409217706),
-    FRAC_CONST(0.76358476220579641),
-    FRAC_CONST(0.7656937429400712),
-    FRAC_CONST(0.76779452370951196),
-    FRAC_CONST(0.76988708201644451),
-    FRAC_CONST(0.77197139545125026),
-    FRAC_CONST(0.7740474416926072),
-    FRAC_CONST(0.77611519850772781),
-    FRAC_CONST(0.77817464375259782),
-    FRAC_CONST(0.78022575537221317),
-    FRAC_CONST(0.78226851140081632),
-    FRAC_CONST(0.78430288996213138),
-    FRAC_CONST(0.78632886926959822),
-    FRAC_CONST(0.78834642762660623),
-    FRAC_CONST(0.79035554342672631),
-    FRAC_CONST(0.79235619515394229),
-    FRAC_CONST(0.79434836138288134),
-    FRAC_CONST(0.79633202077904397),
-    FRAC_CONST(0.79830715209903147),
-    FRAC_CONST(0.8002737341907743),
-    FRAC_CONST(0.80223174599375802),
-    FRAC_CONST(0.80418116653924954),
-    FRAC_CONST(0.80612197495052085),
-    FRAC_CONST(0.80805415044307316),
-    FRAC_CONST(0.80997767232485907),
-    FRAC_CONST(0.81189251999650469),
-    FRAC_CONST(0.81379867295152986),
-    FRAC_CONST(0.81569611077656778),
-    FRAC_CONST(0.81758481315158371),
-    FRAC_CONST(0.81946475985009259),
-    FRAC_CONST(0.82133593073937561),
-    FRAC_CONST(0.82319830578069586),
-    FRAC_CONST(0.82505186502951278),
-    FRAC_CONST(0.82689658863569615),
-    FRAC_CONST(0.82873245684373809),
-    FRAC_CONST(0.83055944999296494),
-    FRAC_CONST(0.83237754851774781),
-    FRAC_CONST(0.83418673294771239),
-    FRAC_CONST(0.83598698390794668),
-    FRAC_CONST(0.83777828211920935),
-    FRAC_CONST(0.83956060839813562),
-    FRAC_CONST(0.84133394365744296),
-    FRAC_CONST(0.84309826890613537),
-    FRAC_CONST(0.84485356524970701),
-    FRAC_CONST(0.84659981389034411),
-    FRAC_CONST(0.84833699612712676),
-    FRAC_CONST(0.85006509335622882),
-    FRAC_CONST(0.8517840870711173),
-    FRAC_CONST(0.85349395886275037),
-    FRAC_CONST(0.85519469041977514),
-    FRAC_CONST(0.85688626352872277),
-    FRAC_CONST(0.85856866007420429),
-    FRAC_CONST(0.86024186203910447),
-    FRAC_CONST(0.86190585150477417),
-    FRAC_CONST(0.86356061065122347),
-    FRAC_CONST(0.86520612175731115),
-    FRAC_CONST(0.86684236720093533),
-    FRAC_CONST(0.86846932945922151),
-    FRAC_CONST(0.87008699110871135),
-    FRAC_CONST(0.87169533482554817),
-    FRAC_CONST(0.87329434338566281),
-    FRAC_CONST(0.87488399966495822),
-    FRAC_CONST(0.87646428663949283),
-    FRAC_CONST(0.87803518738566277),
-    FRAC_CONST(0.87959668508038291),
-    FRAC_CONST(0.88114876300126743),
-    FRAC_CONST(0.88269140452680916),
-    FRAC_CONST(0.8842245931365561),
-    FRAC_CONST(0.88574831241129048),
-    FRAC_CONST(0.88726254603320276),
-    FRAC_CONST(0.88876727778606746),
-    FRAC_CONST(0.89026249155541637),
-    FRAC_CONST(0.8917481713287112),
-    FRAC_CONST(0.89322430119551532),
-    FRAC_CONST(0.89469086534766362),
-    FRAC_CONST(0.89614784807943237),
-    FRAC_CONST(0.89759523378770689),
-    FRAC_CONST(0.89903300697214927),
-    FRAC_CONST(0.9004611522353636),
-    FRAC_CONST(0.90187965428306172),
-    FRAC_CONST(0.90328849792422594),
-    FRAC_CONST(0.90468766807127299),
-    FRAC_CONST(0.90607714974021469),
-    FRAC_CONST(0.90745692805081868),
-    FRAC_CONST(0.90882698822676755),
-    FRAC_CONST(0.91018731559581767),
-    FRAC_CONST(0.91153789558995579),
-    FRAC_CONST(0.91287871374555518),
-    FRAC_CONST(0.91420975570353069),
-    FRAC_CONST(0.9155310072094921),
-    FRAC_CONST(0.91684245411389753),
-    FRAC_CONST(0.91814408237220391),
-    FRAC_CONST(0.91943587804501858),
-    FRAC_CONST(0.92071782729824769),
-    FRAC_CONST(0.92198991640324446),
-    FRAC_CONST(0.92325213173695675),
-    FRAC_CONST(0.92450445978207241),
-    FRAC_CONST(0.92574688712716402),
-    FRAC_CONST(0.92697940046683291),
-    FRAC_CONST(0.92820198660185149),
-    FRAC_CONST(0.92941463243930444),
-    FRAC_CONST(0.93061732499272909),
-    FRAC_CONST(0.93181005138225426),
-    FRAC_CONST(0.93299279883473885),
-    FRAC_CONST(0.93416555468390772),
-    FRAC_CONST(0.93532830637048769),
-    FRAC_CONST(0.93648104144234268),
-    FRAC_CONST(0.93762374755460598),
-    FRAC_CONST(0.93875641246981323),
-    FRAC_CONST(0.93987902405803303),
-    FRAC_CONST(0.94099157029699743),
-    FRAC_CONST(0.94209403927222979),
-    FRAC_CONST(0.94318641917717327),
-    FRAC_CONST(0.9442686983133165),
-    FRAC_CONST(0.94534086509031956),
-    FRAC_CONST(0.9464029080261378),
-    FRAC_CONST(0.94745481574714419),
-    FRAC_CONST(0.94849657698825252),
-    FRAC_CONST(0.94952818059303667),
-    FRAC_CONST(0.95054961551385087),
-    FRAC_CONST(0.95156087081194762),
-    FRAC_CONST(0.95256193565759528),
-    FRAC_CONST(0.95355279933019343),
-    FRAC_CONST(0.9545334512183884),
-    FRAC_CONST(0.95550388082018611),
-    FRAC_CONST(0.95646407774306541),
-    FRAC_CONST(0.95741403170408834),
-    FRAC_CONST(0.95835373253001133),
-    FRAC_CONST(0.95928317015739362),
-    FRAC_CONST(0.96020233463270466),
-    FRAC_CONST(0.96111121611243155),
-    FRAC_CONST(0.96200980486318388),
-    FRAC_CONST(0.96289809126179782),
-    FRAC_CONST(0.96377606579543984),
-    FRAC_CONST(0.96464371906170809),
-    FRAC_CONST(0.96550104176873297),
-    FRAC_CONST(0.96634802473527726),
-    FRAC_CONST(0.96718465889083372),
-    FRAC_CONST(0.96801093527572268),
-    FRAC_CONST(0.96882684504118799),
-    FRAC_CONST(0.96963237944949143),
-    FRAC_CONST(0.97042752987400682),
-    FRAC_CONST(0.97121228779931179),
-    FRAC_CONST(0.97198664482127939),
-    FRAC_CONST(0.97275059264716823),
-    FRAC_CONST(0.97350412309571066),
-    FRAC_CONST(0.97424722809720088),
-    FRAC_CONST(0.97497989969358168),
-    FRAC_CONST(0.97570213003852857),
-    FRAC_CONST(0.97641391139753486),
-    FRAC_CONST(0.97711523614799412),
-    FRAC_CONST(0.97780609677928154),
-    FRAC_CONST(0.97848648589283505),
-    FRAC_CONST(0.97915639620223371),
-    FRAC_CONST(0.9798158205332762),
-    FRAC_CONST(0.98046475182405801),
-    FRAC_CONST(0.98110318312504607),
-    FRAC_CONST(0.98173110759915416),
-    FRAC_CONST(0.98234851852181571),
-    FRAC_CONST(0.98295540928105563),
-    FRAC_CONST(0.9835517733775615),
-    FRAC_CONST(0.98413760442475307),
-    FRAC_CONST(0.98471289614885038),
-    FRAC_CONST(0.98527764238894122),
-    FRAC_CONST(0.98583183709704714),
-    FRAC_CONST(0.98637547433818806),
-    FRAC_CONST(0.98690854829044583),
-    FRAC_CONST(0.98743105324502667),
-    FRAC_CONST(0.98794298360632238),
-    FRAC_CONST(0.98844433389196995),
-    FRAC_CONST(0.98893509873291074),
-    FRAC_CONST(0.98941527287344755),
-    FRAC_CONST(0.98988485117130098),
-    FRAC_CONST(0.99034382859766479),
-    FRAC_CONST(0.99079220023725967),
-    FRAC_CONST(0.99122996128838525),
-    FRAC_CONST(0.9916571070629725),
-    FRAC_CONST(0.99207363298663342),
-    FRAC_CONST(0.99247953459870997),
-    FRAC_CONST(0.99287480755232194),
-    FRAC_CONST(0.99325944761441354),
-    FRAC_CONST(0.99363345066579889),
-    FRAC_CONST(0.99399681270120555),
-    FRAC_CONST(0.99434952982931812),
-    FRAC_CONST(0.9946915982728195),
-    FRAC_CONST(0.99502301436843166),
-    FRAC_CONST(0.99534377456695422),
-    FRAC_CONST(0.9956538754333033),
-    FRAC_CONST(0.99595331364654771),
-    FRAC_CONST(0.99624208599994479),
-    FRAC_CONST(0.99652018940097464),
-    FRAC_CONST(0.99678762087137318),
-    FRAC_CONST(0.99704437754716424),
-    FRAC_CONST(0.99729045667869021),
-    FRAC_CONST(0.99752585563064111),
-    FRAC_CONST(0.99775057188208349),
-    FRAC_CONST(0.9979646030264866),
-    FRAC_CONST(0.99816794677174903),
-    FRAC_CONST(0.9983606009402225),
-    FRAC_CONST(0.99854256346873571),
-    FRAC_CONST(0.99871383240861611),
-    FRAC_CONST(0.99887440592571108),
-    FRAC_CONST(0.99902428230040718),
-    FRAC_CONST(0.99916345992764877),
-    FRAC_CONST(0.99929193731695531),
-    FRAC_CONST(0.99940971309243731),
-    FRAC_CONST(0.99951678599281069),
-    FRAC_CONST(0.99961315487141078),
-    FRAC_CONST(0.99969881869620425),
-    FRAC_CONST(0.99977377654980037),
-    FRAC_CONST(0.99983802762946083),
-    FRAC_CONST(0.99989157124710804),
-    FRAC_CONST(0.9999344068293331),
-    FRAC_CONST(0.99996653391740109),
-    FRAC_CONST(0.99998795216725689),
-    FRAC_CONST(0.99999866134952808)
-};
-#endif
-
-ALIGN static const real_t ld_mid_512[] =
-{
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0.0061358846491544753),
-    FRAC_CONST(0.01840672990580482),
-    FRAC_CONST(0.030674803176636626),
-    FRAC_CONST(0.04293825693494082),
-    FRAC_CONST(0.055195244349689934),
-    FRAC_CONST(0.067443919563664051),
-    FRAC_CONST(0.079682437971430126),
-    FRAC_CONST(0.091908956497132724),
-    FRAC_CONST(0.10412163387205459),
-    FRAC_CONST(0.11631863091190475),
-    FRAC_CONST(0.12849811079379317),
-    FRAC_CONST(0.14065823933284921),
-    FRAC_CONST(0.15279718525844344),
-    FRAC_CONST(0.16491312048996989),
-    FRAC_CONST(0.17700422041214875),
-    FRAC_CONST(0.18906866414980619),
-    FRAC_CONST(0.2011046348420919),
-    FRAC_CONST(0.21311031991609136),
-    FRAC_CONST(0.22508391135979283),
-    FRAC_CONST(0.2370236059943672),
-    FRAC_CONST(0.24892760574572015),
-    FRAC_CONST(0.26079411791527551),
-    FRAC_CONST(0.27262135544994898),
-    FRAC_CONST(0.28440753721127188),
-    FRAC_CONST(0.29615088824362379),
-    FRAC_CONST(0.30784964004153487),
-    FRAC_CONST(0.31950203081601569),
-    FRAC_CONST(0.33110630575987643),
-    FRAC_CONST(0.34266071731199438),
-    FRAC_CONST(0.35416352542049034),
-    FRAC_CONST(0.36561299780477385),
-    FRAC_CONST(0.37700741021641826),
-    FRAC_CONST(0.38834504669882625),
-    FRAC_CONST(0.39962419984564679),
-    FRAC_CONST(0.41084317105790391),
-    FRAC_CONST(0.42200027079979968),
-    FRAC_CONST(0.43309381885315196),
-    FRAC_CONST(0.4441221445704292),
-    FRAC_CONST(0.45508358712634384),
-    FRAC_CONST(0.46597649576796618),
-    FRAC_CONST(0.47679923006332209),
-    FRAC_CONST(0.487550160148436),
-    FRAC_CONST(0.49822766697278187),
-    FRAC_CONST(0.50883014254310699),
-    FRAC_CONST(0.51935599016558964),
-    FRAC_CONST(0.52980362468629461),
-    FRAC_CONST(0.54017147272989285),
-    FRAC_CONST(0.55045797293660481),
-    FRAC_CONST(0.56066157619733603),
-    FRAC_CONST(0.57078074588696726),
-    FRAC_CONST(0.58081395809576453),
-    FRAC_CONST(0.59075970185887416),
-    FRAC_CONST(0.60061647938386897),
-    FRAC_CONST(0.61038280627630948),
-    FRAC_CONST(0.6200572117632891),
-    FRAC_CONST(0.62963823891492698),
-    FRAC_CONST(0.63912444486377573),
-    FRAC_CONST(0.64851440102211244),
-    FRAC_CONST(0.65780669329707864),
-    FRAC_CONST(0.66699992230363747),
-    FRAC_CONST(0.67609270357531592),
-    FRAC_CONST(0.68508366777270036),
-    FRAC_CONST(0.693971460889654),
-    FRAC_CONST(0.7027547444572253),
-    FRAC_CONST(0.71143219574521643),
-    FRAC_CONST(0.72000250796138165),
-    FRAC_CONST(0.7284643904482252),
-    FRAC_CONST(0.73681656887736979),
-    FRAC_CONST(0.74505778544146595),
-    FRAC_CONST(0.75318679904361241),
-    FRAC_CONST(0.76120238548426178),
-    FRAC_CONST(0.76910333764557959),
-    FRAC_CONST(0.77688846567323244),
-    FRAC_CONST(0.78455659715557524),
-    FRAC_CONST(0.79210657730021239),
-    FRAC_CONST(0.79953726910790501),
-    FRAC_CONST(0.80684755354379922),
-    FRAC_CONST(0.8140363297059483),
-    FRAC_CONST(0.82110251499110465),
-    FRAC_CONST(0.8280450452577558),
-    FRAC_CONST(0.83486287498638001),
-    FRAC_CONST(0.84155497743689833),
-    FRAC_CONST(0.84812034480329712),
-    FRAC_CONST(0.85455798836540053),
-    FRAC_CONST(0.86086693863776731),
-    FRAC_CONST(0.86704624551569265),
-    FRAC_CONST(0.87309497841829009),
-    FRAC_CONST(0.87901222642863341),
-    FRAC_CONST(0.88479709843093779),
-    FRAC_CONST(0.89044872324475788),
-    FRAC_CONST(0.89596624975618511),
-    FRAC_CONST(0.90134884704602203),
-    FRAC_CONST(0.90659570451491533),
-    FRAC_CONST(0.91170603200542988),
-    FRAC_CONST(0.9166790599210427),
-    FRAC_CONST(0.9215140393420419),
-    FRAC_CONST(0.92621024213831127),
-    FRAC_CONST(0.93076696107898371),
-    FRAC_CONST(0.9351835099389475),
-    FRAC_CONST(0.93945922360218992),
-    FRAC_CONST(0.94359345816196039),
-    FRAC_CONST(0.94758559101774109),
-    FRAC_CONST(0.95143502096900834),
-    FRAC_CONST(0.95514116830577067),
-    FRAC_CONST(0.9587034748958716),
-    FRAC_CONST(0.96212140426904158),
-    FRAC_CONST(0.9653944416976894),
-    FRAC_CONST(0.96852209427441727),
-    FRAC_CONST(0.97150389098625178),
-    FRAC_CONST(0.97433938278557586),
-    FRAC_CONST(0.97702814265775439),
-    FRAC_CONST(0.97956976568544052),
-    FRAC_CONST(0.98196386910955524),
-    FRAC_CONST(0.98421009238692903),
-    FRAC_CONST(0.98630809724459867),
-    FRAC_CONST(0.98825756773074946),
-    FRAC_CONST(0.99005821026229712),
-    FRAC_CONST(0.99170975366909953),
-    FRAC_CONST(0.9932119492347945),
-    FRAC_CONST(0.99456457073425542),
-    FRAC_CONST(0.99576741446765982),
-    FRAC_CONST(0.99682029929116567),
-    FRAC_CONST(0.99772306664419164),
-    FRAC_CONST(0.99847558057329477),
-    FRAC_CONST(0.99907772775264536),
-    FRAC_CONST(0.99952941750109314),
-    FRAC_CONST(0.9998305817958234),
-    FRAC_CONST(0.99998117528260111),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1)
-};
-
-#ifdef ALLOW_SMALL_FRAMELENGTH
-ALIGN static const real_t ld_mid_480[] =
-{
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0),
-    FRAC_CONST(0.0065449379673518581),
-    FRAC_CONST(0.019633692460628301),
-    FRAC_CONST(0.032719082821776137),
-    FRAC_CONST(0.045798866936520771),
-    FRAC_CONST(0.058870803651189033),
-    FRAC_CONST(0.071932653156719387),
-    FRAC_CONST(0.084982177372441667),
-    FRAC_CONST(0.09801714032956059),
-    FRAC_CONST(0.11103530855427769),
-    FRAC_CONST(0.12403445145048532),
-    FRAC_CONST(0.13701234168196802),
-    FRAC_CONST(0.14996675555404498),
-    FRAC_CONST(0.16289547339458874),
-    FRAC_CONST(0.17579627993435451),
-    FRAC_CONST(0.18866696468655525),
-    FRAC_CONST(0.2015053223256171),
-    FRAC_CONST(0.21430915306505074),
-    FRAC_CONST(0.2270762630343732),
-    FRAC_CONST(0.23980446465501654),
-    FRAC_CONST(0.25249157701515795),
-    FRAC_CONST(0.26513542624340797),
-    FRAC_CONST(0.27773384588129219),
-    FRAC_CONST(0.29028467725446233),
-    FRAC_CONST(0.3027857698425746),
-    FRAC_CONST(0.31523498164776964),
-    FRAC_CONST(0.32763017956169349),
-    FRAC_CONST(0.33996923973099424),
-    FRAC_CONST(0.35225004792123354),
-    FRAC_CONST(0.36447049987914965),
-    FRAC_CONST(0.37662850169321077),
-    FRAC_CONST(0.38872197015239557),
-    FRAC_CONST(0.40074883310314097),
-    FRAC_CONST(0.41270702980439467),
-    FRAC_CONST(0.42459451128071307),
-    FRAC_CONST(0.43640924067334208),
-    FRAC_CONST(0.44814919358922256),
-    FRAC_CONST(0.45981235844785984),
-    FRAC_CONST(0.47139673682599764),
-    FRAC_CONST(0.48290034380003727),
-    FRAC_CONST(0.49432120828614462),
-    FRAC_CONST(0.50565737337798455),
-    FRAC_CONST(0.51690689668202761),
-    FRAC_CONST(0.52806785065036799),
-    FRAC_CONST(0.53913832291100017),
-    FRAC_CONST(0.55011641659549337),
-    FRAC_CONST(0.56100025066400983),
-    FRAC_CONST(0.57178796022761225),
-    FRAC_CONST(0.58247769686780215),
-    FRAC_CONST(0.59306762895323706),
-    FRAC_CONST(0.60355594195357143),
-    FRAC_CONST(0.61394083875036642),
-    FRAC_CONST(0.62422053994501758),
-    FRAC_CONST(0.63439328416364549),
-    FRAC_CONST(0.64445732835889735),
-    FRAC_CONST(0.65441094810861034),
-    FRAC_CONST(0.66425243791128175),
-    FRAC_CONST(0.67398011147829784),
-    FRAC_CONST(0.68359230202287125),
-    FRAC_CONST(0.69308736254563585),
-    FRAC_CONST(0.70246366611685174),
-    FRAC_CONST(0.71171960615517138),
-    FRAC_CONST(0.72085359670291882),
-    FRAC_CONST(0.7298640726978356),
-    FRAC_CONST(0.73874949024124625),
-    FRAC_CONST(0.74750832686259672),
-    FRAC_CONST(0.75613908178032285),
-    FRAC_CONST(0.76464027615900032),
-    FRAC_CONST(0.77301045336273699),
-    FRAC_CONST(0.78124817920475853),
-    FRAC_CONST(0.78935204219315003),
-    FRAC_CONST(0.79732065377270711),
-    FRAC_CONST(0.80515264856285829),
-    FRAC_CONST(0.81284668459161513),
-    FRAC_CONST(0.82040144352551359),
-    FRAC_CONST(0.82781563089550203),
-    FRAC_CONST(0.83508797631874299),
-    FRAC_CONST(0.84221723371628654),
-    FRAC_CONST(0.84920218152657889),
-    FRAC_CONST(0.85604162291477137),
-    FRAC_CONST(0.86273438597779184),
-    FRAC_CONST(0.86927932394514362),
-    FRAC_CONST(0.87567531537539967),
-    FRAC_CONST(0.88192126434835494),
-    FRAC_CONST(0.88801610065280734),
-    FRAC_CONST(0.89395877996993212),
-    FRAC_CONST(0.8997482840522214),
-    FRAC_CONST(0.90538362089795521),
-    FRAC_CONST(0.91086382492117568),
-    FRAC_CONST(0.91618795711713596),
-    FRAC_CONST(0.92135510522319242),
-    FRAC_CONST(0.9263643838751181),
-    FRAC_CONST(0.93121493475880346),
-    FRAC_CONST(0.93590592675732565),
-    FRAC_CONST(0.94043655609335486),
-    FRAC_CONST(0.94480604646687805),
-    FRAC_CONST(0.94901364918821385),
-    FRAC_CONST(0.95305864330629697),
-    FRAC_CONST(0.95694033573220882),
-    FRAC_CONST(0.9606580613579353),
-    FRAC_CONST(0.96421118317032928),
-    FRAC_CONST(0.96759909236025976),
-    FRAC_CONST(0.9708212084269281),
-    FRAC_CONST(0.97387697927733363),
-    FRAC_CONST(0.97676588132087239),
-    FRAC_CONST(0.97948741955905139),
-    FRAC_CONST(0.98204112767030394),
-    FRAC_CONST(0.98442656808989171),
-    FRAC_CONST(0.98664333208487898),
-    FRAC_CONST(0.98869103982416728),
-    FRAC_CONST(0.99056934044357725),
-    FRAC_CONST(0.99227791210596705),
-    FRAC_CONST(0.99381646205637808),
-    FRAC_CONST(0.99518472667219682),
-    FRAC_CONST(0.99638247150832537),
-    FRAC_CONST(0.99740949133735191),
-    FRAC_CONST(0.99826561018471593),
-    FRAC_CONST(0.99895068135886012),
-    FRAC_CONST(0.99946458747636568),
-    FRAC_CONST(0.99980724048206482),
-    FRAC_CONST(0.99997858166412923),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1),
-    FRAC_CONST(1)
-};
-#endif
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/specrec.c b/lib/libfaad2/libfaad/specrec.c
deleted file mode 100644 (file)
index ea6ca94..0000000
+++ /dev/null
@@ -1,1327 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: specrec.c,v 1.60 2007/11/01 12:33:36 menno Exp $
-**/
-
-/*
-  Spectral reconstruction:
-   - grouping/sectioning
-   - inverse quantization
-   - applying scalefactors
-*/
-
-#include "common.h"
-#include "structs.h"
-
-#include <string.h>
-#include <stdlib.h>
-#include "specrec.h"
-#include "filtbank.h"
-#include "syntax.h"
-#include "iq_table.h"
-#include "ms.h"
-#include "is.h"
-#include "pns.h"
-#include "tns.h"
-#include "drc.h"
-#include "lt_predict.h"
-#include "ic_predict.h"
-#ifdef SSR_DEC
-#include "ssr.h"
-#include "ssr_fb.h"
-#endif
-
-
-/* static function declarations */
-static uint8_t quant_to_spec(NeAACDecHandle hDecoder,
-                             ic_stream *ics, int16_t *quant_data,
-                             real_t *spec_data, uint16_t frame_len);
-
-
-#ifdef LD_DEC
-ALIGN static const uint8_t num_swb_512_window[] =
-{
-    0, 0, 0, 36, 36, 37, 31, 31, 0, 0, 0, 0
-};
-ALIGN static const uint8_t num_swb_480_window[] =
-{
-    0, 0, 0, 35, 35, 37, 30, 30, 0, 0, 0, 0
-};
-#endif
-
-ALIGN static const uint8_t num_swb_960_window[] =
-{
-    40, 40, 45, 49, 49, 49, 46, 46, 42, 42, 42, 40
-};
-
-ALIGN static const uint8_t num_swb_1024_window[] =
-{
-    41, 41, 47, 49, 49, 51, 47, 47, 43, 43, 43, 40
-};
-
-ALIGN static const uint8_t num_swb_128_window[] =
-{
-    12, 12, 12, 14, 14, 14, 15, 15, 15, 15, 15, 15
-};
-
-ALIGN static const uint16_t swb_offset_1024_96[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56,
-    64, 72, 80, 88, 96, 108, 120, 132, 144, 156, 172, 188, 212, 240,
-    276, 320, 384, 448, 512, 576, 640, 704, 768, 832, 896, 960, 1024
-};
-
-ALIGN static const uint16_t swb_offset_128_96[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128
-};
-
-ALIGN static const uint16_t swb_offset_1024_64[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56,
-    64, 72, 80, 88, 100, 112, 124, 140, 156, 172, 192, 216, 240, 268,
-    304, 344, 384, 424, 464, 504, 544, 584, 624, 664, 704, 744, 784, 824,
-    864, 904, 944, 984, 1024
-};
-
-ALIGN static const uint16_t swb_offset_128_64[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128
-};
-
-ALIGN static const uint16_t swb_offset_1024_48[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 48, 56, 64, 72,
-    80, 88, 96, 108, 120, 132, 144, 160, 176, 196, 216, 240, 264, 292,
-    320, 352, 384, 416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736,
-    768, 800, 832, 864, 896, 928, 1024
-};
-
-#ifdef LD_DEC
-ALIGN static const uint16_t swb_offset_512_48[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 68, 76, 84,
-    92, 100, 112, 124, 136, 148, 164, 184, 208, 236, 268, 300, 332, 364, 396,
-    428, 460, 512
-};
-
-ALIGN static const uint16_t swb_offset_480_48[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 64, 72 ,80 ,88,
-    96, 108, 120, 132, 144, 156, 172, 188, 212, 240, 272, 304, 336, 368, 400,
-    432, 480
-};
-#endif
-
-ALIGN static const uint16_t swb_offset_128_48[] =
-{
-    0, 4, 8, 12, 16, 20, 28, 36, 44, 56, 68, 80, 96, 112, 128
-};
-
-ALIGN static const uint16_t swb_offset_1024_32[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 48, 56, 64, 72,
-    80, 88, 96, 108, 120, 132, 144, 160, 176, 196, 216, 240, 264, 292,
-    320, 352, 384, 416, 448, 480, 512, 544, 576, 608, 640, 672, 704, 736,
-    768, 800, 832, 864, 896, 928, 960, 992, 1024
-};
-
-#ifdef LD_DEC
-ALIGN static const uint16_t swb_offset_512_32[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 64, 72, 80,
-    88, 96, 108, 120, 132, 144, 160, 176, 192, 212, 236, 260, 288, 320, 352,
-    384, 416, 448, 480, 512
-};
-
-ALIGN static const uint16_t swb_offset_480_32[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 72, 80,
-    88, 96, 104, 112, 124, 136, 148, 164, 180, 200, 224, 256, 288, 320, 352,
-    384, 416, 448, 480
-};
-#endif
-
-ALIGN static const uint16_t swb_offset_1024_24[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 52, 60, 68,
-    76, 84, 92, 100, 108, 116, 124, 136, 148, 160, 172, 188, 204, 220,
-    240, 260, 284, 308, 336, 364, 396, 432, 468, 508, 552, 600, 652, 704,
-    768, 832, 896, 960, 1024
-};
-
-#ifdef LD_DEC
-ALIGN static const uint16_t swb_offset_512_24[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 52, 60, 68,
-    80, 92, 104, 120, 140, 164, 192, 224, 256, 288, 320, 352, 384, 416,
-    448, 480, 512
-};
-
-ALIGN static const uint16_t swb_offset_480_24[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 52, 60, 68, 80, 92, 104, 120,
-    140, 164, 192, 224, 256, 288, 320, 352, 384, 416, 448, 480
-};
-#endif
-
-ALIGN static const uint16_t swb_offset_128_24[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 36, 44, 52, 64, 76, 92, 108, 128
-};
-
-ALIGN static const uint16_t swb_offset_1024_16[] =
-{
-    0, 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 100, 112, 124,
-    136, 148, 160, 172, 184, 196, 212, 228, 244, 260, 280, 300, 320, 344,
-    368, 396, 424, 456, 492, 532, 572, 616, 664, 716, 772, 832, 896, 960, 1024
-};
-
-ALIGN static const uint16_t swb_offset_128_16[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 32, 40, 48, 60, 72, 88, 108, 128
-};
-
-ALIGN static const uint16_t swb_offset_1024_8[] =
-{
-    0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156, 172,
-    188, 204, 220, 236, 252, 268, 288, 308, 328, 348, 372, 396, 420, 448,
-    476, 508, 544, 580, 620, 664, 712, 764, 820, 880, 944, 1024
-};
-
-ALIGN static const uint16_t swb_offset_128_8[] =
-{
-    0, 4, 8, 12, 16, 20, 24, 28, 36, 44, 52, 60, 72, 88, 108, 128
-};
-
-ALIGN static const uint16_t *swb_offset_1024_window[] =
-{
-    swb_offset_1024_96,      /* 96000 */
-    swb_offset_1024_96,      /* 88200 */
-    swb_offset_1024_64,      /* 64000 */
-    swb_offset_1024_48,      /* 48000 */
-    swb_offset_1024_48,      /* 44100 */
-    swb_offset_1024_32,      /* 32000 */
-    swb_offset_1024_24,      /* 24000 */
-    swb_offset_1024_24,      /* 22050 */
-    swb_offset_1024_16,      /* 16000 */
-    swb_offset_1024_16,      /* 12000 */
-    swb_offset_1024_16,      /* 11025 */
-    swb_offset_1024_8        /* 8000  */
-};
-
-#ifdef LD_DEC
-ALIGN static const uint16_t *swb_offset_512_window[] =
-{
-    0,                       /* 96000 */
-    0,                       /* 88200 */
-    0,                       /* 64000 */
-    swb_offset_512_48,       /* 48000 */
-    swb_offset_512_48,       /* 44100 */
-    swb_offset_512_32,       /* 32000 */
-    swb_offset_512_24,       /* 24000 */
-    swb_offset_512_24,       /* 22050 */
-    0,                       /* 16000 */
-    0,                       /* 12000 */
-    0,                       /* 11025 */
-    0                        /* 8000  */
-};
-
-ALIGN static const uint16_t *swb_offset_480_window[] =
-{
-    0,                       /* 96000 */
-    0,                       /* 88200 */
-    0,                       /* 64000 */
-    swb_offset_480_48,       /* 48000 */
-    swb_offset_480_48,       /* 44100 */
-    swb_offset_480_32,       /* 32000 */
-    swb_offset_480_24,       /* 24000 */
-    swb_offset_480_24,       /* 22050 */
-    0,                       /* 16000 */
-    0,                       /* 12000 */
-    0,                       /* 11025 */
-    0                        /* 8000  */
-};
-#endif
-
-ALIGN static const  uint16_t *swb_offset_128_window[] =
-{
-    swb_offset_128_96,       /* 96000 */
-    swb_offset_128_96,       /* 88200 */
-    swb_offset_128_64,       /* 64000 */
-    swb_offset_128_48,       /* 48000 */
-    swb_offset_128_48,       /* 44100 */
-    swb_offset_128_48,       /* 32000 */
-    swb_offset_128_24,       /* 24000 */
-    swb_offset_128_24,       /* 22050 */
-    swb_offset_128_16,       /* 16000 */
-    swb_offset_128_16,       /* 12000 */
-    swb_offset_128_16,       /* 11025 */
-    swb_offset_128_8         /* 8000  */
-};
-
-#define bit_set(A, B) ((A) & (1<<(B)))
-
-/* 4.5.2.3.4 */
-/*
-  - determine the number of windows in a window_sequence named num_windows
-  - determine the number of window_groups named num_window_groups
-  - determine the number of windows in each group named window_group_length[g]
-  - determine the total number of scalefactor window bands named num_swb for
-    the actual window type
-  - determine swb_offset[swb], the offset of the first coefficient in
-    scalefactor window band named swb of the window actually used
-  - determine sect_sfb_offset[g][section],the offset of the first coefficient
-    in section named section. This offset depends on window_sequence and
-    scale_factor_grouping and is needed to decode the spectral_data().
-*/
-uint8_t window_grouping_info(NeAACDecHandle hDecoder, ic_stream *ics)
-{
-    uint8_t i, g;
-
-    uint8_t sf_index = hDecoder->sf_index;
-
-    switch (ics->window_sequence) {
-    case ONLY_LONG_SEQUENCE:
-    case LONG_START_SEQUENCE:
-    case LONG_STOP_SEQUENCE:
-        ics->num_windows = 1;
-        ics->num_window_groups = 1;
-        ics->window_group_length[ics->num_window_groups-1] = 1;
-#ifdef LD_DEC
-        if (hDecoder->object_type == LD)
-        {
-            if (hDecoder->frameLength == 512)
-                ics->num_swb = num_swb_512_window[sf_index];
-            else /* if (hDecoder->frameLength == 480) */
-                ics->num_swb = num_swb_480_window[sf_index];
-        } else {
-#endif
-            if (hDecoder->frameLength == 1024)
-                ics->num_swb = num_swb_1024_window[sf_index];
-            else /* if (hDecoder->frameLength == 960) */
-                ics->num_swb = num_swb_960_window[sf_index];
-#ifdef LD_DEC
-        }
-#endif
-
-        if (ics->max_sfb > ics->num_swb)
-        {
-            return 32;
-        }
-
-        /* preparation of sect_sfb_offset for long blocks */
-        /* also copy the last value! */
-#ifdef LD_DEC
-        if (hDecoder->object_type == LD)
-        {
-            if (hDecoder->frameLength == 512)
-            {
-                for (i = 0; i < ics->num_swb; i++)
-                {
-                    ics->sect_sfb_offset[0][i] = swb_offset_512_window[sf_index][i];
-                    ics->swb_offset[i] = swb_offset_512_window[sf_index][i];
-                }
-            } else /* if (hDecoder->frameLength == 480) */ {
-                for (i = 0; i < ics->num_swb; i++)
-                {
-                    ics->sect_sfb_offset[0][i] = swb_offset_480_window[sf_index][i];
-                    ics->swb_offset[i] = swb_offset_480_window[sf_index][i];
-                }
-            }
-            ics->sect_sfb_offset[0][ics->num_swb] = hDecoder->frameLength;
-            ics->swb_offset[ics->num_swb] = hDecoder->frameLength;
-            ics->swb_offset_max = hDecoder->frameLength;
-        } else {
-#endif
-            for (i = 0; i < ics->num_swb; i++)
-            {
-                ics->sect_sfb_offset[0][i] = swb_offset_1024_window[sf_index][i];
-                ics->swb_offset[i] = swb_offset_1024_window[sf_index][i];
-            }
-            ics->sect_sfb_offset[0][ics->num_swb] = hDecoder->frameLength;
-            ics->swb_offset[ics->num_swb] = hDecoder->frameLength;
-            ics->swb_offset_max = hDecoder->frameLength;
-#ifdef LD_DEC
-        }
-#endif
-        return 0;
-    case EIGHT_SHORT_SEQUENCE:
-        ics->num_windows = 8;
-        ics->num_window_groups = 1;
-        ics->window_group_length[ics->num_window_groups-1] = 1;
-        ics->num_swb = num_swb_128_window[sf_index];
-
-        if (ics->max_sfb > ics->num_swb)
-        {
-            return 32;
-        }
-
-        for (i = 0; i < ics->num_swb; i++)
-            ics->swb_offset[i] = swb_offset_128_window[sf_index][i];
-        ics->swb_offset[ics->num_swb] = hDecoder->frameLength/8;
-        ics->swb_offset_max = hDecoder->frameLength/8;
-
-        for (i = 0; i < ics->num_windows-1; i++) {
-            if (bit_set(ics->scale_factor_grouping, 6-i) == 0)
-            {
-                ics->num_window_groups += 1;
-                ics->window_group_length[ics->num_window_groups-1] = 1;
-            } else {
-                ics->window_group_length[ics->num_window_groups-1] += 1;
-            }
-        }
-
-        /* preparation of sect_sfb_offset for short blocks */
-        for (g = 0; g < ics->num_window_groups; g++)
-        {
-            uint16_t width;
-            uint8_t sect_sfb = 0;
-            uint16_t offset = 0;
-
-            for (i = 0; i < ics->num_swb; i++)
-            {
-                if (i+1 == ics->num_swb)
-                {
-                    width = (hDecoder->frameLength/8) - swb_offset_128_window[sf_index][i];
-                } else {
-                    width = swb_offset_128_window[sf_index][i+1] -
-                        swb_offset_128_window[sf_index][i];
-                }
-                width *= ics->window_group_length[g];
-                ics->sect_sfb_offset[g][sect_sfb++] = offset;
-                offset += width;
-            }
-            ics->sect_sfb_offset[g][sect_sfb] = offset;
-        }
-        return 0;
-    default:
-        return 32;
-    }
-}
-
-/* iquant() *
-/* output = sign(input)*abs(input)^(4/3) */
-/**/
-static INLINE real_t iquant(int16_t q, const real_t *tab, uint8_t *error)
-{
-#ifdef FIXED_POINT
-/* For FIXED_POINT the iq_table is prescaled by 3 bits (iq_table[]/8) */
-/* BIG_IQ_TABLE allows you to use the full 8192 value table, if this is not
- * defined a 1026 value table and interpolation will be used
- */
-#ifndef BIG_IQ_TABLE
-    static const real_t errcorr[] = {
-        REAL_CONST(0), REAL_CONST(1.0/8.0), REAL_CONST(2.0/8.0), REAL_CONST(3.0/8.0),
-        REAL_CONST(4.0/8.0),  REAL_CONST(5.0/8.0), REAL_CONST(6.0/8.0), REAL_CONST(7.0/8.0),
-        REAL_CONST(0)
-    };
-    real_t x1, x2;
-#endif
-    int16_t sgn = 1;
-
-    if (q < 0)
-    {
-        q = -q;
-        sgn = -1;
-    }
-
-    if (q < IQ_TABLE_SIZE)
-    {
-//#define IQUANT_PRINT
-#ifdef IQUANT_PRINT
-        //printf("0x%.8X\n", sgn * tab[q]);
-        printf("%d\n", sgn * tab[q]);
-#endif
-        return sgn * tab[q];
-    }
-
-#ifndef BIG_IQ_TABLE
-    if (q >= 8192)
-    {
-        *error = 17;
-        return 0;
-    }
-
-    /* linear interpolation */
-    x1 = tab[q>>3];
-    x2 = tab[(q>>3) + 1];
-    return sgn * 16 * (MUL_R(errcorr[q&7],(x2-x1)) + x1);
-#else
-    *error = 17;
-    return 0;
-#endif
-
-#else
-    if (q < 0)
-    {
-        /* tab contains a value for all possible q [0,8192] */
-        if (-q < IQ_TABLE_SIZE)
-            return -tab[-q];
-
-        *error = 17;
-        return 0;
-    } else {
-        /* tab contains a value for all possible q [0,8192] */
-        if (q < IQ_TABLE_SIZE)
-            return tab[q];
-
-        *error = 17;
-        return 0;
-    }
-#endif
-}
-
-#ifndef FIXED_POINT
-ALIGN static const real_t pow2sf_tab[] = {
-    2.9802322387695313E-008, 5.9604644775390625E-008, 1.1920928955078125E-007,
-    2.384185791015625E-007, 4.76837158203125E-007, 9.5367431640625E-007,
-    1.9073486328125E-006, 3.814697265625E-006, 7.62939453125E-006,
-    1.52587890625E-005, 3.0517578125E-005, 6.103515625E-005,
-    0.0001220703125, 0.000244140625, 0.00048828125,
-    0.0009765625, 0.001953125, 0.00390625,
-    0.0078125, 0.015625, 0.03125,
-    0.0625, 0.125, 0.25,
-    0.5, 1.0, 2.0,
-    4.0, 8.0, 16.0, 32.0,
-    64.0, 128.0, 256.0,
-    512.0, 1024.0, 2048.0,
-    4096.0, 8192.0, 16384.0,
-    32768.0, 65536.0, 131072.0,
-    262144.0, 524288.0, 1048576.0,
-    2097152.0, 4194304.0, 8388608.0,
-    16777216.0, 33554432.0, 67108864.0,
-    134217728.0, 268435456.0, 536870912.0,
-    1073741824.0, 2147483648.0, 4294967296.0,
-    8589934592.0, 17179869184.0, 34359738368.0,
-    68719476736.0, 137438953472.0, 274877906944.0
-};
-#endif
-
-/* quant_to_spec: perform dequantisation and scaling
- * and in case of short block it also does the deinterleaving
- */
-/*
-  For ONLY_LONG_SEQUENCE windows (num_window_groups = 1,
-  window_group_length[0] = 1) the spectral data is in ascending spectral
-  order.
-  For the EIGHT_SHORT_SEQUENCE window, the spectral order depends on the
-  grouping in the following manner:
-  - Groups are ordered sequentially
-  - Within a group, a scalefactor band consists of the spectral data of all
-    grouped SHORT_WINDOWs for the associated scalefactor window band. To
-    clarify via example, the length of a group is in the range of one to eight
-    SHORT_WINDOWs.
-  - If there are eight groups each with length one (num_window_groups = 8,
-    window_group_length[0..7] = 1), the result is a sequence of eight spectra,
-    each in ascending spectral order.
-  - If there is only one group with length eight (num_window_groups = 1,
-    window_group_length[0] = 8), the result is that spectral data of all eight
-    SHORT_WINDOWs is interleaved by scalefactor window bands.
-  - Within a scalefactor window band, the coefficients are in ascending
-    spectral order.
-*/
-static uint8_t quant_to_spec(NeAACDecHandle hDecoder,
-                             ic_stream *ics, int16_t *quant_data,
-                             real_t *spec_data, uint16_t frame_len)
-{
-    ALIGN static const real_t pow2_table[] =
-    {
-        COEF_CONST(1.0),
-        COEF_CONST(1.1892071150027210667174999705605), /* 2^0.25 */
-        COEF_CONST(1.4142135623730950488016887242097), /* 2^0.5 */
-        COEF_CONST(1.6817928305074290860622509524664) /* 2^0.75 */
-    };
-    const real_t *tab = iq_table;
-
-    uint8_t g, sfb, win;
-    uint16_t width, bin, k, gindex, wa, wb;
-    uint8_t error = 0; /* Init error flag */
-#ifndef FIXED_POINT
-    real_t scf;
-#endif
-
-    k = 0;
-    gindex = 0;
-
-    for (g = 0; g < ics->num_window_groups; g++)
-    {
-        uint16_t j = 0;
-        uint16_t gincrease = 0;
-        uint16_t win_inc = ics->swb_offset[ics->num_swb];
-
-        for (sfb = 0; sfb < ics->num_swb; sfb++)
-        {
-            int32_t exp, frac;
-
-            width = ics->swb_offset[sfb+1] - ics->swb_offset[sfb];
-
-            /* this could be scalefactor for IS or PNS, those can be negative or bigger then 255 */
-            /* just ignore them */
-            if (ics->scale_factors[g][sfb] < 0 || ics->scale_factors[g][sfb] > 255)
-            {
-                exp = 0;
-                frac = 0;
-            } else {
-                /* ics->scale_factors[g][sfb] must be between 0 and 255 */
-                exp = (ics->scale_factors[g][sfb] /* - 100 */) >> 2;
-                /* frac must always be > 0 */
-                frac = (ics->scale_factors[g][sfb] /* - 100 */) & 3;
-            }
-
-#ifdef FIXED_POINT
-            exp -= 25;
-            /* IMDCT pre-scaling */
-            if (hDecoder->object_type == LD)
-            {
-                exp -= 6 /*9*/;
-            } else {
-                if (ics->window_sequence == EIGHT_SHORT_SEQUENCE)
-                    exp -= 4 /*7*/;
-                else
-                    exp -= 7 /*10*/;
-            }
-#endif
-
-            wa = gindex + j;
-
-#ifndef FIXED_POINT
-            scf = pow2sf_tab[exp/*+25*/] * pow2_table[frac];
-#endif
-
-            for (win = 0; win < ics->window_group_length[g]; win++)
-            {
-                for (bin = 0; bin < width; bin += 4)
-                {
-#ifndef FIXED_POINT
-                    wb = wa + bin;
-
-                    spec_data[wb+0] = iquant(quant_data[k+0], tab, &error) * scf;
-                    spec_data[wb+1] = iquant(quant_data[k+1], tab, &error) * scf;                        
-                    spec_data[wb+2] = iquant(quant_data[k+2], tab, &error) * scf;                        
-                    spec_data[wb+3] = iquant(quant_data[k+3], tab, &error) * scf;
-                        
-#else
-                    real_t iq0 = iquant(quant_data[k+0], tab, &error);
-                    real_t iq1 = iquant(quant_data[k+1], tab, &error);
-                    real_t iq2 = iquant(quant_data[k+2], tab, &error);
-                    real_t iq3 = iquant(quant_data[k+3], tab, &error);
-
-                    wb = wa + bin;
-
-                    if (exp < 0)
-                    {
-                        spec_data[wb+0] = iq0 >>= -exp;
-                        spec_data[wb+1] = iq1 >>= -exp;
-                        spec_data[wb+2] = iq2 >>= -exp;
-                        spec_data[wb+3] = iq3 >>= -exp;
-                    } else {
-                        spec_data[wb+0] = iq0 <<= exp;
-                        spec_data[wb+1] = iq1 <<= exp;
-                        spec_data[wb+2] = iq2 <<= exp;
-                        spec_data[wb+3] = iq3 <<= exp;
-                    }
-                    if (frac != 0)
-                    {
-                        spec_data[wb+0] = MUL_C(spec_data[wb+0],pow2_table[frac]);
-                        spec_data[wb+1] = MUL_C(spec_data[wb+1],pow2_table[frac]);
-                        spec_data[wb+2] = MUL_C(spec_data[wb+2],pow2_table[frac]);
-                        spec_data[wb+3] = MUL_C(spec_data[wb+3],pow2_table[frac]);
-                    }
-
-//#define SCFS_PRINT
-#ifdef SCFS_PRINT
-                    printf("%d\n", spec_data[gindex+(win*win_inc)+j+bin+0]);
-                    printf("%d\n", spec_data[gindex+(win*win_inc)+j+bin+1]);
-                    printf("%d\n", spec_data[gindex+(win*win_inc)+j+bin+2]);
-                    printf("%d\n", spec_data[gindex+(win*win_inc)+j+bin+3]);
-                    //printf("0x%.8X\n", spec_data[gindex+(win*win_inc)+j+bin+0]);
-                    //printf("0x%.8X\n", spec_data[gindex+(win*win_inc)+j+bin+1]);
-                    //printf("0x%.8X\n", spec_data[gindex+(win*win_inc)+j+bin+2]);
-                    //printf("0x%.8X\n", spec_data[gindex+(win*win_inc)+j+bin+3]);
-#endif
-#endif
-
-                    gincrease += 4;
-                    k += 4;
-                }
-                wa += win_inc;
-            }
-            j += width;
-        }
-        gindex += gincrease;
-    }
-
-    return error;
-}
-
-static uint8_t allocate_single_channel(NeAACDecHandle hDecoder, uint8_t channel,
-                                       uint8_t output_channels)
-{
-    int mul = 1;
-
-#ifdef MAIN_DEC
-    /* MAIN object type prediction */
-    if (hDecoder->object_type == MAIN)
-    {
-        /* allocate the state only when needed */
-        if (hDecoder->pred_stat[channel] != NULL)
-        {
-            faad_free(hDecoder->pred_stat[channel]);
-            hDecoder->pred_stat[channel] = NULL;
-        }
-
-        hDecoder->pred_stat[channel] = (pred_state*)faad_malloc(hDecoder->frameLength * sizeof(pred_state));
-        reset_all_predictors(hDecoder->pred_stat[channel], hDecoder->frameLength);
-    }
-#endif
-
-#ifdef LTP_DEC
-    if (is_ltp_ot(hDecoder->object_type))
-    {
-        /* allocate the state only when needed */
-        if (hDecoder->lt_pred_stat[channel] != NULL)
-        {
-            faad_free(hDecoder->lt_pred_stat[channel]);
-            hDecoder->lt_pred_stat[channel] = NULL;
-        }
-
-        hDecoder->lt_pred_stat[channel] = (int16_t*)faad_malloc(hDecoder->frameLength*4 * sizeof(int16_t));
-        memset(hDecoder->lt_pred_stat[channel], 0, hDecoder->frameLength*4 * sizeof(int16_t));
-    }
-#endif
-
-    if (hDecoder->time_out[channel] != NULL)
-    {
-        faad_free(hDecoder->time_out[channel]);
-        hDecoder->time_out[channel] = NULL;
-    }
-
-    {
-        mul = 1;
-#ifdef SBR_DEC
-        hDecoder->sbr_alloced[hDecoder->fr_ch_ele] = 0;
-        if ((hDecoder->sbr_present_flag == 1) || (hDecoder->forceUpSampling == 1))
-        {
-            /* SBR requires 2 times as much output data */
-            mul = 2;
-            hDecoder->sbr_alloced[hDecoder->fr_ch_ele] = 1;
-        }
-#endif
-        hDecoder->time_out[channel] = (real_t*)faad_malloc(mul*hDecoder->frameLength*sizeof(real_t));
-        memset(hDecoder->time_out[channel], 0, mul*hDecoder->frameLength*sizeof(real_t));
-    }
-
-#if (defined(PS_DEC) || defined(DRM_PS))
-    if (output_channels == 2)
-    {
-        if (hDecoder->time_out[channel+1] != NULL)
-        {
-            faad_free(hDecoder->time_out[channel+1]);
-            hDecoder->time_out[channel+1] = NULL;
-        }
-
-        hDecoder->time_out[channel+1] = (real_t*)faad_malloc(mul*hDecoder->frameLength*sizeof(real_t));
-        memset(hDecoder->time_out[channel+1], 0, mul*hDecoder->frameLength*sizeof(real_t));
-    }
-#endif
-
-    if (hDecoder->fb_intermed[channel] != NULL)
-    {
-        faad_free(hDecoder->fb_intermed[channel]);
-        hDecoder->fb_intermed[channel] = NULL;
-    }
-
-    hDecoder->fb_intermed[channel] = (real_t*)faad_malloc(hDecoder->frameLength*sizeof(real_t));
-    memset(hDecoder->fb_intermed[channel], 0, hDecoder->frameLength*sizeof(real_t));
-
-#ifdef SSR_DEC
-    if (hDecoder->object_type == SSR)
-    {
-        if (hDecoder->ssr_overlap[channel] == NULL)
-        {
-            hDecoder->ssr_overlap[channel] = (real_t*)faad_malloc(2*hDecoder->frameLength*sizeof(real_t));
-            memset(hDecoder->ssr_overlap[channel], 0, 2*hDecoder->frameLength*sizeof(real_t));
-        }
-        if (hDecoder->prev_fmd[channel] == NULL)
-        {
-            uint16_t k;
-            hDecoder->prev_fmd[channel] = (real_t*)faad_malloc(2*hDecoder->frameLength*sizeof(real_t));
-            for (k = 0; k < 2*hDecoder->frameLength; k++)
-                hDecoder->prev_fmd[channel][k] = REAL_CONST(-1);
-        }
-    }
-#endif
-
-    return 0;
-}
-
-static uint8_t allocate_channel_pair(NeAACDecHandle hDecoder,
-                                     uint8_t channel, uint8_t paired_channel)
-{
-    int mul = 1;
-
-#ifdef MAIN_DEC
-    /* MAIN object type prediction */
-    if (hDecoder->object_type == MAIN)
-    {
-        /* allocate the state only when needed */
-        if (hDecoder->pred_stat[channel] == NULL)
-        {
-            hDecoder->pred_stat[channel] = (pred_state*)faad_malloc(hDecoder->frameLength * sizeof(pred_state));
-            reset_all_predictors(hDecoder->pred_stat[channel], hDecoder->frameLength);
-        }
-        if (hDecoder->pred_stat[paired_channel] == NULL)
-        {
-            hDecoder->pred_stat[paired_channel] = (pred_state*)faad_malloc(hDecoder->frameLength * sizeof(pred_state));
-            reset_all_predictors(hDecoder->pred_stat[paired_channel], hDecoder->frameLength);
-        }
-    }
-#endif
-
-#ifdef LTP_DEC
-    if (is_ltp_ot(hDecoder->object_type))
-    {
-        /* allocate the state only when needed */
-        if (hDecoder->lt_pred_stat[channel] == NULL)
-        {
-            hDecoder->lt_pred_stat[channel] = (int16_t*)faad_malloc(hDecoder->frameLength*4 * sizeof(int16_t));
-            memset(hDecoder->lt_pred_stat[channel], 0, hDecoder->frameLength*4 * sizeof(int16_t));
-        }
-        if (hDecoder->lt_pred_stat[paired_channel] == NULL)
-        {
-            hDecoder->lt_pred_stat[paired_channel] = (int16_t*)faad_malloc(hDecoder->frameLength*4 * sizeof(int16_t));
-            memset(hDecoder->lt_pred_stat[paired_channel], 0, hDecoder->frameLength*4 * sizeof(int16_t));
-        }
-    }
-#endif
-
-    if (hDecoder->time_out[channel] == NULL)
-    {
-        mul = 1;
-#ifdef SBR_DEC
-        hDecoder->sbr_alloced[hDecoder->fr_ch_ele] = 0;
-        if ((hDecoder->sbr_present_flag == 1) || (hDecoder->forceUpSampling == 1))
-        {
-            /* SBR requires 2 times as much output data */
-            mul = 2;
-            hDecoder->sbr_alloced[hDecoder->fr_ch_ele] = 1;
-        }
-#endif
-        hDecoder->time_out[channel] = (real_t*)faad_malloc(mul*hDecoder->frameLength*sizeof(real_t));
-        memset(hDecoder->time_out[channel], 0, mul*hDecoder->frameLength*sizeof(real_t));
-    }
-    if (hDecoder->time_out[paired_channel] == NULL)
-    {
-        hDecoder->time_out[paired_channel] = (real_t*)faad_malloc(mul*hDecoder->frameLength*sizeof(real_t));
-        memset(hDecoder->time_out[paired_channel], 0, mul*hDecoder->frameLength*sizeof(real_t));
-    }
-
-    if (hDecoder->fb_intermed[channel] == NULL)
-    {
-        hDecoder->fb_intermed[channel] = (real_t*)faad_malloc(hDecoder->frameLength*sizeof(real_t));
-        memset(hDecoder->fb_intermed[channel], 0, hDecoder->frameLength*sizeof(real_t));
-    }
-    if (hDecoder->fb_intermed[paired_channel] == NULL)
-    {
-        hDecoder->fb_intermed[paired_channel] = (real_t*)faad_malloc(hDecoder->frameLength*sizeof(real_t));
-        memset(hDecoder->fb_intermed[paired_channel], 0, hDecoder->frameLength*sizeof(real_t));
-    }
-
-#ifdef SSR_DEC
-    if (hDecoder->object_type == SSR)
-    {
-        if (hDecoder->ssr_overlap[cpe->channel] == NULL)
-        {
-            hDecoder->ssr_overlap[cpe->channel] = (real_t*)faad_malloc(2*hDecoder->frameLength*sizeof(real_t));
-            memset(hDecoder->ssr_overlap[cpe->channel], 0, 2*hDecoder->frameLength*sizeof(real_t));
-        }
-        if (hDecoder->ssr_overlap[cpe->paired_channel] == NULL)
-        {
-            hDecoder->ssr_overlap[cpe->paired_channel] = (real_t*)faad_malloc(2*hDecoder->frameLength*sizeof(real_t));
-            memset(hDecoder->ssr_overlap[cpe->paired_channel], 0, 2*hDecoder->frameLength*sizeof(real_t));
-        }
-        if (hDecoder->prev_fmd[cpe->channel] == NULL)
-        {
-            uint16_t k;
-            hDecoder->prev_fmd[cpe->channel] = (real_t*)faad_malloc(2*hDecoder->frameLength*sizeof(real_t));
-            for (k = 0; k < 2*hDecoder->frameLength; k++)
-                hDecoder->prev_fmd[cpe->channel][k] = REAL_CONST(-1);
-        }
-        if (hDecoder->prev_fmd[cpe->paired_channel] == NULL)
-        {
-            uint16_t k;
-            hDecoder->prev_fmd[cpe->paired_channel] = (real_t*)faad_malloc(2*hDecoder->frameLength*sizeof(real_t));
-            for (k = 0; k < 2*hDecoder->frameLength; k++)
-                hDecoder->prev_fmd[cpe->paired_channel][k] = REAL_CONST(-1);
-        }
-    }
-#endif
-
-    return 0;
-}
-
-uint8_t reconstruct_single_channel(NeAACDecHandle hDecoder, ic_stream *ics,
-                                   element *sce, int16_t *spec_data)
-{
-    uint8_t retval;
-    int output_channels;
-    ALIGN real_t spec_coef[1024];
-
-#ifdef PROFILE
-    int64_t count = faad_get_ts();
-#endif
-
-
-    /* always allocate 2 channels, PS can always "suddenly" turn up */
-#if ( (defined(DRM) && defined(DRM_PS)) )
-    output_channels = 2;
-#elif defined(PS_DEC)
-    if (hDecoder->ps_used[hDecoder->fr_ch_ele])
-        output_channels = 2;
-    else
-        output_channels = 1;
-#else
-    output_channels = 1;
-#endif
-
-    if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] == 0)
-    {
-        /* element_output_channels not set yet */
-        hDecoder->element_output_channels[hDecoder->fr_ch_ele] = output_channels;
-    } else if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] != output_channels) {
-        /* element inconsistency */
-
-        /* this only happens if PS is actually found but not in the first frame
-         * this means that there is only 1 bitstream element!
-         */
-
-        /* reset the allocation */
-        hDecoder->element_alloced[hDecoder->fr_ch_ele] = 0;
-
-        hDecoder->element_output_channels[hDecoder->fr_ch_ele] = output_channels;
-
-        //return 21;
-    }
-
-    if (hDecoder->element_alloced[hDecoder->fr_ch_ele] == 0)
-    {
-        retval = allocate_single_channel(hDecoder, sce->channel, output_channels);
-        if (retval > 0)
-            return retval;
-
-        hDecoder->element_alloced[hDecoder->fr_ch_ele] = 1;
-    }
-
-
-    /* dequantisation and scaling */
-    retval = quant_to_spec(hDecoder, ics, spec_data, spec_coef, hDecoder->frameLength);
-    if (retval > 0)
-        return retval;
-
-#ifdef PROFILE
-    count = faad_get_ts() - count;
-    hDecoder->requant_cycles += count;
-#endif
-
-
-    /* pns decoding */
-    pns_decode(ics, NULL, spec_coef, NULL, hDecoder->frameLength, 0, hDecoder->object_type,
-        &(hDecoder->__r1), &(hDecoder->__r2));
-
-#ifdef MAIN_DEC
-    /* MAIN object type prediction */
-    if (hDecoder->object_type == MAIN)
-    {
-        /* intra channel prediction */
-        ic_prediction(ics, spec_coef, hDecoder->pred_stat[sce->channel], hDecoder->frameLength,
-            hDecoder->sf_index);
-
-        /* In addition, for scalefactor bands coded by perceptual
-           noise substitution the predictors belonging to the
-           corresponding spectral coefficients are reset.
-        */
-        pns_reset_pred_state(ics, hDecoder->pred_stat[sce->channel]);
-    }
-#endif
-
-#ifdef LTP_DEC
-    if (is_ltp_ot(hDecoder->object_type))
-    {
-#ifdef LD_DEC
-        if (hDecoder->object_type == LD)
-        {
-            if (ics->ltp.data_present)
-            {
-                if (ics->ltp.lag_update)
-                    hDecoder->ltp_lag[sce->channel] = ics->ltp.lag;
-            }
-            ics->ltp.lag = hDecoder->ltp_lag[sce->channel];
-        }
-#endif
-
-        /* long term prediction */
-        lt_prediction(ics, &(ics->ltp), spec_coef, hDecoder->lt_pred_stat[sce->channel], hDecoder->fb,
-            ics->window_shape, hDecoder->window_shape_prev[sce->channel],
-            hDecoder->sf_index, hDecoder->object_type, hDecoder->frameLength);
-    }
-#endif
-
-    /* tns decoding */
-    tns_decode_frame(ics, &(ics->tns), hDecoder->sf_index, hDecoder->object_type,
-        spec_coef, hDecoder->frameLength);
-
-    /* drc decoding */
-    if (hDecoder->drc->present)
-    {
-        if (!hDecoder->drc->exclude_mask[sce->channel] || !hDecoder->drc->excluded_chns_present)
-            drc_decode(hDecoder->drc, spec_coef);
-    }
-
-    /* filter bank */
-#ifdef SSR_DEC
-    if (hDecoder->object_type != SSR)
-    {
-#endif
-        ifilter_bank(hDecoder->fb, ics->window_sequence, ics->window_shape,
-            hDecoder->window_shape_prev[sce->channel], spec_coef,
-            hDecoder->time_out[sce->channel], hDecoder->fb_intermed[sce->channel],
-            hDecoder->object_type, hDecoder->frameLength);
-#ifdef SSR_DEC
-    } else {
-        ssr_decode(&(ics->ssr), hDecoder->fb, ics->window_sequence, ics->window_shape,
-            hDecoder->window_shape_prev[sce->channel], spec_coef, hDecoder->time_out[sce->channel],
-            hDecoder->ssr_overlap[sce->channel], hDecoder->ipqf_buffer[sce->channel], hDecoder->prev_fmd[sce->channel],
-            hDecoder->frameLength);
-    }
-#endif
-
-    /* save window shape for next frame */
-    hDecoder->window_shape_prev[sce->channel] = ics->window_shape;
-
-#ifdef LTP_DEC
-    if (is_ltp_ot(hDecoder->object_type))
-    {
-        lt_update_state(hDecoder->lt_pred_stat[sce->channel], hDecoder->time_out[sce->channel],
-            hDecoder->fb_intermed[sce->channel], hDecoder->frameLength, hDecoder->object_type);
-    }
-#endif
-
-#ifdef SBR_DEC
-    if (((hDecoder->sbr_present_flag == 1) || (hDecoder->forceUpSampling == 1))
-        && hDecoder->sbr_alloced[hDecoder->fr_ch_ele])
-    {
-        int ele = hDecoder->fr_ch_ele;
-        int ch = sce->channel;
-
-        /* following case can happen when forceUpSampling == 1 */
-        if (hDecoder->sbr[ele] == NULL)
-        {
-            hDecoder->sbr[ele] = sbrDecodeInit(hDecoder->frameLength,
-                hDecoder->element_id[ele], 2*get_sample_rate(hDecoder->sf_index),
-                hDecoder->downSampledSBR
-#ifdef DRM
-                , 0
-#endif
-                );
-        }
-
-        if (sce->ics1.window_sequence == EIGHT_SHORT_SEQUENCE)
-            hDecoder->sbr[ele]->maxAACLine = 8*min(sce->ics1.swb_offset[max(sce->ics1.max_sfb-1, 0)], sce->ics1.swb_offset_max);
-        else
-            hDecoder->sbr[ele]->maxAACLine = min(sce->ics1.swb_offset[max(sce->ics1.max_sfb-1, 0)], sce->ics1.swb_offset_max);
-
-        /* check if any of the PS tools is used */
-#if (defined(PS_DEC) || defined(DRM_PS))
-        if (hDecoder->ps_used[ele] == 0)
-        {
-#endif
-            retval = sbrDecodeSingleFrame(hDecoder->sbr[ele], hDecoder->time_out[ch],
-                hDecoder->postSeekResetFlag, hDecoder->downSampledSBR);
-#if (defined(PS_DEC) || defined(DRM_PS))
-        } else {
-            retval = sbrDecodeSingleFramePS(hDecoder->sbr[ele], hDecoder->time_out[ch],
-                hDecoder->time_out[ch+1], hDecoder->postSeekResetFlag,
-                hDecoder->downSampledSBR);
-        }
-#endif
-        if (retval > 0)
-            return retval;
-    } else if (((hDecoder->sbr_present_flag == 1) || (hDecoder->forceUpSampling == 1))
-        && !hDecoder->sbr_alloced[hDecoder->fr_ch_ele])
-    {
-        return 23;
-    }
-#endif
-
-    /* copy L to R when no PS is used */
-#if (defined(PS_DEC) || defined(DRM_PS))
-    if ((hDecoder->ps_used[hDecoder->fr_ch_ele] == 0) &&
-        (hDecoder->element_output_channels[hDecoder->fr_ch_ele] == 2))
-    {
-        int ele = hDecoder->fr_ch_ele;
-        int ch = sce->channel;
-        int frame_size = (hDecoder->sbr_alloced[ele]) ? 2 : 1;
-        frame_size *= hDecoder->frameLength*sizeof(real_t);
-
-        memcpy(hDecoder->time_out[ch+1], hDecoder->time_out[ch], frame_size);
-    }
-#endif
-
-    return 0;
-}
-
-uint8_t reconstruct_channel_pair(NeAACDecHandle hDecoder, ic_stream *ics1, ic_stream *ics2,
-                                 element *cpe, int16_t *spec_data1, int16_t *spec_data2)
-{
-    uint8_t retval;
-    ALIGN real_t spec_coef1[1024];
-    ALIGN real_t spec_coef2[1024];
-
-#ifdef PROFILE
-    int64_t count = faad_get_ts();
-#endif
-    if (hDecoder->element_alloced[hDecoder->fr_ch_ele] == 0)
-    {
-        retval = allocate_channel_pair(hDecoder, cpe->channel, (uint8_t)cpe->paired_channel);
-        if (retval > 0)
-            return retval;
-
-        hDecoder->element_alloced[hDecoder->fr_ch_ele] = 1;
-    }
-
-    /* dequantisation and scaling */
-    retval = quant_to_spec(hDecoder, ics1, spec_data1, spec_coef1, hDecoder->frameLength);
-    if (retval > 0)
-        return retval;
-    retval = quant_to_spec(hDecoder, ics2, spec_data2, spec_coef2, hDecoder->frameLength);
-    if (retval > 0)
-        return retval;
-
-#ifdef PROFILE
-    count = faad_get_ts() - count;
-    hDecoder->requant_cycles += count;
-#endif
-
-
-    /* pns decoding */
-    if (ics1->ms_mask_present)
-    {
-        pns_decode(ics1, ics2, spec_coef1, spec_coef2, hDecoder->frameLength, 1, hDecoder->object_type,
-            &(hDecoder->__r1), &(hDecoder->__r2));
-    } else {
-        pns_decode(ics1, NULL, spec_coef1, NULL, hDecoder->frameLength, 0, hDecoder->object_type,
-            &(hDecoder->__r1), &(hDecoder->__r2));
-        pns_decode(ics2, NULL, spec_coef2, NULL, hDecoder->frameLength, 0, hDecoder->object_type,
-            &(hDecoder->__r1), &(hDecoder->__r2));
-    }
-
-    /* mid/side decoding */
-    ms_decode(ics1, ics2, spec_coef1, spec_coef2, hDecoder->frameLength);
-
-#if 0
-    {
-        int i;
-        for (i = 0; i < 1024; i++)
-        {
-            //printf("%d\n", spec_coef1[i]);
-            printf("0x%.8X\n", spec_coef1[i]);
-        }
-        for (i = 0; i < 1024; i++)
-        {
-            //printf("%d\n", spec_coef2[i]);
-            printf("0x%.8X\n", spec_coef2[i]);
-        }
-    }
-#endif
-
-    /* intensity stereo decoding */
-    is_decode(ics1, ics2, spec_coef1, spec_coef2, hDecoder->frameLength);
-
-#if 0
-    {
-        int i;
-        for (i = 0; i < 1024; i++)
-        {
-            printf("%d\n", spec_coef1[i]);
-            //printf("0x%.8X\n", spec_coef1[i]);
-        }
-        for (i = 0; i < 1024; i++)
-        {
-            printf("%d\n", spec_coef2[i]);
-            //printf("0x%.8X\n", spec_coef2[i]);
-        }
-    }
-#endif
-
-#ifdef MAIN_DEC
-    /* MAIN object type prediction */
-    if (hDecoder->object_type == MAIN)
-    {
-        /* intra channel prediction */
-        ic_prediction(ics1, spec_coef1, hDecoder->pred_stat[cpe->channel], hDecoder->frameLength,
-            hDecoder->sf_index);
-        ic_prediction(ics2, spec_coef2, hDecoder->pred_stat[cpe->paired_channel], hDecoder->frameLength,
-            hDecoder->sf_index);
-
-        /* In addition, for scalefactor bands coded by perceptual
-           noise substitution the predictors belonging to the
-           corresponding spectral coefficients are reset.
-        */
-        pns_reset_pred_state(ics1, hDecoder->pred_stat[cpe->channel]);
-        pns_reset_pred_state(ics2, hDecoder->pred_stat[cpe->paired_channel]);
-    }
-#endif
-
-#ifdef LTP_DEC
-    if (is_ltp_ot(hDecoder->object_type))
-    {
-        ltp_info *ltp1 = &(ics1->ltp);
-        ltp_info *ltp2 = (cpe->common_window) ? &(ics2->ltp2) : &(ics2->ltp);
-#ifdef LD_DEC
-        if (hDecoder->object_type == LD)
-        {
-            if (ltp1->data_present)
-            {
-                if (ltp1->lag_update)
-                    hDecoder->ltp_lag[cpe->channel] = ltp1->lag;
-            }
-            ltp1->lag = hDecoder->ltp_lag[cpe->channel];
-            if (ltp2->data_present)
-            {
-                if (ltp2->lag_update)
-                    hDecoder->ltp_lag[cpe->paired_channel] = ltp2->lag;
-            }
-            ltp2->lag = hDecoder->ltp_lag[cpe->paired_channel];
-        }
-#endif
-
-        /* long term prediction */
-        lt_prediction(ics1, ltp1, spec_coef1, hDecoder->lt_pred_stat[cpe->channel], hDecoder->fb,
-            ics1->window_shape, hDecoder->window_shape_prev[cpe->channel],
-            hDecoder->sf_index, hDecoder->object_type, hDecoder->frameLength);
-        lt_prediction(ics2, ltp2, spec_coef2, hDecoder->lt_pred_stat[cpe->paired_channel], hDecoder->fb,
-            ics2->window_shape, hDecoder->window_shape_prev[cpe->paired_channel],
-            hDecoder->sf_index, hDecoder->object_type, hDecoder->frameLength);
-    }
-#endif
-
-    /* tns decoding */
-    tns_decode_frame(ics1, &(ics1->tns), hDecoder->sf_index, hDecoder->object_type,
-        spec_coef1, hDecoder->frameLength);
-    tns_decode_frame(ics2, &(ics2->tns), hDecoder->sf_index, hDecoder->object_type,
-        spec_coef2, hDecoder->frameLength);
-
-    /* drc decoding */
-    if (hDecoder->drc->present)
-    {
-        if (!hDecoder->drc->exclude_mask[cpe->channel] || !hDecoder->drc->excluded_chns_present)
-            drc_decode(hDecoder->drc, spec_coef1);
-        if (!hDecoder->drc->exclude_mask[cpe->paired_channel] || !hDecoder->drc->excluded_chns_present)
-            drc_decode(hDecoder->drc, spec_coef2);
-    }
-
-    /* filter bank */
-#ifdef SSR_DEC
-    if (hDecoder->object_type != SSR)
-    {
-#endif
-        ifilter_bank(hDecoder->fb, ics1->window_sequence, ics1->window_shape,
-            hDecoder->window_shape_prev[cpe->channel], spec_coef1,
-            hDecoder->time_out[cpe->channel], hDecoder->fb_intermed[cpe->channel],
-            hDecoder->object_type, hDecoder->frameLength);
-        ifilter_bank(hDecoder->fb, ics2->window_sequence, ics2->window_shape,
-            hDecoder->window_shape_prev[cpe->paired_channel], spec_coef2,
-            hDecoder->time_out[cpe->paired_channel], hDecoder->fb_intermed[cpe->paired_channel],
-            hDecoder->object_type, hDecoder->frameLength);
-#ifdef SSR_DEC
-    } else {
-        ssr_decode(&(ics1->ssr), hDecoder->fb, ics1->window_sequence, ics1->window_shape,
-            hDecoder->window_shape_prev[cpe->channel], spec_coef1, hDecoder->time_out[cpe->channel],
-            hDecoder->ssr_overlap[cpe->channel], hDecoder->ipqf_buffer[cpe->channel],
-            hDecoder->prev_fmd[cpe->channel], hDecoder->frameLength);
-        ssr_decode(&(ics2->ssr), hDecoder->fb, ics2->window_sequence, ics2->window_shape,
-            hDecoder->window_shape_prev[cpe->paired_channel], spec_coef2, hDecoder->time_out[cpe->paired_channel],
-            hDecoder->ssr_overlap[cpe->paired_channel], hDecoder->ipqf_buffer[cpe->paired_channel],
-            hDecoder->prev_fmd[cpe->paired_channel], hDecoder->frameLength);
-    }
-#endif
-
-    /* save window shape for next frame */
-    hDecoder->window_shape_prev[cpe->channel] = ics1->window_shape;
-    hDecoder->window_shape_prev[cpe->paired_channel] = ics2->window_shape;
-
-#ifdef LTP_DEC
-    if (is_ltp_ot(hDecoder->object_type))
-    {
-        lt_update_state(hDecoder->lt_pred_stat[cpe->channel], hDecoder->time_out[cpe->channel],
-            hDecoder->fb_intermed[cpe->channel], hDecoder->frameLength, hDecoder->object_type);
-        lt_update_state(hDecoder->lt_pred_stat[cpe->paired_channel], hDecoder->time_out[cpe->paired_channel],
-            hDecoder->fb_intermed[cpe->paired_channel], hDecoder->frameLength, hDecoder->object_type);
-    }
-#endif
-
-#ifdef SBR_DEC
-    if (((hDecoder->sbr_present_flag == 1) || (hDecoder->forceUpSampling == 1))
-        && hDecoder->sbr_alloced[hDecoder->fr_ch_ele])
-    {
-        int ele = hDecoder->fr_ch_ele;
-        int ch0 = cpe->channel;
-        int ch1 = cpe->paired_channel;
-
-        /* following case can happen when forceUpSampling == 1 */
-        if (hDecoder->sbr[ele] == NULL)
-        {
-            hDecoder->sbr[ele] = sbrDecodeInit(hDecoder->frameLength,
-                hDecoder->element_id[ele], 2*get_sample_rate(hDecoder->sf_index),
-                hDecoder->downSampledSBR
-#ifdef DRM
-                , 0
-#endif
-                );
-        }
-
-        if (cpe->ics1.window_sequence == EIGHT_SHORT_SEQUENCE)
-            hDecoder->sbr[ele]->maxAACLine = 8*min(cpe->ics1.swb_offset[max(cpe->ics1.max_sfb-1, 0)], cpe->ics1.swb_offset_max);
-        else
-            hDecoder->sbr[ele]->maxAACLine = min(cpe->ics1.swb_offset[max(cpe->ics1.max_sfb-1, 0)], cpe->ics1.swb_offset_max);
-
-        retval = sbrDecodeCoupleFrame(hDecoder->sbr[ele],
-            hDecoder->time_out[ch0], hDecoder->time_out[ch1],
-            hDecoder->postSeekResetFlag, hDecoder->downSampledSBR);
-        if (retval > 0)
-            return retval;
-    } else if (((hDecoder->sbr_present_flag == 1) || (hDecoder->forceUpSampling == 1))
-        && !hDecoder->sbr_alloced[hDecoder->fr_ch_ele])
-    {
-        return 23;
-    }
-#endif
-
-    return 0;
-}
diff --git a/lib/libfaad2/libfaad/specrec.h b/lib/libfaad2/libfaad/specrec.h
deleted file mode 100644 (file)
index f58094c..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: specrec.h,v 1.32 2007/11/01 12:33:36 menno Exp $
-**/
-
-#ifndef __SPECREC_H__
-#define __SPECREC_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "syntax.h"
-
-uint8_t window_grouping_info(NeAACDecHandle hDecoder, ic_stream *ics);
-uint8_t reconstruct_channel_pair(NeAACDecHandle hDecoder, ic_stream *ics1, ic_stream *ics2,
-                                 element *cpe, int16_t *spec_data1, int16_t *spec_data2);
-uint8_t reconstruct_single_channel(NeAACDecHandle hDecoder, ic_stream *ics, element *sce,
-                                int16_t *spec_data);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/ssr.c b/lib/libfaad2/libfaad/ssr.c
deleted file mode 100644 (file)
index 3681124..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ssr.c,v 1.19 2007/11/01 12:33:36 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SSR_DEC
-
-#include "syntax.h"
-#include "filtbank.h"
-#include "ssr.h"
-#include "ssr_fb.h"
-
-void ssr_decode(ssr_info *ssr, fb_info *fb, uint8_t window_sequence,
-                uint8_t window_shape, uint8_t window_shape_prev,
-                real_t *freq_in, real_t *time_out, real_t *overlap,
-                real_t ipqf_buffer[SSR_BANDS][96/4],
-                real_t *prev_fmd, uint16_t frame_len)
-{
-    uint8_t band;
-    uint16_t ssr_frame_len = frame_len/SSR_BANDS;
-    real_t time_tmp[2048] = {0};
-    real_t output[1024] = {0};
-
-    for (band = 0; band < SSR_BANDS; band++)
-    {
-        int16_t j;
-
-        /* uneven bands have inverted frequency scale */
-        if (band == 1 || band == 3)
-        {
-            for (j = 0; j < ssr_frame_len/2; j++)
-            {
-                real_t tmp;
-                tmp = freq_in[j + ssr_frame_len*band];
-                freq_in[j + ssr_frame_len*band] =
-                    freq_in[ssr_frame_len - j - 1 + ssr_frame_len*band];
-                freq_in[ssr_frame_len - j - 1 + ssr_frame_len*band] = tmp;
-            }
-        }
-
-        /* non-overlapping inverse filterbank for SSR */
-        ssr_ifilter_bank(fb, window_sequence, window_shape, window_shape_prev,
-            freq_in + band*ssr_frame_len, time_tmp + band*ssr_frame_len,
-            ssr_frame_len);
-
-        /* gain control */
-        ssr_gain_control(ssr, time_tmp, output, overlap, prev_fmd,
-            band, window_sequence, ssr_frame_len);
-    }
-
-    /* inverse pqf to bring subbands together again */
-    ssr_ipqf(ssr, output, time_out, ipqf_buffer, frame_len, SSR_BANDS);
-}
-
-static void ssr_gain_control(ssr_info *ssr, real_t *data, real_t *output,
-                             real_t *overlap, real_t *prev_fmd, uint8_t band,
-                             uint8_t window_sequence, uint16_t frame_len)
-{
-    uint16_t i;
-    real_t gc_function[2*1024/SSR_BANDS];
-
-    if (window_sequence != EIGHT_SHORT_SEQUENCE)
-    {
-        ssr_gc_function(ssr, &prev_fmd[band * frame_len*2],
-            gc_function, window_sequence, band, frame_len);
-
-        for (i = 0; i < frame_len*2; i++)
-            data[band * frame_len*2 + i] *= gc_function[i];
-        for (i = 0; i < frame_len; i++)
-        {
-            output[band*frame_len + i] = overlap[band*frame_len + i] +
-                data[band*frame_len*2 + i];
-        }
-        for (i = 0; i < frame_len; i++)
-        {
-            overlap[band*frame_len + i] =
-                data[band*frame_len*2 + frame_len + i];
-        }
-    } else {
-        uint8_t w;
-        for (w = 0; w < 8; w++)
-        {
-            uint16_t frame_len8 = frame_len/8;
-            uint16_t frame_len16 = frame_len/16;
-
-            ssr_gc_function(ssr, &prev_fmd[band*frame_len*2 + w*frame_len*2/8],
-                gc_function, window_sequence, frame_len);
-
-            for (i = 0; i < frame_len8*2; i++)
-                data[band*frame_len*2 + w*frame_len8*2+i] *= gc_function[i];
-            for (i = 0; i < frame_len8; i++)
-            {
-                overlap[band*frame_len + i + 7*frame_len16 + w*frame_len8] +=
-                    data[band*frame_len*2 + 2*w*frame_len8 + i];
-            }
-            for (i = 0; i < frame_len8; i++)
-            {
-                overlap[band*frame_len + i + 7*frame_len16 + (w+1)*frame_len8] =
-                    data[band*frame_len*2 + 2*w*frame_len8 + frame_len8 + i];
-            }
-        }
-        for (i = 0; i < frame_len; i++)
-            output[band*frame_len + i] = overlap[band*frame_len + i];
-        for (i = 0; i < frame_len; i++)
-            overlap[band*frame_len + i] = overlap[band*frame_len + i + frame_len];
-    }
-}
-
-static void ssr_gc_function(ssr_info *ssr, real_t *prev_fmd,
-                            real_t *gc_function, uint8_t window_sequence,
-                            uint8_t band, uint16_t frame_len)
-{
-    uint16_t i;
-    uint16_t len_area1, len_area2;
-    int32_t aloc[10];
-    real_t alev[10];
-
-    switch (window_sequence)
-    {
-    case ONLY_LONG_SEQUENCE:
-        len_area1 = frame_len/SSR_BANDS;
-        len_area2 = 0;
-        break;
-    case LONG_START_SEQUENCE:
-        len_area1 = (frame_len/SSR_BANDS)*7/32;
-        len_area2 = (frame_len/SSR_BANDS)/16;
-        break;
-    case EIGHT_SHORT_SEQUENCE:
-        len_area1 = (frame_len/8)/SSR_BANDS;
-        len_area2 = 0;
-        break;
-    case LONG_STOP_SEQUENCE:
-        len_area1 = (frame_len/SSR_BANDS);
-        len_area2 = 0;
-        break;
-    }
-
-    /* decode bitstream information */
-
-    /* build array M */
-
-
-    for (i = 0; i < frame_len*2; i++)
-        gc_function[i] = 1;
-}
-
-#endif
diff --git a/lib/libfaad2/libfaad/ssr.h b/lib/libfaad2/libfaad/ssr.h
deleted file mode 100644 (file)
index 7adcf2a..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ssr.h,v 1.19 2007/11/01 12:33:36 menno Exp $
-**/
-
-#ifndef __SSR_H__
-#define __SSR_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define SSR_BANDS 4
-#define PQFTAPS 96
-
-void ssr_decode(ssr_info *ssr, fb_info *fb, uint8_t window_sequence,
-                uint8_t window_shape, uint8_t window_shape_prev,
-                real_t *freq_in, real_t *time_out, real_t *overlap,
-                real_t ipqf_buffer[SSR_BANDS][96/4],
-                real_t *prev_fmd, uint16_t frame_len);
-
-
-static void ssr_gain_control(ssr_info *ssr, real_t *data, real_t *output,
-                             real_t *overlap, real_t *prev_fmd, uint8_t band,
-                             uint8_t window_sequence, uint16_t frame_len);
-static void ssr_gc_function(ssr_info *ssr, real_t *prev_fmd,
-                            real_t *gc_function, uint8_t window_sequence,
-                            uint16_t frame_len);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/ssr_fb.c b/lib/libfaad2/libfaad/ssr_fb.c
deleted file mode 100644 (file)
index a977c94..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ssr_fb.c,v 1.17 2007/11/01 12:33:36 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SSR_DEC
-
-#include <string.h>
-#include <stdlib.h>
-#include "syntax.h"
-#include "filtbank.h"
-#include "mdct.h"
-#include "ssr_fb.h"
-#include "ssr_win.h"
-
-fb_info *ssr_filter_bank_init(uint16_t frame_len)
-{
-    uint16_t nshort = frame_len/8;
-
-    fb_info *fb = (fb_info*)faad_malloc(sizeof(fb_info));
-    memset(fb, 0, sizeof(fb_info));
-
-    /* normal */
-    fb->mdct256 = faad_mdct_init(2*nshort);
-    fb->mdct2048 = faad_mdct_init(2*frame_len);
-
-    fb->long_window[0]  = sine_long_256;
-    fb->short_window[0] = sine_short_32;
-    fb->long_window[1]  = kbd_long_256;
-    fb->short_window[1] = kbd_short_32;
-
-    return fb;
-}
-
-void ssr_filter_bank_end(fb_info *fb)
-{
-    faad_mdct_end(fb->mdct256);
-    faad_mdct_end(fb->mdct2048);
-
-    if (fb) faad_free(fb);
-}
-
-static INLINE void imdct_ssr(fb_info *fb, real_t *in_data,
-                             real_t *out_data, uint16_t len)
-{
-    mdct_info *mdct;
-
-    switch (len)
-    {
-    case 512:
-        mdct = fb->mdct2048;
-        break;
-    case 64:
-        mdct = fb->mdct256;
-        break;
-    }
-
-    faad_imdct(mdct, in_data, out_data);
-}
-
-/* NON-overlapping inverse filterbank for use with SSR */
-void ssr_ifilter_bank(fb_info *fb, uint8_t window_sequence, uint8_t window_shape,
-                      uint8_t window_shape_prev, real_t *freq_in,
-                      real_t *time_out, uint16_t frame_len)
-{
-    int16_t i;
-    real_t *transf_buf;
-
-    real_t *window_long;
-    real_t *window_long_prev;
-    real_t *window_short;
-    real_t *window_short_prev;
-
-    uint16_t nlong = frame_len;
-    uint16_t nshort = frame_len/8;
-    uint16_t trans = nshort/2;
-
-    uint16_t nflat_ls = (nlong-nshort)/2;
-
-    transf_buf = (real_t*)faad_malloc(2*nlong*sizeof(real_t));
-
-    window_long       = fb->long_window[window_shape];
-    window_long_prev  = fb->long_window[window_shape_prev];
-    window_short      = fb->short_window[window_shape];
-    window_short_prev = fb->short_window[window_shape_prev];
-
-    switch (window_sequence)
-    {
-    case ONLY_LONG_SEQUENCE:
-        imdct_ssr(fb, freq_in, transf_buf, 2*nlong);
-        for (i = nlong-1; i >= 0; i--)
-        {
-            time_out[i] = MUL_R_C(transf_buf[i],window_long_prev[i]);
-            time_out[nlong+i] = MUL_R_C(transf_buf[nlong+i],window_long[nlong-1-i]);
-        }
-        break;
-
-    case LONG_START_SEQUENCE:
-        imdct_ssr(fb, freq_in, transf_buf, 2*nlong);
-        for (i = 0; i < nlong; i++)
-            time_out[i] = MUL_R_C(transf_buf[i],window_long_prev[i]);
-        for (i = 0; i < nflat_ls; i++)
-            time_out[nlong+i] = transf_buf[nlong+i];
-        for (i = 0; i < nshort; i++)
-            time_out[nlong+nflat_ls+i] = MUL_R_C(transf_buf[nlong+nflat_ls+i],window_short[nshort-i-1]);
-        for (i = 0; i < nflat_ls; i++)
-            time_out[nlong+nflat_ls+nshort+i] = 0;
-        break;
-
-    case EIGHT_SHORT_SEQUENCE:
-        imdct_ssr(fb, freq_in+0*nshort, transf_buf+2*nshort*0, 2*nshort);
-        imdct_ssr(fb, freq_in+1*nshort, transf_buf+2*nshort*1, 2*nshort);
-        imdct_ssr(fb, freq_in+2*nshort, transf_buf+2*nshort*2, 2*nshort);
-        imdct_ssr(fb, freq_in+3*nshort, transf_buf+2*nshort*3, 2*nshort);
-        imdct_ssr(fb, freq_in+4*nshort, transf_buf+2*nshort*4, 2*nshort);
-        imdct_ssr(fb, freq_in+5*nshort, transf_buf+2*nshort*5, 2*nshort);
-        imdct_ssr(fb, freq_in+6*nshort, transf_buf+2*nshort*6, 2*nshort);
-        imdct_ssr(fb, freq_in+7*nshort, transf_buf+2*nshort*7, 2*nshort);
-        for(i = nshort-1; i >= 0; i--)
-        {
-            time_out[i+0*nshort] = MUL_R_C(transf_buf[nshort*0+i],window_short_prev[i]);
-            time_out[i+1*nshort] = MUL_R_C(transf_buf[nshort*1+i],window_short[i]);
-            time_out[i+2*nshort] = MUL_R_C(transf_buf[nshort*2+i],window_short_prev[i]);
-            time_out[i+3*nshort] = MUL_R_C(transf_buf[nshort*3+i],window_short[i]);
-            time_out[i+4*nshort] = MUL_R_C(transf_buf[nshort*4+i],window_short_prev[i]);
-            time_out[i+5*nshort] = MUL_R_C(transf_buf[nshort*5+i],window_short[i]);
-            time_out[i+6*nshort] = MUL_R_C(transf_buf[nshort*6+i],window_short_prev[i]);
-            time_out[i+7*nshort] = MUL_R_C(transf_buf[nshort*7+i],window_short[i]);
-            time_out[i+8*nshort] = MUL_R_C(transf_buf[nshort*8+i],window_short_prev[i]);
-            time_out[i+9*nshort] = MUL_R_C(transf_buf[nshort*9+i],window_short[i]);
-            time_out[i+10*nshort] = MUL_R_C(transf_buf[nshort*10+i],window_short_prev[i]);
-            time_out[i+11*nshort] = MUL_R_C(transf_buf[nshort*11+i],window_short[i]);
-            time_out[i+12*nshort] = MUL_R_C(transf_buf[nshort*12+i],window_short_prev[i]);
-            time_out[i+13*nshort] = MUL_R_C(transf_buf[nshort*13+i],window_short[i]);
-            time_out[i+14*nshort] = MUL_R_C(transf_buf[nshort*14+i],window_short_prev[i]);
-            time_out[i+15*nshort] = MUL_R_C(transf_buf[nshort*15+i],window_short[i]);
-        }
-        break;
-
-    case LONG_STOP_SEQUENCE:
-        imdct_ssr(fb, freq_in, transf_buf, 2*nlong);
-        for (i = 0; i < nflat_ls; i++)
-            time_out[i] = 0;
-        for (i = 0; i < nshort; i++)
-            time_out[nflat_ls+i] = MUL_R_C(transf_buf[nflat_ls+i],window_short_prev[i]);
-        for (i = 0; i < nflat_ls; i++)
-            time_out[nflat_ls+nshort+i] = transf_buf[nflat_ls+nshort+i];
-        for (i = 0; i < nlong; i++)
-            time_out[nlong+i] = MUL_R_C(transf_buf[nlong+i],window_long[nlong-1-i]);
-               break;
-    }
-
-    faad_free(transf_buf);
-}
-
-
-#endif
diff --git a/lib/libfaad2/libfaad/ssr_fb.h b/lib/libfaad2/libfaad/ssr_fb.h
deleted file mode 100644 (file)
index 3ae4eb0..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: ssr_fb.h,v 1.16 2007/11/01 12:33:36 menno Exp $
-**/
-
-#ifndef __SSR_FB_H__
-#define __SSR_FB_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-fb_info *ssr_filter_bank_init(uint16_t frame_len);
-void ssr_filter_bank_end(fb_info *fb);
-
-/*non overlapping inverse filterbank */
-void ssr_ifilter_bank(fb_info *fb,
-                      uint8_t window_sequence,
-                      uint8_t window_shape,
-                      uint8_t window_shape_prev,
-                      real_t *freq_in,
-                      real_t *time_out,
-                      uint16_t frame_len);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/ssr_ipqf.c b/lib/libfaad2/libfaad/ssr_ipqf.c
deleted file mode 100644 (file)
index 6963427..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: ssr_ipqf.c,v 1.18 2007/11/01 12:33:39 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#ifdef SSR_DEC
-
-#include "ssr.h"
-#include "ssr_ipqf.h"
-
-static real_t **app_pqfbuf;
-static real_t **pp_q0, **pp_t0, **pp_t1;
-
-void gc_set_protopqf(real_t *p_proto)
-{
-    int        j;
-    static real_t a_half[48] =
-    {
-        1.2206911375946939E-05,  1.7261986723798209E-05,  1.2300093657077942E-05,
-        -1.0833943097791965E-05, -5.7772498639901686E-05, -1.2764767618947719E-04,
-        -2.0965186675013334E-04, -2.8166673689263850E-04, -3.1234860429017460E-04,
-        -2.6738519958452353E-04, -1.1949424681824722E-04,  1.3965139412648678E-04,
-        4.8864136409185725E-04,  8.7044629275148344E-04,  1.1949430269934793E-03,
-        1.3519708175026700E-03,  1.2346314373964412E-03,  7.6953209114159191E-04,
-        -5.2242432579537141E-05, -1.1516092887213454E-03, -2.3538469841711277E-03,
-        -3.4033123072127277E-03, -4.0028551071986133E-03, -3.8745415659693259E-03,
-        -2.8321073426874310E-03, -8.5038892323704195E-04,  1.8856751185350931E-03,
-        4.9688741735340923E-03,  7.8056704536795926E-03,  9.7027909685901654E-03,
-        9.9960423120166159E-03,  8.2019366335594487E-03,  4.1642072876103365E-03,
-        -1.8364453822737758E-03, -9.0384863094167686E-03, -1.6241528177129844E-02,
-        -2.1939551286300665E-02, -2.4533179947088161E-02, -2.2591663337768787E-02,
-        -1.5122066420044672E-02, -1.7971713448186293E-03,  1.6903413428575379E-02,
-        3.9672315874127042E-02,  6.4487527248102796E-02,  8.8850025474701726E-02,
-        0.1101132906105560    ,  0.1258540205143761    ,  0.1342239368467012    
-    };
-
-    for (j = 0; j < 48; ++j)
-    {
-        p_proto[j] = p_proto[95-j] = a_half[j];
-    }
-}
-
-void gc_setcoef_eff_pqfsyn(int mm,
-                           int kk,
-                           real_t *p_proto,
-                           real_t ***ppp_q0,
-                           real_t ***ppp_t0,
-                           real_t ***ppp_t1)
-{
-    int        i, k, n;
-    real_t     w;
-
-    /* Set 1st Mul&Acc Coef's */
-    *ppp_q0 = (real_t **) calloc(mm, sizeof(real_t *));
-    for (n = 0; n < mm; ++n)
-    {
-        (*ppp_q0)[n] = (real_t *) calloc(mm, sizeof(real_t));
-    }
-    for (n = 0; n < mm/2; ++n)
-    {
-        for (i = 0; i < mm; ++i)
-        {
-            w = (2*i+1)*(2*n+1-mm)*M_PI/(4*mm);
-            (*ppp_q0)[n][i] = 2.0 * cos((real_t) w);
-
-            w = (2*i+1)*(2*(mm+n)+1-mm)*M_PI/(4*mm);
-            (*ppp_q0)[n + mm/2][i] = 2.0 * cos((real_t) w);
-        }
-    }
-
-    /* Set 2nd Mul&Acc Coef's */
-    *ppp_t0 = (real_t **) calloc(mm, sizeof(real_t *));
-    *ppp_t1 = (real_t **) calloc(mm, sizeof(real_t *));
-    for (n = 0; n < mm; ++n)
-    {
-        (*ppp_t0)[n] = (real_t *) calloc(kk, sizeof(real_t));
-        (*ppp_t1)[n] = (real_t *) calloc(kk, sizeof(real_t));
-    }
-    for (n = 0; n < mm; ++n)
-    {
-        for (k = 0; k < kk; ++k)
-        {
-            (*ppp_t0)[n][k] = mm * p_proto[2*k    *mm + n];
-            (*ppp_t1)[n][k] = mm * p_proto[(2*k+1)*mm + n];
-
-            if (k%2 != 0)
-            {
-                (*ppp_t0)[n][k] = -(*ppp_t0)[n][k];
-                (*ppp_t1)[n][k] = -(*ppp_t1)[n][k];
-            }
-        }
-    }
-}
-
-void ssr_ipqf(ssr_info *ssr, real_t *in_data, real_t *out_data,
-              real_t buffer[SSR_BANDS][96/4],
-              uint16_t frame_len, uint8_t bands)
-{
-    static int initFlag = 0;
-    real_t a_pqfproto[PQFTAPS];
-
-    int        i;
-
-    if (initFlag == 0)
-    {
-        gc_set_protopqf(a_pqfproto);
-        gc_setcoef_eff_pqfsyn(SSR_BANDS, PQFTAPS/(2*SSR_BANDS), a_pqfproto,
-            &pp_q0, &pp_t0, &pp_t1);
-        initFlag = 1;
-    }
-
-    for (i = 0; i < frame_len / SSR_BANDS; i++)
-    {
-        int l, n, k;
-        int mm = SSR_BANDS;
-        int kk = PQFTAPS/(2*SSR_BANDS);
-
-        for (n = 0; n < mm; n++)
-        {
-            for (k = 0; k < 2*kk-1; k++)
-            {
-                buffer[n][k] = buffer[n][k+1];
-            }
-        }
-
-        for (n = 0; n < mm; n++)
-        {
-            real_t acc = 0.0;
-            for (l = 0; l < mm; l++)
-            {
-                acc += pp_q0[n][l] * in_data[l*frame_len/SSR_BANDS + i];
-            }
-            buffer[n][2*kk-1] = acc;
-        }
-
-        for (n = 0; n < mm/2; n++)
-        {
-            real_t acc = 0.0;
-            for (k = 0; k < kk; k++)
-            {
-                acc += pp_t0[n][k] * buffer[n][2*kk-1-2*k];
-            }
-            for (k = 0; k < kk; ++k)
-            {
-                acc += pp_t1[n][k] * buffer[n + mm/2][2*kk-2-2*k];
-            }
-            out_data[i*SSR_BANDS + n] = acc;
-
-            acc = 0.0;
-            for (k = 0; k < kk; k++)
-            {
-                acc += pp_t0[mm-1-n][k] * buffer[n][2*kk-1-2*k];
-            }
-            for (k = 0; k < kk; k++)
-            {
-                acc -= pp_t1[mm-1-n][k] * buffer[n + mm/2][2*kk-2-2*k];
-            }
-            out_data[i*SSR_BANDS + mm-1-n] = acc;
-        }
-    }
-}
-
-#endif
diff --git a/lib/libfaad2/libfaad/ssr_ipqf.h b/lib/libfaad2/libfaad/ssr_ipqf.h
deleted file mode 100644 (file)
index 4729921..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: ssr_ipqf.h,v 1.17 2007/11/01 12:33:39 menno Exp $
-**/
-
-#ifndef __SSR_IPQF_H__
-#define __SSR_IPQF_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void ssr_ipqf(ssr_info *ssr, real_t *in_data, real_t *out_data,
-              real_t buffer[SSR_BANDS][96/4],
-              uint16_t frame_len, uint8_t bands);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/ssr_win.h b/lib/libfaad2/libfaad/ssr_win.h
deleted file mode 100644 (file)
index 64b0f98..0000000
+++ /dev/null
@@ -1,635 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: ssr_win.h,v 1.16 2007/11/01 12:33:39 menno Exp $
-**/
-
-#ifndef __SSR_WIN_H__
-#define __SSR_WIN_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#ifdef _MSC_VER
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#endif
-
-static real_t sine_short_32[] = {
-    0.0245412290,
-    0.0735645667,
-    0.1224106774,
-    0.1709618866,
-    0.2191012502,
-    0.2667127550,
-    0.3136817515,
-    0.3598950505,
-    0.4052413106,
-    0.4496113360,
-    0.4928981960,
-    0.5349976420,
-    0.5758082271,
-    0.6152316332,
-    0.6531728506,
-    0.6895405650,
-    0.7242470980,
-    0.7572088838,
-    0.7883464694,
-    0.8175848126,
-    0.8448535800,
-    0.8700870275,
-    0.8932242990,
-    0.9142097831,
-    0.9329928160,
-    0.9495282173,
-    0.9637760520,
-    0.9757021666,
-    0.9852776527,
-    0.9924795628,
-    0.9972904325,
-    0.9996988177
-};
-
-static real_t sine_long_256[] = {
-    0.0030679568,
-    0.0092037553,
-    0.0153392069,
-    0.0214740802,
-    0.0276081469,
-    0.0337411724,
-    0.0398729295,
-    0.0460031852,
-    0.0521317050,
-    0.0582582653,
-    0.0643826351,
-    0.0705045760,
-    0.0766238645,
-    0.0827402696,
-    0.0888535529,
-    0.0949634984,
-    0.1010698676,
-    0.1071724296,
-    0.1132709533,
-    0.1193652153,
-    0.1254549921,
-    0.1315400302,
-    0.1376201212,
-    0.1436950415,
-    0.1497645378,
-    0.1558284014,
-    0.1618863940,
-    0.1679383069,
-    0.1739838719,
-    0.1800229102,
-    0.1860551536,
-    0.1920804083,
-    0.1980984211,
-    0.2041089684,
-    0.2101118416,
-    0.2161068022,
-    0.2220936269,
-    0.2280720919,
-    0.2340419590,
-    0.2400030345,
-    0.2459550500,
-    0.2518978119,
-    0.2578310966,
-    0.2637546957,
-    0.2696683407,
-    0.2755718231,
-    0.2814649343,
-    0.2873474658,
-    0.2932191789,
-    0.2990798354,
-    0.3049292266,
-    0.3107671738,
-    0.3165933788,
-    0.3224076927,
-    0.3282098472,
-    0.3339996636,
-    0.3397769034,
-    0.3455413282,
-    0.3512927592,
-    0.3570309579,
-    0.3627557456,
-    0.3684668541,
-    0.3741640747,
-    0.3798472285,
-    0.3855160773,
-    0.3911703825,
-    0.3968099952,
-    0.4024346471,
-    0.4080441594,
-    0.4136383235,
-    0.4192169011,
-    0.4247796834,
-    0.4303264916,
-    0.4358570874,
-    0.4413712919,
-    0.4468688369,
-    0.4523496032,
-    0.4578133225,
-    0.4632597864,
-    0.4686888456,
-    0.4741002321,
-    0.4794937670,
-    0.4848692715,
-    0.4902265072,
-    0.4955652654,
-    0.5008853674,
-    0.5061866641,
-    0.5114688873,
-    0.5167317986,
-    0.5219752789,
-    0.5271991491,
-    0.5324031115,
-    0.5375871062,
-    0.5427507758,
-    0.5478940606,
-    0.5530167222,
-    0.5581185222,
-    0.5631993413,
-    0.5682589412,
-    0.5732972026,
-    0.5783138275,
-    0.5833086967,
-    0.5882815719,
-    0.5932323337,
-    0.5981607437,
-    0.6030666232,
-    0.6079497933,
-    0.6128100753,
-    0.6176473498,
-    0.6224613190,
-    0.6272518039,
-    0.6320187449,
-    0.6367619038,
-    0.6414810419,
-    0.6461760402,
-    0.6508467197,
-    0.6554928422,
-    0.6601143479,
-    0.6647109985,
-    0.6692826152,
-    0.6738290191,
-    0.6783500314,
-    0.6828455329,
-    0.6873153448,
-    0.6917592883,
-    0.6961771250,
-    0.7005687952,
-    0.7049341202,
-    0.7092728615,
-    0.7135848999,
-    0.7178700566,
-    0.7221282125,
-    0.7263591886,
-    0.7305628061,
-    0.7347388864,
-    0.7388873696,
-    0.7430079579,
-    0.7471006513,
-    0.7511651516,
-    0.7552013993,
-    0.7592092156,
-    0.7631884217,
-    0.7671388984,
-    0.7710605264,
-    0.7749531269,
-    0.7788165212,
-    0.7826505899,
-    0.7864552140,
-    0.7902302146,
-    0.7939754725,
-    0.7976908684,
-    0.8013761640,
-    0.8050313592,
-    0.8086562157,
-    0.8122506142,
-    0.8158144355,
-    0.8193475604,
-    0.8228498101,
-    0.8263210654,
-    0.8297612667,
-    0.8331701756,
-    0.8365477324,
-    0.8398938179,
-    0.8432082534,
-    0.8464909792,
-    0.8497417569,
-    0.8529606462,
-    0.8561473489,
-    0.8593018055,
-    0.8624239564,
-    0.8655136228,
-    0.8685707450,
-    0.8715950847,
-    0.8745866418,
-    0.8775452971,
-    0.8804709315,
-    0.8833633661,
-    0.8862225413,
-    0.8890483975,
-    0.8918406963,
-    0.8945994973,
-    0.8973246217,
-    0.9000158906,
-    0.9026733041,
-    0.9052967429,
-    0.9078861475,
-    0.9104412794,
-    0.9129621983,
-    0.9154487252,
-    0.9179008007,
-    0.9203183055,
-    0.9227011204,
-    0.9250492454,
-    0.9273625612,
-    0.9296408892,
-    0.9318842888,
-    0.9340925813,
-    0.9362657070,
-    0.9384035468,
-    0.9405061007,
-    0.9425731897,
-    0.9446048737,
-    0.9466009140,
-    0.9485613704,
-    0.9504860640,
-    0.9523749948,
-    0.9542281032,
-    0.9560452700,
-    0.9578264356,
-    0.9595715404,
-    0.9612805247,
-    0.9629532695,
-    0.9645897746,
-    0.9661900401,
-    0.9677538276,
-    0.9692812562,
-    0.9707721472,
-    0.9722265005,
-    0.9736442566,
-    0.9750253558,
-    0.9763697386,
-    0.9776773453,
-    0.9789481759,
-    0.9801821709,
-    0.9813792109,
-    0.9825392962,
-    0.9836624265,
-    0.9847484827,
-    0.9857975245,
-    0.9868094325,
-    0.9877841473,
-    0.9887216687,
-    0.9896219969,
-    0.9904850721,
-    0.9913108945,
-    0.9920993447,
-    0.9928504229,
-    0.9935641289,
-    0.9942404628,
-    0.9948793054,
-    0.9954807758,
-    0.9960446954,
-    0.9965711236,
-    0.9970600605,
-    0.9975114465,
-    0.9979252815,
-    0.9983015656,
-    0.9986402392,
-    0.9989413023,
-    0.9992047548,
-    0.9994305968,
-    0.9996188283,
-    0.9997693896,
-    0.9998823404,
-    0.9999576211,
-    0.9999952912
-};
-
-static real_t kbd_short_32[] = {
-    0.0000875914060105,
-    0.0009321760265333,
-    0.0032114611466596,
-    0.0081009893216786,
-    0.0171240286619181,
-    0.0320720743527833,
-    0.0548307856028528,
-    0.0871361822564870,
-    0.1302923415174603,
-    0.1848955425508276,
-    0.2506163195331889,
-    0.3260874142923209,
-    0.4089316830907141,
-    0.4959414909423747,
-    0.5833939894958904,
-    0.6674601983218376,
-    0.7446454751465113,
-    0.8121892962974020,
-    0.8683559394406505,
-    0.9125649996381605,
-    0.9453396205809574,
-    0.9680864942677585,
-    0.9827581789763112,
-    0.9914756203467121,
-    0.9961964092194694,
-    0.9984956609571091,
-    0.9994855586984285,
-    0.9998533730714648,
-    0.9999671864476404,
-    0.9999948432453556,
-    0.9999995655238333,
-    0.9999999961638728
-};
-
-
-static real_t kbd_long_256[] = {
-    0.0005851230124487,
-    0.0009642149851497,
-    0.0013558207534965,
-    0.0017771849644394,
-    0.0022352533849672,
-    0.0027342299070304,
-    0.0032773001022195,
-    0.0038671998069216,
-    0.0045064443384152,
-    0.0051974336885144,
-    0.0059425050016407,
-    0.0067439602523141,
-    0.0076040812644888,
-    0.0085251378135895,
-    0.0095093917383048,
-    0.0105590986429280,
-    0.0116765080854300,
-    0.0128638627792770,
-    0.0141233971318631,
-    0.0154573353235409,
-    0.0168678890600951,
-    0.0183572550877256,
-    0.0199276125319803,
-    0.0215811201042484,
-    0.0233199132076965,
-    0.0251461009666641,
-    0.0270617631981826,
-    0.0290689473405856,
-    0.0311696653515848,
-    0.0333658905863535,
-    0.0356595546648444,
-    0.0380525443366107,
-    0.0405466983507029,
-    0.0431438043376910,
-    0.0458455957104702,
-    0.0486537485902075,
-    0.0515698787635492,
-    0.0545955386770205,
-    0.0577322144743916,
-    0.0609813230826460,
-    0.0643442093520723,
-    0.0678221432558827,
-    0.0714163171546603,
-    0.0751278431308314,
-    0.0789577503982528,
-    0.0829069827918993,
-    0.0869763963425241,
-    0.0911667569410503,
-    0.0954787380973307,
-    0.0999129187977865,
-    0.1044697814663005,
-    0.1091497100326053,
-    0.1139529881122542,
-    0.1188797973021148,
-    0.1239302155951605,
-    0.1291042159181728,
-    0.1344016647957880,
-    0.1398223211441467,
-    0.1453658351972151,
-    0.1510317475686540,
-    0.1568194884519144,
-    0.1627283769610327,
-    0.1687576206143887,
-    0.1749063149634756,
-    0.1811734433685097,
-    0.1875578769224857,
-    0.1940583745250518,
-    0.2006735831073503,
-    0.2074020380087318,
-    0.2142421635060113,
-    0.2211922734956977,
-    0.2282505723293797,
-    0.2354151558022098,
-    0.2426840122941792,
-    0.2500550240636293,
-    0.2575259686921987,
-    0.2650945206801527,
-    0.2727582531907993,
-    0.2805146399424422,
-    0.2883610572460804,
-    0.2962947861868143,
-    0.3043130149466800,
-    0.3124128412663888,
-    0.3205912750432127,
-    0.3288452410620226,
-    0.3371715818562547,
-    0.3455670606953511,
-    0.3540283646950029,
-    0.3625521080463003,
-    0.3711348353596863,
-    0.3797730251194006,
-    0.3884630932439016,
-    0.3972013967475546,
-    0.4059842374986933,
-    0.4148078660689724,
-    0.4236684856687616,
-    0.4325622561631607,
-    0.4414852981630577,
-    0.4504336971855032,
-    0.4594035078775303,
-    0.4683907582974173,
-    0.4773914542472655,
-    0.4864015836506502,
-    0.4954171209689973,
-    0.5044340316502417,
-    0.5134482766032377,
-    0.5224558166913167,
-    0.5314526172383208,
-    0.5404346525403849,
-    0.5493979103766972,
-    0.5583383965124314,
-    0.5672521391870222,
-    0.5761351935809411,
-    0.5849836462541291,
-    0.5937936195492526,
-    0.6025612759529649,
-    0.6112828224083939,
-    0.6199545145721097,
-    0.6285726610088878,
-    0.6371336273176413,
-    0.6456338401819751,
-    0.6540697913388968,
-    0.6624380414593221,
-    0.6707352239341151,
-    0.6789580485595255,
-    0.6871033051160131,
-    0.6951678668345944,
-    0.7031486937449871,
-    0.7110428359000029,
-    0.7188474364707993,
-    0.7265597347077880,
-    0.7341770687621900,
-    0.7416968783634273,
-    0.7491167073477523,
-    0.7564342060337386,
-    0.7636471334404891,
-    0.7707533593446514,
-    0.7777508661725849,
-    0.7846377507242818,
-    0.7914122257259034,
-    0.7980726212080798,
-    0.8046173857073919,
-    0.8110450872887550,
-    0.8173544143867162,
-    0.8235441764639875,
-    0.8296133044858474,
-    0.8355608512093652,
-    0.8413859912867303,
-    0.8470880211822968,
-    0.8526663589032990,
-    0.8581205435445334,
-    0.8634502346476508,
-    0.8686552113760616,
-    0.8737353715068081,
-    0.8786907302411250,
-    0.8835214188357692,
-    0.8882276830575707,
-    0.8928098814640207,
-    0.8972684835130879,
-    0.9016040675058185,
-    0.9058173183656508,
-    0.9099090252587376,
-    0.9138800790599416,
-    0.9177314696695282,
-    0.9214642831859411,
-    0.9250796989403991,
-    0.9285789863994010,
-    0.9319635019415643,
-    0.9352346855155568,
-    0.9383940571861993,
-    0.9414432135761304,
-    0.9443838242107182,
-    0.9472176277741918,
-    0.9499464282852282,
-    0.9525720912004834,
-    0.9550965394547873,
-    0.9575217494469370,
-    0.9598497469802043,
-    0.9620826031668507,
-    0.9642224303060783,
-    0.9662713777449607,
-    0.9682316277319895,
-    0.9701053912729269,
-    0.9718949039986892,
-    0.9736024220549734,
-    0.9752302180233160,
-    0.9767805768831932,
-    0.9782557920246753,
-    0.9796581613210076,
-    0.9809899832703159,
-    0.9822535532154261,
-    0.9834511596505429,
-    0.9845850806232530,
-    0.9856575802399989,
-    0.9866709052828243,
-    0.9876272819448033,
-    0.9885289126911557,
-    0.9893779732525968,
-    0.9901766097569984,
-    0.9909269360049311,
-    0.9916310308941294,
-    0.9922909359973702,
-    0.9929086532976777,
-    0.9934861430841844,
-    0.9940253220113651,
-    0.9945280613237534,
-    0.9949961852476154,
-    0.9954314695504363,
-    0.9958356402684387,
-    0.9962103726017252,
-    0.9965572899760172,
-    0.9968779632693499,
-    0.9971739102014799,
-    0.9974465948831872,
-    0.9976974275220812,
-    0.9979277642809907,
-    0.9981389072844972,
-    0.9983321047686901,
-    0.9985085513687731,
-    0.9986693885387259,
-    0.9988157050968516,
-    0.9989485378906924,
-    0.9990688725744943,
-    0.9991776444921379,
-    0.9992757396582338,
-    0.9993639958299003,
-    0.9994432036616085,
-    0.9995141079353859,
-    0.9995774088586188,
-    0.9996337634216871,
-    0.9996837868076957,
-    0.9997280538466377,
-    0.9997671005064359,
-    0.9998014254134544,
-    0.9998314913952471,
-    0.9998577270385304,
-    0.9998805282555989,
-    0.9999002598526793,
-    0.9999172570940037,
-    0.9999318272557038,
-    0.9999442511639580,
-    0.9999547847121726,
-    0.9999636603523446,
-    0.9999710885561258,
-    0.9999772592414866,
-    0.9999823431612708,
-    0.9999864932503106,
-    0.9999898459281599,
-    0.9999925223548691,
-    0.9999946296375997,
-    0.9999962619864214,
-    0.9999975018180320,
-    0.9999984208055542,
-    0.9999990808746198,
-    0.9999995351446231,
-    0.9999998288155155
-};
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/structs.h b/lib/libfaad2/libfaad/structs.h
deleted file mode 100644 (file)
index 5d957c5..0000000
+++ /dev/null
@@ -1,487 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: structs.h,v 1.46 2007/11/01 12:33:40 menno Exp $
-**/
-
-#ifndef __STRUCTS_H__
-#define __STRUCTS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "cfft.h"
-#ifdef SBR_DEC
-#include "sbr_dec.h"
-#endif
-
-#define MAX_CHANNELS        64
-#define MAX_SYNTAX_ELEMENTS 48
-#define MAX_WINDOW_GROUPS    8
-#define MAX_SFB             51
-#define MAX_LTP_SFB         40
-#define MAX_LTP_SFB_S        8
-
-/* used to save the prediction state */
-typedef struct {
-    int16_t r[2];
-    int16_t COR[2];
-    int16_t VAR[2];
-} pred_state;
-
-typedef struct {
-    uint16_t N;
-    cfft_info *cfft;
-    complex_t *sincos;
-#ifdef PROFILE
-    int64_t cycles;
-    int64_t fft_cycles;
-#endif
-} mdct_info;
-
-typedef struct
-{
-    const real_t *long_window[2];
-    const real_t *short_window[2];
-#ifdef LD_DEC
-    const real_t *ld_window[2];
-#endif
-
-    mdct_info *mdct256;
-#ifdef LD_DEC
-    mdct_info *mdct1024;
-#endif
-    mdct_info *mdct2048;
-#ifdef PROFILE
-    int64_t cycles;
-#endif
-} fb_info;
-
-typedef struct
-{
-    uint8_t present;
-
-    uint8_t num_bands;
-    uint8_t pce_instance_tag;
-    uint8_t excluded_chns_present;
-    uint8_t band_top[17];
-    uint8_t prog_ref_level;
-    uint8_t dyn_rng_sgn[17];
-    uint8_t dyn_rng_ctl[17];
-    uint8_t exclude_mask[MAX_CHANNELS];
-    uint8_t additional_excluded_chns[MAX_CHANNELS];
-
-    real_t ctrl1;
-    real_t ctrl2;
-} drc_info;
-
-typedef struct
-{
-    uint8_t element_instance_tag;
-    uint8_t object_type;
-    uint8_t sf_index;
-    uint8_t num_front_channel_elements;
-    uint8_t num_side_channel_elements;
-    uint8_t num_back_channel_elements;
-    uint8_t num_lfe_channel_elements;
-    uint8_t num_assoc_data_elements;
-    uint8_t num_valid_cc_elements;
-    uint8_t mono_mixdown_present;
-    uint8_t mono_mixdown_element_number;
-    uint8_t stereo_mixdown_present;
-    uint8_t stereo_mixdown_element_number;
-    uint8_t matrix_mixdown_idx_present;
-    uint8_t pseudo_surround_enable;
-    uint8_t matrix_mixdown_idx;
-    uint8_t front_element_is_cpe[16];
-    uint8_t front_element_tag_select[16];
-    uint8_t side_element_is_cpe[16];
-    uint8_t side_element_tag_select[16];
-    uint8_t back_element_is_cpe[16];
-    uint8_t back_element_tag_select[16];
-    uint8_t lfe_element_tag_select[16];
-    uint8_t assoc_data_element_tag_select[16];
-    uint8_t cc_element_is_ind_sw[16];
-    uint8_t valid_cc_element_tag_select[16];
-
-    uint8_t channels;
-
-    uint8_t comment_field_bytes;
-    uint8_t comment_field_data[257];
-
-    /* extra added values */
-    uint8_t num_front_channels;
-    uint8_t num_side_channels;
-    uint8_t num_back_channels;
-    uint8_t num_lfe_channels;
-    uint8_t sce_channel[16];
-    uint8_t cpe_channel[16];
-} program_config;
-
-typedef struct
-{
-    uint16_t syncword;
-    uint8_t id;
-    uint8_t layer;
-    uint8_t protection_absent;
-    uint8_t profile;
-    uint8_t sf_index;
-    uint8_t private_bit;
-    uint8_t channel_configuration;
-    uint8_t original;
-    uint8_t home;
-    uint8_t emphasis;
-    uint8_t copyright_identification_bit;
-    uint8_t copyright_identification_start;
-    uint16_t aac_frame_length;
-    uint16_t adts_buffer_fullness;
-    uint8_t no_raw_data_blocks_in_frame;
-    uint16_t crc_check;
-
-    /* control param */
-    uint8_t old_format;
-} adts_header;
-
-typedef struct
-{
-    uint8_t copyright_id_present;
-    int8_t copyright_id[10];
-    uint8_t original_copy;
-    uint8_t home;
-    uint8_t bitstream_type;
-    uint32_t bitrate;
-    uint8_t num_program_config_elements;
-    uint32_t adif_buffer_fullness;
-
-    /* maximum of 16 PCEs */
-    program_config pce[16];
-} adif_header;
-
-#ifdef LTP_DEC
-typedef struct
-{
-    uint8_t last_band;
-    uint8_t data_present;
-    uint16_t lag;
-    uint8_t lag_update;
-    uint8_t coef;
-    uint8_t long_used[MAX_SFB];
-    uint8_t short_used[8];
-    uint8_t short_lag_present[8];
-    uint8_t short_lag[8];
-} ltp_info;
-#endif
-
-#ifdef MAIN_DEC
-typedef struct
-{
-    uint8_t limit;
-    uint8_t predictor_reset;
-    uint8_t predictor_reset_group_number;
-    uint8_t prediction_used[MAX_SFB];
-} pred_info;
-#endif
-
-typedef struct
-{
-    uint8_t number_pulse;
-    uint8_t pulse_start_sfb;
-    uint8_t pulse_offset[4];
-    uint8_t pulse_amp[4];
-} pulse_info;
-
-typedef struct
-{
-    uint8_t n_filt[8];
-    uint8_t coef_res[8];
-    uint8_t length[8][4];
-    uint8_t order[8][4];
-    uint8_t direction[8][4];
-    uint8_t coef_compress[8][4];
-    uint8_t coef[8][4][32];
-} tns_info;
-
-#ifdef SSR_DEC
-typedef struct
-{
-    uint8_t max_band;
-
-    uint8_t adjust_num[4][8];
-    uint8_t alevcode[4][8][8];
-    uint8_t aloccode[4][8][8];
-} ssr_info;
-#endif
-
-typedef struct
-{
-    uint8_t max_sfb;
-
-    uint8_t num_swb;
-    uint8_t num_window_groups;
-    uint8_t num_windows;
-    uint8_t window_sequence;
-    uint8_t window_group_length[8];
-    uint8_t window_shape;
-    uint8_t scale_factor_grouping;
-    uint16_t sect_sfb_offset[8][15*8];
-    uint16_t swb_offset[52];
-    uint16_t swb_offset_max;
-
-    uint8_t sect_cb[8][15*8];
-    uint16_t sect_start[8][15*8];
-    uint16_t sect_end[8][15*8];
-    uint8_t sfb_cb[8][8*15];
-    uint8_t num_sec[8]; /* number of sections in a group */
-
-    uint8_t global_gain;
-    int16_t scale_factors[8][51]; /* [0..255] */
-
-    uint8_t ms_mask_present;
-    uint8_t ms_used[MAX_WINDOW_GROUPS][MAX_SFB];
-
-    uint8_t noise_used;
-    uint8_t is_used;
-
-    uint8_t pulse_data_present;
-    uint8_t tns_data_present;
-    uint8_t gain_control_data_present;
-    uint8_t predictor_data_present;
-
-    pulse_info pul;
-    tns_info tns;
-#ifdef MAIN_DEC
-    pred_info pred;
-#endif
-#ifdef LTP_DEC
-    ltp_info ltp;
-    ltp_info ltp2;
-#endif
-#ifdef SSR_DEC
-    ssr_info ssr;
-#endif
-
-#ifdef ERROR_RESILIENCE
-    /* ER HCR data */
-    uint16_t length_of_reordered_spectral_data;
-    uint8_t length_of_longest_codeword;
-    /* ER RLVC data */
-    uint8_t sf_concealment;
-    uint8_t rev_global_gain;
-    uint16_t length_of_rvlc_sf;
-    uint16_t dpcm_noise_nrg;
-    uint8_t sf_escapes_present;
-    uint8_t length_of_rvlc_escapes;
-    uint16_t dpcm_noise_last_position;
-#endif
-} ic_stream; /* individual channel stream */
-
-typedef struct
-{
-    uint8_t channel;
-    int16_t paired_channel;
-
-    uint8_t element_instance_tag;
-    uint8_t common_window;
-
-    ic_stream ics1;
-    ic_stream ics2;
-} element; /* syntax element (SCE, CPE, LFE) */
-
-typedef struct mp4AudioSpecificConfig
-{
-    /* Audio Specific Info */
-    /*uint8_t*/ unsigned char objectTypeIndex;
-    /*uint8_t*/ unsigned char samplingFrequencyIndex;
-    /*uint32_t*/ unsigned long samplingFrequency;
-    /*uint8_t*/ unsigned char channelsConfiguration;
-
-    /* GA Specific Info */
-    /*uint8_t*/ unsigned char frameLengthFlag;
-    /*uint8_t*/ unsigned char dependsOnCoreCoder;
-    /*uint16_t*/ unsigned short coreCoderDelay;
-    /*uint8_t*/ unsigned char extensionFlag;
-    /*uint8_t*/ unsigned char aacSectionDataResilienceFlag;
-    /*uint8_t*/ unsigned char aacScalefactorDataResilienceFlag;
-    /*uint8_t*/ unsigned char aacSpectralDataResilienceFlag;
-    /*uint8_t*/ unsigned char epConfig;
-
-    /*uint8_t*/ char sbr_present_flag;
-    /*uint8_t*/ char forceUpSampling;
-    /*uint8_t*/ char downSampledSBR;
-} mp4AudioSpecificConfig;
-
-typedef struct NeAACDecConfiguration
-{
-    /*uint8_t*/ unsigned char defObjectType;
-    /*uint32_t*/ unsigned long defSampleRate;
-    /*uint8_t*/ unsigned char outputFormat;
-    /*uint8_t*/ unsigned char downMatrix;
-    /*uint8_t*/ unsigned char useOldADTSFormat;
-    /*uint8_t*/ unsigned char dontUpSampleImplicitSBR;
-} NeAACDecConfiguration, *NeAACDecConfigurationPtr;
-
-typedef struct NeAACDecFrameInfo
-{
-    /*uint32_t*/ unsigned long bytesconsumed;
-    /*uint32_t*/ unsigned long samples;
-    /*uint8_t*/ unsigned char channels;
-    /*uint8_t*/ unsigned char error;
-    /*uint32_t*/ unsigned long samplerate;
-
-    /* SBR: 0: off, 1: on; normal, 2: on; downsampled */
-    /*uint8_t*/ unsigned char sbr;
-
-    /* MPEG-4 ObjectType */
-    /*uint8_t*/ unsigned char object_type;
-
-    /* AAC header type; MP4 will be signalled as RAW also */
-    /*uint8_t*/ unsigned char header_type;
-
-    /* multichannel configuration */
-    /*uint8_t*/ unsigned char num_front_channels;
-    /*uint8_t*/ unsigned char num_side_channels;
-    /*uint8_t*/ unsigned char num_back_channels;
-    /*uint8_t*/ unsigned char num_lfe_channels;
-    /*uint8_t*/ unsigned char channel_position[MAX_CHANNELS];
-
-    /* PS: 0: off, 1: on */
-    /*uint8_t*/ unsigned char ps;
-} NeAACDecFrameInfo;
-
-typedef struct
-{
-    uint8_t adts_header_present;
-    uint8_t adif_header_present;
-    uint8_t sf_index;
-    uint8_t object_type;
-    uint8_t channelConfiguration;
-#ifdef ERROR_RESILIENCE
-    uint8_t aacSectionDataResilienceFlag;
-    uint8_t aacScalefactorDataResilienceFlag;
-    uint8_t aacSpectralDataResilienceFlag;
-#endif
-    uint16_t frameLength;
-    uint8_t postSeekResetFlag;
-
-    uint32_t frame;
-
-    uint8_t downMatrix;
-    uint8_t upMatrix;
-    uint8_t first_syn_ele;
-    uint8_t has_lfe;
-    /* number of channels in current frame */
-    uint8_t fr_channels;
-    /* number of elements in current frame */
-    uint8_t fr_ch_ele;
-
-    /* element_output_channels:
-       determines the number of channels the element will output
-    */
-    uint8_t element_output_channels[MAX_SYNTAX_ELEMENTS];
-    /* element_alloced:
-       determines whether the data needed for the element is allocated or not
-    */
-    uint8_t element_alloced[MAX_SYNTAX_ELEMENTS];
-    /* alloced_channels:
-       determines the number of channels where output data is allocated for
-    */
-    uint8_t alloced_channels;
-
-    /* output data buffer */
-    void *sample_buffer;
-
-    uint8_t window_shape_prev[MAX_CHANNELS];
-#ifdef LTP_DEC
-    uint16_t ltp_lag[MAX_CHANNELS];
-#endif
-    fb_info *fb;
-    drc_info *drc;
-
-    real_t *time_out[MAX_CHANNELS];
-    real_t *fb_intermed[MAX_CHANNELS];
-
-#ifdef SBR_DEC
-    int8_t sbr_present_flag;
-    int8_t forceUpSampling;
-    int8_t downSampledSBR;
-    /* determines whether SBR data is allocated for the gives element */
-    uint8_t sbr_alloced[MAX_SYNTAX_ELEMENTS];
-
-    sbr_info *sbr[MAX_SYNTAX_ELEMENTS];
-#endif
-#if (defined(PS_DEC) || defined(DRM_PS))
-    uint8_t ps_used[MAX_SYNTAX_ELEMENTS];
-    uint8_t ps_used_global;
-#endif
-
-#ifdef SSR_DEC
-    real_t *ssr_overlap[MAX_CHANNELS];
-    real_t *prev_fmd[MAX_CHANNELS];
-    real_t ipqf_buffer[MAX_CHANNELS][4][96/4];
-#endif
-
-#ifdef MAIN_DEC
-    pred_state *pred_stat[MAX_CHANNELS];
-#endif
-#ifdef LTP_DEC
-    int16_t *lt_pred_stat[MAX_CHANNELS];
-#endif
-
-#ifdef DRM
-    uint8_t error_state;
-#endif
-
-    /* RNG states */
-    uint32_t __r1;
-    uint32_t __r2;
-
-    /* Program Config Element */
-    uint8_t pce_set;
-    program_config pce;
-    uint8_t element_id[MAX_CHANNELS];
-    uint8_t internal_channel[MAX_CHANNELS];
-
-    /* Configuration data */
-    NeAACDecConfiguration config;
-
-#ifdef PROFILE
-    int64_t cycles;
-    int64_t spectral_cycles;
-    int64_t output_cycles;
-    int64_t scalefac_cycles;
-    int64_t requant_cycles;
-#endif
-       const unsigned char *cmes;
-} NeAACDecStruct, *NeAACDecHandle;
-
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/syntax.c b/lib/libfaad2/libfaad/syntax.c
deleted file mode 100644 (file)
index 373582b..0000000
+++ /dev/null
@@ -1,2444 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: syntax.c,v 1.89 2007/11/01 12:33:40 menno Exp $
-**/
-
-/*
-   Reads the AAC bitstream as defined in 14496-3 (MPEG-4 Audio)
-*/
-
-#include "common.h"
-#include "structs.h"
-
-#include <stdlib.h>
-#include <string.h>
-
-#include "decoder.h"
-#include "syntax.h"
-#include "specrec.h"
-#include "huffman.h"
-#include "bits.h"
-#include "pulse.h"
-#include "analysis.h"
-#include "drc.h"
-#ifdef ERROR_RESILIENCE
-#include "rvlc.h"
-#endif
-#ifdef SBR_DEC
-#include "sbr_syntax.h"
-#endif
-
-
-/* static function declarations */
-static void decode_sce_lfe(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo, bitfile *ld,
-                           uint8_t id_syn_ele);
-static void decode_cpe(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo, bitfile *ld,
-                       uint8_t id_syn_ele);
-static uint8_t single_lfe_channel_element(NeAACDecHandle hDecoder, bitfile *ld,
-                                          uint8_t channel, uint8_t *tag);
-static uint8_t channel_pair_element(NeAACDecHandle hDecoder, bitfile *ld,
-                                    uint8_t channel, uint8_t *tag);
-#ifdef COUPLING_DEC
-static uint8_t coupling_channel_element(NeAACDecHandle hDecoder, bitfile *ld);
-#endif
-static uint16_t data_stream_element(NeAACDecHandle hDecoder, bitfile *ld);
-static uint8_t program_config_element(program_config *pce, bitfile *ld);
-static uint8_t fill_element(NeAACDecHandle hDecoder, bitfile *ld, drc_info *drc
-#ifdef SBR_DEC
-                            ,uint8_t sbr_ele
-#endif
-                            );
-static uint8_t individual_channel_stream(NeAACDecHandle hDecoder, element *ele,
-                                         bitfile *ld, ic_stream *ics, uint8_t scal_flag,
-                                         int16_t *spec_data);
-static uint8_t ics_info(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
-                        uint8_t common_window);
-static uint8_t section_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld);
-static uint8_t scale_factor_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld);
-#ifdef SSR_DEC
-static void gain_control_data(bitfile *ld, ic_stream *ics);
-#endif
-static uint8_t spectral_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
-                             int16_t *spectral_data);
-static uint16_t extension_payload(bitfile *ld, drc_info *drc, uint16_t count);
-static uint8_t pulse_data(ic_stream *ics, pulse_info *pul, bitfile *ld);
-static void tns_data(ic_stream *ics, tns_info *tns, bitfile *ld);
-#ifdef LTP_DEC
-static uint8_t ltp_data(NeAACDecHandle hDecoder, ic_stream *ics, ltp_info *ltp, bitfile *ld);
-#endif
-static uint8_t adts_fixed_header(adts_header *adts, bitfile *ld);
-static void adts_variable_header(adts_header *adts, bitfile *ld);
-static void adts_error_check(adts_header *adts, bitfile *ld);
-static uint8_t dynamic_range_info(bitfile *ld, drc_info *drc);
-static uint8_t excluded_channels(bitfile *ld, drc_info *drc);
-static uint8_t side_info(NeAACDecHandle hDecoder, element *ele,
-                         bitfile *ld, ic_stream *ics, uint8_t scal_flag);
-#ifdef DRM
-static int8_t DRM_aac_scalable_main_header(NeAACDecHandle hDecoder, ic_stream *ics1, ic_stream *ics2,
-                                           bitfile *ld, uint8_t this_layer_stereo);
-#endif
-
-
-/* Table 4.4.1 */
-int8_t GASpecificConfig(bitfile *ld, mp4AudioSpecificConfig *mp4ASC,
-                        program_config *pce_out)
-{
-    program_config pce;
-
-    /* 1024 or 960 */
-    mp4ASC->frameLengthFlag = faad_get1bit(ld
-        DEBUGVAR(1,138,"GASpecificConfig(): FrameLengthFlag"));
-#ifndef ALLOW_SMALL_FRAMELENGTH
-    if (mp4ASC->frameLengthFlag == 1)
-        return -3;
-#endif
-
-    mp4ASC->dependsOnCoreCoder = faad_get1bit(ld
-        DEBUGVAR(1,139,"GASpecificConfig(): DependsOnCoreCoder"));
-    if (mp4ASC->dependsOnCoreCoder == 1)
-    {
-        mp4ASC->coreCoderDelay = (uint16_t)faad_getbits(ld, 14
-            DEBUGVAR(1,140,"GASpecificConfig(): CoreCoderDelay"));
-    }
-
-    mp4ASC->extensionFlag = faad_get1bit(ld DEBUGVAR(1,141,"GASpecificConfig(): ExtensionFlag"));
-    if (mp4ASC->channelsConfiguration == 0)
-    {
-        if (program_config_element(&pce, ld))
-            return -3;
-        //mp4ASC->channelsConfiguration = pce.channels;
-
-        if (pce_out != NULL)
-            memcpy(pce_out, &pce, sizeof(program_config));
-
-        /*
-        if (pce.num_valid_cc_elements)
-            return -3;
-        */
-    }
-
-#ifdef ERROR_RESILIENCE
-    if (mp4ASC->extensionFlag == 1)
-    {
-        /* Error resilience not supported yet */
-        if (mp4ASC->objectTypeIndex >= ER_OBJECT_START)
-        {
-            mp4ASC->aacSectionDataResilienceFlag = faad_get1bit(ld
-                DEBUGVAR(1,144,"GASpecificConfig(): aacSectionDataResilienceFlag"));
-            mp4ASC->aacScalefactorDataResilienceFlag = faad_get1bit(ld
-                DEBUGVAR(1,145,"GASpecificConfig(): aacScalefactorDataResilienceFlag"));
-            mp4ASC->aacSpectralDataResilienceFlag = faad_get1bit(ld
-                DEBUGVAR(1,146,"GASpecificConfig(): aacSpectralDataResilienceFlag"));
-
-            /* 1 bit: extensionFlag3 */
-        }
-    }
-#endif
-
-    return 0;
-}
-
-/* Table 4.4.2 */
-/* An MPEG-4 Audio decoder is only required to follow the Program
-   Configuration Element in GASpecificConfig(). The decoder shall ignore
-   any Program Configuration Elements that may occur in raw data blocks.
-   PCEs transmitted in raw data blocks cannot be used to convey decoder
-   configuration information.
-*/
-static uint8_t program_config_element(program_config *pce, bitfile *ld)
-{
-    uint8_t i;
-
-    memset(pce, 0, sizeof(program_config));
-
-    pce->channels = 0;
-
-    pce->element_instance_tag = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,10,"program_config_element(): element_instance_tag"));
-
-    pce->object_type = (uint8_t)faad_getbits(ld, 2
-        DEBUGVAR(1,11,"program_config_element(): object_type"));
-    pce->sf_index = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,12,"program_config_element(): sf_index"));
-    pce->num_front_channel_elements = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,13,"program_config_element(): num_front_channel_elements"));
-    pce->num_side_channel_elements = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,14,"program_config_element(): num_side_channel_elements"));
-    pce->num_back_channel_elements = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,15,"program_config_element(): num_back_channel_elements"));
-    pce->num_lfe_channel_elements = (uint8_t)faad_getbits(ld, 2
-        DEBUGVAR(1,16,"program_config_element(): num_lfe_channel_elements"));
-    pce->num_assoc_data_elements = (uint8_t)faad_getbits(ld, 3
-        DEBUGVAR(1,17,"program_config_element(): num_assoc_data_elements"));
-    pce->num_valid_cc_elements = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,18,"program_config_element(): num_valid_cc_elements"));
-
-    pce->mono_mixdown_present = faad_get1bit(ld
-        DEBUGVAR(1,19,"program_config_element(): mono_mixdown_present"));
-    if (pce->mono_mixdown_present == 1)
-    {
-        pce->mono_mixdown_element_number = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,20,"program_config_element(): mono_mixdown_element_number"));
-    }
-
-    pce->stereo_mixdown_present = faad_get1bit(ld
-        DEBUGVAR(1,21,"program_config_element(): stereo_mixdown_present"));
-    if (pce->stereo_mixdown_present == 1)
-    {
-        pce->stereo_mixdown_element_number = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,22,"program_config_element(): stereo_mixdown_element_number"));
-    }
-
-    pce->matrix_mixdown_idx_present = faad_get1bit(ld
-        DEBUGVAR(1,23,"program_config_element(): matrix_mixdown_idx_present"));
-    if (pce->matrix_mixdown_idx_present == 1)
-    {
-        pce->matrix_mixdown_idx = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,24,"program_config_element(): matrix_mixdown_idx"));
-        pce->pseudo_surround_enable = faad_get1bit(ld
-            DEBUGVAR(1,25,"program_config_element(): pseudo_surround_enable"));
-    }
-
-    for (i = 0; i < pce->num_front_channel_elements; i++)
-    {
-        pce->front_element_is_cpe[i] = faad_get1bit(ld
-            DEBUGVAR(1,26,"program_config_element(): front_element_is_cpe"));
-        pce->front_element_tag_select[i] = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,27,"program_config_element(): front_element_tag_select"));
-
-        if (pce->front_element_is_cpe[i] & 1)
-        {
-            pce->cpe_channel[pce->front_element_tag_select[i]] = pce->channels;
-            pce->num_front_channels += 2;
-            pce->channels += 2;
-        } else {
-            pce->sce_channel[pce->front_element_tag_select[i]] = pce->channels;
-            pce->num_front_channels++;
-            pce->channels++;
-        }
-    }
-
-    for (i = 0; i < pce->num_side_channel_elements; i++)
-    {
-        pce->side_element_is_cpe[i] = faad_get1bit(ld
-            DEBUGVAR(1,28,"program_config_element(): side_element_is_cpe"));
-        pce->side_element_tag_select[i] = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,29,"program_config_element(): side_element_tag_select"));
-
-        if (pce->side_element_is_cpe[i] & 1)
-        {
-            pce->cpe_channel[pce->side_element_tag_select[i]] = pce->channels;
-            pce->num_side_channels += 2;
-            pce->channels += 2;
-        } else {
-            pce->sce_channel[pce->side_element_tag_select[i]] = pce->channels;
-            pce->num_side_channels++;
-            pce->channels++;
-        }
-    }
-
-    for (i = 0; i < pce->num_back_channel_elements; i++)
-    {
-        pce->back_element_is_cpe[i] = faad_get1bit(ld
-            DEBUGVAR(1,30,"program_config_element(): back_element_is_cpe"));
-        pce->back_element_tag_select[i] = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,31,"program_config_element(): back_element_tag_select"));
-
-        if (pce->back_element_is_cpe[i] & 1)
-        {
-            pce->cpe_channel[pce->back_element_tag_select[i]] = pce->channels;
-            pce->channels += 2;
-            pce->num_back_channels += 2;
-        } else {
-            pce->sce_channel[pce->back_element_tag_select[i]] = pce->channels;
-            pce->num_back_channels++;
-            pce->channels++;
-        }
-    }
-
-    for (i = 0; i < pce->num_lfe_channel_elements; i++)
-    {
-        pce->lfe_element_tag_select[i] = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,32,"program_config_element(): lfe_element_tag_select"));
-
-        pce->sce_channel[pce->lfe_element_tag_select[i]] = pce->channels;
-        pce->num_lfe_channels++;
-        pce->channels++;
-    }
-
-    for (i = 0; i < pce->num_assoc_data_elements; i++)
-        pce->assoc_data_element_tag_select[i] = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,33,"program_config_element(): assoc_data_element_tag_select"));
-
-    for (i = 0; i < pce->num_valid_cc_elements; i++)
-    {
-        pce->cc_element_is_ind_sw[i] = faad_get1bit(ld
-            DEBUGVAR(1,34,"program_config_element(): cc_element_is_ind_sw"));
-        pce->valid_cc_element_tag_select[i] = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,35,"program_config_element(): valid_cc_element_tag_select"));
-    }
-
-    faad_byte_align(ld);
-
-    pce->comment_field_bytes = (uint8_t)faad_getbits(ld, 8
-        DEBUGVAR(1,36,"program_config_element(): comment_field_bytes"));
-
-    for (i = 0; i < pce->comment_field_bytes; i++)
-    {
-        pce->comment_field_data[i] = (uint8_t)faad_getbits(ld, 8
-            DEBUGVAR(1,37,"program_config_element(): comment_field_data"));
-    }
-    pce->comment_field_data[i] = 0;
-
-    if (pce->channels > MAX_CHANNELS)
-        return 22;
-
-    return 0;
-}
-
-static void decode_sce_lfe(NeAACDecHandle hDecoder,
-                           NeAACDecFrameInfo *hInfo, bitfile *ld,
-                           uint8_t id_syn_ele)
-{
-    uint8_t channels = hDecoder->fr_channels;
-    uint8_t tag = 0;
-
-    if (channels+1 > MAX_CHANNELS)
-    {
-        hInfo->error = 12;
-        return;
-    }
-    if (hDecoder->fr_ch_ele+1 > MAX_SYNTAX_ELEMENTS)
-    {
-        hInfo->error = 13;
-        return;
-    }
-
-    /* for SCE hDecoder->element_output_channels[] is not set here because this
-       can become 2 when some form of Parametric Stereo coding is used
-    */
-
-    /* save the syntax element id */
-    hDecoder->element_id[hDecoder->fr_ch_ele] = id_syn_ele;
-
-    /* decode the element */
-    hInfo->error = single_lfe_channel_element(hDecoder, ld, channels, &tag);
-
-    /* map output channels position to internal data channels */
-    if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] == 2)
-    {
-        /* this might be faulty when pce_set is true */
-        hDecoder->internal_channel[channels] = channels;
-        hDecoder->internal_channel[channels+1] = channels+1;
-    } else {
-        if (hDecoder->pce_set)
-            hDecoder->internal_channel[hDecoder->pce.sce_channel[tag]] = channels;
-        else
-            hDecoder->internal_channel[channels] = channels;
-    }
-
-    hDecoder->fr_channels += hDecoder->element_output_channels[hDecoder->fr_ch_ele];
-    hDecoder->fr_ch_ele++;
-}
-
-static void decode_cpe(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo, bitfile *ld,
-                       uint8_t id_syn_ele)
-{
-    uint8_t channels = hDecoder->fr_channels;
-    uint8_t tag = 0;
-
-    if (channels+2 > MAX_CHANNELS)
-    {
-        hInfo->error = 12;
-        return;
-    }
-    if (hDecoder->fr_ch_ele+1 > MAX_SYNTAX_ELEMENTS)
-    {
-        hInfo->error = 13;
-        return;
-    }
-
-    /* for CPE the number of output channels is always 2 */
-    if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] == 0)
-    {
-        /* element_output_channels not set yet */
-        hDecoder->element_output_channels[hDecoder->fr_ch_ele] = 2;
-    } else if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] != 2) {
-        /* element inconsistency */
-        hInfo->error = 21;
-        return;
-    }
-
-    /* save the syntax element id */
-    hDecoder->element_id[hDecoder->fr_ch_ele] = id_syn_ele;
-
-    /* decode the element */
-    hInfo->error = channel_pair_element(hDecoder, ld, channels, &tag);
-
-    /* map output channel position to internal data channels */
-    if (hDecoder->pce_set)
-    {
-        hDecoder->internal_channel[hDecoder->pce.cpe_channel[tag]] = channels;
-        hDecoder->internal_channel[hDecoder->pce.cpe_channel[tag]+1] = channels+1;
-    } else {
-        hDecoder->internal_channel[channels] = channels;
-        hDecoder->internal_channel[channels+1] = channels+1;
-    }
-
-    hDecoder->fr_channels += 2;
-    hDecoder->fr_ch_ele++;
-}
-
-void raw_data_block(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
-                    bitfile *ld, program_config *pce, drc_info *drc)
-{
-    uint8_t id_syn_ele;
-    uint8_t ele_this_frame = 0;
-
-    hDecoder->fr_channels = 0;
-    hDecoder->fr_ch_ele = 0;
-    hDecoder->first_syn_ele = 25;
-    hDecoder->has_lfe = 0;
-
-#ifdef ERROR_RESILIENCE
-    if (hDecoder->object_type < ER_OBJECT_START)
-    {
-#endif
-        /* Table 4.4.3: raw_data_block() */
-        while ((id_syn_ele = (uint8_t)faad_getbits(ld, LEN_SE_ID
-            DEBUGVAR(1,4,"NeAACDecDecode(): id_syn_ele"))) != ID_END)
-        {
-            switch (id_syn_ele) {
-            case ID_SCE:
-                ele_this_frame++;
-                if (hDecoder->first_syn_ele == 25) hDecoder->first_syn_ele = id_syn_ele;
-                decode_sce_lfe(hDecoder, hInfo, ld, id_syn_ele);
-                if (hInfo->error > 0)
-                    return;
-                break;
-            case ID_CPE:
-                ele_this_frame++;
-                if (hDecoder->first_syn_ele == 25) hDecoder->first_syn_ele = id_syn_ele;
-                decode_cpe(hDecoder, hInfo, ld, id_syn_ele);
-                if (hInfo->error > 0)
-                    return;
-                break;
-            case ID_LFE:
-#ifdef DRM
-                hInfo->error = 32;
-#else
-                ele_this_frame++;
-                hDecoder->has_lfe++;
-                decode_sce_lfe(hDecoder, hInfo, ld, id_syn_ele);
-#endif
-                if (hInfo->error > 0)
-                    return;
-                break;
-            case ID_CCE: /* not implemented yet, but skip the bits */
-#ifdef DRM
-                hInfo->error = 32;
-#else
-                ele_this_frame++;
-#ifdef COUPLING_DEC
-                hInfo->error = coupling_channel_element(hDecoder, ld);
-#else
-                hInfo->error = 6;
-#endif
-#endif
-                if (hInfo->error > 0)
-                    return;
-                break;
-            case ID_DSE:
-                ele_this_frame++;
-                data_stream_element(hDecoder, ld);
-                break;
-            case ID_PCE:
-                if (ele_this_frame != 0)
-                {
-                    hInfo->error = 31;
-                    return;
-                }
-                ele_this_frame++;
-                /* 14496-4: 5.6.4.1.2.1.3: */
-                /* program_configuration_element()'s in access units shall be ignored */
-                program_config_element(pce, ld);
-                //if ((hInfo->error = program_config_element(pce, ld)) > 0)
-                //    return;
-                //hDecoder->pce_set = 1;
-                break;
-            case ID_FIL:
-                ele_this_frame++;
-                /* one sbr_info describes a channel_element not a channel! */
-                /* if we encounter SBR data here: error */
-                /* SBR data will be read directly in the SCE/LFE/CPE element */
-                if ((hInfo->error = fill_element(hDecoder, ld, drc
-#ifdef SBR_DEC
-                    , INVALID_SBR_ELEMENT
-#endif
-                    )) > 0)
-                    return;
-                break;
-            }
-        }
-#ifdef ERROR_RESILIENCE
-    } else {
-        /* Table 262: er_raw_data_block() */
-        switch (hDecoder->channelConfiguration)
-        {
-        case 1:
-            decode_sce_lfe(hDecoder, hInfo, ld, ID_SCE);
-            if (hInfo->error > 0)
-                return;
-            break;
-        case 2:
-            decode_cpe(hDecoder, hInfo, ld, ID_CPE);
-            if (hInfo->error > 0)
-                return;
-            break;
-        case 3:
-            decode_sce_lfe(hDecoder, hInfo, ld, ID_SCE);
-            decode_cpe(hDecoder, hInfo, ld, ID_CPE);
-            if (hInfo->error > 0)
-                return;
-            break;
-        case 4:
-            decode_sce_lfe(hDecoder, hInfo, ld, ID_SCE);
-            decode_cpe(hDecoder, hInfo, ld, ID_CPE);
-            decode_sce_lfe(hDecoder, hInfo, ld, ID_SCE);
-            if (hInfo->error > 0)
-                return;
-            break;
-        case 5:
-            decode_sce_lfe(hDecoder, hInfo, ld, ID_SCE);
-            decode_cpe(hDecoder, hInfo, ld, ID_CPE);
-            decode_cpe(hDecoder, hInfo, ld, ID_CPE);
-            if (hInfo->error > 0)
-                return;
-            break;
-        case 6:
-            decode_sce_lfe(hDecoder, hInfo, ld, ID_SCE);
-            decode_cpe(hDecoder, hInfo, ld, ID_CPE);
-            decode_cpe(hDecoder, hInfo, ld, ID_CPE);
-            decode_sce_lfe(hDecoder, hInfo, ld, ID_LFE);
-            if (hInfo->error > 0)
-                return;
-            break;
-        case 7: /* 8 channels */
-            decode_sce_lfe(hDecoder, hInfo, ld, ID_SCE);
-            decode_cpe(hDecoder, hInfo, ld, ID_CPE);
-            decode_cpe(hDecoder, hInfo, ld, ID_CPE);
-            decode_cpe(hDecoder, hInfo, ld, ID_CPE);
-            decode_sce_lfe(hDecoder, hInfo, ld, ID_LFE);
-            if (hInfo->error > 0)
-                return;
-            break;
-        default:
-            hInfo->error = 7;
-            return;
-        }
-#if 0
-        cnt = bits_to_decode() / 8;
-        while (cnt >= 1)
-        {
-            cnt -= extension_payload(cnt);
-        }
-#endif
-    }
-#endif
-
-    /* new in corrigendum 14496-3:2002 */
-#ifdef DRM
-    if (hDecoder->object_type != DRM_ER_LC)
-#endif
-    {
-        faad_byte_align(ld);
-    }
-
-    return;
-}
-
-/* Table 4.4.4 and */
-/* Table 4.4.9 */
-static uint8_t single_lfe_channel_element(NeAACDecHandle hDecoder, bitfile *ld,
-                                          uint8_t channel, uint8_t *tag)
-{
-    uint8_t retval = 0;
-    element sce = {0};
-    ic_stream *ics = &(sce.ics1);
-    ALIGN int16_t spec_data[1024] = {0};
-
-    sce.element_instance_tag = (uint8_t)faad_getbits(ld, LEN_TAG
-        DEBUGVAR(1,38,"single_lfe_channel_element(): element_instance_tag"));
-
-    *tag = sce.element_instance_tag;
-    sce.channel = channel;
-    sce.paired_channel = -1;
-
-    retval = individual_channel_stream(hDecoder, &sce, ld, ics, 0, spec_data);
-    if (retval > 0)
-        return retval;
-
-    /* IS not allowed in single channel */
-    if (ics->is_used)
-        return 32;
-
-#ifdef SBR_DEC
-    /* check if next bitstream element is a fill element */
-    /* if so, read it now so SBR decoding can be done in case of a file with SBR */
-    if (faad_showbits(ld, LEN_SE_ID) == ID_FIL)
-    {
-        faad_flushbits(ld, LEN_SE_ID);
-
-        /* one sbr_info describes a channel_element not a channel! */
-        if ((retval = fill_element(hDecoder, ld, hDecoder->drc, hDecoder->fr_ch_ele)) > 0)
-        {
-            return retval;
-        }
-    }
-#endif
-
-    /* noiseless coding is done, spectral reconstruction is done now */
-    retval = reconstruct_single_channel(hDecoder, ics, &sce, spec_data);
-    if (retval > 0)
-        return retval;
-
-    return 0;
-}
-
-/* Table 4.4.5 */
-static uint8_t channel_pair_element(NeAACDecHandle hDecoder, bitfile *ld,
-                                    uint8_t channels, uint8_t *tag)
-{
-    ALIGN int16_t spec_data1[1024] = {0};
-    ALIGN int16_t spec_data2[1024] = {0};
-    element cpe = {0};
-    ic_stream *ics1 = &(cpe.ics1);
-    ic_stream *ics2 = &(cpe.ics2);
-    uint8_t result;
-
-    cpe.channel        = channels;
-    cpe.paired_channel = channels+1;
-
-    cpe.element_instance_tag = (uint8_t)faad_getbits(ld, LEN_TAG
-        DEBUGVAR(1,39,"channel_pair_element(): element_instance_tag"));
-    *tag = cpe.element_instance_tag;
-
-    if ((cpe.common_window = faad_get1bit(ld
-        DEBUGVAR(1,40,"channel_pair_element(): common_window"))) & 1)
-    {
-        /* both channels have common ics information */
-        if ((result = ics_info(hDecoder, ics1, ld, cpe.common_window)) > 0)
-            return result;
-
-        ics1->ms_mask_present = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,41,"channel_pair_element(): ms_mask_present"));
-        if (ics1->ms_mask_present == 3)
-        {
-            /* bitstream error */
-            return 32;
-        }
-        if (ics1->ms_mask_present == 1)
-        {
-            uint8_t g, sfb;
-            for (g = 0; g < ics1->num_window_groups; g++)
-            {
-                for (sfb = 0; sfb < ics1->max_sfb; sfb++)
-                {
-                    ics1->ms_used[g][sfb] = faad_get1bit(ld
-                        DEBUGVAR(1,42,"channel_pair_element(): faad_get1bit"));
-                }
-            }
-        }
-
-#ifdef ERROR_RESILIENCE
-        if ((hDecoder->object_type >= ER_OBJECT_START) && (ics1->predictor_data_present))
-        {
-            if ((
-#ifdef LTP_DEC
-                ics1->ltp.data_present =
-#endif
-                faad_get1bit(ld DEBUGVAR(1,50,"channel_pair_element(): ltp.data_present"))) & 1)
-            {
-#ifdef LTP_DEC
-                if ((result = ltp_data(hDecoder, ics1, &(ics1->ltp), ld)) > 0)
-                {
-                    return result;
-                }
-#else
-                return 26;
-#endif
-            }
-        }
-#endif
-
-        memcpy(ics2, ics1, sizeof(ic_stream));
-    } else {
-        ics1->ms_mask_present = 0;
-    }
-
-    if ((result = individual_channel_stream(hDecoder, &cpe, ld, ics1,
-        0, spec_data1)) > 0)
-    {
-        return result;
-    }
-
-#ifdef ERROR_RESILIENCE
-    if (cpe.common_window && (hDecoder->object_type >= ER_OBJECT_START) &&
-        (ics1->predictor_data_present))
-    {
-        if ((
-#ifdef LTP_DEC
-            ics1->ltp2.data_present =
-#endif
-            faad_get1bit(ld DEBUGVAR(1,50,"channel_pair_element(): ltp.data_present"))) & 1)
-        {
-#ifdef LTP_DEC
-            if ((result = ltp_data(hDecoder, ics1, &(ics1->ltp2), ld)) > 0)
-            {
-                return result;
-            }
-#else
-            return 26;
-#endif
-        }
-    }
-#endif
-
-    if ((result = individual_channel_stream(hDecoder, &cpe, ld, ics2,
-        0, spec_data2)) > 0)
-    {
-        return result;
-    }
-
-#ifdef SBR_DEC
-    /* check if next bitstream element is a fill element */
-    /* if so, read it now so SBR decoding can be done in case of a file with SBR */
-    if (faad_showbits(ld, LEN_SE_ID) == ID_FIL)
-    {
-        faad_flushbits(ld, LEN_SE_ID);
-
-        /* one sbr_info describes a channel_element not a channel! */
-        if ((result = fill_element(hDecoder, ld, hDecoder->drc, hDecoder->fr_ch_ele)) > 0)
-        {
-            return result;
-        }
-    }
-#endif
-
-    /* noiseless coding is done, spectral reconstruction is done now */
-    if ((result = reconstruct_channel_pair(hDecoder, ics1, ics2, &cpe,
-        spec_data1, spec_data2)) > 0)
-    {
-        return result;
-    }
-
-    return 0;
-}
-
-/* Table 4.4.6 */
-static uint8_t ics_info(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
-                        uint8_t common_window)
-{
-    uint8_t retval = 0;
-    uint8_t ics_reserved_bit;
-
-    ics_reserved_bit = faad_get1bit(ld
-        DEBUGVAR(1,43,"ics_info(): ics_reserved_bit"));
-    if (ics_reserved_bit != 0)
-        return 32;
-    ics->window_sequence = (uint8_t)faad_getbits(ld, 2
-        DEBUGVAR(1,44,"ics_info(): window_sequence"));
-    ics->window_shape = faad_get1bit(ld
-        DEBUGVAR(1,45,"ics_info(): window_shape"));
-
-#ifdef LD_DEC
-    /* No block switching in LD */
-    if ((hDecoder->object_type == LD) && (ics->window_sequence != ONLY_LONG_SEQUENCE))
-        return 32;
-#endif
-
-    if (ics->window_sequence == EIGHT_SHORT_SEQUENCE)
-    {
-        ics->max_sfb = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,46,"ics_info(): max_sfb (short)"));
-        ics->scale_factor_grouping = (uint8_t)faad_getbits(ld, 7
-            DEBUGVAR(1,47,"ics_info(): scale_factor_grouping"));
-    } else {
-        ics->max_sfb = (uint8_t)faad_getbits(ld, 6
-            DEBUGVAR(1,48,"ics_info(): max_sfb (long)"));
-    }
-
-    /* get the grouping information */
-    if ((retval = window_grouping_info(hDecoder, ics)) > 0)
-        return retval;
-
-
-    /* should be an error */
-    /* check the range of max_sfb */
-    if (ics->max_sfb > ics->num_swb)
-        return 16;
-
-    if (ics->window_sequence != EIGHT_SHORT_SEQUENCE)
-    {
-        if ((ics->predictor_data_present = faad_get1bit(ld
-            DEBUGVAR(1,49,"ics_info(): predictor_data_present"))) & 1)
-        {
-            if (hDecoder->object_type == MAIN) /* MPEG2 style AAC predictor */
-            {
-                uint8_t sfb;
-
-                uint8_t limit = min(ics->max_sfb, max_pred_sfb(hDecoder->sf_index));
-#ifdef MAIN_DEC
-                ics->pred.limit = limit;
-#endif
-
-                if ((
-#ifdef MAIN_DEC
-                    ics->pred.predictor_reset =
-#endif
-                    faad_get1bit(ld DEBUGVAR(1,53,"ics_info(): pred.predictor_reset"))) & 1)
-                {
-#ifdef MAIN_DEC
-                    ics->pred.predictor_reset_group_number =
-#endif
-                        (uint8_t)faad_getbits(ld, 5 DEBUGVAR(1,54,"ics_info(): pred.predictor_reset_group_number"));
-                }
-
-                for (sfb = 0; sfb < limit; sfb++)
-                {
-#ifdef MAIN_DEC
-                    ics->pred.prediction_used[sfb] =
-#endif
-                        faad_get1bit(ld DEBUGVAR(1,55,"ics_info(): pred.prediction_used"));
-                }
-            }
-#ifdef LTP_DEC
-            else { /* Long Term Prediction */
-                if (hDecoder->object_type < ER_OBJECT_START)
-                {
-                    if ((ics->ltp.data_present = faad_get1bit(ld
-                        DEBUGVAR(1,50,"ics_info(): ltp.data_present"))) & 1)
-                    {
-                        if ((retval = ltp_data(hDecoder, ics, &(ics->ltp), ld)) > 0)
-                        {
-                            return retval;
-                        }
-                    }
-                    if (common_window)
-                    {
-                        if ((ics->ltp2.data_present = faad_get1bit(ld
-                            DEBUGVAR(1,51,"ics_info(): ltp2.data_present"))) & 1)
-                        {
-                            if ((retval = ltp_data(hDecoder, ics, &(ics->ltp2), ld)) > 0)
-                            {
-                                return retval;
-                            }
-                        }
-                    }
-                }
-#ifdef ERROR_RESILIENCE
-                if (!common_window && (hDecoder->object_type >= ER_OBJECT_START))
-                {
-                    if ((ics->ltp.data_present = faad_get1bit(ld
-                        DEBUGVAR(1,50,"ics_info(): ltp.data_present"))) & 1)
-                    {
-                        ltp_data(hDecoder, ics, &(ics->ltp), ld);
-                    }
-                }
-#endif
-            }
-#endif
-        }
-    }
-
-    return retval;
-}
-
-/* Table 4.4.7 */
-static uint8_t pulse_data(ic_stream *ics, pulse_info *pul, bitfile *ld)
-{
-    uint8_t i;
-
-    pul->number_pulse = (uint8_t)faad_getbits(ld, 2
-        DEBUGVAR(1,56,"pulse_data(): number_pulse"));
-    pul->pulse_start_sfb = (uint8_t)faad_getbits(ld, 6
-        DEBUGVAR(1,57,"pulse_data(): pulse_start_sfb"));
-
-    /* check the range of pulse_start_sfb */
-    if (pul->pulse_start_sfb > ics->num_swb)
-        return 16;
-
-    for (i = 0; i < pul->number_pulse+1; i++)
-    {
-        pul->pulse_offset[i] = (uint8_t)faad_getbits(ld, 5
-            DEBUGVAR(1,58,"pulse_data(): pulse_offset"));
-#if 0
-        printf("%d\n", pul->pulse_offset[i]);
-#endif
-        pul->pulse_amp[i] = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,59,"pulse_data(): pulse_amp"));
-#if 0
-        printf("%d\n", pul->pulse_amp[i]);
-#endif
-    }
-
-    return 0;
-}
-
-#ifdef COUPLING_DEC
-/* Table 4.4.8: Currently just for skipping the bits... */
-static uint8_t coupling_channel_element(NeAACDecHandle hDecoder, bitfile *ld)
-{
-    uint8_t c, result = 0;
-    uint8_t ind_sw_cce_flag = 0;
-    uint8_t num_gain_element_lists = 0;
-    uint8_t num_coupled_elements = 0;
-
-    element el_empty = {0};
-    ic_stream ics_empty = {0};
-    int16_t sh_data[1024];
-
-    c = faad_getbits(ld, LEN_TAG
-        DEBUGVAR(1,900,"coupling_channel_element(): element_instance_tag"));
-
-    ind_sw_cce_flag = faad_get1bit(ld
-        DEBUGVAR(1,901,"coupling_channel_element(): ind_sw_cce_flag"));
-    num_coupled_elements = faad_getbits(ld, 3
-        DEBUGVAR(1,902,"coupling_channel_element(): num_coupled_elements"));
-
-    for (c = 0; c < num_coupled_elements + 1; c++)
-    {
-        uint8_t cc_target_is_cpe, cc_target_tag_select;
-
-        num_gain_element_lists++;
-
-        cc_target_is_cpe = faad_get1bit(ld
-            DEBUGVAR(1,903,"coupling_channel_element(): cc_target_is_cpe"));
-        cc_target_tag_select = faad_getbits(ld, 4
-            DEBUGVAR(1,904,"coupling_channel_element(): cc_target_tag_select"));
-
-        if (cc_target_is_cpe)
-        {
-            uint8_t cc_l = faad_get1bit(ld
-                DEBUGVAR(1,905,"coupling_channel_element(): cc_l"));
-            uint8_t cc_r = faad_get1bit(ld
-                DEBUGVAR(1,906,"coupling_channel_element(): cc_r"));
-
-            if (cc_l && cc_r)
-                num_gain_element_lists++;
-        }
-    }
-
-    faad_get1bit(ld
-        DEBUGVAR(1,907,"coupling_channel_element(): cc_domain"));
-    faad_get1bit(ld
-        DEBUGVAR(1,908,"coupling_channel_element(): gain_element_sign"));
-    faad_getbits(ld, 2
-        DEBUGVAR(1,909,"coupling_channel_element(): gain_element_scale"));
-
-    if ((result = individual_channel_stream(hDecoder, &el_empty, ld, &ics_empty,
-        0, sh_data)) > 0)
-    {
-        return result;
-    }
-
-    /* IS not allowed in single channel */
-    if (ics->is_used)
-        return 32;
-
-    for (c = 1; c < num_gain_element_lists; c++)
-    {
-        uint8_t cge;
-
-        if (ind_sw_cce_flag)
-        {
-            cge = 1;
-        } else {
-            cge = faad_get1bit(ld
-                DEBUGVAR(1,910,"coupling_channel_element(): common_gain_element_present"));
-        }
-
-        if (cge)
-        {
-            huffman_scale_factor(ld);
-        } else {
-            uint8_t g, sfb;
-
-            for (g = 0; g < ics_empty.num_window_groups; g++)
-            {
-                for (sfb = 0; sfb < ics_empty.max_sfb; sfb++)
-                {
-                    if (ics_empty.sfb_cb[g][sfb] != ZERO_HCB)
-                        huffman_scale_factor(ld);
-                }
-            }
-        }
-    }
-
-    return 0;
-}
-#endif
-
-/* Table 4.4.10 */
-static uint16_t data_stream_element(NeAACDecHandle hDecoder, bitfile *ld)
-{
-    uint8_t byte_aligned;
-    uint16_t i, count;
-
-    /* element_instance_tag = */ faad_getbits(ld, LEN_TAG
-        DEBUGVAR(1,60,"data_stream_element(): element_instance_tag"));
-    byte_aligned = faad_get1bit(ld
-        DEBUGVAR(1,61,"data_stream_element(): byte_aligned"));
-    count = (uint16_t)faad_getbits(ld, 8
-        DEBUGVAR(1,62,"data_stream_element(): count"));
-    if (count == 255)
-    {
-        count += (uint16_t)faad_getbits(ld, 8
-            DEBUGVAR(1,63,"data_stream_element(): extra count"));
-    }
-    if (byte_aligned)
-        faad_byte_align(ld);
-
-    for (i = 0; i < count; i++)
-    {
-        faad_getbits(ld, LEN_BYTE
-            DEBUGVAR(1,64,"data_stream_element(): data_stream_byte"));
-    }
-
-    return count;
-}
-
-/* Table 4.4.11 */
-static uint8_t fill_element(NeAACDecHandle hDecoder, bitfile *ld, drc_info *drc
-#ifdef SBR_DEC
-                            ,uint8_t sbr_ele
-#endif
-                            )
-{
-    uint16_t count;
-#ifdef SBR_DEC
-    uint8_t bs_extension_type;
-#endif
-
-    count = (uint16_t)faad_getbits(ld, 4
-        DEBUGVAR(1,65,"fill_element(): count"));
-    if (count == 15)
-    {
-        count += (uint16_t)faad_getbits(ld, 8
-            DEBUGVAR(1,66,"fill_element(): extra count")) - 1;
-    }
-
-    if (count > 0)
-    {
-#ifdef SBR_DEC
-        bs_extension_type = (uint8_t)faad_showbits(ld, 4);
-
-        if ((bs_extension_type == EXT_SBR_DATA) ||
-            (bs_extension_type == EXT_SBR_DATA_CRC))
-        {
-            if (sbr_ele == INVALID_SBR_ELEMENT)
-                return 24;
-
-            if (!hDecoder->sbr[sbr_ele])
-            {
-                hDecoder->sbr[sbr_ele] = sbrDecodeInit(hDecoder->frameLength,
-                    hDecoder->element_id[sbr_ele], 2*get_sample_rate(hDecoder->sf_index),
-                    hDecoder->downSampledSBR
-#ifdef DRM
-                    , 0
-#endif
-                    );
-            }
-
-            hDecoder->sbr_present_flag = 1;
-
-            /* parse the SBR data */
-            hDecoder->sbr[sbr_ele]->ret = sbr_extension_data(ld, hDecoder->sbr[sbr_ele], count,
-                hDecoder->postSeekResetFlag);
-
-#if 0
-            if (hDecoder->sbr[sbr_ele]->ret > 0)
-            {
-                printf("%s\n", NeAACDecGetErrorMessage(hDecoder->sbr[sbr_ele]->ret));
-            }
-#endif
-
-#if (defined(PS_DEC) || defined(DRM_PS))
-            if (hDecoder->sbr[sbr_ele]->ps_used)
-            {
-                hDecoder->ps_used[sbr_ele] = 1;
-
-                /* set element independent flag to 1 as well */
-                hDecoder->ps_used_global = 1;
-            }
-#endif
-        } else {
-#endif
-#ifndef DRM
-            while (count > 0)
-            {
-                count -= extension_payload(ld, drc, count);
-            }
-#else
-            return 30;
-#endif
-#ifdef SBR_DEC
-        }
-#endif
-    }
-
-    return 0;
-}
-
-/* Table 4.4.12 */
-#ifdef SSR_DEC
-static void gain_control_data(bitfile *ld, ic_stream *ics)
-{
-    uint8_t bd, wd, ad;
-    ssr_info *ssr = &(ics->ssr);
-
-    ssr->max_band = (uint8_t)faad_getbits(ld, 2
-        DEBUGVAR(1,1000,"gain_control_data(): max_band"));
-
-    if (ics->window_sequence == ONLY_LONG_SEQUENCE)
-    {
-        for (bd = 1; bd <= ssr->max_band; bd++)
-        {
-            for (wd = 0; wd < 1; wd++)
-            {
-                ssr->adjust_num[bd][wd] = (uint8_t)faad_getbits(ld, 3
-                    DEBUGVAR(1,1001,"gain_control_data(): adjust_num"));
-
-                for (ad = 0; ad < ssr->adjust_num[bd][wd]; ad++)
-                {
-                    ssr->alevcode[bd][wd][ad] = (uint8_t)faad_getbits(ld, 4
-                        DEBUGVAR(1,1002,"gain_control_data(): alevcode"));
-                    ssr->aloccode[bd][wd][ad] = (uint8_t)faad_getbits(ld, 5
-                        DEBUGVAR(1,1003,"gain_control_data(): aloccode"));
-                }
-            }
-        }
-    } else if (ics->window_sequence == LONG_START_SEQUENCE) {
-        for (bd = 1; bd <= ssr->max_band; bd++)
-        {
-            for (wd = 0; wd < 2; wd++)
-            {
-                ssr->adjust_num[bd][wd] = (uint8_t)faad_getbits(ld, 3
-                    DEBUGVAR(1,1001,"gain_control_data(): adjust_num"));
-
-                for (ad = 0; ad < ssr->adjust_num[bd][wd]; ad++)
-                {
-                    ssr->alevcode[bd][wd][ad] = (uint8_t)faad_getbits(ld, 4
-                        DEBUGVAR(1,1002,"gain_control_data(): alevcode"));
-                    if (wd == 0)
-                    {
-                        ssr->aloccode[bd][wd][ad] = (uint8_t)faad_getbits(ld, 4
-                            DEBUGVAR(1,1003,"gain_control_data(): aloccode"));
-                    } else {
-                        ssr->aloccode[bd][wd][ad] = (uint8_t)faad_getbits(ld, 2
-                            DEBUGVAR(1,1003,"gain_control_data(): aloccode"));
-                    }
-                }
-            }
-        }
-    } else if (ics->window_sequence == EIGHT_SHORT_SEQUENCE) {
-        for (bd = 1; bd <= ssr->max_band; bd++)
-        {
-            for (wd = 0; wd < 8; wd++)
-            {
-                ssr->adjust_num[bd][wd] = (uint8_t)faad_getbits(ld, 3
-                    DEBUGVAR(1,1001,"gain_control_data(): adjust_num"));
-
-                for (ad = 0; ad < ssr->adjust_num[bd][wd]; ad++)
-                {
-                    ssr->alevcode[bd][wd][ad] = (uint8_t)faad_getbits(ld, 4
-                        DEBUGVAR(1,1002,"gain_control_data(): alevcode"));
-                    ssr->aloccode[bd][wd][ad] = (uint8_t)faad_getbits(ld, 2
-                        DEBUGVAR(1,1003,"gain_control_data(): aloccode"));
-                }
-            }
-        }
-    } else if (ics->window_sequence == LONG_STOP_SEQUENCE) {
-        for (bd = 1; bd <= ssr->max_band; bd++)
-        {
-            for (wd = 0; wd < 2; wd++)
-            {
-                ssr->adjust_num[bd][wd] = (uint8_t)faad_getbits(ld, 3
-                    DEBUGVAR(1,1001,"gain_control_data(): adjust_num"));
-
-                for (ad = 0; ad < ssr->adjust_num[bd][wd]; ad++)
-                {
-                    ssr->alevcode[bd][wd][ad] = (uint8_t)faad_getbits(ld, 4
-                        DEBUGVAR(1,1002,"gain_control_data(): alevcode"));
-
-                    if (wd == 0)
-                    {
-                        ssr->aloccode[bd][wd][ad] = (uint8_t)faad_getbits(ld, 4
-                            DEBUGVAR(1,1003,"gain_control_data(): aloccode"));
-                    } else {
-                        ssr->aloccode[bd][wd][ad] = (uint8_t)faad_getbits(ld, 5
-                            DEBUGVAR(1,1003,"gain_control_data(): aloccode"));
-                    }
-                }
-            }
-        }
-    }
-}
-#endif
-
-#ifdef DRM
-/* Table 4.4.13 ASME */
-void DRM_aac_scalable_main_element(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
-                                   bitfile *ld, program_config *pce, drc_info *drc)
-{
-    uint8_t retval = 0;
-    uint8_t channels = hDecoder->fr_channels = 0;
-    uint8_t ch;
-    uint8_t this_layer_stereo = (hDecoder->channelConfiguration > 1) ? 1 : 0;
-    element cpe = {0};
-    ic_stream *ics1 = &(cpe.ics1);
-    ic_stream *ics2 = &(cpe.ics2);
-    int16_t *spec_data;
-    ALIGN int16_t spec_data1[1024] = {0};
-    ALIGN int16_t spec_data2[1024] = {0};
-
-    hDecoder->fr_ch_ele = 0;
-
-    hInfo->error = DRM_aac_scalable_main_header(hDecoder, ics1, ics2, ld, this_layer_stereo);
-    if (hInfo->error > 0)
-        return;
-
-    cpe.common_window = 1;
-    if (this_layer_stereo)
-    {
-        hDecoder->element_id[0] = ID_CPE;
-        if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] == 0)
-            hDecoder->element_output_channels[hDecoder->fr_ch_ele] = 2;
-    } else {
-        hDecoder->element_id[0] = ID_SCE;
-    }
-
-    if (this_layer_stereo)
-    {
-        cpe.channel        = 0;
-        cpe.paired_channel = 1;
-    }
-
-
-    /* Stereo2 / Mono1 */
-    ics1->tns_data_present = faad_get1bit(ld);
-
-#if defined(LTP_DEC)
-    ics1->ltp.data_present = faad_get1bit(ld);
-#elif defined (DRM)
-    if(faad_get1bit(ld)) {
-         hInfo->error = 26;
-         return;
-    }
-#else
-    faad_get1bit(ld);
-#endif    
-
-    hInfo->error = side_info(hDecoder, &cpe, ld, ics1, 1);
-    if (hInfo->error > 0)
-        return;
-    if (this_layer_stereo)
-    {
-        /* Stereo3 */
-        ics2->tns_data_present = faad_get1bit(ld);
-#ifdef LTP_DEC
-        ics1->ltp.data_present =
-#endif
-            faad_get1bit(ld);
-        hInfo->error = side_info(hDecoder, &cpe, ld, ics2, 1);
-        if (hInfo->error > 0)
-            return;
-    }
-    /* Stereo4 / Mono2 */
-    if (ics1->tns_data_present)
-        tns_data(ics1, &(ics1->tns), ld);
-    if (this_layer_stereo)
-    {
-        /* Stereo5 */
-        if (ics2->tns_data_present)
-            tns_data(ics2, &(ics2->tns), ld);
-    }
-
-#ifdef DRM
-    /* CRC check */
-    if (hDecoder->object_type == DRM_ER_LC)
-    {
-        if ((hInfo->error = (uint8_t)faad_check_CRC(ld, (uint16_t)faad_get_processed_bits(ld) - 8)) > 0)
-            return;
-    }
-#endif
-
-    /* Stereo6 / Mono3 */
-    /* error resilient spectral data decoding */
-    if ((hInfo->error = reordered_spectral_data(hDecoder, ics1, ld, spec_data1)) > 0)
-    {
-        return;
-    }
-    if (this_layer_stereo)
-    {
-        /* Stereo7 */
-        /* error resilient spectral data decoding */
-        if ((hInfo->error = reordered_spectral_data(hDecoder, ics2, ld, spec_data2)) > 0)
-        {
-            return;
-        }
-    }
-
-
-#ifdef DRM
-#ifdef SBR_DEC
-    /* In case of DRM we need to read the SBR info before channel reconstruction */
-    if ((hDecoder->sbr_present_flag == 1) && (hDecoder->object_type == DRM_ER_LC))
-    {
-        bitfile ld_sbr = {0};
-        uint32_t i;
-        uint16_t count = 0;
-        uint8_t *revbuffer;
-        uint8_t *prevbufstart;
-        uint8_t *pbufend;
-
-        /* all forward bitreading should be finished at this point */
-        uint32_t bitsconsumed = faad_get_processed_bits(ld);
-        uint32_t buffer_size = faad_origbitbuffer_size(ld);
-        uint8_t *buffer = (uint8_t*)faad_origbitbuffer(ld);
-
-        if (bitsconsumed + 8 > buffer_size*8)
-        {
-            hInfo->error = 14;
-            return;
-        }
-
-        if (!hDecoder->sbr[0])
-        {
-            hDecoder->sbr[0] = sbrDecodeInit(hDecoder->frameLength, hDecoder->element_id[0],
-                2*get_sample_rate(hDecoder->sf_index), 0 /* ds SBR */, 1);
-        }
-
-        /* Reverse bit reading of SBR data in DRM audio frame */
-        revbuffer = (uint8_t*)faad_malloc(buffer_size*sizeof(uint8_t));
-        prevbufstart = revbuffer;
-        pbufend = &buffer[buffer_size - 1];
-        for (i = 0; i < buffer_size; i++)
-            *prevbufstart++ = tabFlipbits[*pbufend--];
-
-        /* Set SBR data */
-        /* consider 8 bits from AAC-CRC */
-        /* SBR buffer size is original buffer size minus AAC buffer size */
-        count = (uint16_t)bit2byte(buffer_size*8 - bitsconsumed);
-        faad_initbits(&ld_sbr, revbuffer, count);
-
-        hDecoder->sbr[0]->sample_rate = get_sample_rate(hDecoder->sf_index);
-        hDecoder->sbr[0]->sample_rate *= 2;
-
-        faad_getbits(&ld_sbr, 8); /* Skip 8-bit CRC */
-
-        hDecoder->sbr[0]->ret = sbr_extension_data(&ld_sbr, hDecoder->sbr[0], count, hDecoder->postSeekResetFlag);
-#if (defined(PS_DEC) || defined(DRM_PS))
-        if (hDecoder->sbr[0]->ps_used)
-        {
-            hDecoder->ps_used[0] = 1;
-            hDecoder->ps_used_global = 1;
-        }
-#endif
-
-        if (ld_sbr.error)
-        {
-            hDecoder->sbr[0]->ret = 1;
-        }
-
-        /* check CRC */
-        /* no need to check it if there was already an error */
-        if (hDecoder->sbr[0]->ret == 0)
-            hDecoder->sbr[0]->ret = (uint8_t)faad_check_CRC(&ld_sbr, (uint16_t)faad_get_processed_bits(&ld_sbr) - 8);
-
-        /* SBR data was corrupted, disable it until the next header */
-        if (hDecoder->sbr[0]->ret != 0)
-        {
-            hDecoder->sbr[0]->header_count = 0;
-        }
-
-        faad_endbits(&ld_sbr);
-
-        if (revbuffer)
-            faad_free(revbuffer);
-    }
-#endif
-#endif
-
-    if (this_layer_stereo)
-    {
-        hInfo->error = reconstruct_channel_pair(hDecoder, ics1, ics2, &cpe, spec_data1, spec_data2);
-        if (hInfo->error > 0)
-            return;
-    } else {
-        hInfo->error = reconstruct_single_channel(hDecoder, ics1, &cpe, spec_data1);
-        if (hInfo->error > 0)
-            return;
-    }
-
-    /* map output channels position to internal data channels */
-    if (hDecoder->element_output_channels[hDecoder->fr_ch_ele] == 2)
-    {
-        /* this might be faulty when pce_set is true */
-        hDecoder->internal_channel[channels] = channels;
-        hDecoder->internal_channel[channels+1] = channels+1;
-    } else {
-        hDecoder->internal_channel[channels] = channels;
-    }
-
-    hDecoder->fr_channels += hDecoder->element_output_channels[hDecoder->fr_ch_ele];
-    hDecoder->fr_ch_ele++;
-
-    return;
-}
-
-/* Table 4.4.15 */
-static int8_t DRM_aac_scalable_main_header(NeAACDecHandle hDecoder, ic_stream *ics1, ic_stream *ics2,
-                                           bitfile *ld, uint8_t this_layer_stereo)
-{
-    uint8_t retval = 0;
-    uint8_t ch;
-    ic_stream *ics;
-    uint8_t ics_reserved_bit;
-
-    ics_reserved_bit = faad_get1bit(ld
-        DEBUGVAR(1,300,"aac_scalable_main_header(): ics_reserved_bits"));
-    if (ics_reserved_bit != 0)
-        return 32;
-    ics1->window_sequence = (uint8_t)faad_getbits(ld, 2
-        DEBUGVAR(1,301,"aac_scalable_main_header(): window_sequence"));
-    ics1->window_shape = faad_get1bit(ld
-        DEBUGVAR(1,302,"aac_scalable_main_header(): window_shape"));
-
-    if (ics1->window_sequence == EIGHT_SHORT_SEQUENCE)
-    {
-        ics1->max_sfb = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,303,"aac_scalable_main_header(): max_sfb (short)"));
-        ics1->scale_factor_grouping = (uint8_t)faad_getbits(ld, 7
-            DEBUGVAR(1,304,"aac_scalable_main_header(): scale_factor_grouping"));
-    } else {
-        ics1->max_sfb = (uint8_t)faad_getbits(ld, 6
-            DEBUGVAR(1,305,"aac_scalable_main_header(): max_sfb (long)"));
-    }
-
-    /* get the grouping information */
-    if ((retval = window_grouping_info(hDecoder, ics1)) > 0)
-        return retval;
-
-    /* should be an error */
-    /* check the range of max_sfb */
-    if (ics1->max_sfb > ics1->num_swb)
-        return 16;
-
-    if (this_layer_stereo)
-    {
-        ics1->ms_mask_present = (uint8_t)faad_getbits(ld, 2
-            DEBUGVAR(1,306,"aac_scalable_main_header(): ms_mask_present"));
-        if (ics1->ms_mask_present == 3)
-        {
-            /* bitstream error */
-            return 32;
-        }
-        if (ics1->ms_mask_present == 1)
-        {
-            uint8_t g, sfb;
-            for (g = 0; g < ics1->num_window_groups; g++)
-            {
-                for (sfb = 0; sfb < ics1->max_sfb; sfb++)
-                {
-                    ics1->ms_used[g][sfb] = faad_get1bit(ld
-                        DEBUGVAR(1,307,"aac_scalable_main_header(): faad_get1bit"));
-                }
-            }
-        }
-
-        memcpy(ics2, ics1, sizeof(ic_stream));
-    } else {
-        ics1->ms_mask_present = 0;
-    }
-
-    return 0;
-}
-#endif
-
-static uint8_t side_info(NeAACDecHandle hDecoder, element *ele,
-                         bitfile *ld, ic_stream *ics, uint8_t scal_flag)
-{
-    uint8_t result;
-
-    ics->global_gain = (uint8_t)faad_getbits(ld, 8
-        DEBUGVAR(1,67,"individual_channel_stream(): global_gain"));
-
-    if (!ele->common_window && !scal_flag)
-    {
-        if ((result = ics_info(hDecoder, ics, ld, ele->common_window)) > 0)
-            return result;
-    }
-
-    if ((result = section_data(hDecoder, ics, ld)) > 0)
-        return result;
-
-    if ((result = scale_factor_data(hDecoder, ics, ld)) > 0)
-        return result;
-
-    if (!scal_flag)
-    {
-        /**
-         **  NOTE: It could be that pulse data is available in scalable AAC too,
-         **        as said in Amendment 1, this could be only the case for ER AAC,
-         **        though. (have to check this out later)
-         **/
-        /* get pulse data */
-        if ((ics->pulse_data_present = faad_get1bit(ld
-            DEBUGVAR(1,68,"individual_channel_stream(): pulse_data_present"))) & 1)
-        {
-            if ((result = pulse_data(ics, &(ics->pul), ld)) > 0)
-                return result;
-        }
-
-        /* get tns data */
-        if ((ics->tns_data_present = faad_get1bit(ld
-            DEBUGVAR(1,69,"individual_channel_stream(): tns_data_present"))) & 1)
-        {
-#ifdef ERROR_RESILIENCE
-            if (hDecoder->object_type < ER_OBJECT_START)
-#endif
-                tns_data(ics, &(ics->tns), ld);
-        }
-
-        /* get gain control data */
-        if ((ics->gain_control_data_present = faad_get1bit(ld
-            DEBUGVAR(1,70,"individual_channel_stream(): gain_control_data_present"))) & 1)
-        {
-#ifdef SSR_DEC
-            if (hDecoder->object_type != SSR)
-                return 1;
-            else
-                gain_control_data(ld, ics);
-#else
-            return 1;
-#endif
-        }
-    }
-
-#ifdef ERROR_RESILIENCE
-    if (hDecoder->aacSpectralDataResilienceFlag)
-    {
-        ics->length_of_reordered_spectral_data = (uint16_t)faad_getbits(ld, 14
-            DEBUGVAR(1,147,"individual_channel_stream(): length_of_reordered_spectral_data"));
-
-        if (hDecoder->channelConfiguration == 2)
-        {
-            if (ics->length_of_reordered_spectral_data > 6144)
-                ics->length_of_reordered_spectral_data = 6144;
-        } else {
-            if (ics->length_of_reordered_spectral_data > 12288)
-                ics->length_of_reordered_spectral_data = 12288;
-        }
-
-        ics->length_of_longest_codeword = (uint8_t)faad_getbits(ld, 6
-            DEBUGVAR(1,148,"individual_channel_stream(): length_of_longest_codeword"));
-        if (ics->length_of_longest_codeword >= 49)
-            ics->length_of_longest_codeword = 49;
-    }
-
-    /* RVLC spectral data is put here */
-    if (hDecoder->aacScalefactorDataResilienceFlag)
-    {
-        if ((result = rvlc_decode_scale_factors(ics, ld)) > 0)
-            return result;
-    }
-#endif
-
-    return 0;
-}
-
-/* Table 4.4.24 */
-static uint8_t individual_channel_stream(NeAACDecHandle hDecoder, element *ele,
-                                         bitfile *ld, ic_stream *ics, uint8_t scal_flag,
-                                         int16_t *spec_data)
-{
-    uint8_t result;
-
-    result = side_info(hDecoder, ele, ld, ics, scal_flag);
-    if (result > 0)
-        return result;
-
-    if (hDecoder->object_type >= ER_OBJECT_START) 
-    {
-        if (ics->tns_data_present)
-            tns_data(ics, &(ics->tns), ld);
-    }
-
-#ifdef DRM
-    /* CRC check */
-    if (hDecoder->object_type == DRM_ER_LC)
-    {
-        if ((result = (uint8_t)faad_check_CRC(ld, (uint16_t)faad_get_processed_bits(ld) - 8)) > 0)
-            return result;
-    }
-#endif
-
-#ifdef ERROR_RESILIENCE
-    if (hDecoder->aacSpectralDataResilienceFlag)
-    {
-        /* error resilient spectral data decoding */
-        if ((result = reordered_spectral_data(hDecoder, ics, ld, spec_data)) > 0)
-        {
-            return result;
-        }
-    } else {
-#endif
-        /* decode the spectral data */
-        if ((result = spectral_data(hDecoder, ics, ld, spec_data)) > 0)
-        {
-            return result;
-        }
-#ifdef ERROR_RESILIENCE
-    }
-#endif
-
-    /* pulse coding reconstruction */
-    if (ics->pulse_data_present)
-    {
-        if (ics->window_sequence != EIGHT_SHORT_SEQUENCE)
-        {
-            if ((result = pulse_decode(ics, spec_data, hDecoder->frameLength)) > 0)
-                return result;
-        } else {
-            return 2; /* pulse coding not allowed for short blocks */
-        }
-    }
-
-    return 0;
-}
-
-/* Table 4.4.25 */
-static uint8_t section_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld)
-{
-    uint8_t g;
-    uint8_t sect_esc_val, sect_bits;
-
-    if (ics->window_sequence == EIGHT_SHORT_SEQUENCE)
-        sect_bits = 3;
-    else
-        sect_bits = 5;
-    sect_esc_val = (1<<sect_bits) - 1;
-
-#if 0
-    printf("\ntotal sfb %d\n", ics->max_sfb);
-    printf("   sect    top     cb\n");
-#endif
-
-    for (g = 0; g < ics->num_window_groups; g++)
-    {
-        uint8_t k = 0;
-        uint8_t i = 0;
-
-        while (k < ics->max_sfb)
-        {
-#ifdef ERROR_RESILIENCE
-            uint8_t vcb11 = 0;
-#endif
-            uint8_t sfb;
-            uint8_t sect_len_incr;
-            uint16_t sect_len = 0;
-            uint8_t sect_cb_bits = 4;
-
-            /* if "faad_getbits" detects error and returns "0", "k" is never
-               incremented and we cannot leave the while loop */
-            if (ld->error != 0)
-                return 14;
-
-#ifdef ERROR_RESILIENCE
-            if (hDecoder->aacSectionDataResilienceFlag)
-                sect_cb_bits = 5;
-#endif
-
-            ics->sect_cb[g][i] = (uint8_t)faad_getbits(ld, sect_cb_bits
-                DEBUGVAR(1,71,"section_data(): sect_cb"));
-
-            if (ics->sect_cb[g][i] == 12)
-                return 32;
-
-#if 0
-            printf("%d\n", ics->sect_cb[g][i]);
-#endif
-
-#ifndef DRM
-            if (ics->sect_cb[g][i] == NOISE_HCB)
-                ics->noise_used = 1;
-#else
-            /* PNS not allowed in DRM */
-            if (ics->sect_cb[g][i] == NOISE_HCB)
-                return 29;
-#endif
-            if (ics->sect_cb[g][i] == INTENSITY_HCB2 || ics->sect_cb[g][i] == INTENSITY_HCB)
-                ics->is_used = 1;
-
-#ifdef ERROR_RESILIENCE
-            if (hDecoder->aacSectionDataResilienceFlag)
-            {
-                if ((ics->sect_cb[g][i] == 11) ||
-                    ((ics->sect_cb[g][i] >= 16) && (ics->sect_cb[g][i] <= 32)))
-                {
-                    vcb11 = 1;
-                }
-            }
-            if (vcb11)
-            {
-                sect_len_incr = 1;
-            } else {
-#endif
-                sect_len_incr = (uint8_t)faad_getbits(ld, sect_bits
-                    DEBUGVAR(1,72,"section_data(): sect_len_incr"));
-#ifdef ERROR_RESILIENCE
-            }
-#endif
-            while ((sect_len_incr == sect_esc_val) /* &&
-                (k+sect_len < ics->max_sfb)*/)
-            {
-                sect_len += sect_len_incr;
-                sect_len_incr = (uint8_t)faad_getbits(ld, sect_bits
-                    DEBUGVAR(1,72,"section_data(): sect_len_incr"));
-            }
-
-            sect_len += sect_len_incr;
-
-            ics->sect_start[g][i] = k;
-            ics->sect_end[g][i] = k + sect_len;
-
-#if 0
-            printf("%d\n", ics->sect_start[g][i]);
-#endif
-#if 0
-            printf("%d\n", ics->sect_end[g][i]);
-#endif
-
-            if (ics->window_sequence == EIGHT_SHORT_SEQUENCE)
-            {
-                if (k + sect_len > 8*15)
-                    return 15;
-                if (i >= 8*15)
-                    return 15;
-            } else {
-                if (k + sect_len > MAX_SFB)
-                    return 15;
-                if (i >= MAX_SFB)
-                    return 15;
-            }
-
-            for (sfb = k; sfb < k + sect_len; sfb++)
-            {
-                ics->sfb_cb[g][sfb] = ics->sect_cb[g][i];
-#if 0
-                printf("%d\n", ics->sfb_cb[g][sfb]);
-#endif
-            }
-
-#if 0
-            printf(" %6d %6d %6d\n",
-                i,
-                ics->sect_end[g][i],
-                ics->sect_cb[g][i]);
-#endif
-
-            k += sect_len;
-            i++;
-        }
-        ics->num_sec[g] = i;
-
-        /* the sum of all sect_len_incr elements for a given window
-         * group shall equal max_sfb */
-        if (k != ics->max_sfb)
-        {
-            return 32;
-        }
-#if 0
-        printf("%d\n", ics->num_sec[g]);
-#endif
-    }
-
-#if 0
-    printf("\n");
-#endif
-
-    return 0;
-}
-
-/*
- *  decode_scale_factors()
- *   decodes the scalefactors from the bitstream
- */
-/*
- * All scalefactors (and also the stereo positions and pns energies) are
- * transmitted using Huffman coded DPCM relative to the previous active
- * scalefactor (respectively previous stereo position or previous pns energy,
- * see subclause 4.6.2 and 4.6.3). The first active scalefactor is
- * differentially coded relative to the global gain.
- */
-static uint8_t decode_scale_factors(ic_stream *ics, bitfile *ld)
-{
-    uint8_t g, sfb;
-    int16_t t;
-    int8_t noise_pcm_flag = 1;
-
-    int16_t scale_factor = ics->global_gain;
-    int16_t is_position = 0;
-    int16_t noise_energy = ics->global_gain - 90;
-
-    for (g = 0; g < ics->num_window_groups; g++)
-    {
-        for (sfb = 0; sfb < ics->max_sfb; sfb++)
-        {
-            switch (ics->sfb_cb[g][sfb])
-            {
-            case ZERO_HCB: /* zero book */
-                ics->scale_factors[g][sfb] = 0;
-//#define SF_PRINT
-#ifdef SF_PRINT
-                printf("%d\n", ics->scale_factors[g][sfb]);
-#endif
-                break;
-            case INTENSITY_HCB: /* intensity books */
-            case INTENSITY_HCB2:
-
-                /* decode intensity position */
-                t = huffman_scale_factor(ld);
-                is_position += (t - 60);
-                ics->scale_factors[g][sfb] = is_position;
-#ifdef SF_PRINT
-                printf("%d\n", ics->scale_factors[g][sfb]);
-#endif
-
-                break;
-            case NOISE_HCB: /* noise books */
-
-#ifndef DRM
-                /* decode noise energy */
-                if (noise_pcm_flag)
-                {
-                    noise_pcm_flag = 0;
-                    t = (int16_t)faad_getbits(ld, 9
-                        DEBUGVAR(1,73,"scale_factor_data(): first noise")) - 256;
-                } else {
-                    t = huffman_scale_factor(ld);
-                    t -= 60;
-                }
-                noise_energy += t;
-                ics->scale_factors[g][sfb] = noise_energy;
-#ifdef SF_PRINT
-                printf("%d\n", ics->scale_factors[g][sfb]);
-#endif
-#else
-                /* PNS not allowed in DRM */
-                return 29;
-#endif
-
-                break;
-            default: /* spectral books */
-
-                /* ics->scale_factors[g][sfb] must be between 0 and 255 */
-
-                ics->scale_factors[g][sfb] = 0;
-
-                /* decode scale factor */
-                t = huffman_scale_factor(ld);
-                scale_factor += (t - 60);
-                if (scale_factor < 0 || scale_factor > 255)
-                    return 4;
-                ics->scale_factors[g][sfb] = scale_factor;
-#ifdef SF_PRINT
-                printf("%d\n", ics->scale_factors[g][sfb]);
-#endif
-
-                break;
-            }
-        }
-    }
-
-    return 0;
-}
-
-/* Table 4.4.26 */
-static uint8_t scale_factor_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld)
-{
-    uint8_t ret = 0;
-#ifdef PROFILE
-    int64_t count = faad_get_ts();
-#endif
-
-#ifdef ERROR_RESILIENCE
-    if (!hDecoder->aacScalefactorDataResilienceFlag)
-    {
-#endif
-        ret = decode_scale_factors(ics, ld);
-#ifdef ERROR_RESILIENCE
-    } else {
-        /* In ER AAC the parameters for RVLC are seperated from the actual
-           data that holds the scale_factors.
-           Strangely enough, 2 parameters for HCR are put inbetween them.
-        */
-        ret = rvlc_scale_factor_data(ics, ld);
-    }
-#endif
-
-#ifdef PROFILE
-    count = faad_get_ts() - count;
-    hDecoder->scalefac_cycles += count;
-#endif
-
-    return ret;
-}
-
-/* Table 4.4.27 */
-static void tns_data(ic_stream *ics, tns_info *tns, bitfile *ld)
-{
-    uint8_t w, filt, i, start_coef_bits, coef_bits;
-    uint8_t n_filt_bits = 2;
-    uint8_t length_bits = 6;
-    uint8_t order_bits = 5;
-
-    if (ics->window_sequence == EIGHT_SHORT_SEQUENCE)
-    {
-        n_filt_bits = 1;
-        length_bits = 4;
-        order_bits = 3;
-    }
-
-    for (w = 0; w < ics->num_windows; w++)
-    {
-        tns->n_filt[w] = (uint8_t)faad_getbits(ld, n_filt_bits
-            DEBUGVAR(1,74,"tns_data(): n_filt"));
-#if 0
-        printf("%d\n", tns->n_filt[w]);
-#endif
-
-        if (tns->n_filt[w])
-        {
-            if ((tns->coef_res[w] = faad_get1bit(ld
-                DEBUGVAR(1,75,"tns_data(): coef_res"))) & 1)
-            {
-                start_coef_bits = 4;
-            } else {
-                start_coef_bits = 3;
-            }
-#if 0
-            printf("%d\n", tns->coef_res[w]);
-#endif
-        }
-
-        for (filt = 0; filt < tns->n_filt[w]; filt++)
-        {
-            tns->length[w][filt] = (uint8_t)faad_getbits(ld, length_bits
-                DEBUGVAR(1,76,"tns_data(): length"));
-#if 0
-            printf("%d\n", tns->length[w][filt]);
-#endif
-            tns->order[w][filt]  = (uint8_t)faad_getbits(ld, order_bits
-                DEBUGVAR(1,77,"tns_data(): order"));
-#if 0
-            printf("%d\n", tns->order[w][filt]);
-#endif
-            if (tns->order[w][filt])
-            {
-                tns->direction[w][filt] = faad_get1bit(ld
-                    DEBUGVAR(1,78,"tns_data(): direction"));
-#if 0
-                printf("%d\n", tns->direction[w][filt]);
-#endif
-                tns->coef_compress[w][filt] = faad_get1bit(ld
-                    DEBUGVAR(1,79,"tns_data(): coef_compress"));
-#if 0
-                printf("%d\n", tns->coef_compress[w][filt]);
-#endif
-
-                coef_bits = start_coef_bits - tns->coef_compress[w][filt];
-                for (i = 0; i < tns->order[w][filt]; i++)
-                {
-                    tns->coef[w][filt][i] = (uint8_t)faad_getbits(ld, coef_bits
-                        DEBUGVAR(1,80,"tns_data(): coef"));
-#if 0
-                    printf("%d\n", tns->coef[w][filt][i]);
-#endif
-                }
-            }
-        }
-    }
-}
-
-#ifdef LTP_DEC
-/* Table 4.4.28 */
-static uint8_t ltp_data(NeAACDecHandle hDecoder, ic_stream *ics, ltp_info *ltp, bitfile *ld)
-{
-    uint8_t sfb, w;
-
-    ltp->lag = 0;
-
-#ifdef LD_DEC
-    if (hDecoder->object_type == LD)
-    {
-        ltp->lag_update = (uint8_t)faad_getbits(ld, 1
-            DEBUGVAR(1,142,"ltp_data(): lag_update"));
-
-        if (ltp->lag_update)
-        {
-            ltp->lag = (uint16_t)faad_getbits(ld, 10
-                DEBUGVAR(1,81,"ltp_data(): lag"));
-        }
-    } else {
-#endif
-        ltp->lag = (uint16_t)faad_getbits(ld, 11
-            DEBUGVAR(1,81,"ltp_data(): lag"));
-#ifdef LD_DEC
-    }
-#endif
-
-    /* Check length of lag */
-    if (ltp->lag > (hDecoder->frameLength << 1))
-        return 18;
-
-    ltp->coef = (uint8_t)faad_getbits(ld, 3
-        DEBUGVAR(1,82,"ltp_data(): coef"));
-
-    if (ics->window_sequence == EIGHT_SHORT_SEQUENCE)
-    {
-        for (w = 0; w < ics->num_windows; w++)
-        {
-            if ((ltp->short_used[w] = faad_get1bit(ld
-                DEBUGVAR(1,83,"ltp_data(): short_used"))) & 1)
-            {
-                ltp->short_lag_present[w] = faad_get1bit(ld
-                    DEBUGVAR(1,84,"ltp_data(): short_lag_present"));
-                if (ltp->short_lag_present[w])
-                {
-                    ltp->short_lag[w] = (uint8_t)faad_getbits(ld, 4
-                        DEBUGVAR(1,85,"ltp_data(): short_lag"));
-                }
-            }
-        }
-    } else {
-        ltp->last_band = (ics->max_sfb < MAX_LTP_SFB ? ics->max_sfb : MAX_LTP_SFB);
-
-        for (sfb = 0; sfb < ltp->last_band; sfb++)
-        {
-            ltp->long_used[sfb] = faad_get1bit(ld
-                DEBUGVAR(1,86,"ltp_data(): long_used"));
-        }
-    }
-
-    return 0;
-}
-#endif
-
-/* Table 4.4.29 */
-static uint8_t spectral_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
-                             int16_t *spectral_data)
-{
-    int8_t i;
-    uint8_t g;
-    uint16_t inc, k, p = 0;
-    uint8_t groups = 0;
-    uint8_t sect_cb;
-    uint8_t result;
-    uint16_t nshort = hDecoder->frameLength/8;
-
-#ifdef PROFILE
-    int64_t count = faad_get_ts();
-#endif
-
-    for(g = 0; g < ics->num_window_groups; g++)
-    {
-        p = groups*nshort;
-
-        for (i = 0; i < ics->num_sec[g]; i++)
-        {
-            sect_cb = ics->sect_cb[g][i];
-
-            inc = (sect_cb >= FIRST_PAIR_HCB) ? 2 : 4;
-
-            switch (sect_cb)
-            {
-            case ZERO_HCB:
-            case NOISE_HCB:
-            case INTENSITY_HCB:
-            case INTENSITY_HCB2:
-//#define SD_PRINT
-#ifdef SD_PRINT
-                {
-                    int j;
-                    for (j = ics->sect_sfb_offset[g][ics->sect_start[g][i]]; j < ics->sect_sfb_offset[g][ics->sect_end[g][i]]; j++)
-                    {
-                        printf("%d\n", 0);
-                    }
-                }
-#endif
-//#define SFBO_PRINT
-#ifdef SFBO_PRINT
-                printf("%d\n", ics->sect_sfb_offset[g][ics->sect_start[g][i]]);
-#endif
-                p += (ics->sect_sfb_offset[g][ics->sect_end[g][i]] -
-                    ics->sect_sfb_offset[g][ics->sect_start[g][i]]);
-                break;
-            default:
-#ifdef SFBO_PRINT
-                printf("%d\n", ics->sect_sfb_offset[g][ics->sect_start[g][i]]);
-#endif
-                for (k = ics->sect_sfb_offset[g][ics->sect_start[g][i]];
-                     k < ics->sect_sfb_offset[g][ics->sect_end[g][i]]; k += inc)
-                {
-                    if ((result = huffman_spectral_data(sect_cb, ld, &spectral_data[p])) > 0)
-                        return result;
-#ifdef SD_PRINT
-                    {
-                        int j;
-                        for (j = p; j < p+inc; j++)
-                        {
-                            printf("%d\n", spectral_data[j]);
-                        }
-                    }
-#endif
-                    p += inc;
-                }
-                break;
-            }
-        }
-        groups += ics->window_group_length[g];
-    }
-
-#ifdef PROFILE
-    count = faad_get_ts() - count;
-    hDecoder->spectral_cycles += count;
-#endif
-
-    return 0;
-}
-
-/* Table 4.4.30 */
-static uint16_t extension_payload(bitfile *ld, drc_info *drc, uint16_t count)
-{
-    uint16_t i, n, dataElementLength;
-    uint8_t dataElementLengthPart;
-    uint8_t align = 4, data_element_version, loopCounter;
-
-    uint8_t extension_type = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,87,"extension_payload(): extension_type"));
-
-    switch (extension_type)
-    {
-    case EXT_DYNAMIC_RANGE:
-        drc->present = 1;
-        n = dynamic_range_info(ld, drc);
-        return n;
-    case EXT_FILL_DATA:
-        /* fill_nibble = */ faad_getbits(ld, 4
-            DEBUGVAR(1,136,"extension_payload(): fill_nibble")); /* must be \910000\92 */
-        for (i = 0; i < count-1; i++)
-        {
-            /* fill_byte[i] = */ faad_getbits(ld, 8
-                DEBUGVAR(1,88,"extension_payload(): fill_byte")); /* must be \9110100101\92 */
-        }
-        return count;
-    case EXT_DATA_ELEMENT:
-        data_element_version = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,400,"extension_payload(): data_element_version"));
-        switch (data_element_version)
-        {
-        case ANC_DATA:
-            loopCounter = 0;
-            dataElementLength = 0;
-            do {
-                dataElementLengthPart = (uint8_t)faad_getbits(ld, 8
-                    DEBUGVAR(1,401,"extension_payload(): dataElementLengthPart"));
-                dataElementLength += dataElementLengthPart;
-                loopCounter++;
-            } while (dataElementLengthPart == 255);
-
-            for (i = 0; i < dataElementLength; i++)
-            {
-                /* data_element_byte[i] = */ faad_getbits(ld, 8
-                    DEBUGVAR(1,402,"extension_payload(): data_element_byte"));
-                return (dataElementLength+loopCounter+1);
-            }
-        default:
-            align = 0;
-        }
-    case EXT_FIL:
-    default:
-        faad_getbits(ld, align
-            DEBUGVAR(1,88,"extension_payload(): fill_nibble"));
-        for (i = 0; i < count-1; i++)
-        {
-            /* other_bits[i] = */ faad_getbits(ld, 8
-               DEBUGVAR(1,89,"extension_payload(): fill_bit"));
-        }
-        return count;
-    }
-}
-
-/* Table 4.4.31 */
-static uint8_t dynamic_range_info(bitfile *ld, drc_info *drc)
-{
-    uint8_t i, n = 1;
-    uint8_t band_incr;
-
-    drc->num_bands = 1;
-
-    if (faad_get1bit(ld
-        DEBUGVAR(1,90,"dynamic_range_info(): has instance_tag")) & 1)
-    {
-        drc->pce_instance_tag = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,91,"dynamic_range_info(): pce_instance_tag"));
-        /* drc->drc_tag_reserved_bits = */ faad_getbits(ld, 4
-            DEBUGVAR(1,92,"dynamic_range_info(): drc_tag_reserved_bits"));
-        n++;
-    }
-
-    drc->excluded_chns_present = faad_get1bit(ld
-        DEBUGVAR(1,93,"dynamic_range_info(): excluded_chns_present"));
-    if (drc->excluded_chns_present == 1)
-    {
-        n += excluded_channels(ld, drc);
-    }
-
-    if (faad_get1bit(ld
-        DEBUGVAR(1,94,"dynamic_range_info(): has bands data")) & 1)
-    {
-        band_incr = (uint8_t)faad_getbits(ld, 4
-            DEBUGVAR(1,95,"dynamic_range_info(): band_incr"));
-        /* drc->drc_bands_reserved_bits = */ faad_getbits(ld, 4
-            DEBUGVAR(1,96,"dynamic_range_info(): drc_bands_reserved_bits"));
-        n++;
-        drc->num_bands += band_incr;
-
-        for (i = 0; i < drc->num_bands; i++)
-        {
-            drc->band_top[i] = (uint8_t)faad_getbits(ld, 8
-                DEBUGVAR(1,97,"dynamic_range_info(): band_top"));
-            n++;
-        }
-    }
-
-    if (faad_get1bit(ld
-        DEBUGVAR(1,98,"dynamic_range_info(): has prog_ref_level")) & 1)
-    {
-        drc->prog_ref_level = (uint8_t)faad_getbits(ld, 7
-            DEBUGVAR(1,99,"dynamic_range_info(): prog_ref_level"));
-        /* drc->prog_ref_level_reserved_bits = */ faad_get1bit(ld
-            DEBUGVAR(1,100,"dynamic_range_info(): prog_ref_level_reserved_bits"));
-        n++;
-    }
-
-    for (i = 0; i < drc->num_bands; i++)
-    {
-        drc->dyn_rng_sgn[i] = faad_get1bit(ld
-            DEBUGVAR(1,101,"dynamic_range_info(): dyn_rng_sgn"));
-        drc->dyn_rng_ctl[i] = (uint8_t)faad_getbits(ld, 7
-            DEBUGVAR(1,102,"dynamic_range_info(): dyn_rng_ctl"));
-        n++;
-    }
-
-    return n;
-}
-
-/* Table 4.4.32 */
-static uint8_t excluded_channels(bitfile *ld, drc_info *drc)
-{
-    uint8_t i, n = 0;
-    uint8_t num_excl_chan = 7;
-
-    for (i = 0; i < 7; i++)
-    {
-        drc->exclude_mask[i] = faad_get1bit(ld
-            DEBUGVAR(1,103,"excluded_channels(): exclude_mask"));
-    }
-    n++;
-
-    while ((drc->additional_excluded_chns[n-1] = faad_get1bit(ld
-        DEBUGVAR(1,104,"excluded_channels(): additional_excluded_chns"))) == 1)
-    {
-        for (i = num_excl_chan; i < num_excl_chan+7; i++)
-        {
-            drc->exclude_mask[i] = faad_get1bit(ld
-                DEBUGVAR(1,105,"excluded_channels(): exclude_mask"));
-        }
-        n++;
-        num_excl_chan += 7;
-    }
-
-    return n;
-}
-
-/* Annex A: Audio Interchange Formats */
-
-/* Table 1.A.2 */
-void get_adif_header(adif_header *adif, bitfile *ld)
-{
-    uint8_t i;
-
-    /* adif_id[0] = */ faad_getbits(ld, 8
-        DEBUGVAR(1,106,"get_adif_header(): adif_id[0]"));
-    /* adif_id[1] = */ faad_getbits(ld, 8
-        DEBUGVAR(1,107,"get_adif_header(): adif_id[1]"));
-    /* adif_id[2] = */ faad_getbits(ld, 8
-        DEBUGVAR(1,108,"get_adif_header(): adif_id[2]"));
-    /* adif_id[3] = */ faad_getbits(ld, 8
-        DEBUGVAR(1,109,"get_adif_header(): adif_id[3]"));
-    adif->copyright_id_present = faad_get1bit(ld
-        DEBUGVAR(1,110,"get_adif_header(): copyright_id_present"));
-    if(adif->copyright_id_present)
-    {
-        for (i = 0; i < 72/8; i++)
-        {
-            adif->copyright_id[i] = (int8_t)faad_getbits(ld, 8
-                DEBUGVAR(1,111,"get_adif_header(): copyright_id"));
-        }
-        adif->copyright_id[i] = 0;
-    }
-    adif->original_copy  = faad_get1bit(ld
-        DEBUGVAR(1,112,"get_adif_header(): original_copy"));
-    adif->home = faad_get1bit(ld
-        DEBUGVAR(1,113,"get_adif_header(): home"));
-    adif->bitstream_type = faad_get1bit(ld
-        DEBUGVAR(1,114,"get_adif_header(): bitstream_type"));
-    adif->bitrate = faad_getbits(ld, 23
-        DEBUGVAR(1,115,"get_adif_header(): bitrate"));
-    adif->num_program_config_elements = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,116,"get_adif_header(): num_program_config_elements"));
-
-    for (i = 0; i < adif->num_program_config_elements + 1; i++)
-    {
-        if(adif->bitstream_type == 0)
-        {
-            adif->adif_buffer_fullness = faad_getbits(ld, 20
-                DEBUGVAR(1,117,"get_adif_header(): adif_buffer_fullness"));
-        } else {
-            adif->adif_buffer_fullness = 0;
-        }
-
-        program_config_element(&adif->pce[i], ld);
-    }
-}
-
-/* Table 1.A.5 */
-uint8_t adts_frame(adts_header *adts, bitfile *ld)
-{
-    /* faad_byte_align(ld); */
-    if (adts_fixed_header(adts, ld))
-        return 5;
-    adts_variable_header(adts, ld);
-    adts_error_check(adts, ld);
-
-    return 0;
-}
-
-/* Table 1.A.6 */
-static uint8_t adts_fixed_header(adts_header *adts, bitfile *ld)
-{
-    uint16_t i;
-    uint8_t sync_err = 1;
-
-    /* try to recover from sync errors */
-    for (i = 0; i < 768; i++)
-    {
-        adts->syncword = (uint16_t)faad_showbits(ld, 12);
-        if (adts->syncword != 0xFFF)
-        {
-            faad_getbits(ld, 8
-                DEBUGVAR(0,0,""));
-        } else {
-            sync_err = 0;
-            faad_getbits(ld, 12
-                DEBUGVAR(1,118,"adts_fixed_header(): syncword"));
-            break;
-        }
-    }
-    if (sync_err)
-        return 5;
-
-    adts->id = faad_get1bit(ld
-        DEBUGVAR(1,119,"adts_fixed_header(): id"));
-    adts->layer = (uint8_t)faad_getbits(ld, 2
-        DEBUGVAR(1,120,"adts_fixed_header(): layer"));
-    adts->protection_absent = faad_get1bit(ld
-        DEBUGVAR(1,121,"adts_fixed_header(): protection_absent"));
-    adts->profile = (uint8_t)faad_getbits(ld, 2
-        DEBUGVAR(1,122,"adts_fixed_header(): profile"));
-    adts->sf_index = (uint8_t)faad_getbits(ld, 4
-        DEBUGVAR(1,123,"adts_fixed_header(): sf_index"));
-    adts->private_bit = faad_get1bit(ld
-        DEBUGVAR(1,124,"adts_fixed_header(): private_bit"));
-    adts->channel_configuration = (uint8_t)faad_getbits(ld, 3
-        DEBUGVAR(1,125,"adts_fixed_header(): channel_configuration"));
-    adts->original = faad_get1bit(ld
-        DEBUGVAR(1,126,"adts_fixed_header(): original"));
-    adts->home = faad_get1bit(ld
-        DEBUGVAR(1,127,"adts_fixed_header(): home"));
-
-    if (adts->old_format == 1)
-    {
-        /* Removed in corrigendum 14496-3:2002 */
-        if (adts->id == 0)
-        {
-            adts->emphasis = (uint8_t)faad_getbits(ld, 2
-                DEBUGVAR(1,128,"adts_fixed_header(): emphasis"));
-        }
-    }
-
-    return 0;
-}
-
-/* Table 1.A.7 */
-static void adts_variable_header(adts_header *adts, bitfile *ld)
-{
-    adts->copyright_identification_bit = faad_get1bit(ld
-        DEBUGVAR(1,129,"adts_variable_header(): copyright_identification_bit"));
-    adts->copyright_identification_start = faad_get1bit(ld
-        DEBUGVAR(1,130,"adts_variable_header(): copyright_identification_start"));
-    adts->aac_frame_length = (uint16_t)faad_getbits(ld, 13
-        DEBUGVAR(1,131,"adts_variable_header(): aac_frame_length"));
-    adts->adts_buffer_fullness = (uint16_t)faad_getbits(ld, 11
-        DEBUGVAR(1,132,"adts_variable_header(): adts_buffer_fullness"));
-    adts->no_raw_data_blocks_in_frame = (uint8_t)faad_getbits(ld, 2
-        DEBUGVAR(1,133,"adts_variable_header(): no_raw_data_blocks_in_frame"));
-}
-
-/* Table 1.A.8 */
-static void adts_error_check(adts_header *adts, bitfile *ld)
-{
-    if (adts->protection_absent == 0)
-    {
-        adts->crc_check = (uint16_t)faad_getbits(ld, 16
-            DEBUGVAR(1,134,"adts_error_check(): crc_check"));
-    }
-}
diff --git a/lib/libfaad2/libfaad/syntax.h b/lib/libfaad2/libfaad/syntax.h
deleted file mode 100644 (file)
index 123c457..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: syntax.h,v 1.58 2007/11/01 12:33:40 menno Exp $
-**/
-
-#ifndef __SYNTAX_H__
-#define __SYNTAX_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "decoder.h"
-#include "bits.h"
-
-#define MAIN       1
-#define LC         2
-#define SSR        3
-#define LTP        4
-#define HE_AAC     5
-#define LD        23
-#define ER_LC     17
-#define ER_LTP    19
-#define DRM_ER_LC 27 /* special object type for DRM */
-
-/* header types */
-#define RAW        0
-#define ADIF       1
-#define ADTS       2
-
-/* SBR signalling */
-#define NO_SBR           0
-#define SBR_UPSAMPLED    1
-#define SBR_DOWNSAMPLED  2
-#define NO_SBR_UPSAMPLED 3
-
-/* DRM channel definitions */
-#define DRMCH_MONO          1
-#define DRMCH_STEREO        2
-#define DRMCH_SBR_MONO      3
-#define DRMCH_SBR_STEREO    4
-#define DRMCH_SBR_PS_STEREO 5
-
-
-/* First object type that has ER */
-#define ER_OBJECT_START 17
-
-
-/* Bitstream */
-#define LEN_SE_ID 3
-#define LEN_TAG   4
-#define LEN_BYTE  8
-
-#define EXT_FIL            0
-#define EXT_FILL_DATA      1
-#define EXT_DATA_ELEMENT   2
-#define EXT_DYNAMIC_RANGE 11
-#define ANC_DATA           0
-
-/* Syntax elements */
-#define ID_SCE 0x0
-#define ID_CPE 0x1
-#define ID_CCE 0x2
-#define ID_LFE 0x3
-#define ID_DSE 0x4
-#define ID_PCE 0x5
-#define ID_FIL 0x6
-#define ID_END 0x7
-
-#define ONLY_LONG_SEQUENCE   0x0
-#define LONG_START_SEQUENCE  0x1
-#define EIGHT_SHORT_SEQUENCE 0x2
-#define LONG_STOP_SEQUENCE   0x3
-
-#define ZERO_HCB       0
-#define FIRST_PAIR_HCB 5
-#define ESC_HCB        11
-#define QUAD_LEN       4
-#define PAIR_LEN       2
-#define NOISE_HCB      13
-#define INTENSITY_HCB2 14
-#define INTENSITY_HCB  15
-
-#define INVALID_SBR_ELEMENT 255
-
-int8_t GASpecificConfig(bitfile *ld, mp4AudioSpecificConfig *mp4ASC,
-                        program_config *pce);
-
-uint8_t adts_frame(adts_header *adts, bitfile *ld);
-void get_adif_header(adif_header *adif, bitfile *ld);
-void raw_data_block(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
-                    bitfile *ld, program_config *pce, drc_info *drc);
-uint8_t reordered_spectral_data(NeAACDecHandle hDecoder, ic_stream *ics, bitfile *ld,
-                                int16_t *spectral_data);
-#ifdef DRM
-void DRM_aac_scalable_main_element(NeAACDecHandle hDecoder, NeAACDecFrameInfo *hInfo,
-                                   bitfile *ld, program_config *pce, drc_info *drc);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/libfaad/tns.c b/lib/libfaad2/libfaad/tns.c
deleted file mode 100644 (file)
index 6118652..0000000
+++ /dev/null
@@ -1,309 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: tns.c,v 1.40 2007/11/01 12:33:40 menno Exp $
-**/
-
-#include "common.h"
-#include "structs.h"
-
-#include "syntax.h"
-#include "tns.h"
-
-
-/* static function declarations */
-static void tns_decode_coef(uint8_t order, uint8_t coef_res_bits, uint8_t coef_compress,
-                            uint8_t *coef, real_t *a);
-static void tns_ar_filter(real_t *spectrum, uint16_t size, int8_t inc, real_t *lpc,
-                          uint8_t order);
-static void tns_ma_filter(real_t *spectrum, uint16_t size, int8_t inc, real_t *lpc,
-                          uint8_t order);
-
-
-#ifdef _MSC_VER
-#pragma warning(disable:4305)
-#pragma warning(disable:4244)
-#endif
-static real_t tns_coef_0_3[] =
-{
-    COEF_CONST(0.0), COEF_CONST(0.4338837391), COEF_CONST(0.7818314825), COEF_CONST(0.9749279122),
-    COEF_CONST(-0.9848077530), COEF_CONST(-0.8660254038), COEF_CONST(-0.6427876097), COEF_CONST(-0.3420201433),
-    COEF_CONST(-0.4338837391), COEF_CONST(-0.7818314825), COEF_CONST(-0.9749279122), COEF_CONST(-0.9749279122),
-    COEF_CONST(-0.9848077530), COEF_CONST(-0.8660254038), COEF_CONST(-0.6427876097), COEF_CONST(-0.3420201433)
-};
-static real_t tns_coef_0_4[] =
-{
-    COEF_CONST(0.0), COEF_CONST(0.2079116908), COEF_CONST(0.4067366431), COEF_CONST(0.5877852523),
-    COEF_CONST(0.7431448255), COEF_CONST(0.8660254038), COEF_CONST(0.9510565163), COEF_CONST(0.9945218954),
-    COEF_CONST(-0.9957341763), COEF_CONST(-0.9618256432), COEF_CONST(-0.8951632914), COEF_CONST(-0.7980172273),
-    COEF_CONST(-0.6736956436), COEF_CONST(-0.5264321629), COEF_CONST(-0.3612416662), COEF_CONST(-0.1837495178)
-};
-static real_t tns_coef_1_3[] =
-{
-    COEF_CONST(0.0), COEF_CONST(0.4338837391), COEF_CONST(-0.6427876097), COEF_CONST(-0.3420201433),
-    COEF_CONST(0.9749279122), COEF_CONST(0.7818314825), COEF_CONST(-0.6427876097), COEF_CONST(-0.3420201433),
-    COEF_CONST(-0.4338837391), COEF_CONST(-0.7818314825), COEF_CONST(-0.6427876097), COEF_CONST(-0.3420201433),
-    COEF_CONST(-0.7818314825), COEF_CONST(-0.4338837391), COEF_CONST(-0.6427876097), COEF_CONST(-0.3420201433)
-};
-static real_t tns_coef_1_4[] =
-{
-    COEF_CONST(0.0), COEF_CONST(0.2079116908), COEF_CONST(0.4067366431), COEF_CONST(0.5877852523),
-    COEF_CONST(-0.6736956436), COEF_CONST(-0.5264321629), COEF_CONST(-0.3612416662), COEF_CONST(-0.1837495178),
-    COEF_CONST(0.9945218954), COEF_CONST(0.9510565163), COEF_CONST(0.8660254038), COEF_CONST(0.7431448255),
-    COEF_CONST(-0.6736956436), COEF_CONST(-0.5264321629), COEF_CONST(-0.3612416662), COEF_CONST(-0.1837495178)
-};
-
-
-/* TNS decoding for one channel and frame */
-void tns_decode_frame(ic_stream *ics, tns_info *tns, uint8_t sr_index,
-                      uint8_t object_type, real_t *spec, uint16_t frame_len)
-{
-    uint8_t w, f, tns_order;
-    int8_t inc;
-    int16_t size;
-    uint16_t bottom, top, start, end;
-    uint16_t nshort = frame_len/8;
-    real_t lpc[TNS_MAX_ORDER+1];
-
-    if (!ics->tns_data_present)
-        return;
-
-    for (w = 0; w < ics->num_windows; w++)
-    {
-        bottom = ics->num_swb;
-
-        for (f = 0; f < tns->n_filt[w]; f++)
-        {
-            top = bottom;
-            bottom = max(top - tns->length[w][f], 0);
-            tns_order = min(tns->order[w][f], TNS_MAX_ORDER);
-            if (!tns_order)
-                continue;
-
-            tns_decode_coef(tns_order, tns->coef_res[w]+3,
-                tns->coef_compress[w][f], tns->coef[w][f], lpc);
-
-            start = min(bottom, max_tns_sfb(sr_index, object_type, (ics->window_sequence == EIGHT_SHORT_SEQUENCE)));
-            start = min(start, ics->max_sfb);
-            start = min(ics->swb_offset[start], ics->swb_offset_max);
-
-            end = min(top, max_tns_sfb(sr_index, object_type, (ics->window_sequence == EIGHT_SHORT_SEQUENCE)));
-            end = min(end, ics->max_sfb);
-            end = min(ics->swb_offset[end], ics->swb_offset_max);
-
-            size = end - start;
-            if (size <= 0)
-                continue;
-
-            if (tns->direction[w][f])
-            {
-                inc = -1;
-                start = end - 1;
-            } else {
-                inc = 1;
-            }
-
-            tns_ar_filter(&spec[(w*nshort)+start], size, inc, lpc, tns_order);
-        }
-    }
-}
-
-/* TNS encoding for one channel and frame */
-void tns_encode_frame(ic_stream *ics, tns_info *tns, uint8_t sr_index,
-                      uint8_t object_type, real_t *spec, uint16_t frame_len)
-{
-    uint8_t w, f, tns_order;
-    int8_t inc;
-    int16_t size;
-    uint16_t bottom, top, start, end;
-    uint16_t nshort = frame_len/8;
-    real_t lpc[TNS_MAX_ORDER+1];
-
-    if (!ics->tns_data_present)
-        return;
-
-    for (w = 0; w < ics->num_windows; w++)
-    {
-        bottom = ics->num_swb;
-
-        for (f = 0; f < tns->n_filt[w]; f++)
-        {
-            top = bottom;
-            bottom = max(top - tns->length[w][f], 0);
-            tns_order = min(tns->order[w][f], TNS_MAX_ORDER);
-            if (!tns_order)
-                continue;
-
-            tns_decode_coef(tns_order, tns->coef_res[w]+3,
-                tns->coef_compress[w][f], tns->coef[w][f], lpc);
-
-            start = min(bottom, max_tns_sfb(sr_index, object_type, (ics->window_sequence == EIGHT_SHORT_SEQUENCE)));
-            start = min(start, ics->max_sfb);
-            start = min(ics->swb_offset[start], ics->swb_offset_max);
-
-            end = min(top, max_tns_sfb(sr_index, object_type, (ics->window_sequence == EIGHT_SHORT_SEQUENCE)));
-            end = min(end, ics->max_sfb);
-            end = min(ics->swb_offset[end], ics->swb_offset_max);
-
-            size = end - start;
-            if (size <= 0)
-                continue;
-
-            if (tns->direction[w][f])
-            {
-                inc = -1;
-                start = end - 1;
-            } else {
-                inc = 1;
-            }
-
-            tns_ma_filter(&spec[(w*nshort)+start], size, inc, lpc, tns_order);
-        }
-    }
-}
-
-/* Decoder transmitted coefficients for one TNS filter */
-static void tns_decode_coef(uint8_t order, uint8_t coef_res_bits, uint8_t coef_compress,
-                            uint8_t *coef, real_t *a)
-{
-    uint8_t i, m;
-    real_t tmp2[TNS_MAX_ORDER+1], b[TNS_MAX_ORDER+1];
-
-    /* Conversion to signed integer */
-    for (i = 0; i < order; i++)
-    {
-        if (coef_compress == 0)
-        {
-            if (coef_res_bits == 3)
-            {
-                tmp2[i] = tns_coef_0_3[coef[i]];
-            } else {
-                tmp2[i] = tns_coef_0_4[coef[i]];
-            }
-        } else {
-            if (coef_res_bits == 3)
-            {
-                tmp2[i] = tns_coef_1_3[coef[i]];
-            } else {
-                tmp2[i] = tns_coef_1_4[coef[i]];
-            }
-        }
-    }
-
-    /* Conversion to LPC coefficients */
-    a[0] = COEF_CONST(1.0);
-    for (m = 1; m <= order; m++)
-    {
-        for (i = 1; i < m; i++) /* loop only while i<m */
-            b[i] = a[i] + MUL_C(tmp2[m-1], a[m-i]);
-
-        for (i = 1; i < m; i++) /* loop only while i<m */
-            a[i] = b[i];
-
-        a[m] = tmp2[m-1]; /* changed */
-    }
-}
-
-static void tns_ar_filter(real_t *spectrum, uint16_t size, int8_t inc, real_t *lpc,
-                          uint8_t order)
-{
-    /*
-     - Simple all-pole filter of order "order" defined by
-       y(n) = x(n) - lpc[1]*y(n-1) - ... - lpc[order]*y(n-order)
-     - The state variables of the filter are initialized to zero every time
-     - The output data is written over the input data ("in-place operation")
-     - An input vector of "size" samples is processed and the index increment
-       to the next data sample is given by "inc"
-    */
-
-    uint8_t j;
-    uint16_t i;
-    real_t y;
-    /* state is stored as a double ringbuffer */
-    real_t state[2*TNS_MAX_ORDER] = {0};
-    int8_t state_index = 0;
-
-    for (i = 0; i < size; i++)
-    {
-        y = *spectrum;
-
-        for (j = 0; j < order; j++)
-            y -= MUL_C(state[state_index+j], lpc[j+1]);
-
-        /* double ringbuffer state */
-        state_index--;
-        if (state_index < 0)
-            state_index = order-1;
-        state[state_index] = state[state_index + order] = y;
-
-        *spectrum = y;
-        spectrum += inc;
-
-//#define TNS_PRINT
-#ifdef TNS_PRINT
-        //printf("%d\n", y);
-        printf("0x%.8X\n", y);
-#endif
-    }
-}
-
-static void tns_ma_filter(real_t *spectrum, uint16_t size, int8_t inc, real_t *lpc,
-                          uint8_t order)
-{
-    /*
-     - Simple all-zero filter of order "order" defined by
-       y(n) =  x(n) + a(2)*x(n-1) + ... + a(order+1)*x(n-order)
-     - The state variables of the filter are initialized to zero every time
-     - The output data is written over the input data ("in-place operation")
-     - An input vector of "size" samples is processed and the index increment
-       to the next data sample is given by "inc"
-    */
-
-    uint8_t j;
-    uint16_t i;
-    real_t y;
-    /* state is stored as a double ringbuffer */
-    real_t state[2*TNS_MAX_ORDER] = {0};
-    int8_t state_index = 0;
-
-    for (i = 0; i < size; i++)
-    {
-        y = *spectrum;
-
-        for (j = 0; j < order; j++)
-            y += MUL_C(state[state_index+j], lpc[j+1]);
-
-        /* double ringbuffer state */
-        state_index--;
-        if (state_index < 0)
-            state_index = order-1;
-        state[state_index] = state[state_index + order] = *spectrum;
-
-        *spectrum = y;
-        spectrum += inc;
-    }
-}
diff --git a/lib/libfaad2/libfaad/tns.h b/lib/libfaad2/libfaad/tns.h
deleted file mode 100644 (file)
index 8848c3f..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003-2005 M. Bakker, Nero AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** The "appropriate copyright message" mentioned in section 2c of the GPLv2
-** must read: "Code from FAAD2 is copyright (c) Nero AG, www.nero.com"
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Nero AG through Mpeg4AAClicense@nero.com.
-**
-** $Id: tns.h,v 1.23 2007/11/01 12:33:41 menno Exp $
-**/
-
-#ifndef __TNS_H__
-#define __TNS_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#define TNS_MAX_ORDER 20
-
-    
-void tns_decode_frame(ic_stream *ics, tns_info *tns, uint8_t sr_index,
-                      uint8_t object_type, real_t *spec, uint16_t frame_len);
-void tns_encode_frame(ic_stream *ics, tns_info *tns, uint8_t sr_index,
-                      uint8_t object_type, real_t *spec, uint16_t frame_len);
-
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/lib/libfaad2/ltmain.sh b/lib/libfaad2/ltmain.sh
deleted file mode 100644 (file)
index e420fac..0000000
+++ /dev/null
@@ -1,6964 +0,0 @@
-# ltmain.sh - Provide generalized library-building support services.
-# NOTE: Changing this file will not affect anything until you rerun configure.
-#
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008  Free Software Foundation, Inc.
-# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
-#
-# 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-basename="s,^.*/,,g"
-
-# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
-# is ksh but when the shell is invoked as "sh" and the current value of
-# the _XPG environment variable is not equal to 1 (one), the special
-# positional parameter $0, within a function call, is the name of the
-# function.
-progpath="$0"
-
-# The name of this program:
-progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
-
-# Global variables:
-EXIT_SUCCESS=0
-EXIT_FAILURE=1
-
-PROGRAM=ltmain.sh
-PACKAGE=libtool
-VERSION="1.5.26 Debian 1.5.26-1ubuntu1"
-TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)"
-
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Check that we have a working $echo.
-if test "X$1" = X--no-reexec; then
-  # Discard the --no-reexec flag, and continue.
-  shift
-elif test "X$1" = X--fallback-echo; then
-  # Avoid inline document here, it may be left over
-  :
-elif test "X`($echo '\t') 2>/dev/null`" = 'X\t'; then
-  # Yippee, $echo works!
-  :
-else
-  # Restart under the correct shell, and then maybe $echo will work.
-  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
-fi
-
-if test "X$1" = X--fallback-echo; then
-  # used as fallback echo
-  shift
-  cat <<EOF
-$*
-EOF
-  exit $EXIT_SUCCESS
-fi
-
-default_mode=
-help="Try \`$progname --help' for more information."
-magic="%%%MAGIC variable%%%"
-mkdir="mkdir"
-mv="mv -f"
-rm="rm -f"
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed="${SED}"' -e 1s/^X//'
-sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  SP2NL='tr \040 \012'
-  NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  SP2NL='tr \100 \n'
-  NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-# NLS nuisances.
-# Only set LANG and LC_ALL to C if already set.
-# These must not be set unconditionally because not all systems understand
-# e.g. LANG=C (notably SCO).
-# We save the old values to restore during execute mode.
-lt_env=
-for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-do
-  eval "if test \"\${$lt_var+set}\" = set; then
-         save_$lt_var=\$$lt_var
-         lt_env=\"$lt_var=\$$lt_var \$lt_env\"
-         $lt_var=C
-         export $lt_var
-       fi"
-done
-
-if test -n "$lt_env"; then
-  lt_env="env $lt_env"
-fi
-
-# Make sure IFS has a sensible default
-lt_nl='
-'
-IFS="  $lt_nl"
-
-if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
-  $echo "$modename: not configured to build any kind of library" 1>&2
-  $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-  exit $EXIT_FAILURE
-fi
-
-# Global variables.
-mode=$default_mode
-nonopt=
-prev=
-prevopt=
-run=
-show="$echo"
-show_help=
-execute_dlfiles=
-duplicate_deps=no
-preserve_args=
-lo2o="s/\\.lo\$/.${objext}/"
-o2lo="s/\\.${objext}\$/.lo/"
-extracted_archives=
-extracted_serial=0
-
-#####################################
-# Shell function definitions:
-# This seems to be the best place for them
-
-# func_mktempdir [string]
-# Make a temporary directory that won't clash with other running
-# libtool processes, and avoids race conditions if possible.  If
-# given, STRING is the basename for that directory.
-func_mktempdir ()
-{
-    my_template="${TMPDIR-/tmp}/${1-$progname}"
-
-    if test "$run" = ":"; then
-      # Return a directory name, but don't create it in dry-run mode
-      my_tmpdir="${my_template}-$$"
-    else
-
-      # If mktemp works, use that first and foremost
-      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
-
-      if test ! -d "$my_tmpdir"; then
-       # Failing that, at least try and use $RANDOM to avoid a race
-       my_tmpdir="${my_template}-${RANDOM-0}$$"
-
-       save_mktempdir_umask=`umask`
-       umask 0077
-       $mkdir "$my_tmpdir"
-       umask $save_mktempdir_umask
-      fi
-
-      # If we're not in dry-run mode, bomb out on failure
-      test -d "$my_tmpdir" || {
-        $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2
-       exit $EXIT_FAILURE
-      }
-    fi
-
-    $echo "X$my_tmpdir" | $Xsed
-}
-
-
-# func_win32_libid arg
-# return the library type of file 'arg'
-#
-# Need a lot of goo to handle *both* DLLs and import libs
-# Has to be a shell function in order to 'eat' the argument
-# that is supplied when $file_magic_command is called.
-func_win32_libid ()
-{
-  win32_libid_type="unknown"
-  win32_fileres=`file -L $1 2>/dev/null`
-  case $win32_fileres in
-  *ar\ archive\ import\ library*) # definitely import
-    win32_libid_type="x86 archive import"
-    ;;
-  *ar\ archive*) # could be an import, or static
-    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \
-      $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
-      win32_nmres=`eval $NM -f posix -A $1 | \
-       $SED -n -e '1,100{
-               / I /{
-                       s,.*,import,
-                       p
-                       q
-                       }
-               }'`
-      case $win32_nmres in
-      import*)  win32_libid_type="x86 archive import";;
-      *)        win32_libid_type="x86 archive static";;
-      esac
-    fi
-    ;;
-  *DLL*)
-    win32_libid_type="x86 DLL"
-    ;;
-  *executable*) # but shell scripts are "executable" too...
-    case $win32_fileres in
-    *MS\ Windows\ PE\ Intel*)
-      win32_libid_type="x86 DLL"
-      ;;
-    esac
-    ;;
-  esac
-  $echo $win32_libid_type
-}
-
-
-# func_infer_tag arg
-# Infer tagged configuration to use if any are available and
-# if one wasn't chosen via the "--tag" command line option.
-# Only attempt this if the compiler in the base compile
-# command doesn't match the default compiler.
-# arg is usually of the form 'gcc ...'
-func_infer_tag ()
-{
-    if test -n "$available_tags" && test -z "$tagname"; then
-      CC_quoted=
-      for arg in $CC; do
-       case $arg in
-         *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
-         arg="\"$arg\""
-         ;;
-       esac
-       CC_quoted="$CC_quoted $arg"
-      done
-      case $@ in
-      # Blanks in the command may have been stripped by the calling shell,
-      # but not from the CC environment variable when configure was run.
-      " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;;
-      # Blanks at the start of $base_compile will cause this to fail
-      # if we don't check for them as well.
-      *)
-       for z in $available_tags; do
-         if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
-           # Evaluate the configuration.
-           eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
-           CC_quoted=
-           for arg in $CC; do
-           # Double-quote args containing other shell metacharacters.
-           case $arg in
-             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
-             arg="\"$arg\""
-             ;;
-           esac
-           CC_quoted="$CC_quoted $arg"
-         done
-           case "$@ " in
-             " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*)
-             # The compiler in the base compile command matches
-             # the one in the tagged configuration.
-             # Assume this is the tagged configuration we want.
-             tagname=$z
-             break
-             ;;
-           esac
-         fi
-       done
-       # If $tagname still isn't set, then no tagged configuration
-       # was found and let the user know that the "--tag" command
-       # line option must be used.
-       if test -z "$tagname"; then
-         $echo "$modename: unable to infer tagged configuration"
-         $echo "$modename: specify a tag with \`--tag'" 1>&2
-         exit $EXIT_FAILURE
-#        else
-#          $echo "$modename: using $tagname tagged configuration"
-       fi
-       ;;
-      esac
-    fi
-}
-
-
-# func_extract_an_archive dir oldlib
-func_extract_an_archive ()
-{
-    f_ex_an_ar_dir="$1"; shift
-    f_ex_an_ar_oldlib="$1"
-
-    $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)"
-    $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $?
-    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
-     :
-    else
-      $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2
-      exit $EXIT_FAILURE
-    fi
-}
-
-# func_extract_archives gentop oldlib ...
-func_extract_archives ()
-{
-    my_gentop="$1"; shift
-    my_oldlibs=${1+"$@"}
-    my_oldobjs=""
-    my_xlib=""
-    my_xabs=""
-    my_xdir=""
-    my_status=""
-
-    $show "${rm}r $my_gentop"
-    $run ${rm}r "$my_gentop"
-    $show "$mkdir $my_gentop"
-    $run $mkdir "$my_gentop"
-    my_status=$?
-    if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then
-      exit $my_status
-    fi
-
-    for my_xlib in $my_oldlibs; do
-      # Extract the objects.
-      case $my_xlib in
-       [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
-       *) my_xabs=`pwd`"/$my_xlib" ;;
-      esac
-      my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'`
-      my_xlib_u=$my_xlib
-      while :; do
-        case " $extracted_archives " in
-       *" $my_xlib_u "*)
-         extracted_serial=`expr $extracted_serial + 1`
-         my_xlib_u=lt$extracted_serial-$my_xlib ;;
-       *) break ;;
-       esac
-      done
-      extracted_archives="$extracted_archives $my_xlib_u"
-      my_xdir="$my_gentop/$my_xlib_u"
-
-      $show "${rm}r $my_xdir"
-      $run ${rm}r "$my_xdir"
-      $show "$mkdir $my_xdir"
-      $run $mkdir "$my_xdir"
-      exit_status=$?
-      if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then
-       exit $exit_status
-      fi
-      case $host in
-      *-darwin*)
-       $show "Extracting $my_xabs"
-       # Do not bother doing anything if just a dry run
-       if test -z "$run"; then
-         darwin_orig_dir=`pwd`
-         cd $my_xdir || exit $?
-         darwin_archive=$my_xabs
-         darwin_curdir=`pwd`
-         darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'`
-         darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null`
-         if test -n "$darwin_arches"; then 
-           darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'`
-           darwin_arch=
-           $show "$darwin_base_archive has multiple architectures $darwin_arches"
-           for darwin_arch in  $darwin_arches ; do
-             mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-             lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
-             cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
-             func_extract_an_archive "`pwd`" "${darwin_base_archive}"
-             cd "$darwin_curdir"
-             $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
-           done # $darwin_arches
-      ## Okay now we have a bunch of thin objects, gotta fatten them up :)
-           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP`
-           darwin_file=
-           darwin_files=
-           for darwin_file in $darwin_filelist; do
-             darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
-             lipo -create -output "$darwin_file" $darwin_files
-           done # $darwin_filelist
-           ${rm}r unfat-$$
-           cd "$darwin_orig_dir"
-         else
-           cd "$darwin_orig_dir"
-           func_extract_an_archive "$my_xdir" "$my_xabs"
-         fi # $darwin_arches
-       fi # $run
-       ;;
-      *)
-        func_extract_an_archive "$my_xdir" "$my_xabs"
-        ;;
-      esac
-      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
-    done
-    func_extract_archives_result="$my_oldobjs"
-}
-# End of Shell function definitions
-#####################################
-
-# Darwin sucks
-eval std_shrext=\"$shrext_cmds\"
-
-disable_libs=no
-
-# Parse our command line options once, thoroughly.
-while test "$#" -gt 0
-do
-  arg="$1"
-  shift
-
-  case $arg in
-  -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) optarg= ;;
-  esac
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$prev"; then
-    case $prev in
-    execute_dlfiles)
-      execute_dlfiles="$execute_dlfiles $arg"
-      ;;
-    tag)
-      tagname="$arg"
-      preserve_args="${preserve_args}=$arg"
-
-      # Check whether tagname contains only valid characters
-      case $tagname in
-      *[!-_A-Za-z0-9,/]*)
-       $echo "$progname: invalid tag name: $tagname" 1>&2
-       exit $EXIT_FAILURE
-       ;;
-      esac
-
-      case $tagname in
-      CC)
-       # Don't test for the "default" C tag, as we know, it's there, but
-       # not specially marked.
-       ;;
-      *)
-       if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then
-         taglist="$taglist $tagname"
-         # Evaluate the configuration.
-         eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`"
-       else
-         $echo "$progname: ignoring unknown tag $tagname" 1>&2
-       fi
-       ;;
-      esac
-      ;;
-    *)
-      eval "$prev=\$arg"
-      ;;
-    esac
-
-    prev=
-    prevopt=
-    continue
-  fi
-
-  # Have we seen a non-optional argument yet?
-  case $arg in
-  --help)
-    show_help=yes
-    ;;
-
-  --version)
-    echo "\
-$PROGRAM (GNU $PACKAGE) $VERSION$TIMESTAMP
-
-Copyright (C) 2008  Free Software Foundation, Inc.
-This is free software; see the source for copying conditions.  There is NO
-warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-    exit $?
-    ;;
-
-  --config)
-    ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath
-    # Now print the configurations for the tags.
-    for tagname in $taglist; do
-      ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath"
-    done
-    exit $?
-    ;;
-
-  --debug)
-    $echo "$progname: enabling shell trace mode"
-    set -x
-    preserve_args="$preserve_args $arg"
-    ;;
-
-  --dry-run | -n)
-    run=:
-    ;;
-
-  --features)
-    $echo "host: $host"
-    if test "$build_libtool_libs" = yes; then
-      $echo "enable shared libraries"
-    else
-      $echo "disable shared libraries"
-    fi
-    if test "$build_old_libs" = yes; then
-      $echo "enable static libraries"
-    else
-      $echo "disable static libraries"
-    fi
-    exit $?
-    ;;
-
-  --finish) mode="finish" ;;
-
-  --mode) prevopt="--mode" prev=mode ;;
-  --mode=*) mode="$optarg" ;;
-
-  --preserve-dup-deps) duplicate_deps="yes" ;;
-
-  --quiet | --silent)
-    show=:
-    preserve_args="$preserve_args $arg"
-    ;;
-
-  --tag)
-    prevopt="--tag"
-    prev=tag
-    preserve_args="$preserve_args --tag"
-    ;;
-  --tag=*)
-    set tag "$optarg" ${1+"$@"}
-    shift
-    prev=tag
-    preserve_args="$preserve_args --tag"
-    ;;
-
-  -dlopen)
-    prevopt="-dlopen"
-    prev=execute_dlfiles
-    ;;
-
-  -*)
-    $echo "$modename: unrecognized option \`$arg'" 1>&2
-    $echo "$help" 1>&2
-    exit $EXIT_FAILURE
-    ;;
-
-  *)
-    nonopt="$arg"
-    break
-    ;;
-  esac
-done
-
-if test -n "$prevopt"; then
-  $echo "$modename: option \`$prevopt' requires an argument" 1>&2
-  $echo "$help" 1>&2
-  exit $EXIT_FAILURE
-fi
-
-case $disable_libs in
-no) 
-  ;;
-shared)
-  build_libtool_libs=no
-  build_old_libs=yes
-  ;;
-static)
-  build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
-  ;;
-esac
-
-# If this variable is set in any of the actions, the command in it
-# will be execed at the end.  This prevents here-documents from being
-# left over by shells.
-exec_cmd=
-
-if test -z "$show_help"; then
-
-  # Infer the operation mode.
-  if test -z "$mode"; then
-    $echo "*** Warning: inferring the mode of operation is deprecated." 1>&2
-    $echo "*** Future versions of Libtool will require --mode=MODE be specified." 1>&2
-    case $nonopt in
-    *cc | cc* | *++ | gcc* | *-gcc* | g++* | xlc*)
-      mode=link
-      for arg
-      do
-       case $arg in
-       -c)
-          mode=compile
-          break
-          ;;
-       esac
-      done
-      ;;
-    *db | *dbx | *strace | *truss)
-      mode=execute
-      ;;
-    *install*|cp|mv)
-      mode=install
-      ;;
-    *rm)
-      mode=uninstall
-      ;;
-    *)
-      # If we have no mode, but dlfiles were specified, then do execute mode.
-      test -n "$execute_dlfiles" && mode=execute
-
-      # Just use the default operation mode.
-      if test -z "$mode"; then
-       if test -n "$nonopt"; then
-         $echo "$modename: warning: cannot infer operation mode from \`$nonopt'" 1>&2
-       else
-         $echo "$modename: warning: cannot infer operation mode without MODE-ARGS" 1>&2
-       fi
-      fi
-      ;;
-    esac
-  fi
-
-  # Only execute mode is allowed to have -dlopen flags.
-  if test -n "$execute_dlfiles" && test "$mode" != execute; then
-    $echo "$modename: unrecognized option \`-dlopen'" 1>&2
-    $echo "$help" 1>&2
-    exit $EXIT_FAILURE
-  fi
-
-  # Change the help message to a mode-specific one.
-  generic_help="$help"
-  help="Try \`$modename --help --mode=$mode' for more information."
-
-  # These modes are in order of execution frequency so that they run quickly.
-  case $mode in
-  # libtool compile mode
-  compile)
-    modename="$modename: compile"
-    # Get the compilation command and the source file.
-    base_compile=
-    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
-    suppress_opt=yes
-    suppress_output=
-    arg_mode=normal
-    libobj=
-    later=
-
-    for arg
-    do
-      case $arg_mode in
-      arg  )
-       # do not "continue".  Instead, add this to base_compile
-       lastarg="$arg"
-       arg_mode=normal
-       ;;
-
-      target )
-       libobj="$arg"
-       arg_mode=normal
-       continue
-       ;;
-
-      normal )
-       # Accept any command-line options.
-       case $arg in
-       -o)
-         if test -n "$libobj" ; then
-           $echo "$modename: you cannot specify \`-o' more than once" 1>&2
-           exit $EXIT_FAILURE
-         fi
-         arg_mode=target
-         continue
-         ;;
-
-       -static | -prefer-pic | -prefer-non-pic)
-         later="$later $arg"
-         continue
-         ;;
-
-       -no-suppress)
-         suppress_opt=no
-         continue
-         ;;
-
-       -Xcompiler)
-         arg_mode=arg  #  the next one goes into the "base_compile" arg list
-         continue      #  The current "srcfile" will either be retained or
-         ;;            #  replaced later.  I would guess that would be a bug.
-
-       -Wc,*)
-         args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"`
-         lastarg=
-         save_ifs="$IFS"; IFS=','
-         for arg in $args; do
-           IFS="$save_ifs"
-
-           # Double-quote args containing other shell metacharacters.
-           # Many Bourne shells cannot handle close brackets correctly
-           # in scan sets, so we specify it separately.
-           case $arg in
-             *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \     ]*|*]*|"")
-             arg="\"$arg\""
-             ;;
-           esac
-           lastarg="$lastarg $arg"
-         done
-         IFS="$save_ifs"
-         lastarg=`$echo "X$lastarg" | $Xsed -e "s/^ //"`
-
-         # Add the arguments to base_compile.
-         base_compile="$base_compile $lastarg"
-         continue
-         ;;
-
-       * )
-         # Accept the current argument as the source file.
-         # The previous "srcfile" becomes the current argument.
-         #
-         lastarg="$srcfile"
-         srcfile="$arg"
-         ;;
-       esac  #  case $arg
-       ;;
-      esac    #  case $arg_mode
-
-      # Aesthetically quote the previous argument.
-      lastarg=`$echo "X$lastarg" | $Xsed -e "$sed_quote_subst"`
-
-      case $lastarg in
-      # Double-quote args containing other shell metacharacters.
-      # Many Bourne shells cannot handle close brackets correctly
-      # in scan sets, and some SunOS ksh mistreat backslash-escaping
-      # in scan sets (worked around with variable expansion),
-      # and furthermore cannot handle '|' '&' '(' ')' in scan sets 
-      # at all, so we specify them separately.
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-       lastarg="\"$lastarg\""
-       ;;
-      esac
-
-      base_compile="$base_compile $lastarg"
-    done # for arg
-
-    case $arg_mode in
-    arg)
-      $echo "$modename: you must specify an argument for -Xcompile"
-      exit $EXIT_FAILURE
-      ;;
-    target)
-      $echo "$modename: you must specify a target with \`-o'" 1>&2
-      exit $EXIT_FAILURE
-      ;;
-    *)
-      # Get the name of the library object.
-      [ -z "$libobj" ] && libobj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%'`
-      ;;
-    esac
-
-    # Recognize several different file suffixes.
-    # If the user specifies -o file.o, it is replaced with file.lo
-    xform='[cCFSifmso]'
-    case $libobj in
-    *.ada) xform=ada ;;
-    *.adb) xform=adb ;;
-    *.ads) xform=ads ;;
-    *.asm) xform=asm ;;
-    *.c++) xform=c++ ;;
-    *.cc) xform=cc ;;
-    *.ii) xform=ii ;;
-    *.class) xform=class ;;
-    *.cpp) xform=cpp ;;
-    *.cxx) xform=cxx ;;
-    *.[fF][09]?) xform=[fF][09]. ;;
-    *.for) xform=for ;;
-    *.java) xform=java ;;
-    *.obj) xform=obj ;;
-    *.sx) xform=sx ;;
-    esac
-
-    libobj=`$echo "X$libobj" | $Xsed -e "s/\.$xform$/.lo/"`
-
-    case $libobj in
-    *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;;
-    *)
-      $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2
-      exit $EXIT_FAILURE
-      ;;
-    esac
-
-    func_infer_tag $base_compile
-
-    for arg in $later; do
-      case $arg in
-      -static)
-       build_old_libs=yes
-       continue
-       ;;
-
-      -prefer-pic)
-       pic_mode=yes
-       continue
-       ;;
-
-      -prefer-non-pic)
-       pic_mode=no
-       continue
-       ;;
-      esac
-    done
-
-    qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"`
-    case $qlibobj in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-       qlibobj="\"$qlibobj\"" ;;
-    esac
-    test "X$libobj" != "X$qlibobj" \
-       && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"'  &()|`$[]' \
-       && $echo "$modename: libobj name \`$libobj' may not contain shell special characters."
-    objname=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
-    xdir=`$echo "X$obj" | $Xsed -e 's%/[^/]*$%%'`
-    if test "X$xdir" = "X$obj"; then
-      xdir=
-    else
-      xdir=$xdir/
-    fi
-    lobj=${xdir}$objdir/$objname
-
-    if test -z "$base_compile"; then
-      $echo "$modename: you must specify a compilation command" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    # Delete any leftover library objects.
-    if test "$build_old_libs" = yes; then
-      removelist="$obj $lobj $libobj ${libobj}T"
-    else
-      removelist="$lobj $libobj ${libobj}T"
-    fi
-
-    $run $rm $removelist
-    trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-
-    # On Cygwin there's no "real" PIC flag so we must build both object types
-    case $host_os in
-    cygwin* | mingw* | pw32* | os2*)
-      pic_mode=default
-      ;;
-    esac
-    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
-      # non-PIC code in shared libraries is not supported
-      pic_mode=default
-    fi
-
-    # Calculate the filename of the output object if compiler does
-    # not support -o with -c
-    if test "$compiler_c_o" = no; then
-      output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
-      lockfile="$output_obj.lock"
-      removelist="$removelist $output_obj $lockfile"
-      trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15
-    else
-      output_obj=
-      need_locks=no
-      lockfile=
-    fi
-
-    # Lock this critical section if it is needed
-    # We use this script file to make the link, it avoids creating a new file
-    if test "$need_locks" = yes; then
-      until $run ln "$progpath" "$lockfile" 2>/dev/null; do
-       $show "Waiting for $lockfile to be removed"
-       sleep 2
-      done
-    elif test "$need_locks" = warn; then
-      if test -f "$lockfile"; then
-       $echo "\
-*** ERROR, $lockfile exists and contains:
-`cat $lockfile 2>/dev/null`
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $run $rm $removelist
-       exit $EXIT_FAILURE
-      fi
-      $echo "$srcfile" > "$lockfile"
-    fi
-
-    if test -n "$fix_srcfile_path"; then
-      eval srcfile=\"$fix_srcfile_path\"
-    fi
-    qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"`
-    case $qsrcfile in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-      qsrcfile="\"$qsrcfile\"" ;;
-    esac
-
-    $run $rm "$libobj" "${libobj}T"
-
-    # Create a libtool object file (analogous to a ".la" file),
-    # but don't create it if we're doing a dry run.
-    test -z "$run" && cat > ${libobj}T <<EOF
-# $libobj - a libtool object file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# Name of the PIC object.
-EOF
-
-    # Only build a PIC object if we are building libtool libraries.
-    if test "$build_libtool_libs" = yes; then
-      # Without this assignment, base_compile gets emptied.
-      fbsd_hideous_sh_bug=$base_compile
-
-      if test "$pic_mode" != no; then
-       command="$base_compile $qsrcfile $pic_flag"
-      else
-       # Don't build PIC code
-       command="$base_compile $qsrcfile"
-      fi
-
-      if test ! -d "${xdir}$objdir"; then
-       $show "$mkdir ${xdir}$objdir"
-       $run $mkdir ${xdir}$objdir
-       exit_status=$?
-       if test "$exit_status" -ne 0 && test ! -d "${xdir}$objdir"; then
-         exit $exit_status
-       fi
-      fi
-
-      if test -z "$output_obj"; then
-       # Place PIC objects in $objdir
-       command="$command -o $lobj"
-      fi
-
-      $run $rm "$lobj" "$output_obj"
-
-      $show "$command"
-      if $run eval $lt_env "$command"; then :
-      else
-       test -n "$output_obj" && $run $rm $removelist
-       exit $EXIT_FAILURE
-      fi
-
-      if test "$need_locks" = warn &&
-        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-       $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $run $rm $removelist
-       exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed, then go on to compile the next one
-      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
-       $show "$mv $output_obj $lobj"
-       if $run $mv $output_obj $lobj; then :
-       else
-         error=$?
-         $run $rm $removelist
-         exit $error
-       fi
-      fi
-
-      # Append the name of the PIC object to the libtool object file.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object='$objdir/$objname'
-
-EOF
-
-      # Allow error messages only from the first compilation.
-      if test "$suppress_opt" = yes; then
-        suppress_output=' >/dev/null 2>&1'
-      fi
-    else
-      # No PIC object so indicate it doesn't exist in the libtool
-      # object file.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-pic_object=none
-
-EOF
-    fi
-
-    # Only build a position-dependent object if we build old libraries.
-    if test "$build_old_libs" = yes; then
-      if test "$pic_mode" != yes; then
-       # Don't build PIC code
-       command="$base_compile $qsrcfile"
-      else
-       command="$base_compile $qsrcfile $pic_flag"
-      fi
-      if test "$compiler_c_o" = yes; then
-       command="$command -o $obj"
-      fi
-
-      # Suppress compiler output if we already did a PIC compilation.
-      command="$command$suppress_output"
-      $run $rm "$obj" "$output_obj"
-      $show "$command"
-      if $run eval $lt_env "$command"; then :
-      else
-       $run $rm $removelist
-       exit $EXIT_FAILURE
-      fi
-
-      if test "$need_locks" = warn &&
-        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
-       $echo "\
-*** ERROR, $lockfile contains:
-`cat $lockfile 2>/dev/null`
-
-but it should contain:
-$srcfile
-
-This indicates that another process is trying to use the same
-temporary object file, and libtool could not work around it because
-your compiler does not support \`-c' and \`-o' together.  If you
-repeat this compilation, it may succeed, by chance, but you had better
-avoid parallel builds (make -j) in this platform, or get a better
-compiler."
-
-       $run $rm $removelist
-       exit $EXIT_FAILURE
-      fi
-
-      # Just move the object if needed
-      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
-       $show "$mv $output_obj $obj"
-       if $run $mv $output_obj $obj; then :
-       else
-         error=$?
-         $run $rm $removelist
-         exit $error
-       fi
-      fi
-
-      # Append the name of the non-PIC object the libtool object file.
-      # Only append if the libtool object file exists.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object='$objname'
-
-EOF
-    else
-      # Append the name of the non-PIC object the libtool object file.
-      # Only append if the libtool object file exists.
-      test -z "$run" && cat >> ${libobj}T <<EOF
-# Name of the non-PIC object.
-non_pic_object=none
-
-EOF
-    fi
-
-    $run $mv "${libobj}T" "${libobj}"
-
-    # Unlock the critical section if it was locked
-    if test "$need_locks" != no; then
-      $run $rm "$lockfile"
-    fi
-
-    exit $EXIT_SUCCESS
-    ;;
-
-  # libtool link mode
-  link | relink)
-    modename="$modename: link"
-    case $host in
-    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-      # It is impossible to link a dll without this setting, and
-      # we shouldn't force the makefile maintainer to figure out
-      # which system we are compiling for in order to pass an extra
-      # flag for every libtool invocation.
-      # allow_undefined=no
-
-      # FIXME: Unfortunately, there are problems with the above when trying
-      # to make a dll which has undefined symbols, in which case not
-      # even a static library is built.  For now, we need to specify
-      # -no-undefined on the libtool link line when we can be certain
-      # that all symbols are satisfied, otherwise we get a static library.
-      allow_undefined=yes
-      ;;
-    *)
-      allow_undefined=yes
-      ;;
-    esac
-    libtool_args="$nonopt"
-    base_compile="$nonopt $@"
-    compile_command="$nonopt"
-    finalize_command="$nonopt"
-
-    compile_rpath=
-    finalize_rpath=
-    compile_shlibpath=
-    finalize_shlibpath=
-    convenience=
-    old_convenience=
-    deplibs=
-    old_deplibs=
-    compiler_flags=
-    linker_flags=
-    dllsearchpath=
-    lib_search_path=`pwd`
-    inst_prefix_dir=
-
-    avoid_version=no
-    dlfiles=
-    dlprefiles=
-    dlself=no
-    export_dynamic=no
-    export_symbols=
-    export_symbols_regex=
-    generated=
-    libobjs=
-    ltlibs=
-    module=no
-    no_install=no
-    objs=
-    non_pic_objects=
-    notinst_path= # paths that contain not-installed libtool libraries
-    precious_files_regex=
-    prefer_static_libs=no
-    preload=no
-    prev=
-    prevarg=
-    release=
-    rpath=
-    xrpath=
-    perm_rpath=
-    temp_rpath=
-    thread_safe=no
-    vinfo=
-    vinfo_number=no
-    single_module="${wl}-single_module"
-
-    func_infer_tag $base_compile
-
-    # We need to know -static, to get the right output filenames.
-    for arg
-    do
-      case $arg in
-      -all-static | -static | -static-libtool-libs)
-       case $arg in
-       -all-static)
-         if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
-           $echo "$modename: warning: complete static linking is impossible in this configuration" 1>&2
-         fi
-         if test -n "$link_static_flag"; then
-           dlopen_self=$dlopen_self_static
-         fi
-         prefer_static_libs=yes
-         ;;
-       -static)
-         if test -z "$pic_flag" && test -n "$link_static_flag"; then
-           dlopen_self=$dlopen_self_static
-         fi
-         prefer_static_libs=built
-         ;;
-       -static-libtool-libs)
-         if test -z "$pic_flag" && test -n "$link_static_flag"; then
-           dlopen_self=$dlopen_self_static
-         fi
-         prefer_static_libs=yes
-         ;;
-       esac
-       build_libtool_libs=no
-       build_old_libs=yes
-       break
-       ;;
-      esac
-    done
-
-    # See if our shared archives depend on static archives.
-    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
-
-    # Go through the arguments, transforming them on the way.
-    while test "$#" -gt 0; do
-      arg="$1"
-      shift
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-       qarg=\"`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`\" ### testsuite: skip nested quoting test
-       ;;
-      *) qarg=$arg ;;
-      esac
-      libtool_args="$libtool_args $qarg"
-
-      # If the previous option needs an argument, assign it.
-      if test -n "$prev"; then
-       case $prev in
-       output)
-         compile_command="$compile_command @OUTPUT@"
-         finalize_command="$finalize_command @OUTPUT@"
-         ;;
-       esac
-
-       case $prev in
-       dlfiles|dlprefiles)
-         if test "$preload" = no; then
-           # Add the symbol object into the linking commands.
-           compile_command="$compile_command @SYMFILE@"
-           finalize_command="$finalize_command @SYMFILE@"
-           preload=yes
-         fi
-         case $arg in
-         *.la | *.lo) ;;  # We handle these cases below.
-         force)
-           if test "$dlself" = no; then
-             dlself=needless
-             export_dynamic=yes
-           fi
-           prev=
-           continue
-           ;;
-         self)
-           if test "$prev" = dlprefiles; then
-             dlself=yes
-           elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
-             dlself=yes
-           else
-             dlself=needless
-             export_dynamic=yes
-           fi
-           prev=
-           continue
-           ;;
-         *)
-           if test "$prev" = dlfiles; then
-             dlfiles="$dlfiles $arg"
-           else
-             dlprefiles="$dlprefiles $arg"
-           fi
-           prev=
-           continue
-           ;;
-         esac
-         ;;
-       expsyms)
-         export_symbols="$arg"
-         if test ! -f "$arg"; then
-           $echo "$modename: symbol file \`$arg' does not exist"
-           exit $EXIT_FAILURE
-         fi
-         prev=
-         continue
-         ;;
-       expsyms_regex)
-         export_symbols_regex="$arg"
-         prev=
-         continue
-         ;;
-       inst_prefix)
-         inst_prefix_dir="$arg"
-         prev=
-         continue
-         ;;
-       precious_regex)
-         precious_files_regex="$arg"
-         prev=
-         continue
-         ;;
-       release)
-         release="-$arg"
-         prev=
-         continue
-         ;;
-       objectlist)
-         if test -f "$arg"; then
-           save_arg=$arg
-           moreargs=
-           for fil in `cat $save_arg`
-           do
-#            moreargs="$moreargs $fil"
-             arg=$fil
-             # A libtool-controlled object.
-
-             # Check to see that this really is a libtool object.
-             if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-               pic_object=
-               non_pic_object=
-
-               # Read the .lo file
-               # If there is no directory component, then add one.
-               case $arg in
-               */* | *\\*) . $arg ;;
-               *) . ./$arg ;;
-               esac
-
-               if test -z "$pic_object" || \
-                  test -z "$non_pic_object" ||
-                  test "$pic_object" = none && \
-                  test "$non_pic_object" = none; then
-                 $echo "$modename: cannot find name of object for \`$arg'" 1>&2
-                 exit $EXIT_FAILURE
-               fi
-
-               # Extract subdirectory from the argument.
-               xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-               if test "X$xdir" = "X$arg"; then
-                 xdir=
-               else
-                 xdir="$xdir/"
-               fi
-
-               if test "$pic_object" != none; then
-                 # Prepend the subdirectory the object is found in.
-                 pic_object="$xdir$pic_object"
-
-                 if test "$prev" = dlfiles; then
-                   if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-                     dlfiles="$dlfiles $pic_object"
-                     prev=
-                     continue
-                   else
-                     # If libtool objects are unsupported, then we need to preload.
-                     prev=dlprefiles
-                   fi
-                 fi
-
-                 # CHECK ME:  I think I busted this.  -Ossama
-                 if test "$prev" = dlprefiles; then
-                   # Preload the old-style object.
-                   dlprefiles="$dlprefiles $pic_object"
-                   prev=
-                 fi
-
-                 # A PIC object.
-                 libobjs="$libobjs $pic_object"
-                 arg="$pic_object"
-               fi
-
-               # Non-PIC object.
-               if test "$non_pic_object" != none; then
-                 # Prepend the subdirectory the object is found in.
-                 non_pic_object="$xdir$non_pic_object"
-
-                 # A standard non-PIC object
-                 non_pic_objects="$non_pic_objects $non_pic_object"
-                 if test -z "$pic_object" || test "$pic_object" = none ; then
-                   arg="$non_pic_object"
-                 fi
-               else
-                 # If the PIC object exists, use it instead.
-                 # $xdir was prepended to $pic_object above.
-                 non_pic_object="$pic_object"
-                 non_pic_objects="$non_pic_objects $non_pic_object"
-               fi
-             else
-               # Only an error if not doing a dry-run.
-               if test -z "$run"; then
-                 $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
-                 exit $EXIT_FAILURE
-               else
-                 # Dry-run case.
-
-                 # Extract subdirectory from the argument.
-                 xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-                 if test "X$xdir" = "X$arg"; then
-                   xdir=
-                 else
-                   xdir="$xdir/"
-                 fi
-
-                 pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
-                 non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
-                 libobjs="$libobjs $pic_object"
-                 non_pic_objects="$non_pic_objects $non_pic_object"
-               fi
-             fi
-           done
-         else
-           $echo "$modename: link input file \`$save_arg' does not exist"
-           exit $EXIT_FAILURE
-         fi
-         arg=$save_arg
-         prev=
-         continue
-         ;;
-       rpath | xrpath)
-         # We need an absolute path.
-         case $arg in
-         [\\/]* | [A-Za-z]:[\\/]*) ;;
-         *)
-           $echo "$modename: only absolute run-paths are allowed" 1>&2
-           exit $EXIT_FAILURE
-           ;;
-         esac
-         if test "$prev" = rpath; then
-           case "$rpath " in
-           *" $arg "*) ;;
-           *) rpath="$rpath $arg" ;;
-           esac
-         else
-           case "$xrpath " in
-           *" $arg "*) ;;
-           *) xrpath="$xrpath $arg" ;;
-           esac
-         fi
-         prev=
-         continue
-         ;;
-       xcompiler)
-         compiler_flags="$compiler_flags $qarg"
-         prev=
-         compile_command="$compile_command $qarg"
-         finalize_command="$finalize_command $qarg"
-         continue
-         ;;
-       xlinker)
-         linker_flags="$linker_flags $qarg"
-         compiler_flags="$compiler_flags $wl$qarg"
-         prev=
-         compile_command="$compile_command $wl$qarg"
-         finalize_command="$finalize_command $wl$qarg"
-         continue
-         ;;
-       xcclinker)
-         linker_flags="$linker_flags $qarg"
-         compiler_flags="$compiler_flags $qarg"
-         prev=
-         compile_command="$compile_command $qarg"
-         finalize_command="$finalize_command $qarg"
-         continue
-         ;;
-       shrext)
-         shrext_cmds="$arg"
-         prev=
-         continue
-         ;;
-       darwin_framework|darwin_framework_skip)
-         test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg"
-         compile_command="$compile_command $arg"
-         finalize_command="$finalize_command $arg"
-         prev=
-         continue
-         ;;
-       *)
-         eval "$prev=\"\$arg\""
-         prev=
-         continue
-         ;;
-       esac
-      fi # test -n "$prev"
-
-      prevarg="$arg"
-
-      case $arg in
-      -all-static)
-       if test -n "$link_static_flag"; then
-         compile_command="$compile_command $link_static_flag"
-         finalize_command="$finalize_command $link_static_flag"
-       fi
-       continue
-       ;;
-
-      -allow-undefined)
-       # FIXME: remove this flag sometime in the future.
-       $echo "$modename: \`-allow-undefined' is deprecated because it is the default" 1>&2
-       continue
-       ;;
-
-      -avoid-version)
-       avoid_version=yes
-       continue
-       ;;
-
-      -dlopen)
-       prev=dlfiles
-       continue
-       ;;
-
-      -dlpreopen)
-       prev=dlprefiles
-       continue
-       ;;
-
-      -export-dynamic)
-       export_dynamic=yes
-       continue
-       ;;
-
-      -export-symbols | -export-symbols-regex)
-       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-         $echo "$modename: more than one -exported-symbols argument is not allowed"
-         exit $EXIT_FAILURE
-       fi
-       if test "X$arg" = "X-export-symbols"; then
-         prev=expsyms
-       else
-         prev=expsyms_regex
-       fi
-       continue
-       ;;
-
-      -framework|-arch|-isysroot)
-       case " $CC " in
-         *" ${arg} ${1} "* | *" ${arg} ${1} "*) 
-               prev=darwin_framework_skip ;;
-         *) compiler_flags="$compiler_flags $arg"
-            prev=darwin_framework ;;
-       esac
-       compile_command="$compile_command $arg"
-       finalize_command="$finalize_command $arg"
-       continue
-       ;;
-
-      -inst-prefix-dir)
-       prev=inst_prefix
-       continue
-       ;;
-
-      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
-      # so, if we see these flags be careful not to treat them like -L
-      -L[A-Z][A-Z]*:*)
-       case $with_gcc/$host in
-       no/*-*-irix* | /*-*-irix*)
-         compile_command="$compile_command $arg"
-         finalize_command="$finalize_command $arg"
-         ;;
-       esac
-       continue
-       ;;
-
-      -L*)
-       dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
-       # We need an absolute path.
-       case $dir in
-       [\\/]* | [A-Za-z]:[\\/]*) ;;
-       *)
-         absdir=`cd "$dir" && pwd`
-         if test -z "$absdir"; then
-           $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2
-           absdir="$dir"
-           notinst_path="$notinst_path $dir"
-         fi
-         dir="$absdir"
-         ;;
-       esac
-       case "$deplibs " in
-       *" -L$dir "*) ;;
-       *)
-         deplibs="$deplibs -L$dir"
-         lib_search_path="$lib_search_path $dir"
-         ;;
-       esac
-       case $host in
-       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-         testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'`
-         case :$dllsearchpath: in
-         *":$dir:"*) ;;
-         *) dllsearchpath="$dllsearchpath:$dir";;
-         esac
-         case :$dllsearchpath: in
-         *":$testbindir:"*) ;;
-         *) dllsearchpath="$dllsearchpath:$testbindir";;
-         esac
-         ;;
-       esac
-       continue
-       ;;
-
-      -l*)
-       if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
-         case $host in
-         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*)
-           # These systems don't actually have a C or math library (as such)
-           continue
-           ;;
-         *-*-os2*)
-           # These systems don't actually have a C library (as such)
-           test "X$arg" = "X-lc" && continue
-           ;;
-         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-           # Do not include libc due to us having libc/libc_r.
-           test "X$arg" = "X-lc" && continue
-           ;;
-         *-*-rhapsody* | *-*-darwin1.[012])
-           # Rhapsody C and math libraries are in the System framework
-           deplibs="$deplibs -framework System"
-           continue
-           ;;
-         *-*-sco3.2v5* | *-*-sco5v6*)
-           # Causes problems with __ctype
-           test "X$arg" = "X-lc" && continue
-           ;;
-         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-           # Compiler inserts libc in the correct place for threads to work
-           test "X$arg" = "X-lc" && continue
-           ;;
-         esac
-       elif test "X$arg" = "X-lc_r"; then
-        case $host in
-        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-          # Do not include libc_r directly, use -pthread flag.
-          continue
-          ;;
-        esac
-       fi
-       deplibs="$deplibs $arg"
-       continue
-       ;;
-
-      # Tru64 UNIX uses -model [arg] to determine the layout of C++
-      # classes, name mangling, and exception handling.
-      -model)
-       compile_command="$compile_command $arg"
-       compiler_flags="$compiler_flags $arg"
-       finalize_command="$finalize_command $arg"
-       prev=xcompiler
-       continue
-       ;;
-
-     -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-       compiler_flags="$compiler_flags $arg"
-       compile_command="$compile_command $arg"
-       finalize_command="$finalize_command $arg"
-       continue
-       ;;
-
-      -multi_module)
-       single_module="${wl}-multi_module"
-       continue
-       ;;
-
-      -module)
-       module=yes
-       continue
-       ;;
-
-      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
-      # -r[0-9][0-9]* specifies the processor on the SGI compiler
-      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
-      # +DA*, +DD* enable 64-bit mode on the HP compiler
-      # -q* pass through compiler args for the IBM compiler
-      # -m* pass through architecture-specific compiler args for GCC
-      # -m*, -t[45]*, -txscale* pass through architecture-specific
-      # compiler args for GCC
-      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
-      # -F/path gives path to uninstalled frameworks, gcc on darwin
-      # @file GCC response files
-      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
-
-       # Unknown arguments in both finalize_command and compile_command need
-       # to be aesthetically quoted because they are evaled later.
-       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-       case $arg in
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
-         arg="\"$arg\""
-         ;;
-       esac
-        compile_command="$compile_command $arg"
-        finalize_command="$finalize_command $arg"
-        compiler_flags="$compiler_flags $arg"
-        continue
-        ;;
-
-      -shrext)
-       prev=shrext
-       continue
-       ;;
-
-      -no-fast-install)
-       fast_install=no
-       continue
-       ;;
-
-      -no-install)
-       case $host in
-       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*)
-         # The PATH hackery in wrapper scripts is required on Windows
-         # and Darwin in order for the loader to find any dlls it needs.
-         $echo "$modename: warning: \`-no-install' is ignored for $host" 1>&2
-         $echo "$modename: warning: assuming \`-no-fast-install' instead" 1>&2
-         fast_install=no
-         ;;
-       *) no_install=yes ;;
-       esac
-       continue
-       ;;
-
-      -no-undefined)
-       allow_undefined=no
-       continue
-       ;;
-
-      -objectlist)
-       prev=objectlist
-       continue
-       ;;
-
-      -o) prev=output ;;
-
-      -precious-files-regex)
-       prev=precious_regex
-       continue
-       ;;
-
-      -release)
-       prev=release
-       continue
-       ;;
-
-      -rpath)
-       prev=rpath
-       continue
-       ;;
-
-      -R)
-       prev=xrpath
-       continue
-       ;;
-
-      -R*)
-       dir=`$echo "X$arg" | $Xsed -e 's/^-R//'`
-       # We need an absolute path.
-       case $dir in
-       [\\/]* | [A-Za-z]:[\\/]*) ;;
-       *)
-         $echo "$modename: only absolute run-paths are allowed" 1>&2
-         exit $EXIT_FAILURE
-         ;;
-       esac
-       case "$xrpath " in
-       *" $dir "*) ;;
-       *) xrpath="$xrpath $dir" ;;
-       esac
-       continue
-       ;;
-
-      -static | -static-libtool-libs)
-       # The effects of -static are defined in a previous loop.
-       # We used to do the same as -all-static on platforms that
-       # didn't have a PIC flag, but the assumption that the effects
-       # would be equivalent was wrong.  It would break on at least
-       # Digital Unix and AIX.
-       continue
-       ;;
-
-      -thread-safe)
-       thread_safe=yes
-       continue
-       ;;
-
-      -version-info)
-       prev=vinfo
-       continue
-       ;;
-      -version-number)
-       prev=vinfo
-       vinfo_number=yes
-       continue
-       ;;
-
-      -Wc,*)
-       args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wc,//'`
-       arg=
-       save_ifs="$IFS"; IFS=','
-       for flag in $args; do
-         IFS="$save_ifs"
-         case $flag in
-           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
-           flag="\"$flag\""
-           ;;
-         esac
-         arg="$arg $wl$flag"
-         compiler_flags="$compiler_flags $flag"
-       done
-       IFS="$save_ifs"
-       arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
-       ;;
-
-      -Wl,*)
-       args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
-       arg=
-       save_ifs="$IFS"; IFS=','
-       for flag in $args; do
-         IFS="$save_ifs"
-         case $flag in
-           *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \       ]*|*]*|"")
-           flag="\"$flag\""
-           ;;
-         esac
-         arg="$arg $wl$flag"
-         compiler_flags="$compiler_flags $wl$flag"
-         linker_flags="$linker_flags $flag"
-       done
-       IFS="$save_ifs"
-       arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
-       ;;
-
-      -Xcompiler)
-       prev=xcompiler
-       continue
-       ;;
-
-      -Xlinker)
-       prev=xlinker
-       continue
-       ;;
-
-      -XCClinker)
-       prev=xcclinker
-       continue
-       ;;
-
-      # Some other compiler flag.
-      -* | +*)
-       # Unknown arguments in both finalize_command and compile_command need
-       # to be aesthetically quoted because they are evaled later.
-       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-       case $arg in
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
-         arg="\"$arg\""
-         ;;
-       esac
-       ;;
-
-      *.$objext)
-       # A standard object.
-       objs="$objs $arg"
-       ;;
-
-      *.lo)
-       # A libtool-controlled object.
-
-       # Check to see that this really is a libtool object.
-       if (${SED} -e '2q' $arg | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-         pic_object=
-         non_pic_object=
-
-         # Read the .lo file
-         # If there is no directory component, then add one.
-         case $arg in
-         */* | *\\*) . $arg ;;
-         *) . ./$arg ;;
-         esac
-
-         if test -z "$pic_object" || \
-            test -z "$non_pic_object" ||
-            test "$pic_object" = none && \
-            test "$non_pic_object" = none; then
-           $echo "$modename: cannot find name of object for \`$arg'" 1>&2
-           exit $EXIT_FAILURE
-         fi
-
-         # Extract subdirectory from the argument.
-         xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-         if test "X$xdir" = "X$arg"; then
-           xdir=
-         else
-           xdir="$xdir/"
-         fi
-
-         if test "$pic_object" != none; then
-           # Prepend the subdirectory the object is found in.
-           pic_object="$xdir$pic_object"
-
-           if test "$prev" = dlfiles; then
-             if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
-               dlfiles="$dlfiles $pic_object"
-               prev=
-               continue
-             else
-               # If libtool objects are unsupported, then we need to preload.
-               prev=dlprefiles
-             fi
-           fi
-
-           # CHECK ME:  I think I busted this.  -Ossama
-           if test "$prev" = dlprefiles; then
-             # Preload the old-style object.
-             dlprefiles="$dlprefiles $pic_object"
-             prev=
-           fi
-
-           # A PIC object.
-           libobjs="$libobjs $pic_object"
-           arg="$pic_object"
-         fi
-
-         # Non-PIC object.
-         if test "$non_pic_object" != none; then
-           # Prepend the subdirectory the object is found in.
-           non_pic_object="$xdir$non_pic_object"
-
-           # A standard non-PIC object
-           non_pic_objects="$non_pic_objects $non_pic_object"
-           if test -z "$pic_object" || test "$pic_object" = none ; then
-             arg="$non_pic_object"
-           fi
-         else
-           # If the PIC object exists, use it instead.
-           # $xdir was prepended to $pic_object above.
-           non_pic_object="$pic_object"
-           non_pic_objects="$non_pic_objects $non_pic_object"
-         fi
-       else
-         # Only an error if not doing a dry-run.
-         if test -z "$run"; then
-           $echo "$modename: \`$arg' is not a valid libtool object" 1>&2
-           exit $EXIT_FAILURE
-         else
-           # Dry-run case.
-
-           # Extract subdirectory from the argument.
-           xdir=`$echo "X$arg" | $Xsed -e 's%/[^/]*$%%'`
-           if test "X$xdir" = "X$arg"; then
-             xdir=
-           else
-             xdir="$xdir/"
-           fi
-
-           pic_object=`$echo "X${xdir}${objdir}/${arg}" | $Xsed -e "$lo2o"`
-           non_pic_object=`$echo "X${xdir}${arg}" | $Xsed -e "$lo2o"`
-           libobjs="$libobjs $pic_object"
-           non_pic_objects="$non_pic_objects $non_pic_object"
-         fi
-       fi
-       ;;
-
-      *.$libext)
-       # An archive.
-       deplibs="$deplibs $arg"
-       old_deplibs="$old_deplibs $arg"
-       continue
-       ;;
-
-      *.la)
-       # A libtool-controlled library.
-
-       if test "$prev" = dlfiles; then
-         # This library was specified with -dlopen.
-         dlfiles="$dlfiles $arg"
-         prev=
-       elif test "$prev" = dlprefiles; then
-         # The library was specified with -dlpreopen.
-         dlprefiles="$dlprefiles $arg"
-         prev=
-       else
-         deplibs="$deplibs $arg"
-       fi
-       continue
-       ;;
-
-      # Some other compiler argument.
-      *)
-       # Unknown arguments in both finalize_command and compile_command need
-       # to be aesthetically quoted because they are evaled later.
-       arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-       case $arg in
-       *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \   ]*|*]*|"")
-         arg="\"$arg\""
-         ;;
-       esac
-       ;;
-      esac # arg
-
-      # Now actually substitute the argument into the commands.
-      if test -n "$arg"; then
-       compile_command="$compile_command $arg"
-       finalize_command="$finalize_command $arg"
-      fi
-    done # argument parsing loop
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prevarg' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
-      eval arg=\"$export_dynamic_flag_spec\"
-      compile_command="$compile_command $arg"
-      finalize_command="$finalize_command $arg"
-    fi
-
-    oldlibs=
-    # calculate the name of the file, without its directory
-    outputname=`$echo "X$output" | $Xsed -e 's%^.*/%%'`
-    libobjs_save="$libobjs"
-
-    if test -n "$shlibpath_var"; then
-      # get the directories listed in $shlibpath_var
-      eval shlib_search_path=\`\$echo \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
-    else
-      shlib_search_path=
-    fi
-    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
-    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
-
-    output_objdir=`$echo "X$output" | $Xsed -e 's%/[^/]*$%%'`
-    if test "X$output_objdir" = "X$output"; then
-      output_objdir="$objdir"
-    else
-      output_objdir="$output_objdir/$objdir"
-    fi
-    # Create the object directory.
-    if test ! -d "$output_objdir"; then
-      $show "$mkdir $output_objdir"
-      $run $mkdir $output_objdir
-      exit_status=$?
-      if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then
-       exit $exit_status
-      fi
-    fi
-
-    # Determine the type of output
-    case $output in
-    "")
-      $echo "$modename: you must specify an output file" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-      ;;
-    *.$libext) linkmode=oldlib ;;
-    *.lo | *.$objext) linkmode=obj ;;
-    *.la) linkmode=lib ;;
-    *) linkmode=prog ;; # Anything else should be a program.
-    esac
-
-    case $host in
-    *cygwin* | *mingw* | *pw32*)
-      # don't eliminate duplications in $postdeps and $predeps
-      duplicate_compiler_generated_deps=yes
-      ;;
-    *)
-      duplicate_compiler_generated_deps=$duplicate_deps
-      ;;
-    esac
-    specialdeplibs=
-
-    libs=
-    # Find all interdependent deplibs by searching for libraries
-    # that are linked more than once (e.g. -la -lb -la)
-    for deplib in $deplibs; do
-      if test "X$duplicate_deps" = "Xyes" ; then
-       case "$libs " in
-       *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-       esac
-      fi
-      libs="$libs $deplib"
-    done
-
-    if test "$linkmode" = lib; then
-      libs="$predeps $libs $compiler_lib_search_path $postdeps"
-
-      # Compute libraries that are listed more than once in $predeps
-      # $postdeps and mark them as special (i.e., whose duplicates are
-      # not to be eliminated).
-      pre_post_deps=
-      if test "X$duplicate_compiler_generated_deps" = "Xyes" ; then
-       for pre_post_dep in $predeps $postdeps; do
-         case "$pre_post_deps " in
-         *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
-         esac
-         pre_post_deps="$pre_post_deps $pre_post_dep"
-       done
-      fi
-      pre_post_deps=
-    fi
-
-    deplibs=
-    newdependency_libs=
-    newlib_search_path=
-    need_relink=no # whether we're linking any uninstalled libtool libraries
-    notinst_deplibs= # not-installed libtool libraries
-    case $linkmode in
-    lib)
-       passes="conv link"
-       for file in $dlfiles $dlprefiles; do
-         case $file in
-         *.la) ;;
-         *)
-           $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2
-           exit $EXIT_FAILURE
-           ;;
-         esac
-       done
-       ;;
-    prog)
-       compile_deplibs=
-       finalize_deplibs=
-       alldeplibs=no
-       newdlfiles=
-       newdlprefiles=
-       passes="conv scan dlopen dlpreopen link"
-       ;;
-    *)  passes="conv"
-       ;;
-    esac
-    for pass in $passes; do
-      if test "$linkmode,$pass" = "lib,link" ||
-        test "$linkmode,$pass" = "prog,scan"; then
-       libs="$deplibs"
-       deplibs=
-      fi
-      if test "$linkmode" = prog; then
-       case $pass in
-       dlopen) libs="$dlfiles" ;;
-       dlpreopen) libs="$dlprefiles" ;;
-       link)
-         libs="$deplibs %DEPLIBS%"
-         test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
-         ;;
-       esac
-      fi
-      if test "$pass" = dlopen; then
-       # Collect dlpreopened libraries
-       save_deplibs="$deplibs"
-       deplibs=
-      fi
-      for deplib in $libs; do
-       lib=
-       found=no
-       case $deplib in
-       -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
-         if test "$linkmode,$pass" = "prog,link"; then
-           compile_deplibs="$deplib $compile_deplibs"
-           finalize_deplibs="$deplib $finalize_deplibs"
-         else
-           compiler_flags="$compiler_flags $deplib"
-         fi
-         continue
-         ;;
-       -l*)
-         if test "$linkmode" != lib && test "$linkmode" != prog; then
-           $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2
-           continue
-         fi
-         name=`$echo "X$deplib" | $Xsed -e 's/^-l//'`
-         if test "$linkmode" = lib; then
-           searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
-         else
-           searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
-         fi
-         for searchdir in $searchdirs; do
-           for search_ext in .la $std_shrext .so .a; do
-             # Search the libtool library
-             lib="$searchdir/lib${name}${search_ext}"
-             if test -f "$lib"; then
-               if test "$search_ext" = ".la"; then
-                 found=yes
-               else
-                 found=no
-               fi
-               break 2
-             fi
-           done
-         done
-         if test "$found" != yes; then
-           # deplib doesn't seem to be a libtool library
-           if test "$linkmode,$pass" = "prog,link"; then
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           else
-             deplibs="$deplib $deplibs"
-             test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-           fi
-           continue
-         else # deplib is a libtool library
-           # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
-           # We need to do some special things here, and not later.
-           if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-             case " $predeps $postdeps " in
-             *" $deplib "*)
-               if (${SED} -e '2q' $lib |
-                    grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-                 library_names=
-                 old_library=
-                 case $lib in
-                 */* | *\\*) . $lib ;;
-                 *) . ./$lib ;;
-                 esac
-                 for l in $old_library $library_names; do
-                   ll="$l"
-                 done
-                 if test "X$ll" = "X$old_library" ; then # only static version available
-                   found=no
-                   ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
-                   test "X$ladir" = "X$lib" && ladir="."
-                   lib=$ladir/$old_library
-                   if test "$linkmode,$pass" = "prog,link"; then
-                     compile_deplibs="$deplib $compile_deplibs"
-                     finalize_deplibs="$deplib $finalize_deplibs"
-                   else
-                     deplibs="$deplib $deplibs"
-                     test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
-                   fi
-                   continue
-                 fi
-               fi
-               ;;
-             *) ;;
-             esac
-           fi
-         fi
-         ;; # -l
-       -L*)
-         case $linkmode in
-         lib)
-           deplibs="$deplib $deplibs"
-           test "$pass" = conv && continue
-           newdependency_libs="$deplib $newdependency_libs"
-           newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
-           ;;
-         prog)
-           if test "$pass" = conv; then
-             deplibs="$deplib $deplibs"
-             continue
-           fi
-           if test "$pass" = scan; then
-             deplibs="$deplib $deplibs"
-           else
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           fi
-           newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`
-           ;;
-         *)
-           $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2
-           ;;
-         esac # linkmode
-         continue
-         ;; # -L
-       -R*)
-         if test "$pass" = link; then
-           dir=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
-           # Make sure the xrpath contains only unique directories.
-           case "$xrpath " in
-           *" $dir "*) ;;
-           *) xrpath="$xrpath $dir" ;;
-           esac
-         fi
-         deplibs="$deplib $deplibs"
-         continue
-         ;;
-       *.la) lib="$deplib" ;;
-       *.$libext)
-         if test "$pass" = conv; then
-           deplibs="$deplib $deplibs"
-           continue
-         fi
-         case $linkmode in
-         lib)
-           valid_a_lib=no
-           case $deplibs_check_method in
-             match_pattern*)
-               set dummy $deplibs_check_method
-               match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-               if eval $echo \"$deplib\" 2>/dev/null \
-                   | $SED 10q \
-                   | $EGREP "$match_pattern_regex" > /dev/null; then
-                 valid_a_lib=yes
-               fi
-               ;;
-             pass_all)
-               valid_a_lib=yes
-               ;;
-            esac
-           if test "$valid_a_lib" != yes; then
-             $echo
-             $echo "*** Warning: Trying to link with static lib archive $deplib."
-             $echo "*** I have the capability to make that library automatically link in when"
-             $echo "*** you link to this library.  But I can only do this if you have a"
-             $echo "*** shared version of the library, which you do not appear to have"
-             $echo "*** because the file extensions .$libext of this argument makes me believe"
-             $echo "*** that it is just a static archive that I should not used here."
-           else
-             $echo
-             $echo "*** Warning: Linking the shared library $output against the"
-             $echo "*** static library $deplib is not portable!"
-             deplibs="$deplib $deplibs"
-           fi
-           continue
-           ;;
-         prog)
-           if test "$pass" != link; then
-             deplibs="$deplib $deplibs"
-           else
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           fi
-           continue
-           ;;
-         esac # linkmode
-         ;; # *.$libext
-       *.lo | *.$objext)
-         if test "$pass" = conv; then
-           deplibs="$deplib $deplibs"
-         elif test "$linkmode" = prog; then
-           if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
-             # If there is no dlopen support or we're linking statically,
-             # we need to preload.
-             newdlprefiles="$newdlprefiles $deplib"
-             compile_deplibs="$deplib $compile_deplibs"
-             finalize_deplibs="$deplib $finalize_deplibs"
-           else
-             newdlfiles="$newdlfiles $deplib"
-           fi
-         fi
-         continue
-         ;;
-       %DEPLIBS%)
-         alldeplibs=yes
-         continue
-         ;;
-       esac # case $deplib
-       if test "$found" = yes || test -f "$lib"; then :
-       else
-         $echo "$modename: cannot find the library \`$lib' or unhandled argument \`$deplib'" 1>&2
-         exit $EXIT_FAILURE
-       fi
-
-       # Check to see that this really is a libtool archive.
-       if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-       else
-         $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-         exit $EXIT_FAILURE
-       fi
-
-       ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'`
-       test "X$ladir" = "X$lib" && ladir="."
-
-       dlname=
-       dlopen=
-       dlpreopen=
-       libdir=
-       library_names=
-       old_library=
-       # If the library was installed with an old release of libtool,
-       # it will not redefine variables installed, or shouldnotlink
-       installed=yes
-       shouldnotlink=no
-       avoidtemprpath=
-
-
-       # Read the .la file
-       case $lib in
-       */* | *\\*) . $lib ;;
-       *) . ./$lib ;;
-       esac
-
-       if test "$linkmode,$pass" = "lib,link" ||
-          test "$linkmode,$pass" = "prog,scan" ||
-          { test "$linkmode" != prog && test "$linkmode" != lib; }; then
-         test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
-         test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
-       fi
-
-       if test "$pass" = conv; then
-         # Only check for convenience libraries
-         deplibs="$lib $deplibs"
-         if test -z "$libdir"; then
-           if test -z "$old_library"; then
-             $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
-             exit $EXIT_FAILURE
-           fi
-           # It is a libtool convenience library, so add in its objects.
-           convenience="$convenience $ladir/$objdir/$old_library"
-           old_convenience="$old_convenience $ladir/$objdir/$old_library"
-           tmp_libs=
-           for deplib in $dependency_libs; do
-             deplibs="$deplib $deplibs"
-              if test "X$duplicate_deps" = "Xyes" ; then
-               case "$tmp_libs " in
-               *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-               esac
-              fi
-             tmp_libs="$tmp_libs $deplib"
-           done
-         elif test "$linkmode" != prog && test "$linkmode" != lib; then
-           $echo "$modename: \`$lib' is not a convenience library" 1>&2
-           exit $EXIT_FAILURE
-         fi
-         continue
-       fi # $pass = conv
-
-
-       # Get the name of the library we link against.
-       linklib=
-       for l in $old_library $library_names; do
-         linklib="$l"
-       done
-       if test -z "$linklib"; then
-         $echo "$modename: cannot find name of link library for \`$lib'" 1>&2
-         exit $EXIT_FAILURE
-       fi
-
-       # This library was specified with -dlopen.
-       if test "$pass" = dlopen; then
-         if test -z "$libdir"; then
-           $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2
-           exit $EXIT_FAILURE
-         fi
-         if test -z "$dlname" ||
-            test "$dlopen_support" != yes ||
-            test "$build_libtool_libs" = no; then
-           # If there is no dlname, no dlopen support or we're linking
-           # statically, we need to preload.  We also need to preload any
-           # dependent libraries so libltdl's deplib preloader doesn't
-           # bomb out in the load deplibs phase.
-           dlprefiles="$dlprefiles $lib $dependency_libs"
-         else
-           newdlfiles="$newdlfiles $lib"
-         fi
-         continue
-       fi # $pass = dlopen
-
-       # We need an absolute path.
-       case $ladir in
-       [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
-       *)
-         abs_ladir=`cd "$ladir" && pwd`
-         if test -z "$abs_ladir"; then
-           $echo "$modename: warning: cannot determine absolute directory name of \`$ladir'" 1>&2
-           $echo "$modename: passing it literally to the linker, although it might fail" 1>&2
-           abs_ladir="$ladir"
-         fi
-         ;;
-       esac
-       laname=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-
-       # Find the relevant object directory and library name.
-       if test "X$installed" = Xyes; then
-         if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-           $echo "$modename: warning: library \`$lib' was moved." 1>&2
-           dir="$ladir"
-           absdir="$abs_ladir"
-           libdir="$abs_ladir"
-         else
-           dir="$libdir"
-           absdir="$libdir"
-         fi
-         test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
-       else
-         if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
-           dir="$ladir"
-           absdir="$abs_ladir"
-           # Remove this search path later
-           notinst_path="$notinst_path $abs_ladir"
-         else
-           dir="$ladir/$objdir"
-           absdir="$abs_ladir/$objdir"
-           # Remove this search path later
-           notinst_path="$notinst_path $abs_ladir"
-         fi
-       fi # $installed = yes
-       name=`$echo "X$laname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-
-       # This library was specified with -dlpreopen.
-       if test "$pass" = dlpreopen; then
-         if test -z "$libdir"; then
-           $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2
-           exit $EXIT_FAILURE
-         fi
-         # Prefer using a static library (so that no silly _DYNAMIC symbols
-         # are required to link).
-         if test -n "$old_library"; then
-           newdlprefiles="$newdlprefiles $dir/$old_library"
-         # Otherwise, use the dlname, so that lt_dlopen finds it.
-         elif test -n "$dlname"; then
-           newdlprefiles="$newdlprefiles $dir/$dlname"
-         else
-           newdlprefiles="$newdlprefiles $dir/$linklib"
-         fi
-       fi # $pass = dlpreopen
-
-       if test -z "$libdir"; then
-         # Link the convenience library
-         if test "$linkmode" = lib; then
-           deplibs="$dir/$old_library $deplibs"
-         elif test "$linkmode,$pass" = "prog,link"; then
-           compile_deplibs="$dir/$old_library $compile_deplibs"
-           finalize_deplibs="$dir/$old_library $finalize_deplibs"
-         else
-           deplibs="$lib $deplibs" # used for prog,scan pass
-         fi
-         continue
-       fi
-
-
-       if test "$linkmode" = prog && test "$pass" != link; then
-         newlib_search_path="$newlib_search_path $ladir"
-         deplibs="$lib $deplibs"
-
-         linkalldeplibs=no
-         if test "$link_all_deplibs" != no || test -z "$library_names" ||
-            test "$build_libtool_libs" = no; then
-           linkalldeplibs=yes
-         fi
-
-         tmp_libs=
-         for deplib in $dependency_libs; do
-           case $deplib in
-           -L*) newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'`;; ### testsuite: skip nested quoting test
-           esac
-           # Need to link against all dependency_libs?
-           if test "$linkalldeplibs" = yes; then
-             deplibs="$deplib $deplibs"
-           else
-             # Need to hardcode shared library paths
-             # or/and link against static libraries
-             newdependency_libs="$deplib $newdependency_libs"
-           fi
-           if test "X$duplicate_deps" = "Xyes" ; then
-             case "$tmp_libs " in
-             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-             esac
-           fi
-           tmp_libs="$tmp_libs $deplib"
-         done # for deplib
-         continue
-       fi # $linkmode = prog...
-
-       if test "$linkmode,$pass" = "prog,link"; then
-         if test -n "$library_names" &&
-            { { test "$prefer_static_libs" = no ||
-                test "$prefer_static_libs,$installed" = "built,yes"; } ||
-              test -z "$old_library"; }; then
-           # We need to hardcode the library path
-           if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
-             # Make sure the rpath contains only unique directories.
-             case "$temp_rpath " in
-             *" $dir "*) ;;
-             *" $absdir "*) ;;
-             *) temp_rpath="$temp_rpath $absdir" ;;
-             esac
-           fi
-
-           # Hardcode the library path.
-           # Skip directories that are in the system default run-time
-           # search path.
-           case " $sys_lib_dlsearch_path " in
-           *" $absdir "*) ;;
-           *)
-             case "$compile_rpath " in
-             *" $absdir "*) ;;
-             *) compile_rpath="$compile_rpath $absdir"
-             esac
-             ;;
-           esac
-           case " $sys_lib_dlsearch_path " in
-           *" $libdir "*) ;;
-           *)
-             case "$finalize_rpath " in
-             *" $libdir "*) ;;
-             *) finalize_rpath="$finalize_rpath $libdir"
-             esac
-             ;;
-           esac
-         fi # $linkmode,$pass = prog,link...
-
-         if test "$alldeplibs" = yes &&
-            { test "$deplibs_check_method" = pass_all ||
-              { test "$build_libtool_libs" = yes &&
-                test -n "$library_names"; }; }; then
-           # We only need to search for static libraries
-           continue
-         fi
-       fi
-
-       link_static=no # Whether the deplib will be linked statically
-       use_static_libs=$prefer_static_libs
-       if test "$use_static_libs" = built && test "$installed" = yes ; then
-         use_static_libs=no
-       fi
-       if test -n "$library_names" &&
-          { test "$use_static_libs" = no || test -z "$old_library"; }; then
-         if test "$installed" = no; then
-           notinst_deplibs="$notinst_deplibs $lib"
-           need_relink=yes
-         fi
-         # This is a shared library
-
-         # Warn about portability, can't link against -module's on
-         # some systems (darwin)
-         if test "$shouldnotlink" = yes && test "$pass" = link ; then
-           $echo
-           if test "$linkmode" = prog; then
-             $echo "*** Warning: Linking the executable $output against the loadable module"
-           else
-             $echo "*** Warning: Linking the shared library $output against the loadable module"
-           fi
-           $echo "*** $linklib is not portable!"
-         fi
-         if test "$linkmode" = lib &&
-            test "$hardcode_into_libs" = yes; then
-           # Hardcode the library path.
-           # Skip directories that are in the system default run-time
-           # search path.
-           case " $sys_lib_dlsearch_path " in
-           *" $absdir "*) ;;
-           *)
-             case "$compile_rpath " in
-             *" $absdir "*) ;;
-             *) compile_rpath="$compile_rpath $absdir"
-             esac
-             ;;
-           esac
-           case " $sys_lib_dlsearch_path " in
-           *" $libdir "*) ;;
-           *)
-             case "$finalize_rpath " in
-             *" $libdir "*) ;;
-             *) finalize_rpath="$finalize_rpath $libdir"
-             esac
-             ;;
-           esac
-         fi
-
-         if test -n "$old_archive_from_expsyms_cmds"; then
-           # figure out the soname
-           set dummy $library_names
-           realname="$2"
-           shift; shift
-           libname=`eval \\$echo \"$libname_spec\"`
-           # use dlname if we got it. it's perfectly good, no?
-           if test -n "$dlname"; then
-             soname="$dlname"
-           elif test -n "$soname_spec"; then
-             # bleh windows
-             case $host in
-             *cygwin* | mingw*)
-               major=`expr $current - $age`
-               versuffix="-$major"
-               ;;
-             esac
-             eval soname=\"$soname_spec\"
-           else
-             soname="$realname"
-           fi
-
-           # Make a new name for the extract_expsyms_cmds to use
-           soroot="$soname"
-           soname=`$echo $soroot | ${SED} -e 's/^.*\///'`
-           newlib="libimp-`$echo $soname | ${SED} 's/^lib//;s/\.dll$//'`.a"
-
-           # If the library has no export list, then create one now
-           if test -f "$output_objdir/$soname-def"; then :
-           else
-             $show "extracting exported symbol list from \`$soname'"
-             save_ifs="$IFS"; IFS='~'
-             cmds=$extract_expsyms_cmds
-             for cmd in $cmds; do
-               IFS="$save_ifs"
-               eval cmd=\"$cmd\"
-               $show "$cmd"
-               $run eval "$cmd" || exit $?
-             done
-             IFS="$save_ifs"
-           fi
-
-           # Create $newlib
-           if test -f "$output_objdir/$newlib"; then :; else
-             $show "generating import library for \`$soname'"
-             save_ifs="$IFS"; IFS='~'
-             cmds=$old_archive_from_expsyms_cmds
-             for cmd in $cmds; do
-               IFS="$save_ifs"
-               eval cmd=\"$cmd\"
-               $show "$cmd"
-               $run eval "$cmd" || exit $?
-             done
-             IFS="$save_ifs"
-           fi
-           # make sure the library variables are pointing to the new library
-           dir=$output_objdir
-           linklib=$newlib
-         fi # test -n "$old_archive_from_expsyms_cmds"
-
-         if test "$linkmode" = prog || test "$mode" != relink; then
-           add_shlibpath=
-           add_dir=
-           add=
-           lib_linked=yes
-           case $hardcode_action in
-           immediate | unsupported)
-             if test "$hardcode_direct" = no; then
-               add="$dir/$linklib"
-               case $host in
-                 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
-                 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
-                 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
-                   *-*-unixware7*) add_dir="-L$dir" ;;
-                 *-*-darwin* )
-                   # if the lib is a module then we can not link against
-                   # it, someone is ignoring the new warnings I added
-                   if /usr/bin/file -L $add 2> /dev/null |
-                      $EGREP ": [^:]* bundle" >/dev/null ; then
-                     $echo "** Warning, lib $linklib is a module, not a shared library"
-                     if test -z "$old_library" ; then
-                       $echo
-                       $echo "** And there doesn't seem to be a static archive available"
-                       $echo "** The link will probably fail, sorry"
-                     else
-                       add="$dir/$old_library"
-                     fi
-                   fi
-               esac
-             elif test "$hardcode_minus_L" = no; then
-               case $host in
-               *-*-sunos*) add_shlibpath="$dir" ;;
-               esac
-               add_dir="-L$dir"
-               add="-l$name"
-             elif test "$hardcode_shlibpath_var" = no; then
-               add_shlibpath="$dir"
-               add="-l$name"
-             else
-               lib_linked=no
-             fi
-             ;;
-           relink)
-             if test "$hardcode_direct" = yes; then
-               add="$dir/$linklib"
-             elif test "$hardcode_minus_L" = yes; then
-               add_dir="-L$dir"
-               # Try looking first in the location we're being installed to.
-               if test -n "$inst_prefix_dir"; then
-                 case $libdir in
-                   [\\/]*)
-                     add_dir="$add_dir -L$inst_prefix_dir$libdir"
-                     ;;
-                 esac
-               fi
-               add="-l$name"
-             elif test "$hardcode_shlibpath_var" = yes; then
-               add_shlibpath="$dir"
-               add="-l$name"
-             else
-               lib_linked=no
-             fi
-             ;;
-           *) lib_linked=no ;;
-           esac
-
-           if test "$lib_linked" != yes; then
-             $echo "$modename: configuration error: unsupported hardcode properties"
-             exit $EXIT_FAILURE
-           fi
-
-           if test -n "$add_shlibpath"; then
-             case :$compile_shlibpath: in
-             *":$add_shlibpath:"*) ;;
-             *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
-             esac
-           fi
-           if test "$linkmode" = prog; then
-             test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
-             test -n "$add" && compile_deplibs="$add $compile_deplibs"
-           else
-             test -n "$add_dir" && deplibs="$add_dir $deplibs"
-             test -n "$add" && deplibs="$add $deplibs"
-             if test "$hardcode_direct" != yes && \
-                test "$hardcode_minus_L" != yes && \
-                test "$hardcode_shlibpath_var" = yes; then
-               case :$finalize_shlibpath: in
-               *":$libdir:"*) ;;
-               *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-               esac
-             fi
-           fi
-         fi
-
-         if test "$linkmode" = prog || test "$mode" = relink; then
-           add_shlibpath=
-           add_dir=
-           add=
-           # Finalize command for both is simple: just hardcode it.
-           if test "$hardcode_direct" = yes; then
-             add="$libdir/$linklib"
-           elif test "$hardcode_minus_L" = yes; then
-             add_dir="-L$libdir"
-             add="-l$name"
-           elif test "$hardcode_shlibpath_var" = yes; then
-             case :$finalize_shlibpath: in
-             *":$libdir:"*) ;;
-             *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
-             esac
-             add="-l$name"
-           elif test "$hardcode_automatic" = yes; then
-             if test -n "$inst_prefix_dir" &&
-                test -f "$inst_prefix_dir$libdir/$linklib" ; then
-               add="$inst_prefix_dir$libdir/$linklib"
-             else
-               add="$libdir/$linklib"
-             fi
-           else
-             # We cannot seem to hardcode it, guess we'll fake it.
-             add_dir="-L$libdir"
-             # Try looking first in the location we're being installed to.
-             if test -n "$inst_prefix_dir"; then
-               case $libdir in
-                 [\\/]*)
-                   add_dir="$add_dir -L$inst_prefix_dir$libdir"
-                   ;;
-               esac
-             fi
-             add="-l$name"
-           fi
-
-           if test "$linkmode" = prog; then
-             test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
-             test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
-           else
-             test -n "$add_dir" && deplibs="$add_dir $deplibs"
-             test -n "$add" && deplibs="$add $deplibs"
-           fi
-         fi
-       elif test "$linkmode" = prog; then
-         # Here we assume that one of hardcode_direct or hardcode_minus_L
-         # is not unsupported.  This is valid on all known static and
-         # shared platforms.
-         if test "$hardcode_direct" != unsupported; then
-           test -n "$old_library" && linklib="$old_library"
-           compile_deplibs="$dir/$linklib $compile_deplibs"
-           finalize_deplibs="$dir/$linklib $finalize_deplibs"
-         else
-           compile_deplibs="-l$name -L$dir $compile_deplibs"
-           finalize_deplibs="-l$name -L$dir $finalize_deplibs"
-         fi
-       elif test "$build_libtool_libs" = yes; then
-         # Not a shared library
-         if test "$deplibs_check_method" != pass_all; then
-           # We're trying link a shared library against a static one
-           # but the system doesn't support it.
-
-           # Just print a warning and add the library to dependency_libs so
-           # that the program can be linked against the static library.
-           $echo
-           $echo "*** Warning: This system can not link to static lib archive $lib."
-           $echo "*** I have the capability to make that library automatically link in when"
-           $echo "*** you link to this library.  But I can only do this if you have a"
-           $echo "*** shared version of the library, which you do not appear to have."
-           if test "$module" = yes; then
-             $echo "*** But as you try to build a module library, libtool will still create "
-             $echo "*** a static module, that should work as long as the dlopening application"
-             $echo "*** is linked with the -dlopen flag to resolve symbols at runtime."
-             if test -z "$global_symbol_pipe"; then
-               $echo
-               $echo "*** However, this would only work if libtool was able to extract symbol"
-               $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-               $echo "*** not find such a program.  So, this module is probably useless."
-               $echo "*** \`nm' from GNU binutils and a full rebuild may help."
-             fi
-             if test "$build_old_libs" = no; then
-               build_libtool_libs=module
-               build_old_libs=yes
-             else
-               build_libtool_libs=no
-             fi
-           fi
-         else
-           deplibs="$dir/$old_library $deplibs"
-           link_static=yes
-         fi
-       fi # link shared/static library?
-
-       if test "$linkmode" = lib; then
-         if test -n "$dependency_libs" &&
-            { test "$hardcode_into_libs" != yes ||
-              test "$build_old_libs" = yes ||
-              test "$link_static" = yes; }; then
-           # Extract -R from dependency_libs
-           temp_deplibs=
-           for libdir in $dependency_libs; do
-             case $libdir in
-             -R*) temp_xrpath=`$echo "X$libdir" | $Xsed -e 's/^-R//'`
-                  case " $xrpath " in
-                  *" $temp_xrpath "*) ;;
-                  *) xrpath="$xrpath $temp_xrpath";;
-                  esac;;
-             *) temp_deplibs="$temp_deplibs $libdir";;
-             esac
-           done
-           dependency_libs="$temp_deplibs"
-         fi
-
-         newlib_search_path="$newlib_search_path $absdir"
-         # Link against this library
-         test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
-         # ... and its dependency_libs
-         tmp_libs=
-         for deplib in $dependency_libs; do
-           newdependency_libs="$deplib $newdependency_libs"
-           if test "X$duplicate_deps" = "Xyes" ; then
-             case "$tmp_libs " in
-             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
-             esac
-           fi
-           tmp_libs="$tmp_libs $deplib"
-         done
-
-         if test "$link_all_deplibs" != no; then
-           # Add the search paths of all dependency libraries
-           for deplib in $dependency_libs; do
-             case $deplib in
-             -L*) path="$deplib" ;;
-             *.la)
-               dir=`$echo "X$deplib" | $Xsed -e 's%/[^/]*$%%'`
-               test "X$dir" = "X$deplib" && dir="."
-               # We need an absolute path.
-               case $dir in
-               [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
-               *)
-                 absdir=`cd "$dir" && pwd`
-                 if test -z "$absdir"; then
-                   $echo "$modename: warning: cannot determine absolute directory name of \`$dir'" 1>&2
-                   absdir="$dir"
-                 fi
-                 ;;
-               esac
-               if grep "^installed=no" $deplib > /dev/null; then
-                 path="$absdir/$objdir"
-               else
-                 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-                 if test -z "$libdir"; then
-                   $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-                   exit $EXIT_FAILURE
-                 fi
-                 if test "$absdir" != "$libdir"; then
-                   $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
-                 fi
-                 path="$absdir"
-               fi
-               depdepl=
-               case $host in
-               *-*-darwin*)
-                 # we do not want to link against static libs,
-                 # but need to link against shared
-                 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
-                 eval deplibdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-                 if test -n "$deplibrary_names" ; then
-                   for tmp in $deplibrary_names ; do
-                     depdepl=$tmp
-                   done
-                   if test -f "$deplibdir/$depdepl" ; then
-                     depdepl="$deplibdir/$depdepl"
-                   elif test -f "$path/$depdepl" ; then
-                     depdepl="$path/$depdepl"
-                   else
-                     # Can't find it, oh well...
-                     depdepl=
-                   fi
-                   # do not add paths which are already there
-                   case " $newlib_search_path " in
-                   *" $path "*) ;;
-                   *) newlib_search_path="$newlib_search_path $path";;
-                   esac
-                 fi
-                 path=""
-                 ;;
-               *)
-                 path="-L$path"
-                 ;;
-               esac
-               ;;
-             -l*)
-               case $host in
-               *-*-darwin*)
-                 # Again, we only want to link against shared libraries
-                 eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"`
-                 for tmp in $newlib_search_path ; do
-                   if test -f "$tmp/lib$tmp_libs.dylib" ; then
-                     eval depdepl="$tmp/lib$tmp_libs.dylib"
-                     break
-                   fi
-                 done
-                 path=""
-                 ;;
-               *) continue ;;
-               esac
-               ;;
-             *) continue ;;
-             esac
-             case " $deplibs " in
-             *" $path "*) ;;
-             *) deplibs="$path $deplibs" ;;
-             esac
-             case " $deplibs " in
-             *" $depdepl "*) ;;
-             *) deplibs="$depdepl $deplibs" ;;
-             esac
-           done
-         fi # link_all_deplibs != no
-       fi # linkmode = lib
-      done # for deplib in $libs
-      dependency_libs="$newdependency_libs"
-      if test "$pass" = dlpreopen; then
-       # Link the dlpreopened libraries before other libraries
-       for deplib in $save_deplibs; do
-         deplibs="$deplib $deplibs"
-       done
-      fi
-      if test "$pass" != dlopen; then
-       if test "$pass" != conv; then
-         # Make sure lib_search_path contains only unique directories.
-         lib_search_path=
-         for dir in $newlib_search_path; do
-           case "$lib_search_path " in
-           *" $dir "*) ;;
-           *) lib_search_path="$lib_search_path $dir" ;;
-           esac
-         done
-         newlib_search_path=
-       fi
-
-       if test "$linkmode,$pass" != "prog,link"; then
-         vars="deplibs"
-       else
-         vars="compile_deplibs finalize_deplibs"
-       fi
-       for var in $vars dependency_libs; do
-         # Add libraries to $var in reverse order
-         eval tmp_libs=\"\$$var\"
-         new_libs=
-         for deplib in $tmp_libs; do
-           # FIXME: Pedantically, this is the right thing to do, so
-           #        that some nasty dependency loop isn't accidentally
-           #        broken:
-           #new_libs="$deplib $new_libs"
-           # Pragmatically, this seems to cause very few problems in
-           # practice:
-           case $deplib in
-           -L*) new_libs="$deplib $new_libs" ;;
-           -R*) ;;
-           *)
-             # And here is the reason: when a library appears more
-             # than once as an explicit dependence of a library, or
-             # is implicitly linked in more than once by the
-             # compiler, it is considered special, and multiple
-             # occurrences thereof are not removed.  Compare this
-             # with having the same library being listed as a
-             # dependency of multiple other libraries: in this case,
-             # we know (pedantically, we assume) the library does not
-             # need to be listed more than once, so we keep only the
-             # last copy.  This is not always right, but it is rare
-             # enough that we require users that really mean to play
-             # such unportable linking tricks to link the library
-             # using -Wl,-lname, so that libtool does not consider it
-             # for duplicate removal.
-             case " $specialdeplibs " in
-             *" $deplib "*) new_libs="$deplib $new_libs" ;;
-             *)
-               case " $new_libs " in
-               *" $deplib "*) ;;
-               *) new_libs="$deplib $new_libs" ;;
-               esac
-               ;;
-             esac
-             ;;
-           esac
-         done
-         tmp_libs=
-         for deplib in $new_libs; do
-           case $deplib in
-           -L*)
-             case " $tmp_libs " in
-             *" $deplib "*) ;;
-             *) tmp_libs="$tmp_libs $deplib" ;;
-             esac
-             ;;
-           *) tmp_libs="$tmp_libs $deplib" ;;
-           esac
-         done
-         eval $var=\"$tmp_libs\"
-       done # for var
-      fi
-      # Last step: remove runtime libs from dependency_libs
-      # (they stay in deplibs)
-      tmp_libs=
-      for i in $dependency_libs ; do
-       case " $predeps $postdeps $compiler_lib_search_path " in
-       *" $i "*)
-         i=""
-         ;;
-       esac
-       if test -n "$i" ; then
-         tmp_libs="$tmp_libs $i"
-       fi
-      done
-      dependency_libs=$tmp_libs
-    done # for pass
-    if test "$linkmode" = prog; then
-      dlfiles="$newdlfiles"
-      dlprefiles="$newdlprefiles"
-    fi
-
-    case $linkmode in
-    oldlib)
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-       $echo "$modename: warning: \`-l' and \`-L' are ignored for archives" 1>&2 ;;
-      esac
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       $echo "$modename: warning: \`-dlopen' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-       $echo "$modename: warning: \`-rpath' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-       $echo "$modename: warning: \`-R' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-       $echo "$modename: warning: \`-version-info/-version-number' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$release"; then
-       $echo "$modename: warning: \`-release' is ignored for archives" 1>&2
-      fi
-
-      if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
-       $echo "$modename: warning: \`-export-symbols' is ignored for archives" 1>&2
-      fi
-
-      # Now set the variables for building old libraries.
-      build_libtool_libs=no
-      oldlibs="$output"
-      objs="$objs$old_deplibs"
-      ;;
-
-    lib)
-      # Make sure we only generate libraries of the form `libNAME.la'.
-      case $outputname in
-      lib*)
-       name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'`
-       eval shared_ext=\"$shrext_cmds\"
-       eval libname=\"$libname_spec\"
-       ;;
-      *)
-       if test "$module" = no; then
-         $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2
-         $echo "$help" 1>&2
-         exit $EXIT_FAILURE
-       fi
-       if test "$need_lib_prefix" != no; then
-         # Add the "lib" prefix for modules if required
-         name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-         eval shared_ext=\"$shrext_cmds\"
-         eval libname=\"$libname_spec\"
-       else
-         libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'`
-       fi
-       ;;
-      esac
-
-      if test -n "$objs"; then
-       if test "$deplibs_check_method" != pass_all; then
-         $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1
-         exit $EXIT_FAILURE
-       else
-         $echo
-         $echo "*** Warning: Linking the shared library $output against the non-libtool"
-         $echo "*** objects $objs is not portable!"
-         libobjs="$libobjs $objs"
-       fi
-      fi
-
-      if test "$dlself" != no; then
-       $echo "$modename: warning: \`-dlopen self' is ignored for libtool libraries" 1>&2
-      fi
-
-      set dummy $rpath
-      if test "$#" -gt 2; then
-       $echo "$modename: warning: ignoring multiple \`-rpath's for a libtool library" 1>&2
-      fi
-      install_libdir="$2"
-
-      oldlibs=
-      if test -z "$rpath"; then
-       if test "$build_libtool_libs" = yes; then
-         # Building a libtool convenience library.
-         # Some compilers have problems with a `.al' extension so
-         # convenience libraries should have the same extension an
-         # archive normally would.
-         oldlibs="$output_objdir/$libname.$libext $oldlibs"
-         build_libtool_libs=convenience
-         build_old_libs=yes
-       fi
-
-       if test -n "$vinfo"; then
-         $echo "$modename: warning: \`-version-info/-version-number' is ignored for convenience libraries" 1>&2
-       fi
-
-       if test -n "$release"; then
-         $echo "$modename: warning: \`-release' is ignored for convenience libraries" 1>&2
-       fi
-      else
-
-       # Parse the version information argument.
-       save_ifs="$IFS"; IFS=':'
-       set dummy $vinfo 0 0 0
-       IFS="$save_ifs"
-
-       if test -n "$8"; then
-         $echo "$modename: too many parameters to \`-version-info'" 1>&2
-         $echo "$help" 1>&2
-         exit $EXIT_FAILURE
-       fi
-
-       # convert absolute version numbers to libtool ages
-       # this retains compatibility with .la files and attempts
-       # to make the code below a bit more comprehensible
-
-       case $vinfo_number in
-       yes)
-         number_major="$2"
-         number_minor="$3"
-         number_revision="$4"
-         #
-         # There are really only two kinds -- those that
-         # use the current revision as the major version
-         # and those that subtract age and use age as
-         # a minor version.  But, then there is irix
-         # which has an extra 1 added just for fun
-         #
-         case $version_type in
-         darwin|linux|osf|windows|none)
-           current=`expr $number_major + $number_minor`
-           age="$number_minor"
-           revision="$number_revision"
-           ;;
-         freebsd-aout|freebsd-elf|sunos)
-           current="$number_major"
-           revision="$number_minor"
-           age="0"
-           ;;
-         irix|nonstopux)
-           current=`expr $number_major + $number_minor`
-           age="$number_minor"
-           revision="$number_minor"
-           lt_irix_increment=no
-           ;;
-         *)
-           $echo "$modename: unknown library version type \`$version_type'" 1>&2
-           $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-           exit $EXIT_FAILURE
-           ;;
-         esac
-         ;;
-       no)
-         current="$2"
-         revision="$3"
-         age="$4"
-         ;;
-       esac
-
-       # Check that each of the things are valid numbers.
-       case $current in
-       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-       *)
-         $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2
-         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-         exit $EXIT_FAILURE
-         ;;
-       esac
-
-       case $revision in
-       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-       *)
-         $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2
-         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-         exit $EXIT_FAILURE
-         ;;
-       esac
-
-       case $age in
-       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
-       *)
-         $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2
-         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-         exit $EXIT_FAILURE
-         ;;
-       esac
-
-       if test "$age" -gt "$current"; then
-         $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2
-         $echo "$modename: \`$vinfo' is not valid version information" 1>&2
-         exit $EXIT_FAILURE
-       fi
-
-       # Calculate the version variables.
-       major=
-       versuffix=
-       verstring=
-       case $version_type in
-       none) ;;
-
-       darwin)
-         # Like Linux, but with the current version available in
-         # verstring for coding it into the library header
-         major=.`expr $current - $age`
-         versuffix="$major.$age.$revision"
-         # Darwin ld doesn't like 0 for these options...
-         minor_current=`expr $current + 1`
-         xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
-         verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
-         ;;
-
-       freebsd-aout)
-         major=".$current"
-         versuffix=".$current.$revision";
-         ;;
-
-       freebsd-elf)
-         major=".$current"
-         versuffix=".$current";
-         ;;
-
-       irix | nonstopux)
-         if test "X$lt_irix_increment" = "Xno"; then
-           major=`expr $current - $age`
-         else
-           major=`expr $current - $age + 1`
-         fi
-         case $version_type in
-           nonstopux) verstring_prefix=nonstopux ;;
-           *)         verstring_prefix=sgi ;;
-         esac
-         verstring="$verstring_prefix$major.$revision"
-
-         # Add in all the interfaces that we are compatible with.
-         loop=$revision
-         while test "$loop" -ne 0; do
-           iface=`expr $revision - $loop`
-           loop=`expr $loop - 1`
-           verstring="$verstring_prefix$major.$iface:$verstring"
-         done
-
-         # Before this point, $major must not contain `.'.
-         major=.$major
-         versuffix="$major.$revision"
-         ;;
-
-       linux)
-         major=.`expr $current - $age`
-         versuffix="$major.$age.$revision"
-         ;;
-
-       osf)
-         major=.`expr $current - $age`
-         versuffix=".$current.$age.$revision"
-         verstring="$current.$age.$revision"
-
-         # Add in all the interfaces that we are compatible with.
-         loop=$age
-         while test "$loop" -ne 0; do
-           iface=`expr $current - $loop`
-           loop=`expr $loop - 1`
-           verstring="$verstring:${iface}.0"
-         done
-
-         # Make executables depend on our current version.
-         verstring="$verstring:${current}.0"
-         ;;
-
-       sunos)
-         major=".$current"
-         versuffix=".$current.$revision"
-         ;;
-
-       windows)
-         # Use '-' rather than '.', since we only want one
-         # extension on DOS 8.3 filesystems.
-         major=`expr $current - $age`
-         versuffix="-$major"
-         ;;
-
-       *)
-         $echo "$modename: unknown library version type \`$version_type'" 1>&2
-         $echo "Fatal configuration error.  See the $PACKAGE docs for more information." 1>&2
-         exit $EXIT_FAILURE
-         ;;
-       esac
-
-       # Clear the version info if we defaulted, and they specified a release.
-       if test -z "$vinfo" && test -n "$release"; then
-         major=
-         case $version_type in
-         darwin)
-           # we can't check for "0.0" in archive_cmds due to quoting
-           # problems, so we reset it completely
-           verstring=
-           ;;
-         *)
-           verstring="0.0"
-           ;;
-         esac
-         if test "$need_version" = no; then
-           versuffix=
-         else
-           versuffix=".0.0"
-         fi
-       fi
-
-       # Remove version info from name if versioning should be avoided
-       if test "$avoid_version" = yes && test "$need_version" = no; then
-         major=
-         versuffix=
-         verstring=""
-       fi
-
-       # Check to see if the archive will have undefined symbols.
-       if test "$allow_undefined" = yes; then
-         if test "$allow_undefined_flag" = unsupported; then
-           $echo "$modename: warning: undefined symbols not allowed in $host shared libraries" 1>&2
-           build_libtool_libs=no
-           build_old_libs=yes
-         fi
-       else
-         # Don't allow undefined symbols.
-         allow_undefined_flag="$no_undefined_flag"
-       fi
-      fi
-
-      if test "$mode" != relink; then
-       # Remove our outputs, but don't remove object files since they
-       # may have been created when compiling PIC objects.
-       removelist=
-       tempremovelist=`$echo "$output_objdir/*"`
-       for p in $tempremovelist; do
-         case $p in
-           *.$objext)
-              ;;
-           $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
-              if test "X$precious_files_regex" != "X"; then
-                if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
-                then
-                  continue
-                fi
-              fi
-              removelist="$removelist $p"
-              ;;
-           *) ;;
-         esac
-       done
-       if test -n "$removelist"; then
-         $show "${rm}r $removelist"
-         $run ${rm}r $removelist
-       fi
-      fi
-
-      # Now set the variables for building old libraries.
-      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
-       oldlibs="$oldlibs $output_objdir/$libname.$libext"
-
-       # Transform .lo files to .o files.
-       oldobjs="$objs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
-      fi
-
-      # Eliminate all temporary directories.
-      #for path in $notinst_path; do
-      #        lib_search_path=`$echo "$lib_search_path " | ${SED} -e "s% $path % %g"`
-      #        deplibs=`$echo "$deplibs " | ${SED} -e "s% -L$path % %g"`
-      #        dependency_libs=`$echo "$dependency_libs " | ${SED} -e "s% -L$path % %g"`
-      #done
-
-      if test -n "$xrpath"; then
-       # If the user specified any rpath flags, then add them.
-       temp_xrpath=
-       for libdir in $xrpath; do
-         temp_xrpath="$temp_xrpath -R$libdir"
-         case "$finalize_rpath " in
-         *" $libdir "*) ;;
-         *) finalize_rpath="$finalize_rpath $libdir" ;;
-         esac
-       done
-       if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
-         dependency_libs="$temp_xrpath $dependency_libs"
-       fi
-      fi
-
-      # Make sure dlfiles contains only unique files that won't be dlpreopened
-      old_dlfiles="$dlfiles"
-      dlfiles=
-      for lib in $old_dlfiles; do
-       case " $dlprefiles $dlfiles " in
-       *" $lib "*) ;;
-       *) dlfiles="$dlfiles $lib" ;;
-       esac
-      done
-
-      # Make sure dlprefiles contains only unique files
-      old_dlprefiles="$dlprefiles"
-      dlprefiles=
-      for lib in $old_dlprefiles; do
-       case "$dlprefiles " in
-       *" $lib "*) ;;
-       *) dlprefiles="$dlprefiles $lib" ;;
-       esac
-      done
-
-      if test "$build_libtool_libs" = yes; then
-       if test -n "$rpath"; then
-         case $host in
-         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos*)
-           # these systems don't actually have a c library (as such)!
-           ;;
-         *-*-rhapsody* | *-*-darwin1.[012])
-           # Rhapsody C library is in the System framework
-           deplibs="$deplibs -framework System"
-           ;;
-         *-*-netbsd*)
-           # Don't link with libc until the a.out ld.so is fixed.
-           ;;
-         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
-           # Do not include libc due to us having libc/libc_r.
-           ;;
-         *-*-sco3.2v5* | *-*-sco5v6*)
-           # Causes problems with __ctype
-           ;;
-         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
-           # Compiler inserts libc in the correct place for threads to work
-           ;;
-         *)
-           # Add libc to deplibs on all other systems if necessary.
-           if test "$build_libtool_need_lc" = "yes"; then
-             deplibs="$deplibs -lc"
-           fi
-           ;;
-         esac
-       fi
-
-       # Transform deplibs into only deplibs that can be linked in shared.
-       name_save=$name
-       libname_save=$libname
-       release_save=$release
-       versuffix_save=$versuffix
-       major_save=$major
-       # I'm not sure if I'm treating the release correctly.  I think
-       # release should show up in the -l (ie -lgmp5) so we don't want to
-       # add it in twice.  Is that correct?
-       release=""
-       versuffix=""
-       major=""
-       newdeplibs=
-       droppeddeps=no
-       case $deplibs_check_method in
-       pass_all)
-         # Don't check for shared/static.  Everything works.
-         # This might be a little naive.  We might want to check
-         # whether the library exists or not.  But this is on
-         # osf3 & osf4 and I'm not really sure... Just
-         # implementing what was already the behavior.
-         newdeplibs=$deplibs
-         ;;
-       test_compile)
-         # This code stresses the "libraries are programs" paradigm to its
-         # limits. Maybe even breaks it.  We compile a program, linking it
-         # against the deplibs as a proxy for the library.  Then we can check
-         # whether they linked in statically or dynamically with ldd.
-         $rm conftest.c
-         cat > conftest.c <<EOF
-         int main() { return 0; }
-EOF
-         $rm conftest
-         if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
-           ldd_output=`ldd conftest`
-           for i in $deplibs; do
-             name=`expr $i : '-l\(.*\)'`
-             # If $name is empty we are operating on a -L argument.
-              if test "$name" != "" && test "$name" != "0"; then
-               if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-                 case " $predeps $postdeps " in
-                 *" $i "*)
-                   newdeplibs="$newdeplibs $i"
-                   i=""
-                   ;;
-                 esac
-               fi
-               if test -n "$i" ; then
-                 libname=`eval \\$echo \"$libname_spec\"`
-                 deplib_matches=`eval \\$echo \"$library_names_spec\"`
-                 set dummy $deplib_matches
-                 deplib_match=$2
-                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-                   newdeplibs="$newdeplibs $i"
-                 else
-                   droppeddeps=yes
-                   $echo
-                   $echo "*** Warning: dynamic linker does not accept needed library $i."
-                   $echo "*** I have the capability to make that library automatically link in when"
-                   $echo "*** you link to this library.  But I can only do this if you have a"
-                   $echo "*** shared version of the library, which I believe you do not have"
-                   $echo "*** because a test_compile did reveal that the linker did not use it for"
-                   $echo "*** its dynamic dependency list that programs get resolved with at runtime."
-                 fi
-               fi
-             else
-               newdeplibs="$newdeplibs $i"
-             fi
-           done
-         else
-           # Error occurred in the first compile.  Let's try to salvage
-           # the situation: Compile a separate program for each library.
-           for i in $deplibs; do
-             name=`expr $i : '-l\(.*\)'`
-             # If $name is empty we are operating on a -L argument.
-              if test "$name" != "" && test "$name" != "0"; then
-               $rm conftest
-               if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
-                 ldd_output=`ldd conftest`
-                 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-                   case " $predeps $postdeps " in
-                   *" $i "*)
-                     newdeplibs="$newdeplibs $i"
-                     i=""
-                     ;;
-                   esac
-                 fi
-                 if test -n "$i" ; then
-                   libname=`eval \\$echo \"$libname_spec\"`
-                   deplib_matches=`eval \\$echo \"$library_names_spec\"`
-                   set dummy $deplib_matches
-                   deplib_match=$2
-                   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
-                     newdeplibs="$newdeplibs $i"
-                   else
-                     droppeddeps=yes
-                     $echo
-                     $echo "*** Warning: dynamic linker does not accept needed library $i."
-                     $echo "*** I have the capability to make that library automatically link in when"
-                     $echo "*** you link to this library.  But I can only do this if you have a"
-                     $echo "*** shared version of the library, which you do not appear to have"
-                     $echo "*** because a test_compile did reveal that the linker did not use this one"
-                     $echo "*** as a dynamic dependency that programs can get resolved with at runtime."
-                   fi
-                 fi
-               else
-                 droppeddeps=yes
-                 $echo
-                 $echo "*** Warning!  Library $i is needed by this library but I was not able to"
-                 $echo "*** make it link in!  You will probably need to install it or some"
-                 $echo "*** library that it depends on before this library will be fully"
-                 $echo "*** functional.  Installing it before continuing would be even better."
-               fi
-             else
-               newdeplibs="$newdeplibs $i"
-             fi
-           done
-         fi
-         ;;
-       file_magic*)
-         set dummy $deplibs_check_method
-         file_magic_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-         for a_deplib in $deplibs; do
-           name=`expr $a_deplib : '-l\(.*\)'`
-           # If $name is empty we are operating on a -L argument.
-            if test "$name" != "" && test  "$name" != "0"; then
-             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-               case " $predeps $postdeps " in
-               *" $a_deplib "*)
-                 newdeplibs="$newdeplibs $a_deplib"
-                 a_deplib=""
-                 ;;
-               esac
-             fi
-             if test -n "$a_deplib" ; then
-               libname=`eval \\$echo \"$libname_spec\"`
-               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-                 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-                 for potent_lib in $potential_libs; do
-                     # Follow soft links.
-                     if ls -lLd "$potent_lib" 2>/dev/null \
-                        | grep " -> " >/dev/null; then
-                       continue
-                     fi
-                     # The statement above tries to avoid entering an
-                     # endless loop below, in case of cyclic links.
-                     # We might still enter an endless loop, since a link
-                     # loop can be closed while we follow links,
-                     # but so what?
-                     potlib="$potent_lib"
-                     while test -h "$potlib" 2>/dev/null; do
-                       potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
-                       case $potliblink in
-                       [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
-                       *) potlib=`$echo "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
-                       esac
-                     done
-                     if eval $file_magic_cmd \"\$potlib\" 2>/dev/null \
-                        | ${SED} 10q \
-                        | $EGREP "$file_magic_regex" > /dev/null; then
-                       newdeplibs="$newdeplibs $a_deplib"
-                       a_deplib=""
-                       break 2
-                     fi
-                 done
-               done
-             fi
-             if test -n "$a_deplib" ; then
-               droppeddeps=yes
-               $echo
-               $echo "*** Warning: linker path does not have real file for library $a_deplib."
-               $echo "*** I have the capability to make that library automatically link in when"
-               $echo "*** you link to this library.  But I can only do this if you have a"
-               $echo "*** shared version of the library, which you do not appear to have"
-               $echo "*** because I did check the linker path looking for a file starting"
-               if test -z "$potlib" ; then
-                 $echo "*** with $libname but no candidates were found. (...for file magic test)"
-               else
-                 $echo "*** with $libname and none of the candidates passed a file format test"
-                 $echo "*** using a file magic. Last file checked: $potlib"
-               fi
-             fi
-           else
-             # Add a -L argument.
-             newdeplibs="$newdeplibs $a_deplib"
-           fi
-         done # Gone through all deplibs.
-         ;;
-       match_pattern*)
-         set dummy $deplibs_check_method
-         match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"`
-         for a_deplib in $deplibs; do
-           name=`expr $a_deplib : '-l\(.*\)'`
-           # If $name is empty we are operating on a -L argument.
-           if test -n "$name" && test "$name" != "0"; then
-             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-               case " $predeps $postdeps " in
-               *" $a_deplib "*)
-                 newdeplibs="$newdeplibs $a_deplib"
-                 a_deplib=""
-                 ;;
-               esac
-             fi
-             if test -n "$a_deplib" ; then
-               libname=`eval \\$echo \"$libname_spec\"`
-               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
-                 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
-                 for potent_lib in $potential_libs; do
-                   potlib="$potent_lib" # see symlink-check above in file_magic test
-                   if eval $echo \"$potent_lib\" 2>/dev/null \
-                       | ${SED} 10q \
-                       | $EGREP "$match_pattern_regex" > /dev/null; then
-                     newdeplibs="$newdeplibs $a_deplib"
-                     a_deplib=""
-                     break 2
-                   fi
-                 done
-               done
-             fi
-             if test -n "$a_deplib" ; then
-               droppeddeps=yes
-               $echo
-               $echo "*** Warning: linker path does not have real file for library $a_deplib."
-               $echo "*** I have the capability to make that library automatically link in when"
-               $echo "*** you link to this library.  But I can only do this if you have a"
-               $echo "*** shared version of the library, which you do not appear to have"
-               $echo "*** because I did check the linker path looking for a file starting"
-               if test -z "$potlib" ; then
-                 $echo "*** with $libname but no candidates were found. (...for regex pattern test)"
-               else
-                 $echo "*** with $libname and none of the candidates passed a file format test"
-                 $echo "*** using a regex pattern. Last file checked: $potlib"
-               fi
-             fi
-           else
-             # Add a -L argument.
-             newdeplibs="$newdeplibs $a_deplib"
-           fi
-         done # Gone through all deplibs.
-         ;;
-       none | unknown | *)
-         newdeplibs=""
-         tmp_deplibs=`$echo "X $deplibs" | $Xsed -e 's/ -lc$//' \
-           -e 's/ -[LR][^ ]*//g'`
-         if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
-           for i in $predeps $postdeps ; do
-             # can't use Xsed below, because $i might contain '/'
-             tmp_deplibs=`$echo "X $tmp_deplibs" | ${SED} -e "1s,^X,," -e "s,$i,,"`
-           done
-         fi
-         if $echo "X $tmp_deplibs" | $Xsed -e 's/[     ]//g' \
-           | grep . >/dev/null; then
-           $echo
-           if test "X$deplibs_check_method" = "Xnone"; then
-             $echo "*** Warning: inter-library dependencies are not supported in this platform."
-           else
-             $echo "*** Warning: inter-library dependencies are not known to be supported."
-           fi
-           $echo "*** All declared inter-library dependencies are being dropped."
-           droppeddeps=yes
-         fi
-         ;;
-       esac
-       versuffix=$versuffix_save
-       major=$major_save
-       release=$release_save
-       libname=$libname_save
-       name=$name_save
-
-       case $host in
-       *-*-rhapsody* | *-*-darwin1.[012])
-         # On Rhapsody replace the C library is the System framework
-         newdeplibs=`$echo "X $newdeplibs" | $Xsed -e 's/ -lc / -framework System /'`
-         ;;
-       esac
-
-       if test "$droppeddeps" = yes; then
-         if test "$module" = yes; then
-           $echo
-           $echo "*** Warning: libtool could not satisfy all declared inter-library"
-           $echo "*** dependencies of module $libname.  Therefore, libtool will create"
-           $echo "*** a static module, that should work as long as the dlopening"
-           $echo "*** application is linked with the -dlopen flag."
-           if test -z "$global_symbol_pipe"; then
-             $echo
-             $echo "*** However, this would only work if libtool was able to extract symbol"
-             $echo "*** lists from a program, using \`nm' or equivalent, but libtool could"
-             $echo "*** not find such a program.  So, this module is probably useless."
-             $echo "*** \`nm' from GNU binutils and a full rebuild may help."
-           fi
-           if test "$build_old_libs" = no; then
-             oldlibs="$output_objdir/$libname.$libext"
-             build_libtool_libs=module
-             build_old_libs=yes
-           else
-             build_libtool_libs=no
-           fi
-         else
-           $echo "*** The inter-library dependencies that have been dropped here will be"
-           $echo "*** automatically added whenever a program is linked with this library"
-           $echo "*** or is declared to -dlopen it."
-
-           if test "$allow_undefined" = no; then
-             $echo
-             $echo "*** Since this library must not contain undefined symbols,"
-             $echo "*** because either the platform does not support them or"
-             $echo "*** it was explicitly requested with -no-undefined,"
-             $echo "*** libtool will only create a static version of it."
-             if test "$build_old_libs" = no; then
-               oldlibs="$output_objdir/$libname.$libext"
-               build_libtool_libs=module
-               build_old_libs=yes
-             else
-               build_libtool_libs=no
-             fi
-           fi
-         fi
-       fi
-       # Done checking deplibs!
-       deplibs=$newdeplibs
-      fi
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-       case " $new_libs " in
-       *" -L$path/$objdir "*) ;;
-       *)
-         case " $deplibs " in
-         *" -L$path/$objdir "*)
-           new_libs="$new_libs -L$path/$objdir" ;;
-         esac
-         ;;
-       esac
-      done
-      for deplib in $deplibs; do
-       case $deplib in
-       -L*)
-         case " $new_libs " in
-         *" $deplib "*) ;;
-         *) new_libs="$new_libs $deplib" ;;
-         esac
-         ;;
-       *) new_libs="$new_libs $deplib" ;;
-       esac
-      done
-      deplibs="$new_libs"
-
-
-      # All the library-specific variables (install_libdir is set above).
-      library_names=
-      old_library=
-      dlname=
-
-      # Test again, we may have decided not to build it any more
-      if test "$build_libtool_libs" = yes; then
-       if test "$hardcode_into_libs" = yes; then
-         # Hardcode the library paths
-         hardcode_libdirs=
-         dep_rpath=
-         rpath="$finalize_rpath"
-         test "$mode" != relink && rpath="$compile_rpath$rpath"
-         for libdir in $rpath; do
-           if test -n "$hardcode_libdir_flag_spec"; then
-             if test -n "$hardcode_libdir_separator"; then
-               if test -z "$hardcode_libdirs"; then
-                 hardcode_libdirs="$libdir"
-               else
-                 # Just accumulate the unique libdirs.
-                 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-                 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-                   ;;
-                 *)
-                   hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-                   ;;
-                 esac
-               fi
-             else
-               eval flag=\"$hardcode_libdir_flag_spec\"
-               dep_rpath="$dep_rpath $flag"
-             fi
-           elif test -n "$runpath_var"; then
-             case "$perm_rpath " in
-             *" $libdir "*) ;;
-             *) perm_rpath="$perm_rpath $libdir" ;;
-             esac
-           fi
-         done
-         # Substitute the hardcoded libdirs into the rpath.
-         if test -n "$hardcode_libdir_separator" &&
-            test -n "$hardcode_libdirs"; then
-           libdir="$hardcode_libdirs"
-           if test -n "$hardcode_libdir_flag_spec_ld"; then
-             case $archive_cmds in
-             *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;;
-             *)      eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;;
-             esac
-           else
-             eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-           fi
-         fi
-         if test -n "$runpath_var" && test -n "$perm_rpath"; then
-           # We should set the runpath_var.
-           rpath=
-           for dir in $perm_rpath; do
-             rpath="$rpath$dir:"
-           done
-           eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
-         fi
-         test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
-       fi
-
-       shlibpath="$finalize_shlibpath"
-       test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
-       if test -n "$shlibpath"; then
-         eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
-       fi
-
-       # Get the real and link names of the library.
-       eval shared_ext=\"$shrext_cmds\"
-       eval library_names=\"$library_names_spec\"
-       set dummy $library_names
-       realname="$2"
-       shift; shift
-
-       if test -n "$soname_spec"; then
-         eval soname=\"$soname_spec\"
-       else
-         soname="$realname"
-       fi
-       if test -z "$dlname"; then
-         dlname=$soname
-       fi
-
-       lib="$output_objdir/$realname"
-       linknames=
-       for link
-       do
-         linknames="$linknames $link"
-       done
-
-       # Use standard objects if they are pic
-       test -z "$pic_flag" && libobjs=`$echo "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-
-       # Prepare the list of exported symbols
-       if test -z "$export_symbols"; then
-         if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
-           $show "generating symbol list for \`$libname.la'"
-           export_symbols="$output_objdir/$libname.exp"
-           $run $rm $export_symbols
-           cmds=$export_symbols_cmds
-           save_ifs="$IFS"; IFS='~'
-           for cmd in $cmds; do
-             IFS="$save_ifs"
-             eval cmd=\"$cmd\"
-             if len=`expr "X$cmd" : ".*"` &&
-              test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-               $show "$cmd"
-               $run eval "$cmd" || exit $?
-               skipped_export=false
-             else
-               # The command line is too long to execute in one step.
-               $show "using reloadable object file for export list..."
-               skipped_export=:
-               # Break out early, otherwise skipped_export may be
-               # set to false by a later but shorter cmd.
-               break
-             fi
-           done
-           IFS="$save_ifs"
-           if test -n "$export_symbols_regex"; then
-             $show "$EGREP -e \"$export_symbols_regex\" \"$export_symbols\" > \"${export_symbols}T\""
-             $run eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
-             $show "$mv \"${export_symbols}T\" \"$export_symbols\""
-             $run eval '$mv "${export_symbols}T" "$export_symbols"'
-           fi
-         fi
-       fi
-
-       if test -n "$export_symbols" && test -n "$include_expsyms"; then
-         $run eval '$echo "X$include_expsyms" | $SP2NL >> "$export_symbols"'
-       fi
-
-       tmp_deplibs=
-       for test_deplib in $deplibs; do
-               case " $convenience " in
-               *" $test_deplib "*) ;;
-               *)
-                       tmp_deplibs="$tmp_deplibs $test_deplib"
-                       ;;
-               esac
-       done
-       deplibs="$tmp_deplibs"
-
-       if test -n "$convenience"; then
-         if test -n "$whole_archive_flag_spec"; then
-           save_libobjs=$libobjs
-           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-         else
-           gentop="$output_objdir/${outputname}x"
-           generated="$generated $gentop"
-
-           func_extract_archives $gentop $convenience
-           libobjs="$libobjs $func_extract_archives_result"
-         fi
-       fi
-       
-       if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
-         eval flag=\"$thread_safe_flag_spec\"
-         linker_flags="$linker_flags $flag"
-       fi
-
-       # Make a backup of the uninstalled library when relinking
-       if test "$mode" = relink; then
-         $run eval '(cd $output_objdir && $rm ${realname}U && $mv $realname ${realname}U)' || exit $?
-       fi
-
-       # Do each of the archive commands.
-       if test "$module" = yes && test -n "$module_cmds" ; then
-         if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-           eval test_cmds=\"$module_expsym_cmds\"
-           cmds=$module_expsym_cmds
-         else
-           eval test_cmds=\"$module_cmds\"
-           cmds=$module_cmds
-         fi
-       else
-       if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-         eval test_cmds=\"$archive_expsym_cmds\"
-         cmds=$archive_expsym_cmds
-       else
-         eval test_cmds=\"$archive_cmds\"
-         cmds=$archive_cmds
-         fi
-       fi
-
-       if test "X$skipped_export" != "X:" &&
-          len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-          test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-         :
-       else
-         # The command line is too long to link in one step, link piecewise.
-         $echo "creating reloadable object files..."
-
-         # Save the value of $output and $libobjs because we want to
-         # use them later.  If we have whole_archive_flag_spec, we
-         # want to use save_libobjs as it was before
-         # whole_archive_flag_spec was expanded, because we can't
-         # assume the linker understands whole_archive_flag_spec.
-         # This may have to be revisited, in case too many
-         # convenience libraries get linked in and end up exceeding
-         # the spec.
-         if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
-           save_libobjs=$libobjs
-         fi
-         save_output=$output
-         output_la=`$echo "X$output" | $Xsed -e "$basename"`
-
-         # Clear the reloadable object creation command queue and
-         # initialize k to one.
-         test_cmds=
-         concat_cmds=
-         objlist=
-         delfiles=
-         last_robj=
-         k=1
-         output=$output_objdir/$output_la-${k}.$objext
-         # Loop over the list of objects to be linked.
-         for obj in $save_libobjs
-         do
-           eval test_cmds=\"$reload_cmds $objlist $last_robj\"
-           if test "X$objlist" = X ||
-              { len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-                test "$len" -le "$max_cmd_len"; }; then
-             objlist="$objlist $obj"
-           else
-             # The command $test_cmds is almost too long, add a
-             # command to the queue.
-             if test "$k" -eq 1 ; then
-               # The first file doesn't have a previous command to add.
-               eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
-             else
-               # All subsequent reloadable object files will link in
-               # the last one created.
-               eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj\"
-             fi
-             last_robj=$output_objdir/$output_la-${k}.$objext
-             k=`expr $k + 1`
-             output=$output_objdir/$output_la-${k}.$objext
-             objlist=$obj
-             len=1
-           fi
-         done
-         # Handle the remaining objects by creating one last
-         # reloadable object file.  All subsequent reloadable object
-         # files will link in the last one created.
-         test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-         eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
-
-         if ${skipped_export-false}; then
-           $show "generating symbol list for \`$libname.la'"
-           export_symbols="$output_objdir/$libname.exp"
-           $run $rm $export_symbols
-           libobjs=$output
-           # Append the command to create the export file.
-           eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
-          fi
-
-         # Set up a command to remove the reloadable object files
-         # after they are used.
-         i=0
-         while test "$i" -lt "$k"
-         do
-           i=`expr $i + 1`
-           delfiles="$delfiles $output_objdir/$output_la-${i}.$objext"
-         done
-
-         $echo "creating a temporary reloadable object file: $output"
-
-         # Loop through the commands generated above and execute them.
-         save_ifs="$IFS"; IFS='~'
-         for cmd in $concat_cmds; do
-           IFS="$save_ifs"
-           $show "$cmd"
-           $run eval "$cmd" || exit $?
-         done
-         IFS="$save_ifs"
-
-         libobjs=$output
-         # Restore the value of output.
-         output=$save_output
-
-         if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
-           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
-         fi
-         # Expand the library linking commands again to reset the
-         # value of $libobjs for piecewise linking.
-
-         # Do each of the archive commands.
-         if test "$module" = yes && test -n "$module_cmds" ; then
-           if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
-             cmds=$module_expsym_cmds
-           else
-             cmds=$module_cmds
-           fi
-         else
-         if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
-           cmds=$archive_expsym_cmds
-         else
-           cmds=$archive_cmds
-           fi
-         fi
-
-         # Append the command to remove the reloadable object files
-         # to the just-reset $cmds.
-         eval cmds=\"\$cmds~\$rm $delfiles\"
-       fi
-       save_ifs="$IFS"; IFS='~'
-       for cmd in $cmds; do
-         IFS="$save_ifs"
-         eval cmd=\"$cmd\"
-         $show "$cmd"
-         $run eval "$cmd" || {
-           lt_exit=$?
-
-           # Restore the uninstalled library and exit
-           if test "$mode" = relink; then
-             $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
-           fi
-
-           exit $lt_exit
-         }
-       done
-       IFS="$save_ifs"
-
-       # Restore the uninstalled library and exit
-       if test "$mode" = relink; then
-         $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $?
-
-         if test -n "$convenience"; then
-           if test -z "$whole_archive_flag_spec"; then
-             $show "${rm}r $gentop"
-             $run ${rm}r "$gentop"
-           fi
-         fi
-
-         exit $EXIT_SUCCESS
-       fi
-
-       # Create links to the real library.
-       for linkname in $linknames; do
-         if test "$realname" != "$linkname"; then
-           $show "(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)"
-           $run eval '(cd $output_objdir && $rm $linkname && $LN_S $realname $linkname)' || exit $?
-         fi
-       done
-
-       # If -module or -export-dynamic was specified, set the dlname.
-       if test "$module" = yes || test "$export_dynamic" = yes; then
-         # On all known operating systems, these are identical.
-         dlname="$soname"
-       fi
-      fi
-      ;;
-
-    obj)
-      case " $deplibs" in
-      *\ -l* | *\ -L*)
-       $echo "$modename: warning: \`-l' and \`-L' are ignored for objects" 1>&2 ;;
-      esac
-
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       $echo "$modename: warning: \`-dlopen' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$rpath"; then
-       $echo "$modename: warning: \`-rpath' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$xrpath"; then
-       $echo "$modename: warning: \`-R' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$vinfo"; then
-       $echo "$modename: warning: \`-version-info' is ignored for objects" 1>&2
-      fi
-
-      if test -n "$release"; then
-       $echo "$modename: warning: \`-release' is ignored for objects" 1>&2
-      fi
-
-      case $output in
-      *.lo)
-       if test -n "$objs$old_deplibs"; then
-         $echo "$modename: cannot build library object \`$output' from non-libtool objects" 1>&2
-         exit $EXIT_FAILURE
-       fi
-       libobj="$output"
-       obj=`$echo "X$output" | $Xsed -e "$lo2o"`
-       ;;
-      *)
-       libobj=
-       obj="$output"
-       ;;
-      esac
-
-      # Delete the old objects.
-      $run $rm $obj $libobj
-
-      # Objects from convenience libraries.  This assumes
-      # single-version convenience libraries.  Whenever we create
-      # different ones for PIC/non-PIC, this we'll have to duplicate
-      # the extraction.
-      reload_conv_objs=
-      gentop=
-      # reload_cmds runs $LD directly, so let us get rid of
-      # -Wl from whole_archive_flag_spec and hope we can get by with
-      # turning comma into space..
-      wl=
-
-      if test -n "$convenience"; then
-       if test -n "$whole_archive_flag_spec"; then
-         eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
-         reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
-       else
-         gentop="$output_objdir/${obj}x"
-         generated="$generated $gentop"
-
-         func_extract_archives $gentop $convenience
-         reload_conv_objs="$reload_objs $func_extract_archives_result"
-       fi
-      fi
-
-      # Create the old-style object.
-      reload_objs="$objs$old_deplibs "`$echo "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
-
-      output="$obj"
-      cmds=$reload_cmds
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-       IFS="$save_ifs"
-       eval cmd=\"$cmd\"
-       $show "$cmd"
-       $run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-
-      # Exit if we aren't doing a library object file.
-      if test -z "$libobj"; then
-       if test -n "$gentop"; then
-         $show "${rm}r $gentop"
-         $run ${rm}r $gentop
-       fi
-
-       exit $EXIT_SUCCESS
-      fi
-
-      if test "$build_libtool_libs" != yes; then
-       if test -n "$gentop"; then
-         $show "${rm}r $gentop"
-         $run ${rm}r $gentop
-       fi
-
-       # Create an invalid libtool object if no PIC, so that we don't
-       # accidentally link it into a program.
-       # $show "echo timestamp > $libobj"
-       # $run eval "echo timestamp > $libobj" || exit $?
-       exit $EXIT_SUCCESS
-      fi
-
-      if test -n "$pic_flag" || test "$pic_mode" != default; then
-       # Only do commands if we really have different PIC objects.
-       reload_objs="$libobjs $reload_conv_objs"
-       output="$libobj"
-       cmds=$reload_cmds
-       save_ifs="$IFS"; IFS='~'
-       for cmd in $cmds; do
-         IFS="$save_ifs"
-         eval cmd=\"$cmd\"
-         $show "$cmd"
-         $run eval "$cmd" || exit $?
-       done
-       IFS="$save_ifs"
-      fi
-
-      if test -n "$gentop"; then
-       $show "${rm}r $gentop"
-       $run ${rm}r $gentop
-      fi
-
-      exit $EXIT_SUCCESS
-      ;;
-
-    prog)
-      case $host in
-       *cygwin*) output=`$echo $output | ${SED} -e 's,.exe$,,;s,$,.exe,'` ;;
-      esac
-      if test -n "$vinfo"; then
-       $echo "$modename: warning: \`-version-info' is ignored for programs" 1>&2
-      fi
-
-      if test -n "$release"; then
-       $echo "$modename: warning: \`-release' is ignored for programs" 1>&2
-      fi
-
-      if test "$preload" = yes; then
-       if test "$dlopen_support" = unknown && test "$dlopen_self" = unknown &&
-          test "$dlopen_self_static" = unknown; then
-         $echo "$modename: warning: \`AC_LIBTOOL_DLOPEN' not used. Assuming no dlopen support."
-       fi
-      fi
-
-      case $host in
-      *-*-rhapsody* | *-*-darwin1.[012])
-       # On Rhapsody replace the C library is the System framework
-       compile_deplibs=`$echo "X $compile_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
-       finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'`
-       ;;
-      esac
-
-      case $host in
-      *darwin*)
-        # Don't allow lazy linking, it breaks C++ global constructors
-        if test "$tagname" = CXX ; then
-        compile_command="$compile_command ${wl}-bind_at_load"
-        finalize_command="$finalize_command ${wl}-bind_at_load"
-        fi
-        ;;
-      esac
-
-
-      # move library search paths that coincide with paths to not yet
-      # installed libraries to the beginning of the library search list
-      new_libs=
-      for path in $notinst_path; do
-       case " $new_libs " in
-       *" -L$path/$objdir "*) ;;
-       *)
-         case " $compile_deplibs " in
-         *" -L$path/$objdir "*)
-           new_libs="$new_libs -L$path/$objdir" ;;
-         esac
-         ;;
-       esac
-      done
-      for deplib in $compile_deplibs; do
-       case $deplib in
-       -L*)
-         case " $new_libs " in
-         *" $deplib "*) ;;
-         *) new_libs="$new_libs $deplib" ;;
-         esac
-         ;;
-       *) new_libs="$new_libs $deplib" ;;
-       esac
-      done
-      compile_deplibs="$new_libs"
-
-
-      compile_command="$compile_command $compile_deplibs"
-      finalize_command="$finalize_command $finalize_deplibs"
-
-      if test -n "$rpath$xrpath"; then
-       # If the user specified any rpath flags, then add them.
-       for libdir in $rpath $xrpath; do
-         # This is the magic to use -rpath.
-         case "$finalize_rpath " in
-         *" $libdir "*) ;;
-         *) finalize_rpath="$finalize_rpath $libdir" ;;
-         esac
-       done
-      fi
-
-      # Now hardcode the library paths
-      rpath=
-      hardcode_libdirs=
-      for libdir in $compile_rpath $finalize_rpath; do
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs="$libdir"
-           else
-             # Just accumulate the unique libdirs.
-             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-               ;;
-             *)
-               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-               ;;
-             esac
-           fi
-         else
-           eval flag=\"$hardcode_libdir_flag_spec\"
-           rpath="$rpath $flag"
-         fi
-       elif test -n "$runpath_var"; then
-         case "$perm_rpath " in
-         *" $libdir "*) ;;
-         *) perm_rpath="$perm_rpath $libdir" ;;
-         esac
-       fi
-       case $host in
-       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2*)
-         testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'`
-         case :$dllsearchpath: in
-         *":$libdir:"*) ;;
-         *) dllsearchpath="$dllsearchpath:$libdir";;
-         esac
-         case :$dllsearchpath: in
-         *":$testbindir:"*) ;;
-         *) dllsearchpath="$dllsearchpath:$testbindir";;
-         esac
-         ;;
-       esac
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-        test -n "$hardcode_libdirs"; then
-       libdir="$hardcode_libdirs"
-       eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      compile_rpath="$rpath"
-
-      rpath=
-      hardcode_libdirs=
-      for libdir in $finalize_rpath; do
-       if test -n "$hardcode_libdir_flag_spec"; then
-         if test -n "$hardcode_libdir_separator"; then
-           if test -z "$hardcode_libdirs"; then
-             hardcode_libdirs="$libdir"
-           else
-             # Just accumulate the unique libdirs.
-             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
-             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
-               ;;
-             *)
-               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
-               ;;
-             esac
-           fi
-         else
-           eval flag=\"$hardcode_libdir_flag_spec\"
-           rpath="$rpath $flag"
-         fi
-       elif test -n "$runpath_var"; then
-         case "$finalize_perm_rpath " in
-         *" $libdir "*) ;;
-         *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
-         esac
-       fi
-      done
-      # Substitute the hardcoded libdirs into the rpath.
-      if test -n "$hardcode_libdir_separator" &&
-        test -n "$hardcode_libdirs"; then
-       libdir="$hardcode_libdirs"
-       eval rpath=\" $hardcode_libdir_flag_spec\"
-      fi
-      finalize_rpath="$rpath"
-
-      if test -n "$libobjs" && test "$build_old_libs" = yes; then
-       # Transform all the library objects into standard objects.
-       compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-       finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-      fi
-
-      dlsyms=
-      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
-       if test -n "$NM" && test -n "$global_symbol_pipe"; then
-         dlsyms="${outputname}S.c"
-       else
-         $echo "$modename: not configured to extract global symbols from dlpreopened files" 1>&2
-       fi
-      fi
-
-      if test -n "$dlsyms"; then
-       case $dlsyms in
-       "") ;;
-       *.c)
-         # Discover the nlist of each of the dlfiles.
-         nlist="$output_objdir/${outputname}.nm"
-
-         $show "$rm $nlist ${nlist}S ${nlist}T"
-         $run $rm "$nlist" "${nlist}S" "${nlist}T"
-
-         # Parse the name list into a source file.
-         $show "creating $output_objdir/$dlsyms"
-
-         test -z "$run" && $echo > "$output_objdir/$dlsyms" "\
-/* $dlsyms - symbol resolution table for \`$outputname' dlsym emulation. */
-/* Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP */
-
-#ifdef __cplusplus
-extern \"C\" {
-#endif
-
-/* Prevent the only kind of declaration conflicts we can make. */
-#define lt_preloaded_symbols some_other_symbol
-
-/* External symbol declarations for the compiler. */\
-"
-
-         if test "$dlself" = yes; then
-           $show "generating symbol list for \`$output'"
-
-           test -z "$run" && $echo ': @PROGRAM@ ' > "$nlist"
-
-           # Add our own program objects to the symbol list.
-           progfiles=`$echo "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
-           for arg in $progfiles; do
-             $show "extracting global C symbols from \`$arg'"
-             $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-           done
-
-           if test -n "$exclude_expsyms"; then
-             $run eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
-             $run eval '$mv "$nlist"T "$nlist"'
-           fi
-
-           if test -n "$export_symbols_regex"; then
-             $run eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
-             $run eval '$mv "$nlist"T "$nlist"'
-           fi
-
-           # Prepare the list of exported symbols
-           if test -z "$export_symbols"; then
-             export_symbols="$output_objdir/$outputname.exp"
-             $run $rm $export_symbols
-             $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
-              case $host in
-              *cygwin* | *mingw* )
-               $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-               $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
-                ;;
-              esac
-           else
-             $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
-             $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
-             $run eval 'mv "$nlist"T "$nlist"'
-              case $host in
-              *cygwin* | *mingw* )
-               $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
-               $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
-                ;;
-              esac
-           fi
-         fi
-
-         for arg in $dlprefiles; do
-           $show "extracting global C symbols from \`$arg'"
-           name=`$echo "$arg" | ${SED} -e 's%^.*/%%'`
-           $run eval '$echo ": $name " >> "$nlist"'
-           $run eval "$NM $arg | $global_symbol_pipe >> '$nlist'"
-         done
-
-         if test -z "$run"; then
-           # Make sure we have at least an empty file.
-           test -f "$nlist" || : > "$nlist"
-
-           if test -n "$exclude_expsyms"; then
-             $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
-             $mv "$nlist"T "$nlist"
-           fi
-
-           # Try sorting and uniquifying the output.
-           if grep -v "^: " < "$nlist" |
-               if sort -k 3 </dev/null >/dev/null 2>&1; then
-                 sort -k 3
-               else
-                 sort +2
-               fi |
-               uniq > "$nlist"S; then
-             :
-           else
-             grep -v "^: " < "$nlist" > "$nlist"S
-           fi
-
-           if test -f "$nlist"S; then
-             eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$dlsyms"'
-           else
-             $echo '/* NONE */' >> "$output_objdir/$dlsyms"
-           fi
-
-           $echo >> "$output_objdir/$dlsyms" "\
-
-#undef lt_preloaded_symbols
-
-#if defined (__STDC__) && __STDC__
-# define lt_ptr void *
-#else
-# define lt_ptr char *
-# define const
-#endif
-
-/* The mapping between symbol names and symbols. */
-"
-
-           case $host in
-           *cygwin* | *mingw* )
-         $echo >> "$output_objdir/$dlsyms" "\
-/* DATA imports from DLLs on WIN32 can't be const, because
-   runtime relocations are performed -- see ld's documentation
-   on pseudo-relocs */
-struct {
-"
-             ;;
-           * )
-         $echo >> "$output_objdir/$dlsyms" "\
-const struct {
-"
-             ;;
-           esac
-
-
-         $echo >> "$output_objdir/$dlsyms" "\
-  const char *name;
-  lt_ptr address;
-}
-lt_preloaded_symbols[] =
-{\
-"
-
-           eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$dlsyms"
-
-           $echo >> "$output_objdir/$dlsyms" "\
-  {0, (lt_ptr) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif\
-"
-         fi
-
-         pic_flag_for_symtable=
-         case $host in
-         # compiling the symbol table file with pic_flag works around
-         # a FreeBSD bug that causes programs to crash when -lm is
-         # linked before any other PIC object.  But we must not use
-         # pic_flag when linking with -static.  The problem exists in
-         # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-         *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
-           case "$compile_command " in
-           *" -static "*) ;;
-           *) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND";;
-           esac;;
-         *-*-hpux*)
-           case "$compile_command " in
-           *" -static "*) ;;
-           *) pic_flag_for_symtable=" $pic_flag";;
-           esac
-         esac
-
-         # Now compile the dynamic symbol file.
-         $show "(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")"
-         $run eval '(cd $output_objdir && $LTCC  $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable "$dlsyms")' || exit $?
-
-         # Clean up the generated files.
-         $show "$rm $output_objdir/$dlsyms $nlist ${nlist}S ${nlist}T"
-         $run $rm "$output_objdir/$dlsyms" "$nlist" "${nlist}S" "${nlist}T"
-
-         # Transform the symbol file into the correct name.
-          case $host in
-          *cygwin* | *mingw* )
-            if test -f "$output_objdir/${outputname}.def" ; then
-              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
-              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP`
-            else
-              compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-              finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-             fi
-            ;;
-          * )
-            compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-            finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP`
-            ;;
-          esac
-         ;;
-       *)
-         $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2
-         exit $EXIT_FAILURE
-         ;;
-       esac
-      else
-       # We keep going just in case the user didn't refer to
-       # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
-       # really was required.
-
-       # Nullify the symbol file.
-       compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
-       finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP`
-      fi
-
-      if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
-       # Replace the output file specification.
-       compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP`
-       link_command="$compile_command$compile_rpath"
-
-       # We have no uninstalled library dependencies, so finalize right now.
-       $show "$link_command"
-       $run eval "$link_command"
-       exit_status=$?
-
-       # Delete the generated files.
-       if test -n "$dlsyms"; then
-         $show "$rm $output_objdir/${outputname}S.${objext}"
-         $run $rm "$output_objdir/${outputname}S.${objext}"
-       fi
-
-       exit $exit_status
-      fi
-
-      if test -n "$shlibpath_var"; then
-       # We should set the shlibpath_var
-       rpath=
-       for dir in $temp_rpath; do
-         case $dir in
-         [\\/]* | [A-Za-z]:[\\/]*)
-           # Absolute path.
-           rpath="$rpath$dir:"
-           ;;
-         *)
-           # Relative path: add a thisdir entry.
-           rpath="$rpath\$thisdir/$dir:"
-           ;;
-         esac
-       done
-       temp_rpath="$rpath"
-      fi
-
-      if test -n "$compile_shlibpath$finalize_shlibpath"; then
-       compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
-      fi
-      if test -n "$finalize_shlibpath"; then
-       finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
-      fi
-
-      compile_var=
-      finalize_var=
-      if test -n "$runpath_var"; then
-       if test -n "$perm_rpath"; then
-         # We should set the runpath_var.
-         rpath=
-         for dir in $perm_rpath; do
-           rpath="$rpath$dir:"
-         done
-         compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
-       fi
-       if test -n "$finalize_perm_rpath"; then
-         # We should set the runpath_var.
-         rpath=
-         for dir in $finalize_perm_rpath; do
-           rpath="$rpath$dir:"
-         done
-         finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
-       fi
-      fi
-
-      if test "$no_install" = yes; then
-       # We don't need to create a wrapper script.
-       link_command="$compile_var$compile_command$compile_rpath"
-       # Replace the output file specification.
-       link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
-       # Delete the old output file.
-       $run $rm $output
-       # Link the executable and exit
-       $show "$link_command"
-       $run eval "$link_command" || exit $?
-       exit $EXIT_SUCCESS
-      fi
-
-      if test "$hardcode_action" = relink; then
-       # Fast installation is not supported
-       link_command="$compile_var$compile_command$compile_rpath"
-       relink_command="$finalize_var$finalize_command$finalize_rpath"
-
-       $echo "$modename: warning: this platform does not like uninstalled shared libraries" 1>&2
-       $echo "$modename: \`$output' will be relinked during installation" 1>&2
-      else
-       if test "$fast_install" != no; then
-         link_command="$finalize_var$compile_command$finalize_rpath"
-         if test "$fast_install" = yes; then
-           relink_command=`$echo "X$compile_var$compile_command$compile_rpath" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP`
-         else
-           # fast_install is set to needless
-           relink_command=
-         fi
-       else
-         link_command="$compile_var$compile_command$compile_rpath"
-         relink_command="$finalize_var$finalize_command$finalize_rpath"
-       fi
-      fi
-
-      # Replace the output file specification.
-      link_command=`$echo "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
-
-      # Delete the old output files.
-      $run $rm $output $output_objdir/$outputname $output_objdir/lt-$outputname
-
-      $show "$link_command"
-      $run eval "$link_command" || exit $?
-
-      # Now create the wrapper script.
-      $show "creating $output"
-
-      # Quote the relink command for shipping.
-      if test -n "$relink_command"; then
-       # Preserve any variables that may affect compiler behavior
-       for var in $variables_saved_for_relink; do
-         if eval test -z \"\${$var+set}\"; then
-           relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
-         elif eval var_value=\$$var; test -z "$var_value"; then
-           relink_command="$var=; export $var; $relink_command"
-         else
-           var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
-           relink_command="$var=\"$var_value\"; export $var; $relink_command"
-         fi
-       done
-       relink_command="(cd `pwd`; $relink_command)"
-       relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
-      fi
-
-      # Quote $echo for shipping.
-      if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then
-       case $progpath in
-       [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
-       *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
-       esac
-       qecho=`$echo "X$qecho" | $Xsed -e "$sed_quote_subst"`
-      else
-       qecho=`$echo "X$echo" | $Xsed -e "$sed_quote_subst"`
-      fi
-
-      # Only actually do things if our run command is non-null.
-      if test -z "$run"; then
-       # win32 will think the script is a binary if it has
-       # a .exe suffix, so we strip it off here.
-       case $output in
-         *.exe) output=`$echo $output|${SED} 's,.exe$,,'` ;;
-       esac
-       # test for cygwin because mv fails w/o .exe extensions
-       case $host in
-         *cygwin*)
-           exeext=.exe
-           outputname=`$echo $outputname|${SED} 's,.exe$,,'` ;;
-         *) exeext= ;;
-       esac
-       case $host in
-         *cygwin* | *mingw* )
-            output_name=`basename $output`
-            output_path=`dirname $output`
-            cwrappersource="$output_path/$objdir/lt-$output_name.c"
-            cwrapper="$output_path/$output_name.exe"
-            $rm $cwrappersource $cwrapper
-            trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
-
-           cat > $cwrappersource <<EOF
-
-/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
-   Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-
-   The $output program cannot be directly executed until all the libtool
-   libraries that it depends on are installed.
-
-   This wrapper executable should never be moved out of the build directory.
-   If it is, it will not operate correctly.
-
-   Currently, it simply execs the wrapper *script* "/bin/sh $output",
-   but could eventually absorb all of the scripts functionality and
-   exec $objdir/$outputname directly.
-*/
-EOF
-           cat >> $cwrappersource<<"EOF"
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <malloc.h>
-#include <stdarg.h>
-#include <assert.h>
-#include <string.h>
-#include <ctype.h>
-#include <sys/stat.h>
-
-#if defined(PATH_MAX)
-# define LT_PATHMAX PATH_MAX
-#elif defined(MAXPATHLEN)
-# define LT_PATHMAX MAXPATHLEN
-#else
-# define LT_PATHMAX 1024
-#endif
-
-#ifndef DIR_SEPARATOR
-# define DIR_SEPARATOR '/'
-# define PATH_SEPARATOR ':'
-#endif
-
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
-# define HAVE_DOS_BASED_FILE_SYSTEM
-# ifndef DIR_SEPARATOR_2
-#  define DIR_SEPARATOR_2 '\\'
-# endif
-# ifndef PATH_SEPARATOR_2
-#  define PATH_SEPARATOR_2 ';'
-# endif
-#endif
-
-#ifndef DIR_SEPARATOR_2
-# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
-#else /* DIR_SEPARATOR_2 */
-# define IS_DIR_SEPARATOR(ch) \
-        (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
-#endif /* DIR_SEPARATOR_2 */
-
-#ifndef PATH_SEPARATOR_2
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
-#else /* PATH_SEPARATOR_2 */
-# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
-#endif /* PATH_SEPARATOR_2 */
-
-#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
-#define XFREE(stale) do { \
-  if (stale) { free ((void *) stale); stale = 0; } \
-} while (0)
-
-/* -DDEBUG is fairly common in CFLAGS.  */
-#undef DEBUG
-#if defined DEBUGWRAPPER
-# define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__)
-#else
-# define DEBUG(format, ...)
-#endif
-
-const char *program_name = NULL;
-
-void * xmalloc (size_t num);
-char * xstrdup (const char *string);
-const char * base_name (const char *name);
-char * find_executable(const char *wrapper);
-int    check_executable(const char *path);
-char * strendzap(char *str, const char *pat);
-void lt_fatal (const char *message, ...);
-
-int
-main (int argc, char *argv[])
-{
-  char **newargz;
-  int i;
-
-  program_name = (char *) xstrdup (base_name (argv[0]));
-  DEBUG("(main) argv[0]      : %s\n",argv[0]);
-  DEBUG("(main) program_name : %s\n",program_name);
-  newargz = XMALLOC(char *, argc+2);
-EOF
-
-            cat >> $cwrappersource <<EOF
-  newargz[0] = (char *) xstrdup("$SHELL");
-EOF
-
-            cat >> $cwrappersource <<"EOF"
-  newargz[1] = find_executable(argv[0]);
-  if (newargz[1] == NULL)
-    lt_fatal("Couldn't find %s", argv[0]);
-  DEBUG("(main) found exe at : %s\n",newargz[1]);
-  /* we know the script has the same name, without the .exe */
-  /* so make sure newargz[1] doesn't end in .exe */
-  strendzap(newargz[1],".exe");
-  for (i = 1; i < argc; i++)
-    newargz[i+1] = xstrdup(argv[i]);
-  newargz[argc+1] = NULL;
-
-  for (i=0; i<argc+1; i++)
-  {
-    DEBUG("(main) newargz[%d]   : %s\n",i,newargz[i]);
-    ;
-  }
-
-EOF
-
-            case $host_os in
-              mingw*)
-                cat >> $cwrappersource <<EOF
-  execv("$SHELL",(char const **)newargz);
-EOF
-              ;;
-              *)
-                cat >> $cwrappersource <<EOF
-  execv("$SHELL",newargz);
-EOF
-              ;;
-            esac
-
-            cat >> $cwrappersource <<"EOF"
-  return 127;
-}
-
-void *
-xmalloc (size_t num)
-{
-  void * p = (void *) malloc (num);
-  if (!p)
-    lt_fatal ("Memory exhausted");
-
-  return p;
-}
-
-char *
-xstrdup (const char *string)
-{
-  return string ? strcpy ((char *) xmalloc (strlen (string) + 1), string) : NULL
-;
-}
-
-const char *
-base_name (const char *name)
-{
-  const char *base;
-
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  /* Skip over the disk name in MSDOS pathnames. */
-  if (isalpha ((unsigned char)name[0]) && name[1] == ':')
-    name += 2;
-#endif
-
-  for (base = name; *name; name++)
-    if (IS_DIR_SEPARATOR (*name))
-      base = name + 1;
-  return base;
-}
-
-int
-check_executable(const char * path)
-{
-  struct stat st;
-
-  DEBUG("(check_executable)  : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!");
-  if ((!path) || (!*path))
-    return 0;
-
-  if ((stat (path, &st) >= 0) &&
-      (
-        /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */
-#if defined (S_IXOTH)
-       ((st.st_mode & S_IXOTH) == S_IXOTH) ||
-#endif
-#if defined (S_IXGRP)
-       ((st.st_mode & S_IXGRP) == S_IXGRP) ||
-#endif
-       ((st.st_mode & S_IXUSR) == S_IXUSR))
-      )
-    return 1;
-  else
-    return 0;
-}
-
-/* Searches for the full path of the wrapper.  Returns
-   newly allocated full path name if found, NULL otherwise */
-char *
-find_executable (const char* wrapper)
-{
-  int has_slash = 0;
-  const char* p;
-  const char* p_next;
-  /* static buffer for getcwd */
-  char tmp[LT_PATHMAX + 1];
-  int tmp_len;
-  char* concat_name;
-
-  DEBUG("(find_executable)  : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!");
-
-  if ((wrapper == NULL) || (*wrapper == '\0'))
-    return NULL;
-
-  /* Absolute path? */
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':')
-  {
-    concat_name = xstrdup (wrapper);
-    if (check_executable(concat_name))
-      return concat_name;
-    XFREE(concat_name);
-  }
-  else
-  {
-#endif
-    if (IS_DIR_SEPARATOR (wrapper[0]))
-    {
-      concat_name = xstrdup (wrapper);
-      if (check_executable(concat_name))
-        return concat_name;
-      XFREE(concat_name);
-    }
-#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
-  }
-#endif
-
-  for (p = wrapper; *p; p++)
-    if (*p == '/')
-    {
-      has_slash = 1;
-      break;
-    }
-  if (!has_slash)
-  {
-    /* no slashes; search PATH */
-    const char* path = getenv ("PATH");
-    if (path != NULL)
-    {
-      for (p = path; *p; p = p_next)
-      {
-        const char* q;
-        size_t p_len;
-        for (q = p; *q; q++)
-          if (IS_PATH_SEPARATOR(*q))
-            break;
-        p_len = q - p;
-        p_next = (*q == '\0' ? q : q + 1);
-        if (p_len == 0)
-        {
-          /* empty path: current directory */
-          if (getcwd (tmp, LT_PATHMAX) == NULL)
-            lt_fatal ("getcwd failed");
-          tmp_len = strlen(tmp);
-          concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
-          memcpy (concat_name, tmp, tmp_len);
-          concat_name[tmp_len] = '/';
-          strcpy (concat_name + tmp_len + 1, wrapper);
-        }
-        else
-        {
-          concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1);
-          memcpy (concat_name, p, p_len);
-          concat_name[p_len] = '/';
-          strcpy (concat_name + p_len + 1, wrapper);
-        }
-        if (check_executable(concat_name))
-          return concat_name;
-        XFREE(concat_name);
-      }
-    }
-    /* not found in PATH; assume curdir */
-  }
-  /* Relative path | not found in path: prepend cwd */
-  if (getcwd (tmp, LT_PATHMAX) == NULL)
-    lt_fatal ("getcwd failed");
-  tmp_len = strlen(tmp);
-  concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1);
-  memcpy (concat_name, tmp, tmp_len);
-  concat_name[tmp_len] = '/';
-  strcpy (concat_name + tmp_len + 1, wrapper);
-
-  if (check_executable(concat_name))
-    return concat_name;
-  XFREE(concat_name);
-  return NULL;
-}
-
-char *
-strendzap(char *str, const char *pat)
-{
-  size_t len, patlen;
-
-  assert(str != NULL);
-  assert(pat != NULL);
-
-  len = strlen(str);
-  patlen = strlen(pat);
-
-  if (patlen <= len)
-  {
-    str += len - patlen;
-    if (strcmp(str, pat) == 0)
-      *str = '\0';
-  }
-  return str;
-}
-
-static void
-lt_error_core (int exit_status, const char * mode,
-          const char * message, va_list ap)
-{
-  fprintf (stderr, "%s: %s: ", program_name, mode);
-  vfprintf (stderr, message, ap);
-  fprintf (stderr, ".\n");
-
-  if (exit_status >= 0)
-    exit (exit_status);
-}
-
-void
-lt_fatal (const char *message, ...)
-{
-  va_list ap;
-  va_start (ap, message);
-  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
-  va_end (ap);
-}
-EOF
-          # we should really use a build-platform specific compiler
-          # here, but OTOH, the wrappers (shell script and this C one)
-          # are only useful if you want to execute the "real" binary.
-          # Since the "real" binary is built for $host, then this
-          # wrapper might as well be built for $host, too.
-          $run $LTCC $LTCFLAGS -s -o $cwrapper $cwrappersource
-          ;;
-        esac
-        $rm $output
-        trap "$rm $output; exit $EXIT_FAILURE" 1 2 15
-
-       $echo > $output "\
-#! $SHELL
-
-# $output - temporary wrapper script for $objdir/$outputname
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# The $output program cannot be directly executed until all the libtool
-# libraries that it depends on are installed.
-#
-# This wrapper script should never be moved out of the build directory.
-# If it is, it will not operate correctly.
-
-# Sed substitution that helps us do robust quoting.  It backslashifies
-# metacharacters that are still active within double-quoted strings.
-Xsed='${SED} -e 1s/^X//'
-sed_quote_subst='$sed_quote_subst'
-
-# Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE).
-if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
-  emulate sh
-  NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
-fi
-BIN_SH=xpg4; export BIN_SH # for Tru64
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-relink_command=\"$relink_command\"
-
-# This environment variable determines our operation mode.
-if test \"\$libtool_install_magic\" = \"$magic\"; then
-  # install mode needs the following variable:
-  notinst_deplibs='$notinst_deplibs'
-else
-  # When we are sourced in execute mode, \$file and \$echo are already set.
-  if test \"\$libtool_execute_magic\" != \"$magic\"; then
-    echo=\"$qecho\"
-    file=\"\$0\"
-    # Make sure echo works.
-    if test \"X\$1\" = X--no-reexec; then
-      # Discard the --no-reexec flag, and continue.
-      shift
-    elif test \"X\`(\$echo '\t') 2>/dev/null\`\" = 'X\t'; then
-      # Yippee, \$echo works!
-      :
-    else
-      # Restart under the correct shell, and then maybe \$echo will work.
-      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
-    fi
-  fi\
-"
-       $echo >> $output "\
-
-  # Find the directory that this script lives in.
-  thisdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
-  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
-
-  # Follow symbolic links until we get to the real thisdir.
-  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
-  while test -n \"\$file\"; do
-    destdir=\`\$echo \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
-
-    # If there was a directory component, then change thisdir.
-    if test \"x\$destdir\" != \"x\$file\"; then
-      case \"\$destdir\" in
-      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
-      *) thisdir=\"\$thisdir/\$destdir\" ;;
-      esac
-    fi
-
-    file=\`\$echo \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
-    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
-  done
-
-  # Try to get the absolute directory name.
-  absdir=\`cd \"\$thisdir\" && pwd\`
-  test -n \"\$absdir\" && thisdir=\"\$absdir\"
-"
-
-       if test "$fast_install" = yes; then
-         $echo >> $output "\
-  program=lt-'$outputname'$exeext
-  progdir=\"\$thisdir/$objdir\"
-
-  if test ! -f \"\$progdir/\$program\" || \\
-     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
-       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
-
-    file=\"\$\$-\$program\"
-
-    if test ! -d \"\$progdir\"; then
-      $mkdir \"\$progdir\"
-    else
-      $rm \"\$progdir/\$file\"
-    fi"
-
-         $echo >> $output "\
-
-    # relink executable if necessary
-    if test -n \"\$relink_command\"; then
-      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
-      else
-       $echo \"\$relink_command_output\" >&2
-       $rm \"\$progdir/\$file\"
-       exit $EXIT_FAILURE
-      fi
-    fi
-
-    $mv \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
-    { $rm \"\$progdir/\$program\";
-      $mv \"\$progdir/\$file\" \"\$progdir/\$program\"; }
-    $rm \"\$progdir/\$file\"
-  fi"
-       else
-         $echo >> $output "\
-  program='$outputname'
-  progdir=\"\$thisdir/$objdir\"
-"
-       fi
-
-       $echo >> $output "\
-
-  if test -f \"\$progdir/\$program\"; then"
-
-       # Export our shlibpath_var if we have one.
-       if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
-         $echo >> $output "\
-    # Add our own library path to $shlibpath_var
-    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
-
-    # Some systems cannot cope with colon-terminated $shlibpath_var
-    # The second colon is a workaround for a bug in BeOS R4 sed
-    $shlibpath_var=\`\$echo \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
-
-    export $shlibpath_var
-"
-       fi
-
-       # fixup the dll searchpath if we need to.
-       if test -n "$dllsearchpath"; then
-         $echo >> $output "\
-    # Add the dll search path components to the executable PATH
-    PATH=$dllsearchpath:\$PATH
-"
-       fi
-
-       $echo >> $output "\
-    if test \"\$libtool_execute_magic\" != \"$magic\"; then
-      # Run the actual program with our arguments.
-"
-       case $host in
-       # Backslashes separate directories on plain windows
-       *-*-mingw | *-*-os2*)
-         $echo >> $output "\
-      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
-"
-         ;;
-
-       *)
-         $echo >> $output "\
-      exec \"\$progdir/\$program\" \${1+\"\$@\"}
-"
-         ;;
-       esac
-       $echo >> $output "\
-      \$echo \"\$0: cannot exec \$program \$*\"
-      exit $EXIT_FAILURE
-    fi
-  else
-    # The program doesn't exist.
-    \$echo \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
-    \$echo \"This script is just a wrapper for \$program.\" 1>&2
-    $echo \"See the $PACKAGE documentation for more information.\" 1>&2
-    exit $EXIT_FAILURE
-  fi
-fi\
-"
-       chmod +x $output
-      fi
-      exit $EXIT_SUCCESS
-      ;;
-    esac
-
-    # See if we need to build an old-fashioned archive.
-    for oldlib in $oldlibs; do
-
-      if test "$build_libtool_libs" = convenience; then
-       oldobjs="$libobjs_save"
-       addlibs="$convenience"
-       build_libtool_libs=no
-      else
-       if test "$build_libtool_libs" = module; then
-         oldobjs="$libobjs_save"
-         build_libtool_libs=no
-       else
-         oldobjs="$old_deplibs $non_pic_objects"
-       fi
-       addlibs="$old_convenience"
-      fi
-
-      if test -n "$addlibs"; then
-       gentop="$output_objdir/${outputname}x"
-       generated="$generated $gentop"
-
-       func_extract_archives $gentop $addlibs
-       oldobjs="$oldobjs $func_extract_archives_result"
-      fi
-
-      # Do each command in the archive commands.
-      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
-       cmds=$old_archive_from_new_cmds
-      else
-       # POSIX demands no paths to be encoded in archives.  We have
-       # to avoid creating archives with duplicate basenames if we
-       # might have to extract them afterwards, e.g., when creating a
-       # static archive out of a convenience library, or when linking
-       # the entirety of a libtool archive into another (currently
-       # not supported by libtool).
-       if (for obj in $oldobjs
-           do
-             $echo "X$obj" | $Xsed -e 's%^.*/%%'
-           done | sort | sort -uc >/dev/null 2>&1); then
-         :
-       else
-         $echo "copying selected object files to avoid basename conflicts..."
-
-         if test -z "$gentop"; then
-           gentop="$output_objdir/${outputname}x"
-           generated="$generated $gentop"
-
-           $show "${rm}r $gentop"
-           $run ${rm}r "$gentop"
-           $show "$mkdir $gentop"
-           $run $mkdir "$gentop"
-           exit_status=$?
-           if test "$exit_status" -ne 0 && test ! -d "$gentop"; then
-             exit $exit_status
-           fi
-         fi
-
-         save_oldobjs=$oldobjs
-         oldobjs=
-         counter=1
-         for obj in $save_oldobjs
-         do
-           objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'`
-           case " $oldobjs " in
-           " ") oldobjs=$obj ;;
-           *[\ /]"$objbase "*)
-             while :; do
-               # Make sure we don't pick an alternate name that also
-               # overlaps.
-               newobj=lt$counter-$objbase
-               counter=`expr $counter + 1`
-               case " $oldobjs " in
-               *[\ /]"$newobj "*) ;;
-               *) if test ! -f "$gentop/$newobj"; then break; fi ;;
-               esac
-             done
-             $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
-             $run ln "$obj" "$gentop/$newobj" ||
-             $run cp "$obj" "$gentop/$newobj"
-             oldobjs="$oldobjs $gentop/$newobj"
-             ;;
-           *) oldobjs="$oldobjs $obj" ;;
-           esac
-         done
-       fi
-
-       eval cmds=\"$old_archive_cmds\"
-
-       if len=`expr "X$cmds" : ".*"` &&
-            test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then
-         cmds=$old_archive_cmds
-       else
-         # the command line is too long to link in one step, link in parts
-         $echo "using piecewise archive linking..."
-         save_RANLIB=$RANLIB
-         RANLIB=:
-         objlist=
-         concat_cmds=
-         save_oldobjs=$oldobjs
-
-         # Is there a better way of finding the last object in the list?
-         for obj in $save_oldobjs
-         do
-           last_oldobj=$obj
-         done
-         for obj in $save_oldobjs
-         do
-           oldobjs="$objlist $obj"
-           objlist="$objlist $obj"
-           eval test_cmds=\"$old_archive_cmds\"
-           if len=`expr "X$test_cmds" : ".*" 2>/dev/null` &&
-              test "$len" -le "$max_cmd_len"; then
-             :
-           else
-             # the above command should be used before it gets too long
-             oldobjs=$objlist
-             if test "$obj" = "$last_oldobj" ; then
-               RANLIB=$save_RANLIB
-             fi
-             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
-             eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
-             objlist=
-           fi
-         done
-         RANLIB=$save_RANLIB
-         oldobjs=$objlist
-         if test "X$oldobjs" = "X" ; then
-           eval cmds=\"\$concat_cmds\"
-         else
-           eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
-         fi
-       fi
-      fi
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-        eval cmd=\"$cmd\"
-       IFS="$save_ifs"
-       $show "$cmd"
-       $run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$generated"; then
-      $show "${rm}r$generated"
-      $run ${rm}r$generated
-    fi
-
-    # Now create the libtool archive.
-    case $output in
-    *.la)
-      old_library=
-      test "$build_old_libs" = yes && old_library="$libname.$libext"
-      $show "creating $output"
-
-      # Preserve any variables that may affect compiler behavior
-      for var in $variables_saved_for_relink; do
-       if eval test -z \"\${$var+set}\"; then
-         relink_command="{ test -z \"\${$var+set}\" || unset $var || { $var=; export $var; }; }; $relink_command"
-       elif eval var_value=\$$var; test -z "$var_value"; then
-         relink_command="$var=; export $var; $relink_command"
-       else
-         var_value=`$echo "X$var_value" | $Xsed -e "$sed_quote_subst"`
-         relink_command="$var=\"$var_value\"; export $var; $relink_command"
-       fi
-      done
-      # Quote the link command for shipping.
-      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
-      relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP`
-      if test "$hardcode_automatic" = yes ; then
-       relink_command=
-      fi
-
-
-      # Only create the output if not a dry run.
-      if test -z "$run"; then
-       for installed in no yes; do
-         if test "$installed" = yes; then
-           if test -z "$install_libdir"; then
-             break
-           fi
-           output="$output_objdir/$outputname"i
-           # Replace all uninstalled libtool libraries with the installed ones
-           newdependency_libs=
-           for deplib in $dependency_libs; do
-             case $deplib in
-             *.la)
-               name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
-               if test -z "$libdir"; then
-                 $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
-                 exit $EXIT_FAILURE
-               fi
-               newdependency_libs="$newdependency_libs $libdir/$name"
-               ;;
-             *) newdependency_libs="$newdependency_libs $deplib" ;;
-             esac
-           done
-           dependency_libs="$newdependency_libs"
-           newdlfiles=
-           for lib in $dlfiles; do
-             name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-             eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-             if test -z "$libdir"; then
-               $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-               exit $EXIT_FAILURE
-             fi
-             newdlfiles="$newdlfiles $libdir/$name"
-           done
-           dlfiles="$newdlfiles"
-           newdlprefiles=
-           for lib in $dlprefiles; do
-             name=`$echo "X$lib" | $Xsed -e 's%^.*/%%'`
-             eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
-             if test -z "$libdir"; then
-               $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-               exit $EXIT_FAILURE
-             fi
-             newdlprefiles="$newdlprefiles $libdir/$name"
-           done
-           dlprefiles="$newdlprefiles"
-         else
-           newdlfiles=
-           for lib in $dlfiles; do
-             case $lib in
-               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-               *) abs=`pwd`"/$lib" ;;
-             esac
-             newdlfiles="$newdlfiles $abs"
-           done
-           dlfiles="$newdlfiles"
-           newdlprefiles=
-           for lib in $dlprefiles; do
-             case $lib in
-               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
-               *) abs=`pwd`"/$lib" ;;
-             esac
-             newdlprefiles="$newdlprefiles $abs"
-           done
-           dlprefiles="$newdlprefiles"
-         fi
-         $rm $output
-         # place dlname in correct position for cygwin
-         tdlname=$dlname
-         case $host,$output,$installed,$module,$dlname in
-           *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
-         esac
-         $echo > $output "\
-# $outputname - a libtool library file
-# Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='$tdlname'
-
-# Names of this library.
-library_names='$library_names'
-
-# The name of the static archive.
-old_library='$old_library'
-
-# Libraries that this one depends upon.
-dependency_libs='$dependency_libs'
-
-# Version information for $libname.
-current=$current
-age=$age
-revision=$revision
-
-# Is this an already installed library?
-installed=$installed
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=$module
-
-# Files to dlopen/dlpreopen
-dlopen='$dlfiles'
-dlpreopen='$dlprefiles'
-
-# Directory that this library needs to be installed in:
-libdir='$install_libdir'"
-         if test "$installed" = no && test "$need_relink" = yes; then
-           $echo >> $output "\
-relink_command=\"$relink_command\""
-         fi
-       done
-      fi
-
-      # Do a symbolic link so that the libtool archive can be found in
-      # LD_LIBRARY_PATH before the program is installed.
-      $show "(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)"
-      $run eval '(cd $output_objdir && $rm $outputname && $LN_S ../$outputname $outputname)' || exit $?
-      ;;
-    esac
-    exit $EXIT_SUCCESS
-    ;;
-
-  # libtool install mode
-  install)
-    modename="$modename: install"
-
-    # There may be an optional sh(1) argument at the beginning of
-    # install_prog (especially on Windows NT).
-    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
-       # Allow the use of GNU shtool's install command.
-       $echo "X$nonopt" | grep shtool > /dev/null; then
-      # Aesthetically quote it.
-      arg=`$echo "X$nonopt" | $Xsed -e "$sed_quote_subst"`
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-       arg="\"$arg\""
-       ;;
-      esac
-      install_prog="$arg "
-      arg="$1"
-      shift
-    else
-      install_prog=
-      arg=$nonopt
-    fi
-
-    # The real first argument should be the name of the installation program.
-    # Aesthetically quote it.
-    arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-    case $arg in
-    *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \      ]*|*]*|"")
-      arg="\"$arg\""
-      ;;
-    esac
-    install_prog="$install_prog$arg"
-
-    # We need to accept at least all the BSD install flags.
-    dest=
-    files=
-    opts=
-    prev=
-    install_type=
-    isdir=no
-    stripme=
-    for arg
-    do
-      if test -n "$dest"; then
-       files="$files $dest"
-       dest=$arg
-       continue
-      fi
-
-      case $arg in
-      -d) isdir=yes ;;
-      -f) 
-       case " $install_prog " in
-       *[\\\ /]cp\ *) ;;
-       *) prev=$arg ;;
-       esac
-       ;;
-      -g | -m | -o) prev=$arg ;;
-      -s)
-       stripme=" -s"
-       continue
-       ;;
-      -*)
-       ;;
-      *)
-       # If the previous option needed an argument, then skip it.
-       if test -n "$prev"; then
-         prev=
-       else
-         dest=$arg
-         continue
-       fi
-       ;;
-      esac
-
-      # Aesthetically quote the argument.
-      arg=`$echo "X$arg" | $Xsed -e "$sed_quote_subst"`
-      case $arg in
-      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
-       arg="\"$arg\""
-       ;;
-      esac
-      install_prog="$install_prog $arg"
-    done
-
-    if test -z "$install_prog"; then
-      $echo "$modename: you must specify an install program" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    if test -n "$prev"; then
-      $echo "$modename: the \`$prev' option requires an argument" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    if test -z "$files"; then
-      if test -z "$dest"; then
-       $echo "$modename: no file or destination specified" 1>&2
-      else
-       $echo "$modename: you must specify a destination" 1>&2
-      fi
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    # Strip any trailing slash from the destination.
-    dest=`$echo "X$dest" | $Xsed -e 's%/$%%'`
-
-    # Check to see that the destination is a directory.
-    test -d "$dest" && isdir=yes
-    if test "$isdir" = yes; then
-      destdir="$dest"
-      destname=
-    else
-      destdir=`$echo "X$dest" | $Xsed -e 's%/[^/]*$%%'`
-      test "X$destdir" = "X$dest" && destdir=.
-      destname=`$echo "X$dest" | $Xsed -e 's%^.*/%%'`
-
-      # Not a directory, so check to see that there is only one file specified.
-      set dummy $files
-      if test "$#" -gt 2; then
-       $echo "$modename: \`$dest' is not a directory" 1>&2
-       $echo "$help" 1>&2
-       exit $EXIT_FAILURE
-      fi
-    fi
-    case $destdir in
-    [\\/]* | [A-Za-z]:[\\/]*) ;;
-    *)
-      for file in $files; do
-       case $file in
-       *.lo) ;;
-       *)
-         $echo "$modename: \`$destdir' must be an absolute directory name" 1>&2
-         $echo "$help" 1>&2
-         exit $EXIT_FAILURE
-         ;;
-       esac
-      done
-      ;;
-    esac
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    staticlibs=
-    future_libdirs=
-    current_libdirs=
-    for file in $files; do
-
-      # Do each installation.
-      case $file in
-      *.$libext)
-       # Do the static libraries later.
-       staticlibs="$staticlibs $file"
-       ;;
-
-      *.la)
-       # Check to see that this really is a libtool archive.
-       if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-       else
-         $echo "$modename: \`$file' is not a valid libtool archive" 1>&2
-         $echo "$help" 1>&2
-         exit $EXIT_FAILURE
-       fi
-
-       library_names=
-       old_library=
-       relink_command=
-       # If there is no directory component, then add one.
-       case $file in
-       */* | *\\*) . $file ;;
-       *) . ./$file ;;
-       esac
-
-       # Add the libdir to current_libdirs if it is the destination.
-       if test "X$destdir" = "X$libdir"; then
-         case "$current_libdirs " in
-         *" $libdir "*) ;;
-         *) current_libdirs="$current_libdirs $libdir" ;;
-         esac
-       else
-         # Note the libdir as a future libdir.
-         case "$future_libdirs " in
-         *" $libdir "*) ;;
-         *) future_libdirs="$future_libdirs $libdir" ;;
-         esac
-       fi
-
-       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`/
-       test "X$dir" = "X$file/" && dir=
-       dir="$dir$objdir"
-
-       if test -n "$relink_command"; then
-         # Determine the prefix the user has applied to our future dir.
-         inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
-
-         # Don't allow the user to place us outside of our expected
-         # location b/c this prevents finding dependent libraries that
-         # are installed to the same prefix.
-         # At present, this check doesn't affect windows .dll's that
-         # are installed into $libdir/../bin (currently, that works fine)
-         # but it's something to keep an eye on.
-         if test "$inst_prefix_dir" = "$destdir"; then
-           $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-           exit $EXIT_FAILURE
-         fi
-
-         if test -n "$inst_prefix_dir"; then
-           # Stick the inst_prefix_dir data into the link command.
-           relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP`
-         else
-           relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
-         fi
-
-         $echo "$modename: warning: relinking \`$file'" 1>&2
-         $show "$relink_command"
-         if $run eval "$relink_command"; then :
-         else
-           $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-           exit $EXIT_FAILURE
-         fi
-       fi
-
-       # See the names of the shared library.
-       set dummy $library_names
-       if test -n "$2"; then
-         realname="$2"
-         shift
-         shift
-
-         srcname="$realname"
-         test -n "$relink_command" && srcname="$realname"T
-
-         # Install the shared library and build the symlinks.
-         $show "$install_prog $dir/$srcname $destdir/$realname"
-         $run eval "$install_prog $dir/$srcname $destdir/$realname" || exit $?
-         if test -n "$stripme" && test -n "$striplib"; then
-           $show "$striplib $destdir/$realname"
-           $run eval "$striplib $destdir/$realname" || exit $?
-         fi
-
-         if test "$#" -gt 0; then
-           # Delete the old symlinks, and create new ones.
-           # Try `ln -sf' first, because the `ln' binary might depend on
-           # the symlink we replace!  Solaris /bin/ln does not understand -f,
-           # so we also need to try rm && ln -s.
-           for linkname
-           do
-             if test "$linkname" != "$realname"; then
-                $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
-                $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })"
-             fi
-           done
-         fi
-
-         # Do each command in the postinstall commands.
-         lib="$destdir/$realname"
-         cmds=$postinstall_cmds
-         save_ifs="$IFS"; IFS='~'
-         for cmd in $cmds; do
-           IFS="$save_ifs"
-           eval cmd=\"$cmd\"
-           $show "$cmd"
-           $run eval "$cmd" || {
-             lt_exit=$?
-
-             # Restore the uninstalled library and exit
-             if test "$mode" = relink; then
-               $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)'
-             fi
-
-             exit $lt_exit
-           }
-         done
-         IFS="$save_ifs"
-       fi
-
-       # Install the pseudo-library for information purposes.
-       name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-       instname="$dir/$name"i
-       $show "$install_prog $instname $destdir/$name"
-       $run eval "$install_prog $instname $destdir/$name" || exit $?
-
-       # Maybe install the static library, too.
-       test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
-       ;;
-
-      *.lo)
-       # Install (i.e. copy) a libtool object.
-
-       # Figure out destination file name, if it wasn't already specified.
-       if test -n "$destname"; then
-         destfile="$destdir/$destname"
-       else
-         destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-         destfile="$destdir/$destfile"
-       fi
-
-       # Deduce the name of the destination old-style object file.
-       case $destfile in
-       *.lo)
-         staticdest=`$echo "X$destfile" | $Xsed -e "$lo2o"`
-         ;;
-       *.$objext)
-         staticdest="$destfile"
-         destfile=
-         ;;
-       *)
-         $echo "$modename: cannot copy a libtool object to \`$destfile'" 1>&2
-         $echo "$help" 1>&2
-         exit $EXIT_FAILURE
-         ;;
-       esac
-
-       # Install the libtool object if requested.
-       if test -n "$destfile"; then
-         $show "$install_prog $file $destfile"
-         $run eval "$install_prog $file $destfile" || exit $?
-       fi
-
-       # Install the old object if enabled.
-       if test "$build_old_libs" = yes; then
-         # Deduce the name of the old-style object file.
-         staticobj=`$echo "X$file" | $Xsed -e "$lo2o"`
-
-         $show "$install_prog $staticobj $staticdest"
-         $run eval "$install_prog \$staticobj \$staticdest" || exit $?
-       fi
-       exit $EXIT_SUCCESS
-       ;;
-
-      *)
-       # Figure out destination file name, if it wasn't already specified.
-       if test -n "$destname"; then
-         destfile="$destdir/$destname"
-       else
-         destfile=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-         destfile="$destdir/$destfile"
-       fi
-
-       # If the file is missing, and there is a .exe on the end, strip it
-       # because it is most likely a libtool script we actually want to
-       # install
-       stripped_ext=""
-       case $file in
-         *.exe)
-           if test ! -f "$file"; then
-             file=`$echo $file|${SED} 's,.exe$,,'`
-             stripped_ext=".exe"
-           fi
-           ;;
-       esac
-
-       # Do a test to see if this is really a libtool program.
-       case $host in
-       *cygwin*|*mingw*)
-           wrapper=`$echo $file | ${SED} -e 's,.exe$,,'`
-           ;;
-       *)
-           wrapper=$file
-           ;;
-       esac
-       if (${SED} -e '4q' $wrapper | grep "^# Generated by .*$PACKAGE")>/dev/null 2>&1; then
-         notinst_deplibs=
-         relink_command=
-
-         # Note that it is not necessary on cygwin/mingw to append a dot to
-         # foo even if both foo and FILE.exe exist: automatic-append-.exe
-         # behavior happens only for exec(3), not for open(2)!  Also, sourcing
-         # `FILE.' does not work on cygwin managed mounts.
-         #
-         # If there is no directory component, then add one.
-         case $wrapper in
-         */* | *\\*) . ${wrapper} ;;
-         *) . ./${wrapper} ;;
-         esac
-
-         # Check the variables that should have been set.
-         if test -z "$notinst_deplibs"; then
-           $echo "$modename: invalid libtool wrapper script \`$wrapper'" 1>&2
-           exit $EXIT_FAILURE
-         fi
-
-         finalize=yes
-         for lib in $notinst_deplibs; do
-           # Check to see that each library is installed.
-           libdir=
-           if test -f "$lib"; then
-             # If there is no directory component, then add one.
-             case $lib in
-             */* | *\\*) . $lib ;;
-             *) . ./$lib ;;
-             esac
-           fi
-           libfile="$libdir/"`$echo "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
-           if test -n "$libdir" && test ! -f "$libfile"; then
-             $echo "$modename: warning: \`$lib' has not been installed in \`$libdir'" 1>&2
-             finalize=no
-           fi
-         done
-
-         relink_command=
-         # Note that it is not necessary on cygwin/mingw to append a dot to
-         # foo even if both foo and FILE.exe exist: automatic-append-.exe
-         # behavior happens only for exec(3), not for open(2)!  Also, sourcing
-         # `FILE.' does not work on cygwin managed mounts.
-         #
-         # If there is no directory component, then add one.
-         case $wrapper in
-         */* | *\\*) . ${wrapper} ;;
-         *) . ./${wrapper} ;;
-         esac
-
-         outputname=
-         if test "$fast_install" = no && test -n "$relink_command"; then
-           if test "$finalize" = yes && test -z "$run"; then
-             tmpdir=`func_mktempdir`
-             file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'`
-             outputname="$tmpdir/$file"
-             # Replace the output file specification.
-             relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP`
-
-             $show "$relink_command"
-             if $run eval "$relink_command"; then :
-             else
-               $echo "$modename: error: relink \`$file' with the above command before installing it" 1>&2
-               ${rm}r "$tmpdir"
-               continue
-             fi
-             file="$outputname"
-           else
-             $echo "$modename: warning: cannot relink \`$file'" 1>&2
-           fi
-         else
-           # Install the binary that we compiled earlier.
-           file=`$echo "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
-         fi
-       fi
-
-       # remove .exe since cygwin /usr/bin/install will append another
-       # one anyway 
-       case $install_prog,$host in
-       */usr/bin/install*,*cygwin*)
-         case $file:$destfile in
-         *.exe:*.exe)
-           # this is ok
-           ;;
-         *.exe:*)
-           destfile=$destfile.exe
-           ;;
-         *:*.exe)
-           destfile=`$echo $destfile | ${SED} -e 's,.exe$,,'`
-           ;;
-         esac
-         ;;
-       esac
-       $show "$install_prog$stripme $file $destfile"
-       $run eval "$install_prog\$stripme \$file \$destfile" || exit $?
-       test -n "$outputname" && ${rm}r "$tmpdir"
-       ;;
-      esac
-    done
-
-    for file in $staticlibs; do
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-
-      # Set up the ranlib parameters.
-      oldlib="$destdir/$name"
-
-      $show "$install_prog $file $oldlib"
-      $run eval "$install_prog \$file \$oldlib" || exit $?
-
-      if test -n "$stripme" && test -n "$old_striplib"; then
-       $show "$old_striplib $oldlib"
-       $run eval "$old_striplib $oldlib" || exit $?
-      fi
-
-      # Do each command in the postinstall commands.
-      cmds=$old_postinstall_cmds
-      save_ifs="$IFS"; IFS='~'
-      for cmd in $cmds; do
-       IFS="$save_ifs"
-       eval cmd=\"$cmd\"
-       $show "$cmd"
-       $run eval "$cmd" || exit $?
-      done
-      IFS="$save_ifs"
-    done
-
-    if test -n "$future_libdirs"; then
-      $echo "$modename: warning: remember to run \`$progname --finish$future_libdirs'" 1>&2
-    fi
-
-    if test -n "$current_libdirs"; then
-      # Maybe just do a dry run.
-      test -n "$run" && current_libdirs=" -n$current_libdirs"
-      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
-    else
-      exit $EXIT_SUCCESS
-    fi
-    ;;
-
-  # libtool finish mode
-  finish)
-    modename="$modename: finish"
-    libdirs="$nonopt"
-    admincmds=
-
-    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
-      for dir
-      do
-       libdirs="$libdirs $dir"
-      done
-
-      for libdir in $libdirs; do
-       if test -n "$finish_cmds"; then
-         # Do each command in the finish commands.
-         cmds=$finish_cmds
-         save_ifs="$IFS"; IFS='~'
-         for cmd in $cmds; do
-           IFS="$save_ifs"
-           eval cmd=\"$cmd\"
-           $show "$cmd"
-           $run eval "$cmd" || admincmds="$admincmds
-       $cmd"
-         done
-         IFS="$save_ifs"
-       fi
-       if test -n "$finish_eval"; then
-         # Do the single finish_eval.
-         eval cmds=\"$finish_eval\"
-         $run eval "$cmds" || admincmds="$admincmds
-       $cmds"
-       fi
-      done
-    fi
-
-    # Exit here if they wanted silent mode.
-    test "$show" = : && exit $EXIT_SUCCESS
-
-    $echo "X----------------------------------------------------------------------" | $Xsed
-    $echo "Libraries have been installed in:"
-    for libdir in $libdirs; do
-      $echo "   $libdir"
-    done
-    $echo
-    $echo "If you ever happen to want to link against installed libraries"
-    $echo "in a given directory, LIBDIR, you must either use libtool, and"
-    $echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
-    $echo "flag during linking and do at least one of the following:"
-    if test -n "$shlibpath_var"; then
-      $echo "   - add LIBDIR to the \`$shlibpath_var' environment variable"
-      $echo "     during execution"
-    fi
-    if test -n "$runpath_var"; then
-      $echo "   - add LIBDIR to the \`$runpath_var' environment variable"
-      $echo "     during linking"
-    fi
-    if test -n "$hardcode_libdir_flag_spec"; then
-      libdir=LIBDIR
-      eval flag=\"$hardcode_libdir_flag_spec\"
-
-      $echo "   - use the \`$flag' linker flag"
-    fi
-    if test -n "$admincmds"; then
-      $echo "   - have your system administrator run these commands:$admincmds"
-    fi
-    if test -f /etc/ld.so.conf; then
-      $echo "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
-    fi
-    $echo
-    $echo "See any operating system documentation about shared libraries for"
-    $echo "more information, such as the ld(1) and ld.so(8) manual pages."
-    $echo "X----------------------------------------------------------------------" | $Xsed
-    exit $EXIT_SUCCESS
-    ;;
-
-  # libtool execute mode
-  execute)
-    modename="$modename: execute"
-
-    # The first argument is the command name.
-    cmd="$nonopt"
-    if test -z "$cmd"; then
-      $echo "$modename: you must specify a COMMAND" 1>&2
-      $echo "$help"
-      exit $EXIT_FAILURE
-    fi
-
-    # Handle -dlopen flags immediately.
-    for file in $execute_dlfiles; do
-      if test ! -f "$file"; then
-       $echo "$modename: \`$file' is not a file" 1>&2
-       $echo "$help" 1>&2
-       exit $EXIT_FAILURE
-      fi
-
-      dir=
-      case $file in
-      *.la)
-       # Check to see that this really is a libtool archive.
-       if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then :
-       else
-         $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2
-         $echo "$help" 1>&2
-         exit $EXIT_FAILURE
-       fi
-
-       # Read the libtool library.
-       dlname=
-       library_names=
-
-       # If there is no directory component, then add one.
-       case $file in
-       */* | *\\*) . $file ;;
-       *) . ./$file ;;
-       esac
-
-       # Skip this library if it cannot be dlopened.
-       if test -z "$dlname"; then
-         # Warn if it was a shared library.
-         test -n "$library_names" && $echo "$modename: warning: \`$file' was not linked with \`-export-dynamic'"
-         continue
-       fi
-
-       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-       test "X$dir" = "X$file" && dir=.
-
-       if test -f "$dir/$objdir/$dlname"; then
-         dir="$dir/$objdir"
-       else
-         if test ! -f "$dir/$dlname"; then
-           $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2
-           exit $EXIT_FAILURE
-         fi
-       fi
-       ;;
-
-      *.lo)
-       # Just add the directory containing the .lo file.
-       dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-       test "X$dir" = "X$file" && dir=.
-       ;;
-
-      *)
-       $echo "$modename: warning \`-dlopen' is ignored for non-libtool libraries and objects" 1>&2
-       continue
-       ;;
-      esac
-
-      # Get the absolute pathname.
-      absdir=`cd "$dir" && pwd`
-      test -n "$absdir" && dir="$absdir"
-
-      # Now add the directory to shlibpath_var.
-      if eval "test -z \"\$$shlibpath_var\""; then
-       eval "$shlibpath_var=\"\$dir\""
-      else
-       eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
-      fi
-    done
-
-    # This variable tells wrapper scripts just to set shlibpath_var
-    # rather than running their programs.
-    libtool_execute_magic="$magic"
-
-    # Check if any of the arguments is a wrapper script.
-    args=
-    for file
-    do
-      case $file in
-      -*) ;;
-      *)
-       # Do a test to see if this is really a libtool program.
-       if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-         # If there is no directory component, then add one.
-         case $file in
-         */* | *\\*) . $file ;;
-         *) . ./$file ;;
-         esac
-
-         # Transform arg to wrapped name.
-         file="$progdir/$program"
-       fi
-       ;;
-      esac
-      # Quote arguments (to preserve shell metacharacters).
-      file=`$echo "X$file" | $Xsed -e "$sed_quote_subst"`
-      args="$args \"$file\""
-    done
-
-    if test -z "$run"; then
-      if test -n "$shlibpath_var"; then
-       # Export the shlibpath_var.
-       eval "export $shlibpath_var"
-      fi
-
-      # Restore saved environment variables
-      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
-      do
-       eval "if test \"\${save_$lt_var+set}\" = set; then
-               $lt_var=\$save_$lt_var; export $lt_var
-             fi"
-      done
-
-      # Now prepare to actually exec the command.
-      exec_cmd="\$cmd$args"
-    else
-      # Display what would be done.
-      if test -n "$shlibpath_var"; then
-       eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\""
-       $echo "export $shlibpath_var"
-      fi
-      $echo "$cmd$args"
-      exit $EXIT_SUCCESS
-    fi
-    ;;
-
-  # libtool clean and uninstall mode
-  clean | uninstall)
-    modename="$modename: $mode"
-    rm="$nonopt"
-    files=
-    rmforce=
-    exit_status=0
-
-    # This variable tells wrapper scripts just to set variables rather
-    # than running their programs.
-    libtool_install_magic="$magic"
-
-    for arg
-    do
-      case $arg in
-      -f) rm="$rm $arg"; rmforce=yes ;;
-      -*) rm="$rm $arg" ;;
-      *) files="$files $arg" ;;
-      esac
-    done
-
-    if test -z "$rm"; then
-      $echo "$modename: you must specify an RM program" 1>&2
-      $echo "$help" 1>&2
-      exit $EXIT_FAILURE
-    fi
-
-    rmdirs=
-
-    origobjdir="$objdir"
-    for file in $files; do
-      dir=`$echo "X$file" | $Xsed -e 's%/[^/]*$%%'`
-      if test "X$dir" = "X$file"; then
-       dir=.
-       objdir="$origobjdir"
-      else
-       objdir="$dir/$origobjdir"
-      fi
-      name=`$echo "X$file" | $Xsed -e 's%^.*/%%'`
-      test "$mode" = uninstall && objdir="$dir"
-
-      # Remember objdir for removal later, being careful to avoid duplicates
-      if test "$mode" = clean; then
-       case " $rmdirs " in
-         *" $objdir "*) ;;
-         *) rmdirs="$rmdirs $objdir" ;;
-       esac
-      fi
-
-      # Don't error if the file doesn't exist and rm -f was used.
-      if (test -L "$file") >/dev/null 2>&1 \
-       || (test -h "$file") >/dev/null 2>&1 \
-       || test -f "$file"; then
-       :
-      elif test -d "$file"; then
-       exit_status=1
-       continue
-      elif test "$rmforce" = yes; then
-       continue
-      fi
-
-      rmfiles="$file"
-
-      case $name in
-      *.la)
-       # Possibly a libtool archive, so verify it.
-       if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-         . $dir/$name
-
-         # Delete the libtool libraries and symlinks.
-         for n in $library_names; do
-           rmfiles="$rmfiles $objdir/$n"
-         done
-         test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
-
-         case "$mode" in
-         clean)
-           case "  $library_names " in
-           # "  " in the beginning catches empty $dlname
-           *" $dlname "*) ;;
-           *) rmfiles="$rmfiles $objdir/$dlname" ;;
-           esac
-            test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
-           ;;
-         uninstall)
-           if test -n "$library_names"; then
-             # Do each command in the postuninstall commands.
-             cmds=$postuninstall_cmds
-             save_ifs="$IFS"; IFS='~'
-             for cmd in $cmds; do
-               IFS="$save_ifs"
-               eval cmd=\"$cmd\"
-               $show "$cmd"
-               $run eval "$cmd"
-               if test "$?" -ne 0 && test "$rmforce" != yes; then
-                 exit_status=1
-               fi
-             done
-             IFS="$save_ifs"
-           fi
-
-           if test -n "$old_library"; then
-             # Do each command in the old_postuninstall commands.
-             cmds=$old_postuninstall_cmds
-             save_ifs="$IFS"; IFS='~'
-             for cmd in $cmds; do
-               IFS="$save_ifs"
-               eval cmd=\"$cmd\"
-               $show "$cmd"
-               $run eval "$cmd"
-               if test "$?" -ne 0 && test "$rmforce" != yes; then
-                 exit_status=1
-               fi
-             done
-             IFS="$save_ifs"
-           fi
-           # FIXME: should reinstall the best remaining shared library.
-           ;;
-         esac
-       fi
-       ;;
-
-      *.lo)
-       # Possibly a libtool object, so verify it.
-       if (${SED} -e '2q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-
-         # Read the .lo file
-         . $dir/$name
-
-         # Add PIC object to the list of files to remove.
-         if test -n "$pic_object" \
-            && test "$pic_object" != none; then
-           rmfiles="$rmfiles $dir/$pic_object"
-         fi
-
-         # Add non-PIC object to the list of files to remove.
-         if test -n "$non_pic_object" \
-            && test "$non_pic_object" != none; then
-           rmfiles="$rmfiles $dir/$non_pic_object"
-         fi
-       fi
-       ;;
-
-      *)
-       if test "$mode" = clean ; then
-         noexename=$name
-         case $file in
-         *.exe)
-           file=`$echo $file|${SED} 's,.exe$,,'`
-           noexename=`$echo $name|${SED} 's,.exe$,,'`
-           # $file with .exe has already been added to rmfiles,
-           # add $file without .exe
-           rmfiles="$rmfiles $file"
-           ;;
-         esac
-         # Do a test to see if this is a libtool program.
-         if (${SED} -e '4q' $file | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then
-           relink_command=
-           . $dir/$noexename
-
-           # note $name still contains .exe if it was in $file originally
-           # as does the version of $file that was added into $rmfiles
-           rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
-           if test "$fast_install" = yes && test -n "$relink_command"; then
-             rmfiles="$rmfiles $objdir/lt-$name"
-           fi
-           if test "X$noexename" != "X$name" ; then
-             rmfiles="$rmfiles $objdir/lt-${noexename}.c"
-           fi
-         fi
-       fi
-       ;;
-      esac
-      $show "$rm $rmfiles"
-      $run $rm $rmfiles || exit_status=1
-    done
-    objdir="$origobjdir"
-
-    # Try to remove the ${objdir}s in the directories where we deleted files
-    for dir in $rmdirs; do
-      if test -d "$dir"; then
-       $show "rmdir $dir"
-       $run rmdir $dir >/dev/null 2>&1
-      fi
-    done
-
-    exit $exit_status
-    ;;
-
-  "")
-    $echo "$modename: you must specify a MODE" 1>&2
-    $echo "$generic_help" 1>&2
-    exit $EXIT_FAILURE
-    ;;
-  esac
-
-  if test -z "$exec_cmd"; then
-    $echo "$modename: invalid operation mode \`$mode'" 1>&2
-    $echo "$generic_help" 1>&2
-    exit $EXIT_FAILURE
-  fi
-fi # test -z "$show_help"
-
-if test -n "$exec_cmd"; then
-  eval exec $exec_cmd
-  exit $EXIT_FAILURE
-fi
-
-# We need to display help for each of the modes.
-case $mode in
-"") $echo \
-"Usage: $modename [OPTION]... [MODE-ARG]...
-
-Provide generalized library-building support services.
-
-    --config          show all configuration variables
-    --debug           enable verbose shell tracing
--n, --dry-run         display commands without modifying any files
-    --features        display basic configuration information and exit
-    --finish          same as \`--mode=finish'
-    --help            display this help message and exit
-    --mode=MODE       use operation mode MODE [default=inferred from MODE-ARGS]
-    --quiet           same as \`--silent'
-    --silent          don't print informational messages
-    --tag=TAG         use configuration variables from tag TAG
-    --version         print version information
-
-MODE must be one of the following:
-
-      clean           remove files from the build directory
-      compile         compile a source file into a libtool object
-      execute         automatically set library path, then run a program
-      finish          complete the installation of libtool libraries
-      install         install libraries or executables
-      link            create a library or an executable
-      uninstall       remove libraries from an installed directory
-
-MODE-ARGS vary depending on the MODE.  Try \`$modename --help --mode=MODE' for
-a more detailed description of MODE.
-
-Report bugs to <bug-libtool@gnu.org>."
-  exit $EXIT_SUCCESS
-  ;;
-
-clean)
-  $echo \
-"Usage: $modename [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
-
-Remove files from the build directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, object or program, all the files associated
-with it are deleted. Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-compile)
-  $echo \
-"Usage: $modename [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
-
-Compile a source file into a libtool library object.
-
-This mode accepts the following additional options:
-
-  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
-  -prefer-pic       try to building PIC objects only
-  -prefer-non-pic   try to building non-PIC objects only
-  -static           always build a \`.o' file suitable for static linking
-
-COMPILE-COMMAND is a command to be used in creating a \`standard' object file
-from the given SOURCEFILE.
-
-The output file name is determined by removing the directory component from
-SOURCEFILE, then substituting the C source code suffix \`.c' with the
-library object suffix, \`.lo'."
-  ;;
-
-execute)
-  $echo \
-"Usage: $modename [OPTION]... --mode=execute COMMAND [ARGS]...
-
-Automatically set library path, then run a program.
-
-This mode accepts the following additional options:
-
-  -dlopen FILE      add the directory containing FILE to the library path
-
-This mode sets the library path environment variable according to \`-dlopen'
-flags.
-
-If any of the ARGS are libtool executable wrappers, then they are translated
-into their corresponding uninstalled binary, and any of their required library
-directories are added to the library path.
-
-Then, COMMAND is executed, with ARGS as arguments."
-  ;;
-
-finish)
-  $echo \
-"Usage: $modename [OPTION]... --mode=finish [LIBDIR]...
-
-Complete the installation of libtool libraries.
-
-Each LIBDIR is a directory that contains libtool libraries.
-
-The commands that this mode executes may require superuser privileges.  Use
-the \`--dry-run' option if you just want to see what would be executed."
-  ;;
-
-install)
-  $echo \
-"Usage: $modename [OPTION]... --mode=install INSTALL-COMMAND...
-
-Install executables or libraries.
-
-INSTALL-COMMAND is the installation command.  The first component should be
-either the \`install' or \`cp' program.
-
-The rest of the components are interpreted as arguments to that command (only
-BSD-compatible install options are recognized)."
-  ;;
-
-link)
-  $echo \
-"Usage: $modename [OPTION]... --mode=link LINK-COMMAND...
-
-Link object files or libraries together to form another library, or to
-create an executable program.
-
-LINK-COMMAND is a command using the C compiler that you would use to create
-a program from several object files.
-
-The following components of LINK-COMMAND are treated specially:
-
-  -all-static       do not do any dynamic linking at all
-  -avoid-version    do not add a version suffix if possible
-  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
-  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
-  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
-  -export-symbols SYMFILE
-                    try to export only the symbols listed in SYMFILE
-  -export-symbols-regex REGEX
-                    try to export only the symbols matching REGEX
-  -LLIBDIR          search LIBDIR for required installed libraries
-  -lNAME            OUTPUT-FILE requires the installed library libNAME
-  -module           build a library that can dlopened
-  -no-fast-install  disable the fast-install mode
-  -no-install       link a not-installable executable
-  -no-undefined     declare that a library does not refer to external symbols
-  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
-  -objectlist FILE  Use a list of object files found in FILE to specify objects
-  -precious-files-regex REGEX
-                    don't remove output files matching REGEX
-  -release RELEASE  specify package release information
-  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
-  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
-  -static           do not do any dynamic linking of uninstalled libtool libraries
-  -static-libtool-libs
-                    do not do any dynamic linking of libtool libraries
-  -version-info CURRENT[:REVISION[:AGE]]
-                    specify library version info [each variable defaults to 0]
-
-All other options (arguments beginning with \`-') are ignored.
-
-Every other argument is treated as a filename.  Files ending in \`.la' are
-treated as uninstalled libtool libraries, other files are standard or library
-object files.
-
-If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
-only library objects (\`.lo' files) may be specified, and \`-rpath' is
-required, except when creating a convenience library.
-
-If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
-using \`ar' and \`ranlib', or on Windows using \`lib'.
-
-If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
-is created, otherwise an executable program is created."
-  ;;
-
-uninstall)
-  $echo \
-"Usage: $modename [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
-
-Remove libraries from an installation directory.
-
-RM is the name of the program to use to delete files associated with each FILE
-(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
-to RM.
-
-If FILE is a libtool library, all the files associated with it are deleted.
-Otherwise, only FILE itself is deleted using RM."
-  ;;
-
-*)
-  $echo "$modename: invalid operation mode \`$mode'" 1>&2
-  $echo "$help" 1>&2
-  exit $EXIT_FAILURE
-  ;;
-esac
-
-$echo
-$echo "Try \`$modename --help' for more information about other modes."
-
-exit $?
-
-# The TAGs below are defined such that we never get into a situation
-# in which we disable both kinds of libraries.  Given conflicting
-# choices, we go for a static library, that is the most portable,
-# since we can't tell whether shared libraries were disabled because
-# the user asked for that or because the platform doesn't support
-# them.  This is particularly important on AIX, because we don't
-# support having both static and shared libraries enabled at the same
-# time on that platform, so we default to a shared-only configuration.
-# If a disable-shared tag is given, we'll fallback to a static-only
-# configuration.  But we'll never go from static-only to shared-only.
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
-disable_libs=shared
-# ### END LIBTOOL TAG CONFIG: disable-shared
-
-# ### BEGIN LIBTOOL TAG CONFIG: disable-static
-disable_libs=static
-# ### END LIBTOOL TAG CONFIG: disable-static
-
-# Local Variables:
-# mode:shell-script
-# sh-indentation:2
-# End:
diff --git a/lib/libfaad2/make-xbmc-lib.sh b/lib/libfaad2/make-xbmc-lib.sh
deleted file mode 100755 (executable)
index 43dfa0e..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash 
-# Requires libtool
-
-if [ "$XBMC_ROOT" == "" ]; then
-   echo you must define XBMC_ROOT to the root source folder
-   exit 1
-fi
-
-PLATFORM=`uname -m`
-if [ $PLATFORM != "x86_64" ]; then
-   PLATFORM="i486"
-fi
-
-make distclean
-
-autoreconf -vif &&
-./configure --with-mp4v2 --with-pic &&
-make &&
-
-echo wrapping libfaad &&
-gcc -shared -fpic --soname,libfaad-$PLATFORM-linux.so -o libfaad-$PLATFORM-linux.so -rdynamic libfaad/*.o `cat $XBMC_ROOT/xbmc/cores/DllLoader/exports/wrapper.def` &&
-
-echo copying lib &&
-cp -v libfaad-$PLATFORM-linux.so $XBMC_ROOT/system/players/dvdplayer
-
-
diff --git a/lib/libfaad2/missing b/lib/libfaad2/missing
deleted file mode 100755 (executable)
index 1c8ff70..0000000
+++ /dev/null
@@ -1,367 +0,0 @@
-#! /bin/sh
-# Common stub for a few missing GNU programs while installing.
-
-scriptversion=2006-05-10.23
-
-# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
-#   Free Software Foundation, Inc.
-# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
-
-# 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, 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., 51 Franklin Street, Fifth Floor, Boston, MA
-# 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-if test $# -eq 0; then
-  echo 1>&2 "Try \`$0 --help' for more information"
-  exit 1
-fi
-
-run=:
-sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
-
-# In the cases where this matters, `missing' is being run in the
-# srcdir already.
-if test -f configure.ac; then
-  configure_ac=configure.ac
-else
-  configure_ac=configure.in
-fi
-
-msg="missing on your system"
-
-case $1 in
---run)
-  # Try to run requested program, and just exit if it succeeds.
-  run=
-  shift
-  "$@" && exit 0
-  # Exit code 63 means version mismatch.  This often happens
-  # when the user try to use an ancient version of a tool on
-  # a file that requires a minimum version.  In this case we
-  # we should proceed has if the program had been absent, or
-  # if --run hadn't been passed.
-  if test $? = 63; then
-    run=:
-    msg="probably too old"
-  fi
-  ;;
-
-  -h|--h|--he|--hel|--help)
-    echo "\
-$0 [OPTION]... PROGRAM [ARGUMENT]...
-
-Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
-error status if there is no known handling for PROGRAM.
-
-Options:
-  -h, --help      display this help and exit
-  -v, --version   output version information and exit
-  --run           try to run the given command, and emulate it if it fails
-
-Supported PROGRAM values:
-  aclocal      touch file \`aclocal.m4'
-  autoconf     touch file \`configure'
-  autoheader   touch file \`config.h.in'
-  autom4te     touch the output file, or create a stub one
-  automake     touch all \`Makefile.in' files
-  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
-  flex         create \`lex.yy.c', if possible, from existing .c
-  help2man     touch the output file
-  lex          create \`lex.yy.c', if possible, from existing .c
-  makeinfo     touch the output file
-  tar          try tar, gnutar, gtar, then tar without non-portable flags
-  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
-
-Send bug reports to <bug-automake@gnu.org>."
-    exit $?
-    ;;
-
-  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
-    echo "missing $scriptversion (GNU Automake)"
-    exit $?
-    ;;
-
-  -*)
-    echo 1>&2 "$0: Unknown \`$1' option"
-    echo 1>&2 "Try \`$0 --help' for more information"
-    exit 1
-    ;;
-
-esac
-
-# Now exit if we have it, but it failed.  Also exit now if we
-# don't have it and --version was passed (most likely to detect
-# the program).
-case $1 in
-  lex|yacc)
-    # Not GNU programs, they don't have --version.
-    ;;
-
-  tar)
-    if test -n "$run"; then
-       echo 1>&2 "ERROR: \`tar' requires --run"
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       exit 1
-    fi
-    ;;
-
-  *)
-    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
-       # We have it, but it failed.
-       exit 1
-    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
-       # Could not run --version or --help.  This is probably someone
-       # running `$TOOL --version' or `$TOOL --help' to check whether
-       # $TOOL exists and not knowing $TOOL uses missing.
-       exit 1
-    fi
-    ;;
-esac
-
-# If it does not exist, or fails to run (possibly an outdated version),
-# try to emulate it.
-case $1 in
-  aclocal*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
-         to install the \`Automake' and \`Perl' packages.  Grab them from
-         any GNU archive site."
-    touch aclocal.m4
-    ;;
-
-  autoconf)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`${configure_ac}'.  You might want to install the
-         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
-         archive site."
-    touch configure
-    ;;
-
-  autoheader)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
-         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
-         from any GNU archive site."
-    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
-    test -z "$files" && files="config.h"
-    touch_files=
-    for f in $files; do
-      case $f in
-      *:*) touch_files="$touch_files "`echo "$f" |
-                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
-      *) touch_files="$touch_files $f.in";;
-      esac
-    done
-    touch $touch_files
-    ;;
-
-  automake*)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
-         You might want to install the \`Automake' and \`Perl' packages.
-         Grab them from any GNU archive site."
-    find . -type f -name Makefile.am -print |
-          sed 's/\.am$/.in/' |
-          while read f; do touch "$f"; done
-    ;;
-
-  autom4te)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, but is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.
-         You can get \`$1' as part of \`Autoconf' from any GNU
-         archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo "#! /bin/sh"
-       echo "# Created by GNU Automake missing as a replacement of"
-       echo "#  $ $@"
-       echo "exit 0"
-       chmod +x $file
-       exit 1
-    fi
-    ;;
-
-  bison|yacc)
-    echo 1>&2 "\
-WARNING: \`$1' $msg.  You should only need it if
-         you modified a \`.y' file.  You may need the \`Bison' package
-         in order for those modifications to take effect.  You can get
-         \`Bison' from any GNU archive site."
-    rm -f y.tab.c y.tab.h
-    if test $# -ne 1; then
-        eval LASTARG="\${$#}"
-       case $LASTARG in
-       *.y)
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.c
-           fi
-           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" y.tab.h
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f y.tab.h; then
-       echo >y.tab.h
-    fi
-    if test ! -f y.tab.c; then
-       echo 'main() { return 0; }' >y.tab.c
-    fi
-    ;;
-
-  lex|flex)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.l' file.  You may need the \`Flex' package
-         in order for those modifications to take effect.  You can get
-         \`Flex' from any GNU archive site."
-    rm -f lex.yy.c
-    if test $# -ne 1; then
-        eval LASTARG="\${$#}"
-       case $LASTARG in
-       *.l)
-           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
-           if test -f "$SRCFILE"; then
-                cp "$SRCFILE" lex.yy.c
-           fi
-         ;;
-       esac
-    fi
-    if test ! -f lex.yy.c; then
-       echo 'main() { return 0; }' >lex.yy.c
-    fi
-    ;;
-
-  help2man)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-        you modified a dependency of a manual page.  You may need the
-        \`Help2man' package in order for those modifications to take
-        effect.  You can get \`Help2man' from any GNU archive site."
-
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -f "$file"; then
-       touch $file
-    else
-       test -z "$file" || exec >$file
-       echo ".ab help2man is required to generate this page"
-       exit 1
-    fi
-    ;;
-
-  makeinfo)
-    echo 1>&2 "\
-WARNING: \`$1' is $msg.  You should only need it if
-         you modified a \`.texi' or \`.texinfo' file, or any other file
-         indirectly affecting the aspect of the manual.  The spurious
-         call might also be the consequence of using a buggy \`make' (AIX,
-         DU, IRIX).  You might want to install the \`Texinfo' package or
-         the \`GNU make' package.  Grab either from any GNU archive site."
-    # The file to touch is that specified with -o ...
-    file=`echo "$*" | sed -n "$sed_output"`
-    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
-    if test -z "$file"; then
-      # ... or it is the one specified with @setfilename ...
-      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
-      file=`sed -n '
-       /^@setfilename/{
-         s/.* \([^ ]*\) *$/\1/
-         p
-         q
-       }' $infile`
-      # ... or it is derived from the source name (dir/f.texi becomes f.info)
-      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
-    fi
-    # If the file does not exist, the user really needs makeinfo;
-    # let's fail without touching anything.
-    test -f $file || exit 1
-    touch $file
-    ;;
-
-  tar)
-    shift
-
-    # We have already tried tar in the generic part.
-    # Look for gnutar/gtar before invocation to avoid ugly error
-    # messages.
-    if (gnutar --version > /dev/null 2>&1); then
-       gnutar "$@" && exit 0
-    fi
-    if (gtar --version > /dev/null 2>&1); then
-       gtar "$@" && exit 0
-    fi
-    firstarg="$1"
-    if shift; then
-       case $firstarg in
-       *o*)
-           firstarg=`echo "$firstarg" | sed s/o//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-       case $firstarg in
-       *h*)
-           firstarg=`echo "$firstarg" | sed s/h//`
-           tar "$firstarg" "$@" && exit 0
-           ;;
-       esac
-    fi
-
-    echo 1>&2 "\
-WARNING: I can't seem to be able to run \`tar' with the given arguments.
-         You may want to install GNU tar or Free paxutils, or check the
-         command line arguments."
-    exit 1
-    ;;
-
-  *)
-    echo 1>&2 "\
-WARNING: \`$1' is needed, and is $msg.
-         You might have modified some files without having the
-         proper tools for further handling them.  Check the \`README' file,
-         it often tells you about the needed prerequisites for installing
-         this package.  You may also peek at any GNU archive site, in case
-         some other package would contain this missing \`$1' program."
-    exit 1
-    ;;
-esac
-
-exit 0
-
-# Local variables:
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/lib/libfaad2/plugins/Makefile.am b/lib/libfaad2/plugins/Makefile.am
deleted file mode 100644 (file)
index 7d91055..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-if HAVE_MPEG4IP_PLUG
-if HAVE_XMMS
-SUBDIRS = xmms mpeg4ip
-else
-SUBDIRS = mpeg4ip
-endif #HAVE_XMMS
-else
-if HAVE_XMMS
-SUBDIRS = xmms
-else
-SUBDIRS =
-endif #HAVE_XMMS
-endif #HAVE_MPEG4IP_PLUG
diff --git a/lib/libfaad2/plugins/Makefile.in b/lib/libfaad2/plugins/Makefile.in
deleted file mode 100644 (file)
index a7b18ce..0000000
+++ /dev/null
@@ -1,490 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = plugins
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = xmms mpeg4ip
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-GTK_CONFIG = @GTK_CONFIG@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MP4FF_LIBS = @MP4FF_LIBS@
-NMEDIT = @NMEDIT@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-RPMBUILD = @RPMBUILD@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CONFIG = @XMMS_CONFIG@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-external_mp4v2 = @external_mp4v2@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-@HAVE_MPEG4IP_PLUG_FALSE@@HAVE_XMMS_FALSE@SUBDIRS = 
-@HAVE_MPEG4IP_PLUG_FALSE@@HAVE_XMMS_TRUE@SUBDIRS = xmms
-@HAVE_MPEG4IP_PLUG_TRUE@@HAVE_XMMS_FALSE@SUBDIRS = mpeg4ip
-@HAVE_MPEG4IP_PLUG_TRUE@@HAVE_XMMS_TRUE@SUBDIRS = xmms mpeg4ip
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  plugins/Makefile'; \
-       cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  plugins/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-           $$tags $$unique; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$tags$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$tags $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && cd $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-         else \
-           test -f $(distdir)/$$file \
-           || cp -p $$d/$$file $(distdir)/$$file \
-           || exit 1; \
-         fi; \
-       done
-       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-           distdir=`$(am__cd) $(distdir) && pwd`; \
-           top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-           (cd $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$top_distdir" \
-               distdir="$$distdir/$$subdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-info: install-info-recursive
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-       install-strip
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic clean-libtool \
-       ctags ctags-recursive distclean distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lib/libfaad2/plugins/QCD/QCDFAAD.c b/lib/libfaad2/plugins/QCD/QCDFAAD.c
deleted file mode 100644 (file)
index f474b38..0000000
+++ /dev/null
@@ -1,1030 +0,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: QCDFAAD.c,v 1.2 2003/04/28 19:04:35 menno Exp $
-** based on menno's in_faad.dll plugin for Winamp
-**
-** The tag function has been removed because QCD supports ID3v1 & ID3v2 very well
-** About how to tagging: Please read the "ReadMe.txt" first
-**/
-
-#define WIN32_LEAN_AND_MEAN
-
-#include <windows.h>
-#include <mmreg.h>
-#include <commctrl.h>
-#include <shellapi.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include "QCDInputDLL.h"
-
-#include "resource.h"
-
-#include <faad.h>
-#include <aacinfo.h>
-#include <filestream.h>
-//#include <id3v2tag.h>
-
-static char app_name[] = "QCDFAAD";
-
-faadAACInfo file_info;
-
-faacDecHandle hDecoder;
-faacDecFrameInfo frameInfo;
-
-HINSTANCE              hInstance;
-HWND                   hwndPlayer, hwndConfig, hwndAbout;
-QCDModInitIn   sQCDCallbacks, *QCDCallbacks;
-BOOL                   oldAPIs = 0;
-static char    lastfn[MAX_PATH]; // currently playing file (used for getting info on the current file)
-int file_length; // file length, in bytes
-int paused; // are we paused?
-int seek_needed; // if != -1, it is the point that the decode thread should seek to, in ms.
-
-char *sample_buffer; // sample buffer
-unsigned char *buffer; // input buffer
-unsigned char *memmap_buffer; // input buffer for whole file
-long memmap_index;
-
-long buffercount, fileread, bytecount;
-
-// seek table for ADTS header files
-unsigned long *seek_table = NULL;
-int seek_table_length=0;
-
-int killPlayThread = 0; // the kill switch for the decode thread
-HANDLE play_thread_handle = INVALID_HANDLE_VALUE; // the handle to the decode thread
-FILE_STREAM *infile;
-
-/* Function definitions */
-int id3v2_tag(unsigned char *buffer);
-DWORD WINAPI PlayThread(void *b); // the decode thread procedure
-
-// general funcz
-static void show_error(const char *message,...)
-{
-       char foo[512];
-       va_list args;
-       va_start(args, message);
-       vsprintf(foo, message, args);
-       va_end(args);
-       MessageBox(hwndPlayer, foo, "FAAD Plug-in Error", MB_ICONSTOP);
-}
-
-
-// 1= use vbr display, 0 = use average bitrate. This value only controls what shows up in the
-// configuration form. Also- Streaming uses an on-the-fly bitrate display regardless of this value.
-long m_variable_bitrate_display=0;
-long m_priority = 5;
-long m_memmap_file = 0;
-static char INI_FILE[MAX_PATH];
-
-char *priority_text[] = {      "",
-                                                       "Decode Thread Priority: Lowest",
-                                                       "Decode Thread Priority: Lower",
-                                                       "Decode Thread Priority: Normal",
-                                                       "Decode Thread Priority: Higher",
-                                                       "Decode Thread Priority: Highest (default)"
-                                               };
-
-long priority_table[] = {0, THREAD_PRIORITY_LOWEST, THREAD_PRIORITY_BELOW_NORMAL, THREAD_PRIORITY_NORMAL, THREAD_PRIORITY_ABOVE_NORMAL, THREAD_PRIORITY_HIGHEST};
-
-long current_file_mode = 0;
-
-int PlayThread_memmap();
-int PlayThread_file();
-
-static void _r_s(char *name,char *data, int mlen)
-{
-       char buf[10];
-       strcpy(buf,data);
-       GetPrivateProfileString(app_name,name,buf,data,mlen,INI_FILE);
-}
-
-#define RS(x) (_r_s(#x,x,sizeof(x)))
-#define WS(x) (WritePrivateProfileString(app_name,#x,x,INI_FILE))
-
-void config_read()
-{
-    char variable_bitrate_display[10];
-    char priority[10];
-    char memmap_file[10];
-    char local_buffer_size[10];
-    char stream_buffer_size[10];
-
-    strcpy(variable_bitrate_display, "1");
-    strcpy(priority, "5");
-    strcpy(memmap_file, "0");
-    strcpy(local_buffer_size, "128");
-    strcpy(stream_buffer_size, "64");
-
-    RS(variable_bitrate_display);
-    RS(priority);
-    RS(memmap_file);
-    RS(local_buffer_size);
-    RS(stream_buffer_size);
-
-    m_priority = atoi(priority);
-    m_variable_bitrate_display = atoi(variable_bitrate_display);
-    m_memmap_file = atoi(memmap_file);
-    m_local_buffer_size = atoi(local_buffer_size);
-    m_stream_buffer_size = atoi(stream_buffer_size);
-}
-
-void config_write()
-{
-    char variable_bitrate_display[10];
-    char priority[10];
-    char memmap_file[10];
-    char local_buffer_size[10];
-    char stream_buffer_size[10];
-
-    itoa(m_priority, priority, 10);
-    itoa(m_variable_bitrate_display, variable_bitrate_display, 10);
-    itoa(m_memmap_file, memmap_file, 10);
-    itoa(m_local_buffer_size, local_buffer_size, 10);
-    itoa(m_stream_buffer_size, stream_buffer_size, 10);
-
-    WS(variable_bitrate_display);
-    WS(priority);
-    WS(memmap_file);
-    WS(local_buffer_size);
-    WS(stream_buffer_size);
-}
-
-//-----------------------------------------------------------------------------
-
-BOOL WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, LPVOID pRes)
-{
-       if (fdwReason == DLL_PROCESS_ATTACH)
-               hInstance = hInst;
-       return TRUE;
-}
-
-//-----------------------------------------------------------------------------
-//old entrypoint api
-PLUGIN_API BOOL QInputModule(QCDModInitIn *ModInit, QCDModInfo *ModInfo)
-{
-       ModInit->version                                        = PLUGIN_API_VERSION;
-       ModInit->toModule.ShutDown                      = ShutDown;
-       ModInit->toModule.GetTrackExtents       = GetTrackExtents;
-       ModInit->toModule.GetMediaSupported = GetMediaSupported;
-       ModInit->toModule.GetCurrentPosition= GetCurrentPosition;
-       ModInit->toModule.Play                          = Play;
-       ModInit->toModule.Pause                         = Pause;
-       ModInit->toModule.Stop                          = Stop;
-       ModInit->toModule.SetVolume                     = SetVolume;
-       ModInit->toModule.About                         = About;
-       ModInit->toModule.Configure                     = Configure;
-       QCDCallbacks = ModInit;
-
-       ModInfo->moduleString = "FAAD Plugin v1.0b";
-       /* read config */
-       QCDCallbacks->Service(opGetPluginSettingsFile, INI_FILE, MAX_PATH, 0);
-
-       config_read();
-       ModInfo->moduleExtensions = "AAC";
-
-       hwndPlayer = (HWND)ModInit->Service(opGetParentWnd, 0, 0, 0);
-       lastfn[0] = 0;
-       play_thread_handle = INVALID_HANDLE_VALUE;
-
-       oldAPIs = 1;
-
-       return TRUE;
-}
-
-//-----------------------------------------------------------------------------
-
-PLUGIN_API QCDModInitIn* INPUTDLL_ENTRY_POINT()
-{
-       sQCDCallbacks.version                                           = PLUGIN_API_VERSION;
-       sQCDCallbacks.toModule.Initialize                       = Initialize;
-       sQCDCallbacks.toModule.ShutDown                         = ShutDown;
-       sQCDCallbacks.toModule.GetTrackExtents          = GetTrackExtents;
-       sQCDCallbacks.toModule.GetMediaSupported        = GetMediaSupported;
-       sQCDCallbacks.toModule.GetCurrentPosition       = GetCurrentPosition;
-       sQCDCallbacks.toModule.Play                                     = Play;
-       sQCDCallbacks.toModule.Pause                            = Pause;
-       sQCDCallbacks.toModule.Stop                                     = Stop;
-       sQCDCallbacks.toModule.SetVolume                        = SetVolume;
-       sQCDCallbacks.toModule.About                            = About;
-       sQCDCallbacks.toModule.Configure                        = Configure;
-
-       QCDCallbacks = &sQCDCallbacks;
-       return &sQCDCallbacks;
-}
-
-//----------------------------------------------------------------------------
-
-BOOL CALLBACK config_dialog_proc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
-{
-       char tmp[10];
-
-    switch (message)
-       {
-    case WM_INITDIALOG:
-        /* Set priority slider range and previous position */
-               SendMessage(GetDlgItem(hwndDlg, THREAD_PRIORITY_SLIDER), TBM_SETRANGE, TRUE, MAKELONG(1, 5)); 
-               SendMessage(GetDlgItem(hwndDlg, THREAD_PRIORITY_SLIDER), TBM_SETPOS, TRUE, m_priority);
-               SetDlgItemText(hwndDlg, IDC_STATIC2, priority_text[m_priority]);
-               
-               /* Put a limit to the amount of characters allowed in the buffer boxes */
-               SendMessage(GetDlgItem(hwndDlg, LOCAL_BUFFER_TXT), EM_LIMITTEXT, 4, 0);
-               SendMessage(GetDlgItem(hwndDlg, STREAM_BUFFER_TXT), EM_LIMITTEXT, 4, 0);
-
-           if(m_variable_bitrate_display)
-                       SendMessage(GetDlgItem(hwndDlg, VARBITRATE_CHK), BM_SETCHECK, BST_CHECKED, 0);
-           if(m_memmap_file)
-                       SendMessage(GetDlgItem(hwndDlg, IDC_MEMMAP), BM_SETCHECK, BST_CHECKED, 0);
-
-               itoa(m_local_buffer_size, tmp, 10);
-               SetDlgItemText(hwndDlg, LOCAL_BUFFER_TXT, tmp);
-
-               itoa(m_stream_buffer_size, tmp, 10);
-               SetDlgItemText(hwndDlg, STREAM_BUFFER_TXT, tmp);
-
-               return TRUE;
-
-       case WM_HSCROLL:
-
-               /* Thread priority slider moved */
-               if(GetDlgItem(hwndDlg, THREAD_PRIORITY_SLIDER) == (HWND) lParam)
-               {
-                       int tmp;
-                       tmp = SendMessage(GetDlgItem(hwndDlg, THREAD_PRIORITY_SLIDER), TBM_GETPOS, 0, 0);
-
-                       if(tmp > 0)
-                       {
-                               m_priority = tmp;
-
-                SetDlgItemText(hwndDlg, IDC_STATIC2, priority_text[m_priority]);
-
-                               if(play_thread_handle)
-                                       SetThreadPriority(play_thread_handle, priority_table[m_priority]);
-                       }
-               }
-
-               return TRUE;
-
-    case WM_COMMAND:
-
-               if(HIWORD(wParam) == BN_CLICKED)
-               {
-                       if(GetDlgItem(hwndDlg, VARBITRATE_CHK) == (HWND) lParam)
-                       {
-                               /* Variable Bitrate checkbox hit */
-                               m_variable_bitrate_display = SendMessage(GetDlgItem(hwndDlg, VARBITRATE_CHK), BM_GETCHECK, 0, 0); 
-                       }
-                       if(GetDlgItem(hwndDlg, IDC_MEMMAP) == (HWND) lParam)
-                       {
-                               /* Variable Bitrate checkbox hit */
-                               m_memmap_file = SendMessage(GetDlgItem(hwndDlg, IDC_MEMMAP), BM_GETCHECK, 0, 0); 
-                       }
-               }
-
-        switch (LOWORD(wParam))
-               {
-                       case OK_BTN:
-                               /* User hit OK, save buffer settings (all others are set on command) */
-                               GetDlgItemText(hwndDlg, LOCAL_BUFFER_TXT, tmp, 5);
-                               m_local_buffer_size = atol(tmp);
-
-                               GetDlgItemText(hwndDlg, STREAM_BUFFER_TXT, tmp, 5);
-                               m_stream_buffer_size = atol(tmp);
-
-                config_write();
-
-                               EndDialog(hwndDlg, wParam);
-                               return TRUE;
-                       case RESET_BTN:
-                               SendMessage(GetDlgItem(hwndDlg, VARBITRATE_CHK), BM_SETCHECK, BST_CHECKED, 0);
-                               m_variable_bitrate_display = 1;
-                               SendMessage(GetDlgItem(hwndDlg, IDC_MEMMAP), BM_SETCHECK, BST_UNCHECKED, 0);
-                               m_memmap_file = 0;
-                               SendMessage(GetDlgItem(hwndDlg, THREAD_PRIORITY_SLIDER), TBM_SETPOS, TRUE, 5);
-                               m_priority = 5;
-                               SetDlgItemText(hwndDlg, IDC_STATIC2, priority_text[5]);
-                               SetDlgItemText(hwndDlg, LOCAL_BUFFER_TXT, "128");
-                               m_local_buffer_size = 128;
-                               SetDlgItemText(hwndDlg, STREAM_BUFFER_TXT, "64");
-                               m_stream_buffer_size = 64;
-                               return TRUE;
-                       case IDCANCEL:
-                       case CANCEL_BTN:
-                               /* User hit Cancel or the X, just close without saving buffer settings */
-                               DestroyWindow(hwndDlg);
-                               return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-
-void Configure(int flags)
-{
-       if(!IsWindow(hwndConfig))
-               hwndConfig = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_CONFIG), hwndPlayer, config_dialog_proc);
-       ShowWindow(hwndConfig, SW_NORMAL);
-}
-
-//-----------------------------------------------------------------------------
-// proc of "About Dialog"
-INT_PTR CALLBACK about_dialog_proc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
-{
-       static RECT rcLOGO, rcMail1, rcMail2/*, rcMail3*/;
-       POINT ptMouse;
-       static char szPluginVer[] = "QCD FAAD Input Plug-in v1.0b\nCompiled on " __TIME__ ", " __DATE__;
-       static char szFLACVer[] = "Using: FAAD2 v "FAAD2_VERSION" by";
-
-       switch (uMsg)
-       {
-       case WM_INITDIALOG:
-       case WM_MOVE:
-               GetWindowRect(GetDlgItem(hwndDlg, IDC_LOGO), &rcLOGO);
-               GetWindowRect(GetDlgItem(hwndDlg, IDC_MAIL1), &rcMail1);
-               GetWindowRect(GetDlgItem(hwndDlg, IDC_MAIL2), &rcMail2);
-//             GetWindowRect(GetDlgItem(hwndDlg, IDC_MAIL2), &rcMail3);
-
-               SetDlgItemText(hwndDlg, IDC_PLUGINVER, szPluginVer);
-               SetDlgItemText(hwndDlg, IDC_FAADVER, szFLACVer);
-               
-               return TRUE;
-       case WM_MOUSEMOVE:
-               ptMouse.x = LOWORD(lParam);
-               ptMouse.y = HIWORD(lParam);
-               ClientToScreen(hwndDlg, &ptMouse);
-               if( (ptMouse.x >= rcLOGO.left && ptMouse.x <= rcLOGO.right && 
-                       ptMouse.y >= rcLOGO.top && ptMouse.y<= rcLOGO.bottom) 
-                       ||
-                       (ptMouse.x >= rcMail1.left && ptMouse.x <= rcMail1.right && 
-                       ptMouse.y >= rcMail1.top && ptMouse.y<= rcMail1.bottom) 
-                       ||
-                       (ptMouse.x >= rcMail2.left && ptMouse.x <= rcMail2.right && 
-                       ptMouse.y >= rcMail2.top && ptMouse.y<= rcMail2.bottom) 
-/*                     ||
-                       (ptMouse.x >= rcMail3.left && ptMouse.x <= rcMail3.right && 
-                       ptMouse.y >= rcMail3.top && ptMouse.y<= rcMail3.bottom)*/ )
-                       SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(32649)));
-               else
-                       SetCursor(LoadCursor(NULL, IDC_ARROW));
-
-               return TRUE;
-       case WM_LBUTTONDOWN:
-               ptMouse.x = LOWORD(lParam);
-               ptMouse.y = HIWORD(lParam);
-               ClientToScreen(hwndDlg, &ptMouse);
-               if(ptMouse.x >= rcLOGO.left && ptMouse.x <= rcLOGO.right && 
-                       ptMouse.y >= rcLOGO.top && ptMouse.y<= rcLOGO.bottom)
-                       ShellExecute(0, NULL, "http://www.audiocoding.com", NULL,NULL, SW_NORMAL);
-               else if(ptMouse.x >= rcMail1.left && ptMouse.x <= rcMail1.right && 
-                       ptMouse.y >= rcMail1.top && ptMouse.y<= rcMail1.bottom)
-                       ShellExecute(0, NULL, "mailto:shaohao@elong.com", NULL,NULL, SW_NORMAL);
-               else if(ptMouse.x >= rcMail2.left && ptMouse.x <= rcMail2.right && 
-                       ptMouse.y >= rcMail2.top && ptMouse.y<= rcMail2.bottom)
-                       ShellExecute(0, NULL, "mailto:menno@audiocoding.com", NULL,NULL, SW_NORMAL);
-/*             else if(ptMouse.x >= rcMail3.left && ptMouse.x <= rcMail3.right && 
-                       ptMouse.y >= rcMail3.top && ptMouse.y<= rcMail3.bottom)
-                       ShellExecute(0, NULL, "I don't know", NULL,NULL, SW_NORMAL);
-*/
-               return TRUE;
-       case WM_COMMAND:
-               switch(LOWORD(wParam))
-               {
-               case IDOK:
-               default:
-                       DestroyWindow(hwndDlg);
-                       return TRUE;
-               }
-       }
-       return FALSE;
-}
-
-void About(int flags)
-{
-       if(!IsWindow(hwndAbout))
-               hwndAbout = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_ABOUT), hwndPlayer, about_dialog_proc); 
-       ShowWindow(hwndAbout, SW_SHOW);
-}
-
-//-----------------------------------------------------------------------------
-
-BOOL Initialize(QCDModInfo *ModInfo, int flags)
-{
-       hwndPlayer = (HWND)QCDCallbacks->Service(opGetParentWnd, 0, 0, 0);
-
-       lastfn[0] = 0;
-       seek_needed = -1;
-       paused = 0;
-       play_thread_handle = INVALID_HANDLE_VALUE;
-
-       /* read config */
-       QCDCallbacks->Service(opGetPluginSettingsFile, INI_FILE, MAX_PATH, 0);
-    config_read();
-
-       ModInfo->moduleString = "FAAD Plugin v1.0b";
-       ModInfo->moduleExtensions = "AAC";
-
-    /* Initialize winsock, necessary for streaming */
-    WinsockInit();
-
-       // insert menu item into plugin menu
-//     QCDCallbacks->Service(opSetPluginMenuItem, hInstance, IDD_CONFIG, (long)"FAAD Plug-in");
-
-       return TRUE;
-}
-
-//----------------------------------------------------------------------------
-
-void ShutDown(int flags)
-{
-       Stop(lastfn, STOPFLAG_FORCESTOP);
-
-    if(buffer)
-               LocalFree(buffer);
-
-    /* Deallocate winsock */
-    WinsockDeInit();
-
-       // delete the inserted plugin menu
-//     QCDCallbacks->Service(opSetPluginMenuItem, hInstance, 0, 0);
-}
-
-//-----------------------------------------------------------------------------
-
-BOOL GetMediaSupported(LPCSTR medianame, MediaInfo *mediaInfo)
-{
-       FILE_STREAM *in;
-       faadAACInfo tmp;
-       char *ch = strrchr(medianame, '.');
-
-       if (!medianame || !*medianame)
-               return FALSE;
-
-       if(!ch)
-               return (lstrlen(medianame) > 2); // no extension defaults to me (if not drive letter)
-
-   /* Finally fixed */
-    if(StringComp(ch, ".aac", 4) == 0)
-    {
-               in = open_filestream((char *)medianame);
-               
-               if(in != NULL && mediaInfo)
-               {
-                       if(in->http)
-                       {
-                               /* No seeking in http streams */
-                               mediaInfo->mediaType = DIGITAL_STREAM_MEDIA;
-                               mediaInfo->op_canSeek = FALSE;
-                       }
-                       else
-                       {
-                               mediaInfo->mediaType = DIGITAL_FILE_MEDIA;
-                           get_AAC_format((char *)medianame, &tmp, NULL, NULL, 1);
-                               if(tmp.headertype == 2) /* ADTS header - seekable */
-                                       mediaInfo->op_canSeek = TRUE;
-                               else
-                                       mediaInfo->op_canSeek = FALSE; /* ADIF or Headerless - not seekable */
-                       }
-                       
-                       close_filestream(in);
-                       return TRUE;
-               }
-               else
-               {
-                       close_filestream(in);
-                       return FALSE;
-               }
-       }
-       else
-               return FALSE;           
-}
-
-unsigned long samplerate, channels;
-
-int play_memmap(char *fn)
-{
-    int tagsize = 0;
-
-    infile = open_filestream(fn);
-    
-       if (infile == NULL)
-        return 1;
-
-    fileread = filelength_filestream(infile);
-
-    memmap_buffer = (char*)LocalAlloc(LPTR, fileread);
-    read_buffer_filestream(infile, memmap_buffer, fileread);
-
-    /* skip id3v2 tag */
-    memmap_index = id3v2_tag(memmap_buffer);
-
-    hDecoder = faacDecOpen();
-
-       /* Copy the configuration dialog setting and use it as the default */
-       /* initialize the decoder, and get samplerate and channel info */
-
-    if( (buffercount = faacDecInit(hDecoder, memmap_buffer + memmap_index,
-        fileread - memmap_index - 1, &samplerate, &channels)) < 0 )
-    {
-               show_error("Error opening input file");
-               return 1;
-    }
-
-    memmap_index += buffercount;
-
-    PlayThread_memmap();
-
-    return 0;
-}
-
-int play_file(char *fn)
-{
-    int k;
-    int tagsize;
-
-    ZeroMemory(buffer, 768*2);
-
-     infile = open_filestream(fn);
-    
-       if (infile == NULL)
-        return 1;
-
-       fileread = filelength_filestream(infile);
-
-    buffercount = bytecount = 0;
-    read_buffer_filestream(infile, buffer, 768*2);
-
-    tagsize = id3v2_tag(buffer);
-
-       /* If we find a tag, run right over it */
-    if(tagsize)
-       {
-        if(infile->http)
-        {
-            int i;
-            /* Crude way of doing this, but I believe its fast enough to not make a big difference */
-            close_filestream(infile);
-            infile = open_filestream(fn);
-
-            for(i=0; i < tagsize; i++)
-                read_byte_filestream(infile);
-        }
-        else
-            seek_filestream(infile, tagsize, FILE_BEGIN);
-
-        bytecount = tagsize;
-        buffercount = 0;
-        read_buffer_filestream(infile, buffer, 768*2);
-    }
-
-    hDecoder = faacDecOpen();
-
-       /* Copy the configuration dialog setting and use it as the default */
-       /* initialize the decoder, and get samplerate and channel info */
-
-    if((buffercount = faacDecInit(hDecoder, buffer, 768*2, &samplerate, &channels)) < 0)
-    {
-               show_error("Error opening input file");
-               return 1;
-    }
-
-    if(buffercount > 0)
-       {
-               bytecount += buffercount;
-
-               for (k = 0; k < (768*2 - buffercount); k++)
-                       buffer[k] = buffer[k + buffercount];
-
-               read_buffer_filestream(infile, buffer + (768*2) - buffercount, buffercount);
-               buffercount = 0;
-       }
-
-    PlayThread_file();
-
-    return 0;
-}
-
-
-//-----------------------------------------------------------------------------
-
-BOOL Play(LPCSTR medianame, int playfrom, int playto, int flags)
-{
-       if(stricmp(lastfn, medianame) != 0)
-       {
-               sQCDCallbacks.toPlayer.OutputStop(STOPFLAG_PLAYDONE);
-               Stop(lastfn, STOPFLAG_PLAYDONE);
-       }
-
-       if(paused)
-       {
-               // Update the player controls to reflect the new unpaused state
-               sQCDCallbacks.toPlayer.OutputPause(0);
-
-               Pause(medianame, PAUSE_DISABLED);
-
-               if (playfrom >= 0)
-                       seek_needed = playfrom;
-       }
-       else if(play_thread_handle != INVALID_HANDLE_VALUE)
-       {
-               seek_needed = playfrom;
-               return TRUE;
-       }
-       else
-       {
-               int thread_id;
-
-               // alloc the input buffer
-               buffer = (unsigned char*)LocalAlloc(LPTR, 768*2);
-
-               current_file_mode = m_memmap_file;
-               
-               if(current_file_mode)
-               {
-                       if(play_memmap((char *)medianame))
-                               return FALSE;
-               }
-               else
-               {
-                       if(play_file((char *)medianame))
-                               return FALSE;
-               }
-               
-               if(seek_table)
-               {
-                       free(seek_table);
-                       seek_table = NULL;
-                       seek_table_length = 0;
-               }
-               
-               get_AAC_format((char *)medianame, &file_info, &seek_table, &seek_table_length, 0);
-               
-               seek_needed = playfrom > 0 ? playfrom : -1;
-               killPlayThread = 0;
-               strcpy(lastfn,medianame);
-
-               /*
-               To RageAmp: This is really needed, because aacinfo isn't very accurate on ADIF files yet.
-               Can be fixed though :-)
-               */
-               file_info.sampling_rate = samplerate;
-               file_info.channels = frameInfo.channels;
-
-               play_thread_handle = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) PlayThread, (void *) &killPlayThread, 0, &thread_id);
-               if(!play_thread_handle)
-                       return FALSE;
-               
-               // Note: This line seriously slows down start up time
-               if(m_priority != 3) // if the priority in config window is set to normal, there is nothing to reset!
-                       SetThreadPriority(play_thread_handle, priority_table[m_priority]);
-               
-    }
-
-       return TRUE;
-}
-
-//-----------------------------------------------------------------------------
-
-BOOL Pause(LPCSTR medianame, int flags)
-{
-       if(QCDCallbacks->toPlayer.OutputPause(flags))
-       {
-               // send back pause/unpause notification
-               QCDCallbacks->toPlayer.PlayPaused(medianame, flags);
-               paused = flags;
-               return TRUE;
-       }
-       return FALSE;
-}
-
-//-----------------------------------------------------------------------------
-
-BOOL Stop(LPCSTR medianame, int flags)
-{
-       if(medianame && *medianame && stricmp(lastfn, medianame) == 0)
-       {
-               sQCDCallbacks.toPlayer.OutputStop(flags);
-               
-               killPlayThread = 1;
-               if(play_thread_handle != INVALID_HANDLE_VALUE)
-               {
-                       if(WaitForSingleObject(play_thread_handle, INFINITE) == WAIT_TIMEOUT)
-                       {
-//                             MessageBox(hwndPlayer, "FAAD thread kill timeout", "debug", 0);
-                               TerminateThread(play_thread_handle,0);
-                       }
-                       CloseHandle(play_thread_handle);
-                       play_thread_handle = INVALID_HANDLE_VALUE;
-               }
-
-               if (oldAPIs)
-                       QCDCallbacks->toPlayer.PlayStopped(lastfn);
-               
-               lastfn[0] = 0;
-       }
-
-       return TRUE;
-}
-
-int aac_seek(int pos_ms, int *sktable)
-{
-    double offset_sec;
-
-    offset_sec = pos_ms / 1000.0;
-    if(!current_file_mode)
-    {
-        seek_filestream(infile, sktable[(int)(offset_sec+0.5)], FILE_BEGIN);
-
-        bytecount = sktable[(int)(offset_sec+0.5)];
-        buffercount = 0;
-        read_buffer_filestream(infile, buffer, 768*2);
-    }
-       else
-       {
-        memmap_index = sktable[(int)(offset_sec+0.5)];
-    }
-
-    return 0;
-}
-
-//-----------------------------------------------------------------------------
-
-void SetVolume(int levelleft, int levelright, int flags)
-{
-       QCDCallbacks->toPlayer.OutputSetVol(levelleft, levelright, flags);
-}
-
-//-----------------------------------------------------------------------------
-
-BOOL GetCurrentPosition(LPCSTR medianame, long *track, long *offset)
-{
-       return QCDCallbacks->toPlayer.OutputGetCurrentPosition((UINT*)offset, 0);
-}
-
-//-----------------------------------------------------------------------------
-
-BOOL GetTrackExtents(LPCSTR medianame, TrackExtents *ext, int flags)
-{
-    faadAACInfo tmp;
-
-    if(get_AAC_format((char*)medianame, &tmp, NULL, NULL, 1))
-               return FALSE;
-
-       ext->track = 1;
-       ext->start = 0;
-       ext->end = tmp.length;
-       ext->bytesize = tmp.bitrate * tmp.length;
-       ext->unitpersec = 1000;
-
-       return TRUE;
-}
-
-//--------------------------for play thread-------------------------------------
-
-int last_frame;
-
-DWORD WINAPI PlayThread(void *b)
-{
-    BOOL done = FALSE, updatePos = FALSE;
-       int decode_pos_ms = 0; // current decoding position, in milliseconds
-    int l;
-       int decoded_frames=0;
-       int br_calc_frames=0;
-       int br_bytes_consumed=0;
-    unsigned long bytesconsumed;
-
-    last_frame = 0;
-
-       if(!done)
-       {
-               // open outputdevice
-               WAVEFORMATEX wf;
-               wf.wFormatTag = WAVE_FORMAT_PCM;
-               wf.cbSize = 0;
-               wf.nChannels = file_info.channels;
-               wf.wBitsPerSample = 16;
-               wf.nSamplesPerSec = file_info.sampling_rate;
-               wf.nBlockAlign = wf.nChannels * wf.wBitsPerSample / 8;
-               wf.nAvgBytesPerSec = wf.nSamplesPerSec * wf.nBlockAlign;
-               if (!QCDCallbacks->toPlayer.OutputOpen(lastfn, &wf))
-               {
-                       show_error("Error: Failed openning output plugin!");
-                       done = TRUE; // cannot open sound device
-               }
-       }
-
-    while (! *((int *)b) )
-    {
-               /********************** SEEK ************************/
-       if (!done && seek_needed >= 0)
-          {
-            int seconds;
-
-            // Round off to a second
-            seconds = seek_needed - (seek_needed%1000);
-                       QCDCallbacks->toPlayer.OutputFlush(decode_pos_ms);
-            aac_seek(seconds, seek_table);
-            decode_pos_ms = seconds;
-                       decoded_frames = 0;
-                       br_calc_frames = 0;
-                       br_bytes_consumed = 0;
-
-                       seek_needed = -1;
-                       updatePos = 1;
-          }
-
-               /********************* QUIT *************************/
-               if (done)
-               {
-                       if (QCDCallbacks->toPlayer.OutputDrain(0) && !(seek_needed >= 0))
-                       {
-                               play_thread_handle = INVALID_HANDLE_VALUE;
-                               QCDCallbacks->toPlayer.OutputStop(STOPFLAG_PLAYDONE);
-                               QCDCallbacks->toPlayer.PlayDone(lastfn);
-                       }
-                       else if (seek_needed >= 0)
-                       {
-                               done = FALSE;
-                               continue;
-                       }
-                       break;
-               }
-
-        /******************* DECODE TO BUFFER ****************/
-               else
-        {
-                       if (current_file_mode)
-                               bytesconsumed = PlayThread_memmap();
-                       else
-                               bytesconsumed = PlayThread_file();
-
-                       if(last_frame)
-                               done = TRUE;
-                       else
-                       {
-
-                               decoded_frames++;
-                               br_calc_frames++;
-                               br_bytes_consumed += bytesconsumed;
-
-                               /* Update the variable bitrate about every second */
-                               if(m_variable_bitrate_display && br_calc_frames == 43)
-                               {
-                                       AudioInfo vai;
-                                       vai.struct_size = sizeof(AudioInfo);
-                                       vai.frequency = file_info.sampling_rate;
-                                       vai.bitrate = (int)((br_bytes_consumed * 8) / (decoded_frames / 43.07));
-                                       vai.mode = (channels == 2) ? 0 : 3;
-                                       vai.layer = 0;
-                                       vai.level = file_info.version;
-                                       QCDCallbacks->Service(opSetAudioInfo, &vai, sizeof(AudioInfo), 0);
-
-                                       br_calc_frames = 0;
-                               }
-
-                if (!killPlayThread && (frameInfo.samples > 0))
-                {
-                    //update the time display
-                                       if (updatePos)
-                                       {
-                                               QCDCallbacks->toPlayer.PositionUpdate(decode_pos_ms);
-                                               updatePos = 0;
-                                       }
-                                       
-                                       {
-                                               WriteDataStruct wd;
-
-                                               l = frameInfo.samples * sizeof(short);
-
-                                               decode_pos_ms += (1024*1000)/file_info.sampling_rate;
-                                               
-                                               wd.bytelen = l;
-                                               wd.data = sample_buffer;
-                                               wd.markerend = 0;
-                                               wd.markerstart = decode_pos_ms;
-                                               wd.bps = 16;
-                                               wd.nch = frameInfo.channels;
-                                               wd.numsamples =l/file_info.channels/(16/8);
-                                               wd.srate = file_info.sampling_rate;
-                                               
-                                               if (!QCDCallbacks->toPlayer.OutputWrite(&wd))
-                                                       done = TRUE;
-                                       }
-                               }
-                       }
-               }
-        Sleep(10);
-    }
-
-       // close up
-       play_thread_handle = INVALID_HANDLE_VALUE;
-
-       faacDecClose(hDecoder);
-       hDecoder = INVALID_HANDLE_VALUE;
-       close_filestream(infile);
-       infile = NULL;
-
-       if(seek_table)
-       {
-               free(seek_table);
-               seek_table = NULL;
-               seek_table_length = 0;
-       }
-
-       if(buffer)
-       {
-               LocalFree(buffer);
-               buffer = NULL;
-       }
-       if(memmap_buffer)
-       {
-               LocalFree(memmap_buffer);
-               memmap_buffer = NULL;
-       }
-
-    return 0;
-}
-
-// thread play funcs
-int PlayThread_memmap()
-{
-    sample_buffer = (char*)faacDecDecode(hDecoder, &frameInfo,
-        memmap_buffer + memmap_index, fileread - memmap_index - 1);
-    if (frameInfo.error)
-    {
-//        show_error(faacDecGetErrorMessage(frameInfo.error));
-        last_frame = 1;
-    }
-
-    memmap_index += frameInfo.bytesconsumed;
-    if (memmap_index >= fileread)
-        last_frame = 1;
-
-    return frameInfo.bytesconsumed;
-}
-
-int PlayThread_file()
-{
-    int k;
-
-    if (buffercount > 0)
-       {
-        for (k = 0; k < (768*2 - buffercount); k++)
-            buffer[k] = buffer[k + buffercount];
-
-        read_buffer_filestream(infile, buffer + (768*2) - buffercount, buffercount);
-        buffercount = 0;
-    }
-
-    sample_buffer = (char*)faacDecDecode(hDecoder, &frameInfo, buffer, 768*2);
-    if (frameInfo.error)
-    {
-//        show_error(faacDecGetErrorMessage(frameInfo.error));
-        last_frame = 1;
-    }
-
-    buffercount += frameInfo.bytesconsumed;
-
-    bytecount += frameInfo.bytesconsumed;
-    if (bytecount >= fileread)
-        last_frame = 1;
-
-    return frameInfo.bytesconsumed;
-}
-
-// tag
-int id3v2_tag(unsigned char *buffer)
-{
-    if (StringComp(buffer, "ID3", 3) == 0)
-       {
-        unsigned long tagsize;
-
-        /* high bit is not used */
-        tagsize = (buffer[6] << 21) | (buffer[7] << 14) |
-            (buffer[8] <<  7) | (buffer[9] <<  0);
-
-        tagsize += 10;
-
-        return tagsize;
-    }
-       else
-       {
-        return 0;
-    }
-}
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/QCD/QCDFAAD.dsp b/lib/libfaad2/plugins/QCD/QCDFAAD.dsp
deleted file mode 100644 (file)
index f0e0712..0000000
+++ /dev/null
@@ -1,152 +0,0 @@
-# Microsoft Developer Studio Project File - Name="QCDFAAD" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=QCDFAAD - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "QCDFAAD.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "QCDFAAD.mak" CFG="QCDFAAD - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "QCDFAAD - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "QCDFAAD - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "QCDFAAD - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\include" /I "..\..\common\faad" /I "..\..\plugins\winamp" /I "..\..\common\id3lib\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "ID3LIB_COMPILATION" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "NDEBUG"
-# ADD RSC /l 0x413 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-
-!ELSEIF  "$(CFG)" == "QCDFAAD - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\include" /I "..\..\common\faad" /I "..\..\plugins\winamp" /I "..\..\common\id3lib\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "ID3LIB_COMPILATION" /FR /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "_DEBUG"
-# ADD RSC /l 0x413 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# SUBTRACT LINK32 /force
-
-!ENDIF 
-
-# Begin Target
-
-# Name "QCDFAAD - Win32 Release"
-# Name "QCDFAAD - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=..\..\common\faad\aacinfo.c
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\common\faad\filestream.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\QCDFAAD.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\common\faad\aacinfo.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\faad.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\common\faad\filestream.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\QCDInputDLL.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\QCDModDefs.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\QCDModInput.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\hand.cur
-# End Source File
-# Begin Source File
-
-SOURCE=.\logo.bmp
-# End Source File
-# Begin Source File
-
-SOURCE=.\plugin_dlg.rc
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/lib/libfaad2/plugins/QCD/QCDFAAD.dsw b/lib/libfaad2/plugins/QCD/QCDFAAD.dsw
deleted file mode 100644 (file)
index 8da6019..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "QCDFAAD"=".\QCDFAAD.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libfaad
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libfaad"="..\..\libfaad\libfaad.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/lib/libfaad2/plugins/QCD/QCDInputDLL.h b/lib/libfaad2/plugins/QCD/QCDInputDLL.h
deleted file mode 100644 (file)
index 5a011fa..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//-----------------------------------------------------------------------------
-// 
-// File:       QCDInputDLL.h
-//
-// About:      QCD Player Input module DLL interface.  For more documentation, see
-//                     QCDModInput.h.
-//
-// Authors:    Written by Paul Quinn and Richard Carlson.
-//
-//     QCD multimedia player application Software Development Kit Release 1.0.
-//
-//     Copyright (C) 1997-2002 Quinnware
-//
-//     This code is free.  If you redistribute it in any form, leave this notice 
-//     here.
-//
-//     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.
-//
-//-----------------------------------------------------------------------------
-
-#ifndef QCDInputDLL_H
-#define QCDInputDLL_H
-
-#include "QCDModInput.h"
-
-extern HINSTANCE               hInstance;
-extern HWND                            hwndPlayer;
-extern QCDModInitIn            sQCDCallbacks, *QCDCallbacks;
-
-// Calls from the Player
-int  GetMediaSupported(const char* medianame, MediaInfo *mediaInfo);
-int  GetTrackExtents(const char* medianame, TrackExtents *ext, int flags);
-int  GetCurrentPosition(const char* medianame, long *track, long *offset);
-
-void SetEQ(EQInfo*);
-void SetVolume(int levelleft, int levelright, int flags);
-
-int  Play(const char* medianame, int framefrom, int frameto, int flags);
-int  Pause(const char* medianame, int flags);
-int  Stop(const char* medianame, int flags);
-int  Eject(const char* medianame, int flags);
-
-int  Initialize(QCDModInfo *ModInfo, int flags);
-void ShutDown(int flags);
-void Configure(int flags);
-void About(int flags);
-
-#endif //QCDInputDLL_H
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/QCD/QCDModDefs.h b/lib/libfaad2/plugins/QCD/QCDModDefs.h
deleted file mode 100644 (file)
index 3b69771..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-//-----------------------------------------------------------------------------
-//
-// File:       QCDModDefs.h
-//
-// About:      Module definitions file.  Miscellanious definitions used by different
-//                     module types.  This file is published with the plugin SDKs.
-//
-// Authors:    Written by Paul Quinn and Richard Carlson.
-//
-// Copyright:
-//
-//     QCD multimedia player application Software Development Kit Release 1.0.
-//
-//     Copyright (C) 1997-2002 Quinnware
-//
-//     This code is free.  If you redistribute it in any form, leave this notice 
-//     here.
-//
-//     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.
-//
-//-----------------------------------------------------------------------------
-
-#ifndef QCDMODDEFS_H
-#define QCDMODDEFS_H
-
-#include <windows.h>
-
-#ifdef __cplusplus
-#define PLUGIN_API extern "C" __declspec(dllexport)
-#else
-#define PLUGIN_API __declspec(dllexport)
-#endif
-
-// Current plugin version
-#define PLUGIN_API_VERSION 250
-
-//-----------------------------------------------------------------------------
-
-typedef struct {
-       char                            *moduleString;
-       char                            *moduleExtensions;
-
-} QCDModInfo;
-
-//-----------------------------------------------------------------------------
-// Services (ops) provided by the Player
-//-----------------------------------------------------------------------------
-typedef enum 
-{                                                                      //*** below returns numeric info (*buffer not used)
-
-       opGetPlayerVersion = 0,                 // high-order word = major version (eg 3.01 is 3), low-order word = minor (eg 3.01 = 1)
-       opGetParentWnd = 1,                             // handle to player window
-       opGetPlayerInstance = 2,                // HINSTANCE to player executable
-
-       opGetPlayerState = 9,                   // get current state of the player (returns: 1 = stopped, 2 = playing, 3 = paused, 0 = failed)
-       opGetNumTracks = 10,                    // number of tracks in playlist
-       opGetCurrentIndex = 11,                 // index of current track in playlist (0 based)
-       opGetNextIndex = 12,                    // get index of next track to play (0 based), param1 = index start index. -1 for after current
-       opGetTrackNum = 13,                             // get track number of index, param1 = index of track in playlist, -1 for current
-                                                                       //              - 'track number' is the number of the track in it's respective album, as opposed to playlist number
-                                                                       //              - the 'track number' for digital files will be 1, unless they are tagged with the CDDB identifier
-
-       opGetTrackLength = 14,                  // get track length, param1 = index of track in playlist, -1 for current
-                                                                       //                   param2 = 0 for seconds, 1 for milliseconds
-       opGetTime = 15,                                 // get time on player, param1 = 0 for time displayed, 1 for track time, 2 for playlist time
-                                                                       //                                         param2 = 0 for elapsed, 1 for remaining                                                                                                                 
-       opGetTrackState = 16,                   // get whether track is marked, param1 = index of track, -1 for current
-       opGetPlaylistNum = 17,                  // get playlist number of index, param1 = index of track in playlist, -1 for current
-       opGetMediaType = 18,                    // get media type of track, param1 = index if track in playlist, -1 for current
-                                                                       //              - see MediaTypes below for return values
-
-       opGetAudioInfo = 19,                    // get format info about currently playing track
-                                                                       //              - param1 = 0 for samplerate, 1 for bitrate, 2 for num channels
-
-       opGetOffline = 20,                              // true if client is in Offline Mode
-       opGetVisTarget = 21,                    // where is vis being drawn > 0 - internal to skin, 1 - external window, 2 - full screen
-       opGetAlwaysOnTop = 22,                  // true if player is set to 'Always on Top'
-       opGetRepeatState = 23,                  // returns: 0 - repeat off, 1 - repeat track, 2 - repeat all
-       opGetShuffleState = 27,                 // returns: 0 - shuffle off, 1 - shuffle enabled
-
-       opGetTimerState = 24,                   // low-order word: 0 - track ascend, 1 - playlist ascend, 2 - track descend, 3 - playlist descend
-                                                                       // hi-order word: 1 if 'show hours' is set, else 0
-
-       opGetVolume = 25,                               // get master volume level (0 - 100), param1: 0 = combined, 1 = left, 2 = right
-       opSetVolume = 26,                               // set master volume level, param1: vol level 0 - 100, param2: balance (-100 left, 0 center, 100 right)
-
-       opGetIndexFromPLNum = 28,               // get index from playlist number, param1 = playlist number
-
-       opGetChildWnd = 30,                             // handle to the draggable window extension (only available on some skins) 
-       opGetExtVisWnd = 31,                    // handle to the external visual window
-       opGetMusicBrowserWnd = 32,              // handle to the music browser window 
-       opGetSkinPreviewWnd = 33,               // handle to the skin preview window 
-       opGetPropertiesWnd = 34,                // handle to the player properties window 
-       opGetExtInfoWnd = 35,                   // handle to the extended information window 
-       opGetAboutWnd = 36,                             // handle to the about window 
-       opGetSegmentsWnd = 37,                  // handle to the segments window 
-       opGetEQPresetsWnd = 38,                 // handle to the EQ presets window 
-
-       opGetVisDimensions = 50,                // gets the width and height of visual window (param1 = -1 current vis window, 0 internal vis, 1 external vis, 2 full screen)
-                                                                       //              returns: HEIGHT in high word, WIDTH in low word 
-
-       opGetQueriesComplete = 60,              // get status on whether all tracks in playlist have been queryied for their info
-
-                                                                       // playlist manipulation
-       opDeleteIndex = 90,                             // delete index from playlist (param1 = index)
-       opSelectIndex = 91,                             // mark index as selected (param1 = index, param2 = 1 - set, 0 - unset)
-       opBlockIndex = 92,                              // mark index as blocked (param1 = index, param2 = 1 - set, 0 - unset)
-
-       opGetMediaInfo = 99,                    // get the CddbDisc object for the index specified, param1 = index of track, -1 for current
-                                                                       //              param2 = pointer to integer that receives track value
-                                                                       //              returns: pointer to CddbDisc object. Do not release or deallocate this pointer
-
-
-                                                                       //*** below returns string info in buffer, param1 = size of buffer
-                                                                       //*** returns 1 on success, 0 on failure
-
-       opGetTrackName = 100,                   // get track name, param2 = index of track in playlist, -1 for current
-       opGetArtistName = 101,                  // get artist name, param2 = index of track in playlist, -1 for current
-       opGetDiscName = 102,                    // get disc name, param2 = index of track in playlist, -1 for current
-
-       opGetTrackFile = 103,                   // file name of track in playlist, param2 = index of track in playlist, -1 for current
-       opGetSkinName = 104,                    // get current skin name
-
-       opGetPluginFolder = 105,                // get current plugin folder
-       opGetPluginSettingsFile = 106,  // get settings file (plugins.ini) that plugin should save settings to
-       opGetPluginCacheFile = 107,             // get file that describes plugin validity, functions and names
-       opGetPlayerSettingsFile = 108,  // get settings file (qcd.ini) that player saves it settings to (should use for read-only)
-
-       opGetMusicFolder = 110,                 // get current music folder
-       opGetPlaylistFolder = 111,              // get current playlist folder
-       opGetSkinFolder = 112,                  // get current skin folder
-       opGetCDDBCacheFolder = 113,             // get current folder for CDDB cached info
-
-       opGetCurrentPlaylist = 114,             // get full pathname of playlist currently loaded 
-
-       opGetMediaID = 115,                             // get media identifier, param2 = index of track in playlist, -1 for current
-                                                                       //              - for CD's it's the TOC - for anything else, right now it's 0      
-
-       opGetSupportedExtensions = 116, // get file extensions supported by the player, param2 = 0 - get all extensions, 1 - get registered extensions
-                                                                       //              - returned extensions will be colon delimited
-
-
-                                                                       //*** below buffer points to struct or other object
-                                                                       //*** returns 1 on success, 0 on failure
-
-       opShowMainMenu = 120,                   // Display Main QCD Menu (buffer = POINT* - location to display menu)
-       opGetMainMenu = 121,                    // Returns copy of HMENU handle to QCD Menu (must use DestroyMenu on handle when complete)
-
-       opShowQuickTrack = 125,                 // Display QuickTrack Menu (buffer = POINT* - location to display menu)
-
-       opGetEQVals = 200,                              // get current EQ levels/on/off (buffer = EQInfo*)
-       opSetEQVals = 201,                              // set EQ levels/on/off (buffer = EQInfo*)
-
-       opGetProxyInfo = 202,                   // get proxy info (buffer = ProxyInfo*), returns 0 if proxy not in use
-
-
-                                                                       //*** below returns numeric info, buffer used
-
-       opGetIndexFromFilename = 210,   // get the index of a file that exists in current playlist (buffer = full path of file),
-                                                                       //              param1 = startindex (index to start searching on)
-                                    //         returns -1 if file not in playlist
-
-
-                                                                       //*** below send information to player
-                                                                       //*** returns 1 on success, 0 on failure
-
-       opSetStatusMessage = 1000,              // display message in status area (buffer = msg buffer (null term), param1 = text flags (see below))
-
-       opSetBrowserUrl = 1001,                 // set music browser URL (buffer = url (null term))
-                                       //              null url buffer - closes browser
-                                       //              param1 = 0 - normal, 1 - force open
-
-       opSetAudioInfo = 1002,                  // set the current music bitrate/khz (buffer = AudioInfo*, param1 = size of AudioInfo)
-
-       opSetTrackAlbum = 1003,                 // update track ablum name (buffer = album (null term), param1 = (string ptr)file name), param2 = MediaTypes
-       opSetTrackTitle = 1004,                 // update track title (buffer = title (null term), param1 = (string ptr)file name), param2 = MediaTypes
-       opSetTrackArtist = 1005,                // update track artist name (buffer = artist (null term), param1 = (string ptr)file name), param2 = MediaTypes
-
-       opSetPlaylist = 1006,                   // add files to or reset playlist with new files (buffer = file list (null term), param1 = (string ptr)originating path (can be NULL), param2 = 1 - clear playlist flag, 2 - enqueue to top
-
-       opSetTrackExtents = 1007,               // update track TrackExtents info (buffer = &TrackExtents), param1 = (string ptr)file name)
-       opSetTrackSeekable = 1008,              // update track seekable flag (buffer = (string ptr)file name), param1 = TRUE/FALSE
-       opSetPlayNext = 1009,                   // set the next index to be played (buffer = NULL, param1 = index, index = -1 unsets playnext)
-       opSetIndexFilename = 1010,              // updates the filename (or stream) that an index in the current playlist refers to, buffer = new filename, param1 = index
-
-       opSetSeekPosition = 1100,               // seek to position during playback (buffer = NULL, param1 = position, param2 = 0 - position is in seconds, 1 - position is in milliseconds, 2 - position is in percent (use (float)param1))
-
-
-                                                                       //*** below configures custom plugin menu items for the 'plugin menu'
-                                                                       //*** Player will call plugin's configure routine with menu value when menu item selected
-                                                                       //*** returns 1 on success, 0 on failure
-
-       opSetPluginMenuItem = 2000,             // buffer = HINSTANCE of plugin, param1 = item id, param2 = (string ptr)string to display
-                                                                       //              - set param2 = 0 to remove item id from menu
-                                                                       //              - set param1 = 0 and param2 = 0 to remove whole menu
-       opSetPluginMenuState = 2001,    // buffer = HINSTANCE of plugin, param1 = item id, param2 = menu flags (same as windows menu flags - eg: MF_CHECKED)
-
-
-                                                                       //*** other services
-
-       opSafeWait = 10000                              // plugin's can use this to wait on an object without worrying about deadlocking the player.
-                                                                       // this should only be called by the thread that enters the plugin, not by any plugin-created threads
-
-} PluginServiceOp;
-
-//-----------------------------------------------------------------------------
-// Info services api provided by the Player, called by Plugin.
-//-----------------------------------------------------------------------------
-typedef long (*PluginServiceFunc)(PluginServiceOp op, void *buffer, long param1, long param2);
-
-
-//-----------------------------------------------------------------------------
-typedef struct                         // for Output Plugin Write callback
-{
-       void    *data;                  // pointer to valid data
-       int             bytelen;                // length of data pointed to by 'data' in bytes
-       UINT    numsamples;             // number of samples represented by 'data'
-       UINT    bps;                    // bits per sample
-       UINT    nch;                    // number of channels
-       UINT    srate;                  // sample rate
-
-       UINT    markerstart;    // Marker position at start of data (marker is time value of data) 
-                                                       // (set to WAVE_VIS_DATA_ONLY to not have data sent to output plugins)
-       UINT    markerend;              // Marker position at end of data (not currently used, set to 0)
-} WriteDataStruct;
-
-//-----------------------------------------------------------------------------
-typedef struct                 // for GetTrackExtents Input Plugin callback
-{
-       UINT track;                     // for CD's, set the track number. Otherwise set to 1.
-       UINT start;                     // for CD's or media that doesn't start at the beginning 
-                                               // of the file, set to start position. Otherwise set to 0.
-       UINT end;                       // set to end position of media.
-       UINT unitpersec;        // whatever units are being used for this media, how many
-                                               // of them per second. 
-                                               // (Note: ((end - start) / unitpersecond) = file length
-       UINT bytesize;          // size of file in bytes (if applicable, otherwise 0).
-} TrackExtents;
-
-//-----------------------------------------------------------------------------
-typedef struct                 // for opSetAudioInfo service
-{              
-    long struct_size;  // sizeof(AudioInfo)
-    long level;                        // MPEG level (1 for MPEG1, 2 for MPEG2, 3 for MPEG2.5, 7 for MPEGpro)
-    long layer;                        // and layer (1, 2 or 3)
-    long bitrate;              // audio bitrate in bits per second
-    long frequency;            // audio freq in Hz
-    long mode;                 // 0 for stereo, 1 for joint-stereo, 2 for dual-channel, 3 for mono, 4 for multi-channel
-} AudioInfo;
-
-//-----------------------------------------------------------------------------
-// Equalizer Info
-//-----------------------------------------------------------------------------
-typedef struct                 // for coming QCD version
-{
-       long struct_size;       // sizeof(EQInfo)
-       char enabled;           
-       char preamp;            // -128 to 127, 0 is even
-       char bands[10];         // -128 to 127, 0 is even
-} EQInfo;
-
-//-----------------------------------------------------------------------------
-typedef struct
-{
-       long struct_size;       // sizeof(ProxyInfo)
-       char hostname[200];
-       long port;
-       char username[100];
-       char password[100];
-} ProxyInfo;
-
-//-----------------------------------------------------------------------------
-typedef enum                   // for MediaInfo.mediaType
-{ 
-       UNKNOWN_MEDIA = 0,
-       CD_AUDIO_MEDIA = 1,
-       DIGITAL_FILE_MEDIA = 2,
-       DIGITAL_STREAM_MEDIA = 3
-} MediaTypes;
-
-//-----------------------------------------------------------------------------
-#define MAX_TOC_LEN                            2048
-typedef struct
-{
-       // media descriptors
-       CHAR            mediaFile[MAX_PATH];
-       MediaTypes      mediaType;
-
-       // cd audio media info
-       CHAR            cd_mediaTOC[MAX_TOC_LEN];
-       int                     cd_numTracks;
-       int                     cd_hasAudio;
-
-       // operation info
-       int                     op_canSeek;
-
-       // not used
-       int                     reserved[4];
-
-} MediaInfo;
-
-
-//-----------------------------------------------------------------------------
-// When subclassing the parent window, a plugin can watch for these messages
-// to react to events going on between plugins and player
-// DO NOT SEND THESE MESSAGES - can only watch for them
-
-// Plugin to Player Notifiers
-#define WM_PN_POSITIONUPDATE   (WM_USER + 100) // playback progress updated
-#define WM_PN_PLAYSTARTED              (WM_USER + 101) // playback has started
-#define WM_PN_PLAYSTOPPED              (WM_USER + 102) // playback has stopped by user
-#define WM_PN_PLAYPAUSED               (WM_USER + 103) // playback has been paused
-#define WM_PN_PLAYDONE                 (WM_USER + 104) // playback has finished (track completed)
-#define WM_PN_MEDIAEJECTED             (WM_USER + 105) // a CD was ejected (lParam = (LPCSTR)medianame)
-#define WM_PN_MEDIAINSERTED            (WM_USER + 106) // a CD was inserted (lParam = (LPCSTR)medianame)
-#define WM_PN_INFOCHANGED              (WM_USER + 107) // track information was updated (lParam = (LPCSTR)medianame)
-#define WM_PN_TRACKCHANGED             (WM_USER + 109) // current track playing has changed (relevant from CD plugin) (lParam = (LPCSTR)medianame)
-
-// Player to Plugin Notifiers
-#define WM_PN_PLAYLISTCHANGED  (WM_USER + 200) // playlist has changed in some way (add, delete, sort, shuffle, drag-n-drop, etc...)
-
-// For intercepting main menu display
-// (so you can get handle, modify, and display your own)
-#define WM_SHOWMAINMENU                        (WM_USER + 20)
-
-//-----------------------------------------------------------------------------
-// To shutdown player, send this command
-#define WM_SHUTDOWN                            (WM_USER + 5)
-
-//-----------------------------------------------------------------------------
-// opSetStatusMessage textflags
-#define TEXT_DEFAULT           0x0             // message scrolls by in status window
-#define TEXT_TOOLTIP           0x1             // message acts as tooltip in status window
-#define TEXT_URGENT                    0x2             // forces message to appear even if no status window (using msg box)
-#define TEXT_HOLD                      0x4             // tooltip message stays up (no fade out)
-
-
-#endif //QCDMODDEFS_H
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/QCD/QCDModInput.h b/lib/libfaad2/plugins/QCD/QCDModInput.h
deleted file mode 100644 (file)
index e714ea4..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-//-----------------------------------------------------------------------------
-//
-// File:       QCDModInput.h
-//
-// About:      Input plugin module interface.  This file is published with the 
-//                     Input plugin SDK.
-//
-// Authors:    Written by Paul Quinn and Richard Carlson.
-//
-// Copyright:
-//
-//     QCD multimedia player application Software Development Kit Release 1.0.
-//
-//     Copyright (C) 1997-2002 Quinnware
-//
-//     This code is free.  If you redistribute it in any form, leave this notice 
-//     here.
-//
-//     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.
-//
-//-----------------------------------------------------------------------------
-
-#ifndef QCDMODINPUT_H
-#define QCDMODINPUT_H
-
-#include "QCDModDefs.h"
-
-// name of the DLL export for input plugins
-#define INPUTDLL_ENTRY_POINT           QInputModule2   // (updated plugin api version 240+)
-
-// media insert flags
-#define MEDIAINSERT_PLAY                       0x1
-#define MEDIAINSERT_ADDTRACKS          0x2
-#define MEDIAINSERT_ADDSEGMENTS                0x4
-#define MEDIAINSERT_CLEARPLAYLIST      0x8
-
-// Stop will receive one of these flags (pass to output plugin's stop())
-#define STOPFLAG_FORCESTOP                     0       // stop occuring due to user action or other event
-#define STOPFLAG_PLAYDONE                      1       // stop occuring due to playlist completion
-
-// play flags
-#define PLAYFLAG_PLAYBACK                      0x0
-#define PLAYFLAG_ENCODING                      0x1
-#define PLAYFLAG_SEEKING                       0x2
-
-// Wave Marker flags
-#define WAVE_VIS_DATA_ONLY                     -1      // set to WaveDataStruct.markerstart in OutputWrite() call have data only go to vis 
-                                                                               // and not to output plugin
-// pause flags
-#define PAUSE_DISABLED                         0       // Pause() call is to unpause playback
-#define PAUSE_ENABLED                          1       // Pause() call is to pause playback
-
-//-----------------------------------------------------------------------------
-// Input Module
-//-----------------------------------------------------------------------------
-typedef struct 
-{
-       unsigned int            size;                   // size of init structure
-       unsigned int            version;                // plugin structure version (set to PLUGIN_API_VERSION)
-       PluginServiceFunc       Service;                // player supplied services callback
-
-       struct
-       {
-               void (*PositionUpdate)(unsigned int position);
-               void (*PlayStopped)(const char* medianame);                                     // notify player of play stop
-               void (*PlayStarted)(const char* medianame);                                     // notify player of play start
-               void (*PlayPaused)(const char* medianame, int flags);           // notify player of play pause
-               void (*PlayDone)(const char* medianame);                                        // notify player when play done
-               void (*PlayTrackChanged)(const char* medianame);                        // notify player when playing track changes (cd audio relevant only)
-               void (*MediaEjected)(const char* medianame);                            // notify player of media eject (cd audio relevant)
-               void (*MediaInserted)(const char* medianame, int flags);        // notify player of media insert (cd audio relevant)
-
-                                                                                                                                       // output plugin calls
-               int  (*OutputOpen)(const char* medianame, WAVEFORMATEX*);       // open output for wave data
-               int  (*OutputWrite)(WriteDataStruct*);                                          // send PCM audio data to output 
-                                                                                                                                               // (blocks until write completes, thus if output is paused can 
-                                                                                                                                               // block until unpaused)
-               int  (*OutputDrain)(int flags);                                                         // wait for all output to complete (blocking)
-               int  (*OutputDrainCancel)(int flags);                                           // break a drain in progress
-               int  (*OutputFlush)(unsigned int marker);                                       // flush output upto marker
-               int  (*OutputStop)(int flags);                                                          // stop output
-               int  (*OutputPause)(int flags);                                                         // pause output
-
-               int  (*OutputSetVol)(int levelleft, int levelright, int flags);
-               int  (*OutputGetCurrentPosition)(unsigned int *position, int flags);
-
-               void *Reserved[10];
-       } toPlayer;
-
-       struct 
-       {
-               int  (*Initialize)(QCDModInfo *modInfo, int flags);                     // initialize plugin
-               void (*ShutDown)(int flags);                                                            // shutdown plugin
-
-               int  (*Play)(const char* medianame, int playfrom, int playto, int flags);       // start playing playfrom->playto
-               int  (*Stop)(const char* medianame, int flags);                         // stop playing
-               int  (*Pause)(const char* medianame, int flags);                        // pause playback
-               int  (*Eject)(const char* medianame, int flags);                        // eject media
-               void (*SetEQ)(EQInfo*);                                                                         // update EQ settings
-
-               int  (*GetMediaSupported)(const char* medianame, MediaInfo *mediaInfo);                 // does plugin support medianame (and provides info for media)
-               int  (*GetTrackExtents)(const char* medianame, TrackExtents *ext, int flags);   // get media start, end & units
-               int  (*GetCurrentPosition)(const char* medianame, long *track, long *offset);   // get playing media's position
-
-               void (*Configure)(int flags);                                                                   // launch configuration
-               void (*About)(int flags);                                                                               // launch about info
-
-               void (*SetVolume)(int levelleft, int levelright, int flags);    // level 0 - 100
-
-               void *Reserved[10];
-       } toModule;
-
-} QCDModInitIn;
-
-#endif //QCDMODINPUT_H
diff --git a/lib/libfaad2/plugins/QCD/ReadMe.txt b/lib/libfaad2/plugins/QCD/ReadMe.txt
deleted file mode 100644 (file)
index 5dd839f..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-QCDFAAD.dll input Plugin for Quintessential Player (QCD)
-Please goto http://www.quinnware.com to download the latest version of QCD.
-
-About Tagging music file:
-
-Because QCD support ID3v1 & ID3v2 functions. So you can add a string -- ":AAC" 
-in the configuration dialog box of QCDcddb.dll Libarary Plugin.
-(I think you will find it and will know how to do it,
-otherwise you can visite the message forum on the web site.)
-
-Have a good time:)
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/QCD/logo.bmp b/lib/libfaad2/plugins/QCD/logo.bmp
deleted file mode 100644 (file)
index a01eb84..0000000
Binary files a/lib/libfaad2/plugins/QCD/logo.bmp and /dev/null differ
diff --git a/lib/libfaad2/plugins/QCD/plugin_dlg.rc b/lib/libfaad2/plugins/QCD/plugin_dlg.rc
deleted file mode 100644 (file)
index 4cd064a..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_CONFIG DIALOGEX 0, 0, 179, 133
-STYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
-CAPTION "FAAC Decoder Configuration"
-FONT 8, "MS Sans Serif", 0, 0, 0x1
-BEGIN
-    CONTROL         "Enable variable bitrate display",VARBITRATE_CHK,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,7,7,140,10
-    EDITTEXT        STREAM_BUFFER_TXT,87,21,21,12,ES_AUTOHSCROLL | ES_NUMBER
-    EDITTEXT        LOCAL_BUFFER_TXT,87,38,21,12,ES_AUTOHSCROLL | ES_NUMBER
-    CONTROL         "Buffer entire files into memory",IDC_MEMMAP,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,7,60,140,10
-    CONTROL         "Slider1",THREAD_PRIORITY_SLIDER,"msctls_trackbar32",
-                    TBS_AUTOTICKS | WS_TABSTOP,7,89,165,11,WS_EX_TRANSPARENT
-    PUSHBUTTON      "OK",OK_BTN,64,112,50,14
-    PUSHBUTTON      "Cancel",CANCEL_BTN,121,112,50,14
-    LTEXT           "HTTP stream buffer:",IDC_STATIC,7,22,77,8
-    LTEXT           "Decode Thread Priority: Highest (default)",IDC_STATIC2,
-                    7,78,165,8
-    LTEXT           "Local file buffer: ",IDC_STATIC,7,40,77,8
-    PUSHBUTTON      "Reset",RESET_BTN,7,112,50,14
-END
-
-IDD_ABOUT DIALOG DISCARDABLE  0, 0, 191, 168
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "About FAAD Plug-in"
-FONT 8, "MS Sans Serif"
-BEGIN
-    DEFPUSHBUTTON   "OK",IDOK,70,147,50,14
-    CTEXT           "",IDC_PLUGINVER,29,73,133,16
-    CTEXT           "",IDC_FAADVER,40,123,111,8
-    LTEXT           "QCD Input Plug-in by",IDC_STATIC,62,97,67,8
-    CONTROL         107,IDC_LOGO,"Static",SS_BITMAP | SS_CENTERIMAGE | 
-                    SS_REALSIZEIMAGE,7,0,177,68
-    LTEXT           "Shao Hao",IDC_MAIL1,79,111,33,8
-    LTEXT           "M. Bakker",IDC_MAIL3,59,134,34,8
-    LTEXT           "menno",IDC_MAIL2,109,134,22,8
-    LTEXT           "&&",IDC_STATIC,97,134,8,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    IDD_CONFIG, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 172
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 126
-    END
-
-    IDD_ABOUT, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 184
-        BOTTOMMARGIN, 161
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
-IDB_LOGO                BITMAP  DISCARDABLE     "logo.bmp"
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/lib/libfaad2/plugins/QCD/resource.h b/lib/libfaad2/plugins/QCD/resource.h
deleted file mode 100644 (file)
index 1080a77..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by plugin_dlg.rc
-//
-#define IDD_CONFIG                      101
-#define IDD_ABOUT                       106
-#define IDB_LOGO                        107
-#define VARBITRATE_CHK                  1004
-#define THREAD_PRIORITY_SLIDER          1007
-#define IDC_STATIC2                     1034
-#define LOCAL_BUFFER_TXT                1035
-#define STREAM_BUFFER_TXT               1036
-#define IDC_MEMMAP                      1037
-#define OK_BTN                          1038
-#define CANCEL_BTN                      1039
-#define RESET_BTN                       1047
-#define IDC_LOGO                        1048
-#define IDC_PLUGINVER                   1050
-#define IDC_FAADVER                     1051
-#define IDC_MAIL1                       1052
-#define IDC_MAIL2                       1053
-#define IDC_MAIL3                       1054
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        109
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1055
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDInputDLL.h b/lib/libfaad2/plugins/QCDMp4/QCDInputDLL.h
deleted file mode 100644 (file)
index d1ac911..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-//-----------------------------------------------------------------------------
-// 
-// File:       QCDInputDLL.h
-//
-// About:      QCD Player Input module DLL interface.  For more documentation, see
-//                     QCDModInput.h.
-//
-// Authors:    Written by Paul Quinn and Richard Carlson.
-//
-//     QCD multimedia player application Software Development Kit Release 1.0.
-//
-//     Copyright (C) 1997-2002 Quinnware
-//
-//     This code is free.  If you redistribute it in any form, leave this notice 
-//     here.
-//
-//     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.
-//
-//-----------------------------------------------------------------------------
-
-#ifndef QCDInputDLL_H
-#define QCDInputDLL_H
-
-#include "QCDModInput.h"
-
-// Calls from the Player
-int  GetMediaSupported(const char* medianame, MediaInfo *mediaInfo);
-int  GetTrackExtents(const char* medianame, TrackExtents *ext, int flags);
-int  GetCurrentPosition(const char* medianame, long *track, long *offset);
-
-void SetEQ(EQInfo*);
-void SetVolume(int levelleft, int levelright, int flags);
-
-int  Play(const char* medianame, int framefrom, int frameto, int flags);
-int  Pause(const char* medianame, int flags);
-int  Stop(const char* medianame, int flags);
-int  Eject(const char* medianame, int flags);
-
-int  Initialize(QCDModInfo *ModInfo, int flags);
-void ShutDown(int flags);
-void Configure(int flags);
-void About(int flags);
-
-#endif //QCDInputDLL_H
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDModDefs.h b/lib/libfaad2/plugins/QCDMp4/QCDModDefs.h
deleted file mode 100644 (file)
index ee8da33..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-//-----------------------------------------------------------------------------
-//
-// File:       QCDModDefs.h
-//
-// About:      Module definitions file.  Miscellanious definitions used by different
-//                     module types.  This file is published with the plugin SDKs.
-//
-// Authors:    Written by Paul Quinn and Richard Carlson.
-//
-// Copyright:
-//
-//     QCD multimedia player application Software Development Kit Release 1.0.
-//
-//     Copyright (C) 1997-2002 Quinnware
-//
-//     This code is free.  If you redistribute it in any form, leave this notice 
-//     here.
-//
-//     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.
-//
-//-----------------------------------------------------------------------------
-
-#ifndef QCDMODDEFS_H
-#define QCDMODDEFS_H
-
-#include <mmreg.h>
-#include <windows.h>
-
-#ifdef __cplusplus
-#define PLUGIN_API extern "C" __declspec(dllexport)
-#else
-#define PLUGIN_API __declspec(dllexport)
-#endif
-
-// Current plugin version
-
-// use this version for old style API calls (all returned text in native encoding)
-#define PLUGIN_API_VERSION                             250             
-
-// use this version for new style API calls (all returned text in UTF8 encoding on WinNT/2K/XP (native encoding on Win9x))
-#define PLUGIN_API_VERSION_WANTUTF8            ((PLUGIN_API_WANTUTF8<<16)|PLUGIN_API_VERSION)
-#define PLUGIN_API_WANTUTF8                            100
-
-//-----------------------------------------------------------------------------
-
-typedef struct 
-{
-       char                            *moduleString;
-       char                            *moduleExtensions;
-} QCDModInfo;
-
-//-----------------------------------------------------------------------------
-// Services (ops) provided by the Player
-//-----------------------------------------------------------------------------
-typedef enum 
-{                                                                      //*** below returns numeric info (*buffer not used)
-
-       opGetPlayerVersion = 0,                 // high-order word = major version (eg 3.01 is 3), low-order word = minor (eg 3.01 = 1)
-       opGetParentWnd = 1,                             // handle to player window
-       opGetPlayerInstance = 2,                // HINSTANCE to player executable
-
-       opGetPlayerState = 9,                   // get current state of the player (returns: 1 = stopped, 2 = playing, 3 = paused, 0 = failed)
-       opGetNumTracks = 10,                    // number of tracks in playlist
-       opGetCurrentIndex = 11,                 // index of current track in playlist (0 based)
-       opGetNextIndex = 12,                    // get index of next track to play (0 based), param1 = index start index. -1 for after current
-       opGetTrackNum = 13,                             // get track number of index, param1 = index of track in playlist, -1 for current
-                                                                       //              - 'track number' is the number of the track in it's respective album, as opposed to playlist number
-                                                                       //              - the 'track number' for digital files will be 1 if the tag is not set or the file is not identified
-
-       opGetTrackLength = 14,                  // get track length, param1 = index of track in playlist, -1 for current
-                                                                       //                   param2 = 0 for seconds, 1 for milliseconds
-       opGetTime = 15,                                 // get time on player, param1 = 0 for time displayed, 1 for track time, 2 for playlist time
-                                                                       //                                         param2 = 0 for elapsed, 1 for remaining                                                                                                                 
-       opGetTrackState = 16,                   // get whether track is marked, param1 = index of track, -1 for current
-       opGetPlaylistNum = 17,                  // get playlist number of index, param1 = index of track in playlist, -1 for current
-       opGetMediaType = 18,                    // get media type of track, param1 = index if track in playlist, -1 for current
-                                                                       //              - see MediaTypes below for return values
-
-       opGetAudioInfo = 19,                    // get format info about currently playing track
-                                                                       //              - param1 = 0 for samplerate, 1 for bitrate, 2 for num channels
-
-       opGetOffline = 20,                              // true if client is in Offline Mode
-       opGetVisTarget = 21,                    // where is vis being drawn > 0 - internal to skin, 1 - external window, 2 - full screen
-       opGetAlwaysOnTop = 22,                  // true if player is set to 'Always on Top'
-       opGetRepeatState = 23,                  // returns: 0 - repeat off, 1 - repeat track, 2 - repeat all
-       opGetShuffleState = 27,                 // returns: 0 - shuffle off, 1 - shuffle enabled
-
-       opGetTimerState = 24,                   // low-order word: 0 - track ascend, 1 - playlist ascend, 2 - track descend, 3 - playlist descend
-                                                                       // hi-order word: 1 if 'show hours' is set, else 0
-
-       opGetVolume = 25,                               // get master volume level (0 - 100), param1: 0 = combined, 1 = left, 2 = right
-       opSetVolume = 26,                               // set master volume level, param1: vol level 0 - 100, param2: balance (-100 left, 0 center, 100 right)
-
-       opGetIndexFromPLNum = 28,               // get index from playlist number, param1 = playlist number
-
-       opGetExtensionWnd = 30,                 // handle to the draggable window extension (only available on some skins), param1 = extension number (0 - 9)
-       opGetExtVisWnd = 31,                    // handle to the external visual window
-       opGetMusicBrowserWnd = 32,              // handle to the music browser window 
-       opGetSkinPreviewWnd = 33,               // handle to the skin preview window 
-       opGetPropertiesWnd = 34,                // handle to the player properties window 
-       opGetExtInfoWnd = 35,                   // handle to the extended information window 
-       opGetAboutWnd = 36,                             // handle to the about window 
-       opGetSegmentsWnd = 37,                  // handle to the segments window 
-       opGetEQPresetsWnd = 38,                 // handle to the EQ presets window 
-       opGetVideoWnd = 39,                             // handle to the video window 
-
-       opGetVisDimensions = 50,                // gets the width and height of visual window (param1 = -1 current vis window, 0 internal vis, 1 external vis, 2 full screen)
-                                                                       //              returns: HEIGHT in high word, WIDTH in low word 
-
-       opShowVideoWindow = 55,                 // Show or Close video window (param1 = 1 for create, 2 for create and show, 0 for close)
-
-       opGetQueriesComplete = 60,              // get status on whether all tracks in playlist have been queryied for their info
-
-                                                                       // playlist manipulation
-       opDeleteIndex = 90,                             // delete index from playlist (param1 = index)
-       opSelectIndex = 91,                             // mark index as selected (param1 = index, param2 = 1 - set, 0 - unset)
-       opBlockIndex = 92,                              // mark index as blocked (param1 = index, param2 = 1 - set, 0 - unset)
-
-       opGetMediaInfo = 99,                    // get the ICddbDisc object for the index specified, param1 = index of track, -1 for current
-                                                                       //              param2 = pointer to integer that receives track value
-                                                                       //              returns: pointer to ICddbDisc object. Do not release or deallocate this pointer
-
-
-                                                                       //*** below returns string info in buffer, param1 = size of buffer
-                                                                       //*** returns 1 on success, 0 on failure
-
-       opGetTrackName = 100,                   // get track name, param2 = index of track in playlist, -1 for current
-       opGetArtistName = 101,                  // get artist name, param2 = index of track in playlist, -1 for current
-       opGetDiscName = 102,                    // get disc name, param2 = index of track in playlist, -1 for current
-
-       opGetTrackFile = 103,                   // file name of track in playlist, param2 = index of track in playlist, -1 for current
-       opGetSkinName = 104,                    // get current skin name
-
-       opGetPluginFolder = 105,                // get current plugin folder
-       opGetPluginSettingsFile = 106,  // get settings file (plugins.ini) that plugin should save settings to
-       opGetPluginCacheFile = 107,             // get file that describes plugin validity, functions and names
-       opGetPlayerSettingsFile = 108,  // get settings file (qcd.ini) that player saves it settings to (should use for read-only)
-
-       opGetMusicFolder = 110,                 // get current music folder
-       opGetPlaylistFolder = 111,              // get current playlist folder
-       opGetSkinFolder = 112,                  // get current skin folder
-       opGetCDDBCacheFolder = 113,             // get current folder for CDDB cached info
-
-       opGetCurrentPlaylist = 114,             // get full pathname of playlist currently loaded 
-
-       opGetMediaID = 115,                             // get media identifier, param2 = index of track in playlist, -1 for current
-                                                                       //              - for CD's it's the TOC - for anything else, right now it's 0      
-
-       opGetSupportedExtensions = 116, // get file extensions supported by the player, param2 = 0 - get all extensions, 1 - get registered extensions
-                                                                       //              - returned extensions will be colon delimited
-
-       opGetPlaylistString = 117,              // get string for index as it appears in playlist, param2 = index
-
-                                                                       //*** below buffer points to struct or other object
-                                                                       //*** returns 1 on success, 0 on failure
-
-       opShowMainMenu = 120,                   // Display Main QCD Menu (buffer = POINT* - location to display menu)
-       opGetMainMenu = 121,                    // Returns copy of HMENU handle to QCD Menu (must use DestroyMenu on handle when complete)
-
-       opShowQuickTrack = 125,                 // Display QuickTrack Menu (buffer = POINT* - location to display menu)
-       opGetQuickTrack = 126,                  // Returns copy of HMENU handle to QuickTrack menu (must use DestroyMenu on handle when complete)
-                                                                       //              To use if QuickTrack item selected: PostMessage(hwndPlayer, WM_COMMAND, menu_id, 0);
-
-       opGetEQVals = 200,                              // get current EQ levels/on/off (buffer = EQInfo*)
-       opSetEQVals = 201,                              // set EQ levels/on/off (buffer = EQInfo*)
-
-       opGetProxyInfo = 202,                   // get proxy info (buffer = ProxyInfo*), returns 0 if proxy not in use
-
-
-                                                                       //*** below returns numeric info, buffer used
-
-       opGetIndexFromFilename = 210,   // get the index of a file that exists in current playlist (buffer = full path of file),
-                                                                       //              param1 = startindex (index to start searching on)
-                                    //         returns -1 if file not in playlist
-
-
-                                                                       //*** below send information to player
-                                                                       //*** returns 1 on success, 0 on failure
-
-       opSetStatusMessage = 1000,              // display message in status area (buffer = msg buffer (null term), param1 = text flags (see below))
-
-       opSetBrowserUrl = 1001,                 // set music browser URL (buffer = url (null term))
-                                       //              null url buffer - closes browser
-                                       //              param1 = 0 - normal, 1 - force open
-
-       opSetAudioInfo = 1002,                  // set the current music bitrate/khz (buffer = AudioInfo*, param1 = size of AudioInfo)
-
-       opSetTrackAlbum = 1003,                 // update track ablum name (buffer = album (null term), param1 = (string ptr)file name), param2 = MediaTypes
-       opSetTrackTitle = 1004,                 // update track title (buffer = title (null term), param1 = (string ptr)file name), param2 = MediaTypes
-       opSetTrackArtist = 1005,                // update track artist name (buffer = artist (null term), param1 = (string ptr)file name), param2 = MediaTypes
-
-       opSetTrackExtents = 1007,               // update track TrackExtents info (buffer = &TrackExtents), param1 = (string ptr)file name)
-       opSetTrackSeekable = 1008,              // update track seekable flag (buffer = (string ptr)file name), param1 = TRUE/FALSE
-       opSetPlayNext = 1009,                   // set the next index to be played (buffer = NULL, param1 = index, index = -1 unsets playnext)
-       opSetIndexFilename = 1010,              // updates the filename (or stream) that an index in the current playlist refers to, buffer = new filename, param1 = index
-
-       opSetPlaylist = 1006,                   // clear playlist, add files to playlist or reset playlist with new files 
-                                                                       //              buffer = file list (each file in quotes, string null terminated) Eg; buffer="\"file1.mp3\" \"file2.mp3\"\0" - NULL to clear playlist
-                                                                       //              param1 = (string ptr)originating path (can be NULL if paths included with files) 
-                                                                       //              param2 = 1 - clear playlist flag, 2 - enqueue to top
-
-       opInsertPlaylist = 1011,                // insert tracks into playlist 
-                                                                       //              buffer = file list (each file in quotes, string null terminated) Eg; buffer="\"file1.mp3\" \"file2.mp3\"\0"
-                                                                       //              param1 = (string ptr)originating path (can be NULL if paths included with files) 
-                                                                       //              param2 = index location to insert tracks (-1 to insert at end)
-
-       opMovePlaylistTrack = 1012,             // param1 = index of track to move, param2 = destination index (move shifts tracks between param1 and param2)
-       opSwapPlaylistTracks = 1013,    // param1 = index of first track, param2 = index of second track (swap only switches indecies param1 and param2)
-
-       opCreateDiscInfo = 1020,                // returns: pointer to ICddbDisc object. Do not release or deallocate this pointer
-       opSetDiscInfo = 1021,                   // buffer = ICddbDisc*, param1 = MediaInfo*, param2 = track number
-
-       opSetSeekPosition = 1100,               // seek to position during playback
-                                                                       //              buffer = NULL, param1 = position
-                                                                       //              param2 = 0 - position is in seconds, 1 - position is in milliseconds, 2 - position is in percent (use (float)param1))
-
-
-       opSetRepeatState = 1110,                // set playlist repeat state, buffer = NULL, param1 = 0 - off, 1 - repeat track, 2 - repeat playlist
-       opSetShuffleState = 1111,               // set playlist shuffle state, buffer = NULL, param1 = 0 - off, 1 - on
-
-                                                                       //*** below configures custom plugin menu items for the 'plugin menu'
-                                                                       //*** Player will call plugin's configure routine with menu value when menu item selected
-                                                                       //*** returns 1 on success, 0 on failure
-
-       opSetPluginMenuItem = 2000,             // buffer = HINSTANCE of plugin, param1 = item id, param2 = (string ptr)string to display
-                                                                       //              - set param2 = 0 to remove item id from menu
-                                                                       //              - set param1 = 0 and param2 = 0 to remove whole menu
-       opSetPluginMenuState = 2001,    // buffer = HINSTANCE of plugin, param1 = item id, param2 = menu flags (same as windows menu flags - eg: MF_CHECKED)
-
-
-                                                                       //*** below are services for using the player's filename template editor
-                                                                       //*** returns 1 on success, 0 on failure
-
-       opShowTemplateEditor = 2100,    // displays template editor dialog, param1 = (HWND)parent window, param2 = modal flag
-       opLoadTemplate = 2101,                  // loads saved templates, buffer = (char*)string buf, param1 = bufsize, param2 = index of template (index < 0 for default formats, index >= 0 for user made formats)
-       opRenderTemplate = 2102,                // create string based on template, buffer = (char*)template, param1 = FormatMetaInfo*, param2 = (char*)string buffer (min 260 bytes)
-
-                                                                       //*** other services
-
-       opUTF8toUCS2 = 9000,                    // convert UTF8 string to UCS2 (Unicode) string, buffer = null terminated utf8 string, param1 = (WCHAR*)result string buffer, param2 = size of result buffer
-       opUCS2toUTF8 = 9001,                    // convert UCS2 (Unicode) string to UTF8 string, buffer = null terminated ucs2 string, param1 = (char*)result string buffer, param2 = size of result buffer
-
-       opSafeWait = 10000                              // plugin's can use this to wait on an object without worrying about deadlocking the player.
-                                                                       // this should only be called by the thread that enters the plugin, not by any plugin-created threads
-
-} PluginServiceOp;
-
-//-----------------------------------------------------------------------------
-// Info services api provided by the Player, called by Plugin.
-//-----------------------------------------------------------------------------
-typedef long (*PluginServiceFunc)(PluginServiceOp op, void *buffer, long param1, long param2);
-
-// Use to retrieve service func for DSP plugins (or other inproc process that doesn't have access to PluginServiceFunc)
-// Eg: PluginServiceFunc Service = (PluginServiceFunc)SendMessage(hwndPlayer, WM_GETSERVICEFUNC, 0, 0);
-// Set WPARAM = PLUGIN_API_WANTUTF8 for UTF8 string parameters
-#define WM_GETSERVICEFUNC                      (WM_USER + 1)
-
-//-----------------------------------------------------------------------------
-typedef struct                         // for Output Plugin Write callback
-{
-       void    *data;                  // pointer to valid data
-       int             bytelen;                // length of data pointed to by 'data' in bytes
-       UINT    numsamples;             // number of samples represented by 'data'
-       UINT    bps;                    // bits per sample
-       UINT    nch;                    // number of channels
-       UINT    srate;                  // sample rate
-
-       UINT    markerstart;    // Marker position at start of data (marker is time value of data) 
-                                                       // (set to WAVE_VIS_DATA_ONLY to not have data sent to output plugins)
-       UINT    markerend;              // Marker position at end of data (not currently used, set to 0)
-} WriteDataStruct;
-
-//-----------------------------------------------------------------------------
-typedef struct                 // for GetTrackExtents Input Plugin callback
-{
-       UINT track;                     // for CD's, set the track number. Otherwise set to 1.
-       UINT start;                     // for CD's or media that doesn't start at the beginning 
-                                               // of the file, set to start position. Otherwise set to 0.
-       UINT end;                       // set to end position of media.
-       UINT unitpersec;        // whatever units are being used for this media, how many
-                                               // of them per second. 
-                                               // (Note: ((end - start) / unitpersecond) = file length
-       UINT bytesize;          // size of file in bytes (if applicable, otherwise 0).
-} TrackExtents;
-
-//-----------------------------------------------------------------------------
-typedef struct                 // for opSetAudioInfo service
-{              
-    long struct_size;  // sizeof(AudioInfo)
-    long level;                        // MPEG level (1 for MPEG1, 2 for MPEG2, 3 for MPEG2.5, 7 for MPEGpro)
-    long layer;                        // and layer (1, 2 or 3)
-    long bitrate;              // audio bitrate in bits per second
-    long frequency;            // audio freq in Hz
-    long mode;                 // 0 for stereo, 1 for joint-stereo, 2 for dual-channel, 3 for mono, 4 for multi-channel
-       char text[8];           // up to eight characters to identify format (will override level and layer settings)
-} AudioInfo;
-
-//-----------------------------------------------------------------------------
-// Equalizer Info
-//-----------------------------------------------------------------------------
-typedef struct                 // for coming QCD version
-{
-       long struct_size;       // sizeof(EQInfo)
-       char enabled;           
-       char preamp;            // -128 to 127, 0 is even
-       char bands[10];         // -128 to 127, 0 is even
-} EQInfo;
-
-//-----------------------------------------------------------------------------
-typedef struct
-{
-       long struct_size;       // sizeof(ProxyInfo)
-       char hostname[200];
-       long port;
-       char username[100];
-       char password[100];
-} ProxyInfo;
-
-//-----------------------------------------------------------------------------
-typedef enum                   // for MediaInfo.mediaType
-{ 
-       UNKNOWN_MEDIA = 0,
-       CD_AUDIO_MEDIA = 1,
-       DIGITAL_FILE_MEDIA = 2,
-       DIGITAL_STREAM_MEDIA = 3
-} MediaTypes;
-
-//-----------------------------------------------------------------------------
-#define MAX_TOC_LEN                            2048
-typedef struct
-{
-       // media descriptors
-       CHAR            mediaFile[MAX_PATH];
-       MediaTypes      mediaType;
-
-       // cd audio media info
-       CHAR            cd_mediaTOC[MAX_TOC_LEN];
-       int                     cd_numTracks;
-       int                     cd_hasAudio;
-
-       // operation info
-       int                     op_canSeek;
-
-       // not used
-       int                     reserved[4];
-
-} MediaInfo;
-
-//-----------------------------------------------------------------------------
-typedef struct
-{
-       long    struct_size;
-       LPCWSTR title;
-       LPCWSTR artalb;
-       LPCWSTR album;
-       LPCWSTR genre;
-       LPCWSTR year;
-       LPCWSTR tracknum;
-       LPCWSTR filename;
-       LPCWSTR arttrk;
-       long    reserved;
-
-} FormatMetaInfo;
-
-//-----------------------------------------------------------------------------
-// When subclassing the parent window, a plugin can watch for these messages
-// to react to events going on between plugins and player
-// DO NOT SEND THESE MESSAGES - can only watch for them
-
-// Plugin to Player Notifiers
-#define WM_PN_POSITIONUPDATE   (WM_USER + 100) // playback progress updated
-#define WM_PN_PLAYSTARTED              (WM_USER + 101) // playback has started
-#define WM_PN_PLAYSTOPPED              (WM_USER + 102) // playback has stopped by user
-#define WM_PN_PLAYPAUSED               (WM_USER + 103) // playback has been paused
-#define WM_PN_PLAYDONE                 (WM_USER + 104) // playback has finished (track completed)
-#define WM_PN_MEDIAEJECTED             (WM_USER + 105) // a CD was ejected (CDRom drive letter= 'A' + lParam)
-#define WM_PN_MEDIAINSERTED            (WM_USER + 106) // a CD was inserted (CDRom drive letter= 'A' + lParam)
-#define WM_PN_INFOCHANGED              (WM_USER + 107) // track information was updated (lParam = (LPCSTR)medianame)
-#define WM_PN_TRACKCHANGED             (WM_USER + 109) // current track playing has changed (relevant from CD plugin) (lParam = (LPCSTR)medianame)
-
-// Player to Plugin Notifiers
-#define WM_PN_PLAYLISTCHANGED  (WM_USER + 200) // playlist has changed in some way (add, delete, sort, shuffle, drag-n-drop, etc...)
-
-// For intercepting main menu display
-// (so you can get handle, modify, and display your own)
-#define WM_SHOWMAINMENU                        (WM_USER + 20)
-
-// For intercepting skinned border window commands
-#define WM_BORDERWINDOW                        (WM_USER + 26)
-// WM_BORDERWINDOW     wParam's
-#define BORDERWINDOW_NORMALSIZE                        0x100000
-#define BORDERWINDOW_DOUBLESIZE                        0x200000
-#define BORDERWINDOW_FULLSCREEN                        0x400000
-
-// send to border window to cause resize
-// wParam = LPPOINT lpp; // point x-y is CLIENT area size of window
-#define WM_SIZEBORDERWINDOW            (WM_USER + 1)
-
-//-----------------------------------------------------------------------------
-// To shutdown player, send this command
-#define WM_SHUTDOWN                            (WM_USER + 5)
-
-//-----------------------------------------------------------------------------
-// opSetStatusMessage textflags
-#define TEXT_DEFAULT           0x0             // message scrolls by in status window
-#define TEXT_TOOLTIP           0x1             // message acts as tooltip in status window
-#define TEXT_URGENT                    0x2             // forces message to appear even if no status window (using msg box)
-#define TEXT_HOLD                      0x4             // tooltip message stays up (no fade out)
-#define TEXT_UNICODE           0x10    // buffer contains a unicode string (multibyte string otherwise)
-
-#endif //QCDMODDEFS_H
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDModInput.h b/lib/libfaad2/plugins/QCDMp4/QCDModInput.h
deleted file mode 100644 (file)
index 31d3bff..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-//-----------------------------------------------------------------------------
-//
-// File:       QCDModInput.h
-//
-// About:      Input plugin module interface.  This file is published with the 
-//                     Input plugin SDK.
-//
-// Authors:    Written by Paul Quinn and Richard Carlson.
-//
-// Copyright:
-//
-//     QCD multimedia player application Software Development Kit Release 1.0.
-//
-//     Copyright (C) 1997-2002 Quinnware
-//
-//     This code is free.  If you redistribute it in any form, leave this notice 
-//     here.
-//
-//     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.
-//
-//-----------------------------------------------------------------------------
-
-#ifndef QCDMODINPUT_H
-#define QCDMODINPUT_H
-
-#include "QCDModDefs.h"
-
-// name of the DLL export for input plugins
-#define INPUTDLL_ENTRY_POINT           QInputModule2   // (updated plugin api version 240+)
-
-// media insert flags
-#define MEDIAINSERT_PLAY                       0x1
-#define MEDIAINSERT_ADDTRACKS          0x2
-#define MEDIAINSERT_ADDSEGMENTS                0x4
-#define MEDIAINSERT_CLEARPLAYLIST      0x8
-
-// Stop will receive one of these flags (pass to output plugin's stop())
-#define STOPFLAG_FORCESTOP                     0       // stop occuring due to user action or other event
-#define STOPFLAG_PLAYDONE                      1       // stop occuring due to playlist completion
-
-// play flags
-#define PLAYFLAG_PLAYBACK                      0x0
-#define PLAYFLAG_ENCODING                      0x1
-#define PLAYFLAG_SEEKING                       0x2
-
-// Wave Marker flags
-#define WAVE_VIS_DATA_ONLY                     -1      // set to WaveDataStruct.markerstart in OutputWrite() call have data only go to vis 
-                                                                               // and not to output plugin
-// pause flags
-#define PAUSE_DISABLED                         0       // Pause() call is to unpause playback
-#define PAUSE_ENABLED                          1       // Pause() call is to pause playback
-
-//-----------------------------------------------------------------------------
-// Input Module
-//-----------------------------------------------------------------------------
-typedef struct 
-{
-       unsigned int            size;                   // size of init structure
-       unsigned int            version;                // plugin structure version (set to PLUGIN_API_VERSION)
-       PluginServiceFunc       Service;                // player supplied services callback
-
-       struct
-       {
-               void (*PositionUpdate)(unsigned int position);
-               void (*PlayStopped)(const char* medianame);                                     // notify player of play stop
-               void (*PlayStarted)(const char* medianame);                                     // notify player of play start
-               void (*PlayPaused)(const char* medianame, int flags);           // notify player of play pause
-               void (*PlayDone)(const char* medianame);                                        // notify player when play done
-               void (*PlayTrackChanged)(const char* medianame);                        // notify player when playing track changes (cd audio relevant only)
-               void (*MediaEjected)(const char* medianame);                            // notify player of media eject (cd audio relevant)
-               void (*MediaInserted)(const char* medianame, int flags);        // notify player of media insert (cd audio relevant)
-
-                                                                                                                                       // output plugin calls
-               int  (*OutputOpen)(const char* medianame, WAVEFORMATEX*);       // open output for wave data
-               int  (*OutputWrite)(WriteDataStruct*);                                          // send PCM audio data to output 
-                                                                                                                                               // (blocks until write completes, thus if output is paused can 
-                                                                                                                                               // block until unpaused)
-               int  (*OutputDrain)(int flags);                                                         // wait for all output to complete (blocking)
-               int  (*OutputDrainCancel)(int flags);                                           // break a drain in progress
-               int  (*OutputFlush)(unsigned int marker);                                               // flush output upto marker
-               int  (*OutputStop)(int flags);                                                          // stop output
-               int  (*OutputPause)(int flags);                                                         // pause output
-
-               int  (*OutputSetVol)(int levelleft, int levelright, int flags);
-               int  (*OutputGetCurrentPosition)(unsigned int *position, int flags);
-
-               void *Reserved[10];
-       } toPlayer;
-
-       struct 
-       {
-               int  (*Initialize)(QCDModInfo *modInfo, int flags);                     // initialize plugin
-               void (*ShutDown)(int flags);                                                            // shutdown plugin
-
-               int  (*Play)(const char* medianame, int playfrom, int playto, int flags);       // start playing playfrom->playto
-               int  (*Stop)(const char* medianame, int flags);                         // stop playing
-               int  (*Pause)(const char* medianame, int flags);                        // pause playback
-               int  (*Eject)(const char* medianame, int flags);                        // eject media
-               void (*SetEQ)(EQInfo*);                                                                         // update EQ settings
-
-               int  (*GetMediaSupported)(const char* medianame, MediaInfo *mediaInfo);                 // does plugin support medianame (and provides info for media)
-               int  (*GetTrackExtents)(const char* medianame, TrackExtents *ext, int flags);   // get media start, end & units
-               int  (*GetCurrentPosition)(const char* medianame, long *track, long *offset);   // get playing media's position
-
-               void (*Configure)(int flags);                                                                   // launch configuration
-               void (*About)(int flags);                                                                               // launch about info
-
-               void (*SetVolume)(int levelleft, int levelright, int flags);    // level 0 - 100
-
-               void *Reserved[10];
-       } toModule;
-
-} QCDModInitIn;
-
-#endif //QCDMODINPUT_H
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDModTagEditor.h b/lib/libfaad2/plugins/QCDMp4/QCDModTagEditor.h
deleted file mode 100644 (file)
index c06f5d1..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-//-----------------------------------------------------------------------------
-//
-// File:       QCDModTagEditor
-//
-// About:      Tag Editing plugin module interface.  This file is published with the 
-//                     QCD plugin SDK.
-//
-// Authors:    Written by Paul Quinn
-//
-// Copyright:
-//
-//     QCD multimedia player application Software Development Kit Release 1.0.
-//
-//     Copyright (C) 2002 Quinnware
-//
-//     This code is free.  If you redistribute it in any form, leave this notice 
-//     here.
-//
-//     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.
-//
-//-----------------------------------------------------------------------------
-
-#ifndef QCDMODTAGEDITOR_H
-#define QCDMODTAGEDITOR_H
-
-#include "QCDModDefs.h"
-
-// name of the DLL export for output plugins
-#define TAGEDITORDLL_ENTRY_POINT       QTagEditorModule
-
-// Tag field ids
-typedef enum
-{
-       TAGFIELD_FIRSTFIELD = 0,
-
-       TAGFIELD_TITLE = 0,
-       TAGFIELD_ARTIST,
-       TAGFIELD_ALBUM, 
-       TAGFIELD_GENRE,
-       TAGFIELD_YEAR,  
-       TAGFIELD_TRACK, 
-       TAGFIELD_COMMENT,
-
-       TAGFIELD_COMPOSER,
-       TAGFIELD_CONDUCTOR,
-       TAGFIELD_ORCHESTRA,
-       TAGFIELD_YEARCOMPOSED,
-
-       TAGFIELD_ORIGARTIST,
-       TAGFIELD_LABEL, 
-       TAGFIELD_COPYRIGHT,
-       TAGFIELD_ENCODER,
-       TAGFIELD_CDDBTAGID,
-
-       TAGFIELD_FIELDCOUNT
-};
-
-//-----------------------------------------------------------------------------
-
-typedef struct 
-{
-       UINT    size;                   // size of init structure
-       UINT    version;                // plugin structure version (set to PLUGIN_API_VERSION)
-
-       LPCSTR  description;
-       LPCSTR  defaultexts;
-
-       bool    (*Read)(LPCSTR filename, void* tagHandle);
-       bool    (*Write)(LPCSTR filename, void* tagHandle);
-       bool    (*Strip)(LPCSTR filename);
-
-       void    (*ShutDown)(int flags);
-
-       void    (*SetFieldA)(void* tagHandle, int fieldId, LPCSTR szNewText);
-       void    (*SetFieldW)(void* tagHandle, int fieldId, LPCWSTR szNewText);
-
-       LPCSTR  (*GetFieldA)(void* tagHandle, int fieldId);
-       LPCWSTR (*GetFieldW)(void* tagHandle, int fieldId);
-
-} QCDModInitTag;
-
-#endif //QCDMODTAGEDITOR_H
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDMp4.c b/lib/libfaad2/plugins/QCDMp4/QCDMp4.c
deleted file mode 100644 (file)
index da5063b..0000000
+++ /dev/null
@@ -1,2992 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: QCDMp4.c,v 1.4 2003/12/06 04:24:17 rjamorim Exp $
-**/
-
-//#define DEBUG_OUTPUT
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <commctrl.h>
-#include <commdlg.h>
-#include <stdlib.h>
-#include <math.h>
-#include <faad.h>
-#include <mp4.h>
-
-#include "resource.h"
-#include "QCDInputDLL.h"
-#include "utils.h"
-#include "config.h"
-//#include "aacinfo.h"
-//#include "aac2mp4.h"
-//
-//const char *long_ext_list = "MP4\0MPEG-4 Files (*.MP4)\0M4A\0MPEG-4 Files (*.M4A)\0AAC\0AAC Files (*.AAC)\0";
-//const char *short_ext_list = "MP4\0MPEG-4 Files (*.MP4)\0M4A\0MPEG-4 Files (*.M4A)\0";
-
-static long priority_table[] = {
-    0,
-    THREAD_PRIORITY_HIGHEST,
-    THREAD_PRIORITY_ABOVE_NORMAL,
-    THREAD_PRIORITY_NORMAL,
-    THREAD_PRIORITY_BELOW_NORMAL,
-    THREAD_PRIORITY_LOWEST
-};
-static int res_id_table[] = {
-    IDC_16BITS,
-    IDC_24BITS,
-    IDC_32BITS,
-    0,
-    0,
-    /*IDC_16BITS_DITHERED*/ IDC_16BITS /* temp hack */
-};
-static int res_table[] = {
-    16,
-    24,
-    32,
-    0,
-    0,
-    16
-};
-//static char info_fn[_MAX_PATH];
-//
-//// post this to the main window at end of file (after playback has stopped)
-//#define WM_WA_AAC_EOF WM_USER+2
-
-struct seek_list
-{
-    struct seek_list *next;
-    __int64 offset;
-};
-
-typedef struct state
-{
-    /* general stuff */
-    faacDecHandle hDecoder;
-    int samplerate;
-    unsigned char channels;
-    double decode_pos_ms; // current decoding position, in milliseconds
-    int paused; // are we paused?
-    int seek_needed; // if != -1, it is the point that the decode thread should seek to, in ms.
-    char filename[_MAX_PATH];
-    int filetype; /* 0: MP4; 1: AAC */
-    int last_frame;
-    __int64 last_offset;
-
-    /* MP4 stuff */
-    MP4FileHandle mp4file;
-    int mp4track;
-    MP4SampleId numSamples;
-    MP4SampleId sampleId;
-
-    /* AAC stuff */
-    FILE *aacfile;
-    long m_aac_bytes_into_buffer;
-    long m_aac_bytes_consumed;
-    __int64 m_file_offset;
-    unsigned char *m_aac_buffer;
-    int m_at_eof;
-    double cur_pos_sec;
-    int m_header_type;
-    struct seek_list *m_head;
-    struct seek_list *m_tail;
-    unsigned long m_length;
-
-    /* for gapless decoding */
-    unsigned int useAacLength;
-    unsigned int framesize;
-    unsigned int initial;
-    unsigned long timescale;
-} state;
-
-static state mp4state;
-
-//static In_Module module; // the output module (declared near the bottom of this file)
-struct {
-       HINSTANCE               hDllInstance;
-       HWND                    hMainWindow;
-       QCDModInitIn    QCDCallbacks;
-} module;
-AudioInfo              ai;
-
-static int killPlayThread;
-static int PlayThreadAlive = 0; // 1=play thread still running
-HANDLE play_thread_handle = INVALID_HANDLE_VALUE; // the handle to the decode thread
-
-/* Function definitions */
-void *decode_aac_frame(state *st, faacDecFrameInfo *frameInfo);
-DWORD WINAPI MP4PlayThread(void *b); // the decode thread procedure
-DWORD WINAPI AACPlayThread(void *b); // the decode thread procedure
-
-
-//typedef struct tag
-//{
-//    char *item;
-//    char *value;
-//} tag;
-//
-//typedef struct medialib_tags
-//{
-//    struct tag *tags;
-//    unsigned int count;
-//} medialib_tags;
-//
-//int tag_add_field(medialib_tags *tags, const char *item, const char *value)
-//{
-//    void *backup = (void *)tags->tags;
-//
-//    if (!item || (item && !*item) || !value) return 0;
-//
-//    tags->tags = (struct tag *)realloc(tags->tags, (tags->count+1) * sizeof(tag));
-//    if (!tags->tags) {
-//        if (backup) free(backup);
-//        return 0;
-//    }
-//    else
-//    {
-//        int i_len = strlen(item);
-//        int v_len = strlen(value);
-//
-//        tags->tags[tags->count].item = (char *)malloc(i_len+1);
-//        tags->tags[tags->count].value = (char *)malloc(v_len+1);
-//
-//        if (!tags->tags[tags->count].item || !tags->tags[tags->count].value)
-//        {
-//            if (!tags->tags[tags->count].item) free (tags->tags[tags->count].item);
-//            if (!tags->tags[tags->count].value) free (tags->tags[tags->count].value);
-//            tags->tags[tags->count].item = NULL;
-//            tags->tags[tags->count].value = NULL;
-//            return 0;
-//        }
-//
-//        memcpy(tags->tags[tags->count].item, item, i_len);
-//        memcpy(tags->tags[tags->count].value, value, v_len);
-//        tags->tags[tags->count].item[i_len] = '\0';
-//        tags->tags[tags->count].value[v_len] = '\0';
-//
-//        tags->count++;
-//        return 1;
-//    }
-//}
-//
-//int tag_set_field(medialib_tags *tags, const char *item, const char *value)
-//{
-//    unsigned int i;
-//
-//    if (!item || (item && !*item) || !value) return 0;
-//
-//    for (i = 0; i < tags->count; i++)
-//    {
-//        if (!stricmp(tags->tags[i].item, item))
-//        {
-//            void *backup = (void *)tags->tags[i].value;
-//            int v_len = strlen(value);
-//
-//            tags->tags[i].value = (char *)realloc(tags->tags[i].value, v_len+1);
-//            if (!tags->tags[i].value)
-//            {
-//                if (backup) free(backup);
-//                return 0;
-//            }
-//
-//            memcpy(tags->tags[i].value, value, v_len);
-//            tags->tags[i].value[v_len] = '\0';
-//
-//            return 1;
-//        }
-//    }
-//
-//    return tag_add_field(tags, item, value);
-//}
-//
-//int tag_delete(medialib_tags *tags)
-//{
-//    unsigned int i;
-//
-//    for (i = 0; i < tags->count; i++)
-//    {
-//        if (tags->tags[i].item) free(tags->tags[i].item);
-//        if (tags->tags[i].value) free(tags->tags[i].value);
-//    }
-//
-//    if (tags->tags) free(tags->tags);
-//
-//    tags->tags = NULL;
-//    tags->count = 0;
-//}
-//
-//int ReadMP4Tag(MP4FileHandle file, medialib_tags *tags)
-//{
-//    unsigned __int32 valueSize;
-//    unsigned __int8 *pValue;
-//    char *pName;
-//    unsigned int i = 0;
-//
-//    do {
-//        pName = 0;
-//        pValue = 0;
-//        valueSize = 0;
-//
-//        MP4GetMetadataByIndex(file, i, (const char **)&pName, &pValue, &valueSize);
-//
-//        if (valueSize > 0)
-//        {
-//            char *val = (char *)malloc(valueSize+1);
-//            if (!val) return 0;
-//            memcpy(val, pValue, valueSize);
-//            val[valueSize] = '\0';
-//
-//            if (pName[0] == '\xa9')
-//            {
-//                if (memcmp(pName, "©nam", 4) == 0)
-//                {
-//                    tag_add_field(tags, "title", val);
-//                } else if (memcmp(pName, "©ART", 4) == 0) {
-//                    tag_add_field(tags, "artist", val);
-//                } else if (memcmp(pName, "©wrt", 4) == 0) {
-//                    tag_add_field(tags, "writer", val);
-//                } else if (memcmp(pName, "©alb", 4) == 0) {
-//                    tag_add_field(tags, "album", val);
-//                } else if (memcmp(pName, "©day", 4) == 0) {
-//                    tag_add_field(tags, "date", val);
-//                } else if (memcmp(pName, "©too", 4) == 0) {
-//                    tag_add_field(tags, "tool", val);
-//                } else if (memcmp(pName, "©cmt", 4) == 0) {
-//                    tag_add_field(tags, "comment", val);
-//                } else if (memcmp(pName, "©gen", 4) == 0) {
-//                    tag_add_field(tags, "genre", val);
-//                } else {
-//                    tag_add_field(tags, pName, val);
-//                }
-//            } else if (memcmp(pName, "gnre", 4) == 0) {
-//                char *t=0;
-//                if (MP4GetMetadataGenre(file, &t))
-//                {
-//                    tag_add_field(tags, "genre", t);
-//                }
-//            } else if (memcmp(pName, "trkn", 4) == 0) {
-//                unsigned __int16 trkn = 0, tot = 0;
-//                char t[200];
-//                if (MP4GetMetadataTrack(file, &trkn, &tot))
-//                {
-//                    if (tot > 0)
-//                        wsprintf(t, "%d/%d", trkn, tot);
-//                    else
-//                        wsprintf(t, "%d", trkn);
-//                    tag_add_field(tags, "tracknumber", t);
-//                }
-//            } else if (memcmp(pName, "disk", 4) == 0) {
-//                unsigned __int16 disk = 0, tot = 0;
-//                char t[200];
-//                if (MP4GetMetadataDisk(file, &disk, &tot))
-//                {
-//                    if (tot > 0)
-//                        wsprintf(t, "%d/%d", disk, tot);
-//                    else
-//                        wsprintf(t, "%d", disk);
-//                    tag_add_field(tags, "disc", t);
-//                }
-//            } else if (memcmp(pName, "cpil", 4) == 0) {
-//                unsigned __int8 cpil = 0;
-//                char t[200];
-//                if (MP4GetMetadataCompilation(file, &cpil))
-//                {
-//                    wsprintf(t, "%d", cpil);
-//                    tag_add_field(tags, "compilation", t);
-//                }
-//            } else if (memcmp(pName, "tmpo", 4) == 0) {
-//                unsigned __int16 tempo = 0;
-//                char t[200];
-//                if (MP4GetMetadataTempo(file, &tempo))
-//                {
-//                    wsprintf(t, "%d BPM", tempo);
-//                    tag_add_field(tags, "tempo", t);
-//                }
-//            } else if (memcmp(pName, "NDFL", 4) == 0) {
-//                /* Removed */
-//            } else {
-//                tag_add_field(tags, pName, val);
-//            }
-//
-//            free(val);
-//        }
-//
-//        i++;
-//    } while (valueSize > 0);
-//
-//    return 1;
-//}
-//
-//int mp4_set_metadata(MP4FileHandle file, const char *item, const char *val)
-//{
-//    if (!item || (item && !*item) || !val || (val && !*val)) return 0;
-//
-//    if (!stricmp(item, "track") || !stricmp(item, "tracknumber"))
-//    {
-//        unsigned __int16 trkn, tot;
-//        int t1 = 0, t2 = 0;
-//        sscanf(val, "%d/%d", &t1, &t2);
-//        trkn = t1, tot = t2;
-//        if (!trkn) return 1;
-//        if (MP4SetMetadataTrack(file, trkn, tot)) return 1;
-//    }
-//    else if (!stricmp(item, "disc") || !stricmp(item, "disknumber"))
-//    {
-//        unsigned __int16 disk, tot;
-//        int t1 = 0, t2 = 0;
-//        sscanf(val, "%d/%d", &t1, &t2);
-//        disk = t1, tot = t2;
-//        if (!disk) return 1;
-//        if (MP4SetMetadataDisk(file, disk, tot)) return 1;
-//    }
-//    else if (!stricmp(item, "compilation"))
-//    {
-//        unsigned __int8 cpil = atoi(val);
-//        if (!cpil) return 1;
-//        if (MP4SetMetadataCompilation(file, cpil)) return 1;
-//    }
-//    else if (!stricmp(item, "tempo"))
-//    {
-//        unsigned __int16 tempo = atoi(val);
-//        if (!tempo) return 1;
-//        if (MP4SetMetadataTempo(file, tempo)) return 1;
-//    }
-//    else if (!stricmp(item, "artist"))
-//    {
-//        if (MP4SetMetadataArtist(file, val)) return 1;
-//    }
-//    else if (!stricmp(item, "writer"))
-//    {
-//        if (MP4SetMetadataWriter(file, val)) return 1;
-//    }
-//    else if (!stricmp(item, "title"))
-//    {
-//        if (MP4SetMetadataName(file, val)) return 1;
-//    }
-//    else if (!stricmp(item, "album"))
-//    {
-//        if (MP4SetMetadataAlbum(file, val)) return 1;
-//    }
-//    else if (!stricmp(item, "date") || !stricmp(item, "year"))
-//    {
-//        if (MP4SetMetadataYear(file, val)) return 1;
-//    }
-//    else if (!stricmp(item, "comment"))
-//    {
-//        if (MP4SetMetadataComment(file, val)) return 1;
-//    }
-//    else if (!stricmp(item, "genre"))
-//    {
-//        if (MP4SetMetadataGenre(file, val)) return 1;
-//    }
-//    else if (!stricmp(item, "tool"))
-//    {
-//        if (MP4SetMetadataTool(file, val)) return 1;
-//    }
-//    else
-//    {
-//        if (MP4SetMetadataFreeForm(file, (char *)item, (u_int8_t *)val, (u_int32_t)strlen(val))) return 1;
-//    }
-//
-//    return 0;
-//}
-//
-//int WriteMP4Tag(MP4FileHandle file, const medialib_tags *tags)
-//{
-//    unsigned int i;
-//
-//    for (i = 0; i < tags->count; i++)
-//    {
-//        const char *item = tags->tags[i].item;
-//        const char *value = tags->tags[i].value;
-//
-//        if (value && *value)
-//        {
-//            mp4_set_metadata(file, item, value);
-//        }
-//    }
-//}
-
-
-#ifdef DEBUG_OUTPUT
-void in_mp4_DebugOutput(char *message)
-{
-    char s[1024];
-
-    sprintf(s, "in_mp4: %s: %s", mp4state.filename, message);
-    OutputDebugString(s);
-}
-#endif
-
-int file_length(FILE *f)
-{
-    long end = 0;
-    long cur = ftell(f);
-    fseek(f, 0, SEEK_END);
-    end = ftell(f);
-    fseek(f, cur, SEEK_SET);
-
-    return end;
-}
-
-static void show_error(HWND hwnd, char *message, ...)
-{
-    if (m_show_errors)
-        MessageBox(hwnd, message, "Error", MB_OK);
-}
-
-static void config_init()
-{
-    //char *p=INI_FILE;
-    //GetModuleFileName(NULL,INI_FILE,_MAX_PATH);
-    //while (*p) p++;
-    //while (p >= INI_FILE && *p != '.') p--;
-    //strcpy(p+1,"ini");
-       module.QCDCallbacks.Service(opGetPluginSettingsFile, INI_FILE, MAX_PATH, 0);
-}
-
-void config_read()
-{
-    char priority[10];
-    char resolution[10];
-    char show_errors[10];
-    char use_for_aac[10];
-    char downmix[10];
-    char vbr_display[10];
-
-    config_init();
-
-    strcpy(show_errors, "1");
-    strcpy(priority, "3");
-    strcpy(resolution, "0");
-    strcpy(use_for_aac, "1");
-    strcpy(downmix, "0");
-    strcpy(vbr_display, "1");
-    //strcpy(titleformat, "%7");
-
-    RS(priority);
-    RS(resolution);
-    RS(show_errors);
-    RS(use_for_aac);
-    RS(downmix);
-    RS(vbr_display);
-    //RS(titleformat);
-
-    m_priority = atoi(priority);
-    m_resolution = atoi(resolution);
-    m_show_errors = atoi(show_errors);
-    m_use_for_aac = atoi(use_for_aac);
-    m_downmix = atoi(downmix);
-    m_vbr_display = atoi(vbr_display);
-}
-
-void config_write()
-{
-    char priority[10];
-    char resolution[10];
-    char show_errors[10];
-    char use_for_aac[10];
-    char downmix[10];
-    char vbr_display[10];
-
-    itoa(m_priority, priority, 10);
-    itoa(m_resolution, resolution, 10);
-    itoa(m_show_errors, show_errors, 10);
-    itoa(m_use_for_aac, use_for_aac, 10);
-    itoa(m_downmix, downmix, 10);
-    itoa(m_vbr_display, vbr_display, 10);
-
-    WS(priority);
-    WS(resolution);
-    WS(show_errors);
-    WS(use_for_aac);
-    WS(downmix);
-    WS(vbr_display);
-    //WS(titleformat);
-}
-
-int Initialize(QCDModInfo *ModInfo, int flags)
-{
-       ModInfo->moduleString = "MP4 Plug-in v" FAAD2_VERSION;
-
-       module.hMainWindow = (HWND)module.QCDCallbacks.Service(opGetParentWnd, 0, 0, 0);
-
-       // read config from config file
-    config_read();
-
-       ModInfo->moduleExtensions = !m_use_for_aac ? "MP4:M4A" : "MP4:M4A:AAC";
-
-       // return TRUE for successful initialization
-       return 1;
-}
-
-//----------------------------------------------------------------------------
-
-void ShutDown(int flags) 
-{
-       Stop(mp4state.filename, STOPFLAG_FORCESTOP);
-}
-
-///* Convert UNICODE to UTF-8
-//   Return number of bytes written */
-//int unicodeToUtf8 ( const WCHAR* lpWideCharStr, char* lpMultiByteStr, int cwcChars )
-//{
-//    const unsigned short*   pwc = (unsigned short *)lpWideCharStr;
-//    unsigned char*          pmb = (unsigned char  *)lpMultiByteStr;
-//    const unsigned short*   pwce;
-//    size_t  cBytes = 0;
-//
-//    if ( cwcChars >= 0 ) {
-//        pwce = pwc + cwcChars;
-//    } else {
-//        pwce = (unsigned short *)((size_t)-1);
-//    }
-//
-//    while ( pwc < pwce ) {
-//        unsigned short  wc = *pwc++;
-//
-//        if ( wc < 0x00000080 ) {
-//            *pmb++ = (char)wc;
-//            cBytes++;
-//        } else
-//        if ( wc < 0x00000800 ) {
-//            *pmb++ = (char)(0xC0 | ((wc >>  6) & 0x1F));
-//            cBytes++;
-//            *pmb++ = (char)(0x80 |  (wc        & 0x3F));
-//            cBytes++;
-//        } else
-//        if ( wc < 0x00010000 ) {
-//            *pmb++ = (char)(0xE0 | ((wc >> 12) & 0x0F));
-//            cBytes++;
-//            *pmb++ = (char)(0x80 | ((wc >>  6) & 0x3F));
-//            cBytes++;
-//            *pmb++ = (char)(0x80 |  (wc        & 0x3F));
-//            cBytes++;
-//        }
-//        if ( wc == L'\0' )
-//            return cBytes;
-//    }
-//
-//    return cBytes;
-//}
-//
-///* Convert UTF-8 coded string to UNICODE
-//   Return number of characters converted */
-//int utf8ToUnicode ( const char* lpMultiByteStr, WCHAR* lpWideCharStr, int cmbChars )
-//{
-//    const unsigned char*    pmb = (unsigned char  *)lpMultiByteStr;
-//    unsigned short*         pwc = (unsigned short *)lpWideCharStr;
-//    const unsigned char*    pmbe;
-//    size_t  cwChars = 0;
-//
-//    if ( cmbChars >= 0 ) {
-//        pmbe = pmb + cmbChars;
-//    } else {
-//        pmbe = (unsigned char *)((size_t)-1);
-//    }
-//
-//    while ( pmb < pmbe ) {
-//        char            mb = *pmb++;
-//        unsigned int    cc = 0;
-//        unsigned int    wc;
-//
-//        while ( (cc < 7) && (mb & (1 << (7 - cc)))) {
-//            cc++;
-//        }
-//
-//        if ( cc == 1 || cc > 6 )                    // illegal character combination for UTF-8
-//            continue;
-//
-//        if ( cc == 0 ) {
-//            wc = mb;
-//        } else {
-//            wc = (mb & ((1 << (7 - cc)) - 1)) << ((cc - 1) * 6);
-//            while ( --cc > 0 ) {
-//                if ( pmb == pmbe )                  // reached end of the buffer
-//                    return cwChars;
-//                mb = *pmb++;
-//                if ( ((mb >> 6) & 0x03) != 2 )      // not part of multibyte character
-//                    return cwChars;
-//                wc |= (mb & 0x3F) << ((cc - 1) * 6);
-//            }
-//        }
-//
-//        if ( wc & 0xFFFF0000 )
-//            wc = L'?';
-//        *pwc++ = wc;
-//        cwChars++;
-//        if ( wc == L'\0' )
-//            return cwChars;
-//    }
-//
-//    return cwChars;
-//}
-//
-///* convert Windows ANSI to UTF-8 */
-//int ConvertANSIToUTF8 ( const char* ansi, char* utf8 )
-//{
-//    WCHAR*  wszValue;          // Unicode value
-//    size_t  ansi_len;
-//    size_t  len;
-//
-//    *utf8 = '\0';
-//    if ( ansi == NULL )
-//        return 0;
-//
-//    ansi_len = strlen ( ansi );
-//
-//    if ( (wszValue = (WCHAR *)malloc ( (ansi_len + 1) * 2 )) == NULL )
-//        return 0;
-//
-//    /* Convert ANSI value to Unicode */
-//    if ( (len = MultiByteToWideChar ( CP_ACP, 0, ansi, ansi_len + 1, wszValue, (ansi_len + 1) * 2 )) == 0 ) {
-//        free ( wszValue );
-//        return 0;
-//    }
-//
-//    /* Convert Unicode value to UTF-8 */
-//    if ( (len = unicodeToUtf8 ( wszValue, utf8, -1 )) == 0 ) {
-//        free ( wszValue );
-//        return 0;
-//    }
-//
-//    free ( wszValue );
-//
-//    return len-1;
-//}
-//
-///* convert UTF-8 to Windows ANSI */
-//int ConvertUTF8ToANSI ( const char* utf8, char* ansi )
-//{
-//    WCHAR*  wszValue;          // Unicode value
-//    size_t  utf8_len;
-//    size_t  len;
-//
-//    *ansi = '\0';
-//    if ( utf8 == NULL )
-//        return 0;
-//
-//    utf8_len = strlen ( utf8 );
-//
-//    if ( (wszValue = (WCHAR *)malloc ( (utf8_len + 1) * 2 )) == NULL )
-//        return 0;
-//
-//    /* Convert UTF-8 value to Unicode */
-//    if ( (len = utf8ToUnicode ( utf8, wszValue, utf8_len + 1 )) == 0 ) {
-//        free ( wszValue );
-//        return 0;
-//    }
-//
-//    /* Convert Unicode value to ANSI */
-//    if ( (len = WideCharToMultiByte ( CP_ACP, 0, wszValue, -1, ansi, (utf8_len + 1) * 2, NULL, NULL )) == 0 ) {
-//        free ( wszValue );
-//        return 0;
-//    }
-//
-//    free ( wszValue );
-//
-//    return len-1;
-//}
-//
-//BOOL uSetDlgItemText(HWND hwnd, int id, const char *str)
-//{
-//    char *temp;
-//    size_t len;
-//    int r;
-//
-//    if (!str) return FALSE;
-//    if (!*str) return TRUE;
-//    len = strlen(str);
-//    temp = malloc(len+1);
-//    if (!temp) return FALSE;
-//    r = ConvertUTF8ToANSI(str, temp);
-//    if (r > 0)
-//        SetDlgItemText(hwnd, id, temp);
-//    free(temp);
-//
-//    return r>0 ? TRUE : FALSE;
-//}
-//
-//UINT uGetDlgItemText(HWND hwnd, int id, char *str, int max)
-//{
-//    char *temp, *utf8;
-//    int len;
-//    HWND w;
-//
-//    if (!str || !max) return 0;
-//    *str = '\0';
-//    w = GetDlgItem(hwnd, id);
-//    len = GetWindowTextLength(w);
-//    temp = malloc(len+1);
-//    if (!temp) return 0;
-//    utf8 = malloc((len+1)*4);
-//    if (!utf8)
-//    {
-//        free(temp);
-//        return 0;
-//    }
-//
-//    len = GetWindowText(w, temp, len+1);
-//    if (len > 0)
-//    {
-//        len = ConvertANSIToUTF8(temp, utf8);
-//        if (len > max-1)
-//        {
-//            len = max-1;
-//            utf8[max] = '\0';
-//        }
-//        memcpy(str, utf8, len+1);
-//    }
-//
-//    free(temp);
-//    free(utf8);
-//
-//    return len;
-//}
-//
-//BOOL CALLBACK mp4_info_dialog_proc(HWND hwndDlg, UINT message,
-//                                   WPARAM wParam, LPARAM lParam)
-//{
-//    char *file_info;
-//    MP4FileHandle file;
-//    char *pVal, dummy1[1024], dummy3;
-//    short dummy, dummy2;
-//    char temp[1024];
-//    struct medialib_tags tags;
-//    tags.count = 0;
-//    tags.tags = NULL;
-//
-//#ifdef DEBUG_OUTPUT
-//    in_mp4_DebugOutput("mp4_info_dialog_proc");
-//#endif
-//
-//    switch (message) {
-//    case WM_INITDIALOG:
-//        EnableWindow(GetDlgItem(hwndDlg,IDC_CONVERT), FALSE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_CONVERT), SW_HIDE);
-//        EnableWindow(GetDlgItem(hwndDlg,IDC_CONVERT1), FALSE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_CONVERT1), SW_HIDE);
-//        EnableWindow(GetDlgItem(hwndDlg,IDC_CONVERT2), FALSE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_CONVERT2), SW_HIDE);
-//
-//        file = MP4Read(info_fn, 0);
-//
-//        if (file == MP4_INVALID_FILE_HANDLE)
-//            return FALSE;
-//
-//        file_info = MP4Info(file, MP4_INVALID_TRACK_ID);
-//        SetDlgItemText(hwndDlg, IDC_INFOTEXT, file_info);
-//        free(file_info);
-//
-//        /* get Metadata */
-//
-//        pVal = NULL;
-//        if (MP4GetMetadataName(file, &pVal))
-//            uSetDlgItemText(hwndDlg,IDC_METANAME, pVal);
-//
-//        pVal = NULL;
-//        if (MP4GetMetadataArtist(file, &pVal))
-//            uSetDlgItemText(hwndDlg,IDC_METAARTIST, pVal);
-//
-//        pVal = NULL;
-//        if (MP4GetMetadataWriter(file, &pVal))
-//            uSetDlgItemText(hwndDlg,IDC_METAWRITER, pVal);
-//
-//        pVal = NULL;
-//        if (MP4GetMetadataComment(file, &pVal))
-//            uSetDlgItemText(hwndDlg,IDC_METACOMMENTS, pVal);
-//
-//        pVal = NULL;
-//        if (MP4GetMetadataAlbum(file, &pVal))
-//            uSetDlgItemText(hwndDlg,IDC_METAALBUM, pVal);
-//
-//        pVal = NULL;
-//        if (MP4GetMetadataGenre(file, &pVal))
-//            uSetDlgItemText(hwndDlg,IDC_METAGENRE, pVal);
-//
-//        dummy = 0;
-//        MP4GetMetadataTempo(file, &dummy);
-//        if (dummy)
-//        {
-//            wsprintf(dummy1, "%d", dummy);
-//            SetDlgItemText(hwndDlg,IDC_METATEMPO, dummy1);
-//        }
-//
-//        dummy = 0; dummy2 = 0;
-//        MP4GetMetadataTrack(file, &dummy, &dummy2);
-//        if (dummy)
-//        {
-//            wsprintf(dummy1, "%d", dummy);
-//            SetDlgItemText(hwndDlg,IDC_METATRACK1, dummy1);
-//        }
-//        if (dummy2)
-//        {
-//            wsprintf(dummy1, "%d", dummy2);
-//            SetDlgItemText(hwndDlg,IDC_METATRACK2, dummy1);
-//        }
-//
-//        dummy = 0; dummy2 = 0;
-//        MP4GetMetadataDisk(file, &dummy, &dummy2);
-//        if (dummy)
-//        {
-//            wsprintf(dummy1, "%d", dummy);
-//            SetDlgItemText(hwndDlg,IDC_METADISK1, dummy1);
-//        }
-//        if (dummy2)
-//        {
-//            wsprintf(dummy1, "%d", dummy2);
-//            SetDlgItemText(hwndDlg,IDC_METADISK2, dummy1);
-//        }
-//
-//        pVal = NULL;
-//        if (MP4GetMetadataYear(file, &pVal))
-//            uSetDlgItemText(hwndDlg,IDC_METAYEAR, pVal);
-//
-//        dummy3 = 0;
-//        MP4GetMetadataCompilation(file, &dummy3);
-//        if (dummy3)
-//            SendMessage(GetDlgItem(hwndDlg, IDC_METACOMPILATION), BM_SETCHECK, BST_CHECKED, 0);
-//
-//        /* ! Metadata */
-//
-//        MP4Close(file);
-//
-//        return TRUE;
-//
-//    case WM_COMMAND:
-//        switch (LOWORD(wParam)) {
-//        case IDCANCEL:
-//            EndDialog(hwndDlg, wParam);
-//            return TRUE;
-//        case IDOK:
-//
-//            /* save Metadata changes */
-//
-//            tag_delete(&tags);
-//            file = MP4Read(info_fn, 0);
-//            if (file != MP4_INVALID_FILE_HANDLE)
-//            {
-//                ReadMP4Tag(file, &tags);
-//                MP4Close(file);
-//
-//                file = MP4Modify(info_fn, 0, 0);
-//                if (file != MP4_INVALID_FILE_HANDLE)
-//                {
-//                    MP4MetadataDelete(file);
-//                    MP4Close(file);
-//                }
-//            }
-//
-//            file = MP4Modify(info_fn, 0, 0);
-//            if (file == MP4_INVALID_FILE_HANDLE)
-//            {
-//                tag_delete(&tags);
-//                EndDialog(hwndDlg, wParam);
-//                return FALSE;
-//            }
-//
-//            uGetDlgItemText(hwndDlg, IDC_METANAME, dummy1, 1024);
-//            tag_set_field(&tags, "title", dummy1);
-//
-//            uGetDlgItemText(hwndDlg, IDC_METAWRITER, dummy1, 1024);
-//            tag_set_field(&tags, "writer", dummy1);
-//
-//            uGetDlgItemText(hwndDlg, IDC_METAARTIST, dummy1, 1024);
-//            tag_set_field(&tags, "artist", dummy1);
-//
-//            uGetDlgItemText(hwndDlg, IDC_METAALBUM, dummy1, 1024);
-//            tag_set_field(&tags, "album", dummy1);
-//
-//            uGetDlgItemText(hwndDlg, IDC_METACOMMENTS, dummy1, 1024);
-//            tag_set_field(&tags, "comment", dummy1);
-//
-//            uGetDlgItemText(hwndDlg, IDC_METAGENRE, dummy1, 1024);
-//            tag_set_field(&tags, "genre", dummy1);
-//
-//            uGetDlgItemText(hwndDlg, IDC_METAYEAR, dummy1, 1024);
-//            tag_set_field(&tags, "year", dummy1);
-//
-//            GetDlgItemText(hwndDlg, IDC_METATRACK1, dummy1, 1024);
-//            dummy = atoi(dummy1);
-//            GetDlgItemText(hwndDlg, IDC_METATRACK2, dummy1, 1024);
-//            dummy2 = atoi(dummy1);
-//            wsprintf(temp, "%d/%d", dummy, dummy2);
-//            tag_set_field(&tags, "track", temp);
-//
-//            GetDlgItemText(hwndDlg, IDC_METADISK1, dummy1, 1024);
-//            dummy = atoi(dummy1);
-//            GetDlgItemText(hwndDlg, IDC_METADISK2, dummy1, 1024);
-//            dummy2 = atoi(dummy1);
-//            wsprintf(temp, "%d/%d", dummy, dummy2);
-//            tag_set_field(&tags, "disc", temp);
-//
-//            GetDlgItemText(hwndDlg, IDC_METATEMPO, dummy1, 1024);
-//            tag_set_field(&tags, "tempo", dummy1);
-//
-//            dummy3 = SendMessage(GetDlgItem(hwndDlg, IDC_METACOMPILATION), BM_GETCHECK, 0, 0);
-//            tag_set_field(&tags, "compilation", (dummy3 ? "1" : "0"));
-//
-//            WriteMP4Tag(file, &tags);
-//
-//            MP4Close(file);
-//
-//            MP4Optimize(info_fn, NULL, 0);
-//            /* ! */
-//
-//            EndDialog(hwndDlg, wParam);
-//            return TRUE;
-//        }
-//    }
-//    return FALSE;
-//}
-//
-///* returns the name of the object type */
-//char *get_ot_string(int ot)
-//{
-//    switch (ot)
-//    {
-//    case 0:
-//        return "Main";
-//    case 1:
-//        return "LC";
-//    case 2:
-//        return "SSR";
-//    case 3:
-//        return "LTP";
-//    }
-//    return NULL;
-//}
-//
-//BOOL CALLBACK aac_info_dialog_proc(HWND hwndDlg, UINT message,
-//                                   WPARAM wParam, LPARAM lParam)
-//{
-//    faadAACInfo aacInfo;
-//    char *info_text, *header_string;
-//
-//#ifdef DEBUG_OUTPUT
-//    in_mp4_DebugOutput("aac_info_dialog_proc");
-//#endif
-//
-//    switch (message) {
-//    case WM_INITDIALOG:
-//        EnableWindow(GetDlgItem(hwndDlg,IDC_USERDATA), FALSE) ;
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_USERDATA), SW_HIDE);
-//
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC1), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC2), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC3), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC4), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC5), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC6), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC7), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC8), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC9), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC10), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC11), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC12), SW_HIDE);
-//
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METANAME), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METAARTIST), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METAWRITER), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METACOMMENTS), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METAALBUM), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METAGENRE), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METATEMPO), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METATRACK1), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METATRACK2), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METADISK1), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METADISK2), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METAYEAR), SW_HIDE);
-//        ShowWindow(GetDlgItem(hwndDlg,IDC_METACOMPILATION), SW_HIDE);
-//
-//        info_text = malloc(1024*sizeof(char));
-//
-//        get_AAC_format(info_fn, &aacInfo);
-//
-//        switch (aacInfo.headertype)
-//        {
-//        case 0: /* RAW */
-//            header_string = " RAW";
-//            break;
-//        case 1: /* ADIF */
-//            header_string = " ADIF";
-//            break;
-//        case 2: /* ADTS */
-//            header_string = " ADTS";
-//            break;
-//        }
-//
-//        sprintf(info_text, "%s AAC %s%s, %d sec, %d kbps, %d Hz",
-//            (aacInfo.version==2)?"MPEG-2":"MPEG-4", get_ot_string(aacInfo.object_type),
-//            header_string,
-//            (int)((float)aacInfo.length/1000.0), (int)((float)aacInfo.bitrate/1000.0+0.5),
-//            aacInfo.sampling_rate);
-//
-//        SetDlgItemText(hwndDlg, IDC_INFOTEXT, info_text);
-//
-//        free(info_text);
-//
-//        return TRUE;
-//
-//    case WM_COMMAND:
-//        switch (LOWORD(wParam))
-//        {
-//        case IDC_CONVERT:
-//            {
-//                char mp4FileName[256];
-//                char *extension;
-//                OPENFILENAME ofn;
-//
-//                lstrcpy(mp4FileName, info_fn);
-//                extension = strrchr(mp4FileName, '.');
-//                lstrcpy(extension, ".mp4");
-//
-//                memset(&ofn, 0, sizeof(OPENFILENAME));
-//                ofn.lStructSize = sizeof(OPENFILENAME);
-//                ofn.hwndOwner = hwndDlg;
-//                ofn.hInstance = module.hDllInstance;
-//                ofn.nMaxFileTitle = 31;
-//                ofn.lpstrFile = (LPSTR)mp4FileName;
-//                ofn.nMaxFile = _MAX_PATH;
-//                ofn.lpstrFilter = "MP4 Files (*.mp4)\0*.mp4\0";
-//                ofn.lpstrDefExt = "mp4";
-//                ofn.Flags = OFN_EXPLORER | OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY;
-//                ofn.lpstrTitle = "Select Output File";
-//
-//                if (GetSaveFileName(&ofn))
-//                {
-//                    if (covert_aac_to_mp4(info_fn, mp4FileName))
-//                    {
-//                        MessageBox(hwndDlg, "An error occured while converting AAC to MP4!", "An error occured!", MB_OK);
-//                        return FALSE;
-//                    }
-//                }
-//                return TRUE;
-//            }
-//        case IDCANCEL:
-//        case IDOK:
-//            EndDialog(hwndDlg, wParam);
-//            return TRUE;
-//        }
-//    }
-//    return FALSE;
-//}
-//
-//int infoDlg(char *fn, HWND hwndParent)
-//{
-//    if(!stricmp(fn + strlen(fn) - 3,"AAC"))
-//    {
-//        lstrcpy(info_fn, fn);
-//
-//        DialogBox(module.hDllInstance, MAKEINTRESOURCE(IDD_INFO),
-//            hwndParent, aac_info_dialog_proc);
-//    } else {
-//        lstrcpy(info_fn, fn);
-//
-//        DialogBox(module.hDllInstance, MAKEINTRESOURCE(IDD_INFO),
-//            hwndParent, mp4_info_dialog_proc);
-//    }
-//
-//    return 0;
-//}
-//
-///* Get the title from the file */
-//void ConstructTitle(MP4FileHandle file, char *filename, char *title, char *format)
-//{
-//    char temp[4096];
-//    int some_info = 0;
-//    char *in = format;
-//    char *out = temp;//title;
-//    char *bound = out + sizeof(temp) - 256; //out + (MAX_PATH - 10 - 1);
-//    char *pVal, dummy1[1024];
-//    short dummy, dummy2;
-//
-//    while (*in && out < bound)
-//    {
-//        switch (*in)
-//        {
-//        case '%':
-//            ++in;
-//            break;
-//
-//        default:
-//            *out++ = *in++;
-//            continue;
-//        }
-//
-//        /* handle % escape sequence */
-//        switch (*in++)
-//        {
-//        case '0':
-//            dummy = 0; dummy2 = 0;
-//            if (MP4GetMetadataTrack(file, &dummy, &dummy2))
-//            {
-//                out += wsprintf(out, "%d", (int)dummy);
-//                some_info = 1;
-//            }
-//            break;
-//
-//        case '1':
-//            pVal = NULL;
-//            if (MP4GetMetadataArtist(file, &pVal))
-//            {
-//                out += wsprintf(out, "%s", pVal);
-//                some_info = 1;
-//            }
-//            break;
-//
-//        case '2':
-//            pVal = NULL;
-//            if (MP4GetMetadataName(file, &pVal))
-//            {
-//                out += wsprintf(out, "%s", pVal);
-//                some_info = 1;
-//            }
-//            break;
-//
-//        case '3':
-//            pVal = NULL;
-//            if (MP4GetMetadataAlbum(file, &pVal))
-//            {
-//                out += wsprintf(out, "%s", pVal);
-//                some_info = 1;
-//            }
-//            break;
-//
-//        case '4':
-//            pVal = NULL;
-//            if (MP4GetMetadataYear(file, &pVal))
-//            {
-//                out += wsprintf(out, "%s", pVal);
-//                some_info = 1;
-//            }
-//            break;
-//
-//        case '5':
-//            pVal = NULL;
-//            if (MP4GetMetadataComment(file, &pVal))
-//            {
-//                out += wsprintf(out, "%s", pVal);
-//                some_info = 1;
-//            }
-//            break;
-//
-//        case '6':
-//            pVal = NULL;
-//            if (MP4GetMetadataGenre(file, &pVal))
-//            {
-//                out += wsprintf(out, "%s", pVal);
-//                some_info = 1;
-//            }
-//            break;
-//
-//        case '7':
-//            {
-//                const char *p=strrchr(filename,'\\');
-//                if (!p) p=filename; else p++;
-//                out += ConvertANSIToUTF8(p, out);
-//                some_info = 1;
-//                break;
-//            }
-//
-//        default:
-//            break;
-//        }
-//    }
-//
-//    *out = '\0';
-//
-//    if (!some_info)
-//    {
-//        char *p=filename+lstrlen(filename);
-//        while (*p != '\\' && p >= filename) p--;
-//        lstrcpy(title,++p);
-//    }
-//    else
-//    {
-//        int len = ConvertUTF8ToANSI(temp, dummy1);
-//        if (len > (MAX_PATH - 10 - 1)) len = (MAX_PATH - 10 - 1);
-//        memcpy(title, dummy1, len);
-//        title[len] = '\0';
-//    }
-//}
-
-BOOL CALLBACK config_dialog_proc(HWND hwndDlg, UINT message,
-                                 WPARAM wParam, LPARAM lParam)
-{
-    int i;
-
-    switch (message) {
-    case WM_INITDIALOG:
-        SendMessage(GetDlgItem(hwndDlg, IDC_PRIORITY), TBM_SETRANGE, TRUE, MAKELONG(1,5));
-        SendMessage(GetDlgItem(hwndDlg, IDC_PRIORITY), TBM_SETPOS, TRUE, m_priority);
-        SendMessage(GetDlgItem(hwndDlg, res_id_table[m_resolution]), BM_SETCHECK, BST_CHECKED, 0);
-        if (m_show_errors)
-            SendMessage(GetDlgItem(hwndDlg, IDC_ERROR), BM_SETCHECK, BST_CHECKED, 0);
-        if (m_use_for_aac)
-            SendMessage(GetDlgItem(hwndDlg, IDC_USEFORAAC), BM_SETCHECK, BST_CHECKED, 0);
-        if (m_downmix)
-            SendMessage(GetDlgItem(hwndDlg, IDC_DOWNMIX), BM_SETCHECK, BST_CHECKED, 0);
-        if (m_vbr_display)
-            SendMessage(GetDlgItem(hwndDlg, IDC_VBR), BM_SETCHECK, BST_CHECKED, 0);
-        SetDlgItemText(hwndDlg, IDC_TITLEFORMAT, titleformat);
-        return TRUE;
-
-    case WM_COMMAND:
-        switch (LOWORD(wParam)) {
-        case IDCANCEL:
-            EndDialog(hwndDlg, wParam);
-            return TRUE;
-        case IDOK:
-            m_show_errors = SendMessage(GetDlgItem(hwndDlg, IDC_ERROR), BM_GETCHECK, 0, 0);
-            m_use_for_aac = SendMessage(GetDlgItem(hwndDlg, IDC_USEFORAAC), BM_GETCHECK, 0, 0);
-            m_downmix = SendMessage(GetDlgItem(hwndDlg, IDC_DOWNMIX), BM_GETCHECK, 0, 0);
-            m_vbr_display = SendMessage(GetDlgItem(hwndDlg, IDC_VBR), BM_GETCHECK, 0, 0);
-            GetDlgItemText(hwndDlg, IDC_TITLEFORMAT, titleformat, MAX_PATH);
-
-            m_priority = SendMessage(GetDlgItem(hwndDlg, IDC_PRIORITY), TBM_GETPOS, 0, 0);
-            for (i = 0; i < 6; i++)
-            {
-                if (SendMessage(GetDlgItem(hwndDlg, res_id_table[i]), BM_GETCHECK, 0, 0))
-                {
-                    m_resolution = i;
-                    break;
-                }
-            }
-
-            /* save config */
-            config_write();
-
-            //if (!m_use_for_aac)
-            //{
-            //    module.FileExtensions = short_ext_list;
-            //} else {
-            //    module.FileExtensions = long_ext_list;
-            //}
-
-            EndDialog(hwndDlg, wParam);
-            return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-void Configure(int flags)
-{
-    DialogBox(module.hDllInstance, MAKEINTRESOURCE(IDD_CONFIG),
-               module.hMainWindow, config_dialog_proc);
-}
-
-//-----------------------------------------------------------------------------
-
-void About(int flags)
-{
-       MessageBox(module.hMainWindow,
-        "AudioCoding.com MPEG-4 General Audio player " FAAD2_VERSION " compiled on " __DATE__ ".\n"
-        "Visit the website for more info.\n"
-               "Ported to QCD by Shao Hao.\n"
-        "Copyright 2002-2003 AudioCoding.com",
-        "About",
-        MB_OK);
-}
-
-//-----------------------------------------------------------------------------
-
-int fill_buffer(state *st)
-{
-    int bread;
-
-    if (st->m_aac_bytes_consumed > 0)
-    {
-        if (st->m_aac_bytes_into_buffer)
-        {
-            memmove((void*)st->m_aac_buffer, (void*)(st->m_aac_buffer + st->m_aac_bytes_consumed),
-                st->m_aac_bytes_into_buffer*sizeof(unsigned char));
-        }
-
-        if (!st->m_at_eof)
-        {
-            bread = fread((void*)(st->m_aac_buffer + st->m_aac_bytes_into_buffer),
-                1, st->m_aac_bytes_consumed, st->aacfile);
-
-            if (bread != st->m_aac_bytes_consumed)
-                st->m_at_eof = 1;
-
-            st->m_aac_bytes_into_buffer += bread;
-        }
-
-        st->m_aac_bytes_consumed = 0;
-
-        if (st->m_aac_bytes_into_buffer > 3)
-        {
-            if (memcmp(st->m_aac_buffer, "TAG", 3) == 0)
-                st->m_aac_bytes_into_buffer = 0;
-        }
-        if (st->m_aac_bytes_into_buffer > 11)
-        {
-            if (memcmp(st->m_aac_buffer, "LYRICSBEGIN", 11) == 0)
-                st->m_aac_bytes_into_buffer = 0;
-        }
-        if (st->m_aac_bytes_into_buffer > 8)
-        {
-            if (memcmp(st->m_aac_buffer, "APETAGEX", 8) == 0)
-                st->m_aac_bytes_into_buffer = 0;
-        }
-    }
-
-    return 1;
-}
-
-void advance_buffer(state *st, int bytes)
-{
-    st->m_file_offset += bytes;
-    st->m_aac_bytes_consumed = bytes;
-    st->m_aac_bytes_into_buffer -= bytes;
-}
-
-int adts_parse(state *st, __int64 *bitrate, double *length)
-{
-    static int sample_rates[] = {96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000};
-    int frames, frame_length;
-    int t_framelength = 0;
-    int samplerate;
-    double frames_per_sec, bytes_per_frame;
-
-    /* Read all frames to ensure correct time and bitrate */
-    for (frames = 0; /* */; frames++)
-    {
-        fill_buffer(st);
-
-        if (st->m_aac_bytes_into_buffer > 7)
-        {
-            /* check syncword */
-            if (!((st->m_aac_buffer[0] == 0xFF)&&((st->m_aac_buffer[1] & 0xF6) == 0xF0)))
-                break;
-
-            st->m_tail->offset = st->m_file_offset;
-            st->m_tail->next = (struct seek_list*)malloc(sizeof(struct seek_list));
-            st->m_tail = st->m_tail->next;
-            st->m_tail->next = NULL;
-
-            if (frames == 0)
-                samplerate = sample_rates[(st->m_aac_buffer[2]&0x3c)>>2];
-
-            frame_length = ((((unsigned int)st->m_aac_buffer[3] & 0x3)) << 11)
-                | (((unsigned int)st->m_aac_buffer[4]) << 3) | (st->m_aac_buffer[5] >> 5);
-
-            t_framelength += frame_length;
-
-            if (frame_length > st->m_aac_bytes_into_buffer)
-                break;
-
-            advance_buffer(st, frame_length);
-        } else {
-            break;
-        }
-    }
-
-    frames_per_sec = (double)samplerate/1024.0;
-    if (frames != 0)
-        bytes_per_frame = (double)t_framelength/(double)(frames*1000);
-    else
-        bytes_per_frame = 0;
-    *bitrate = (__int64)(8. * bytes_per_frame * frames_per_sec + 0.5);
-    if (frames_per_sec != 0)
-        *length = (double)frames/frames_per_sec;
-    else
-        *length = 1;
-
-    return 1;
-}
-
-int skip_id3v2_tag()
-{
-    unsigned char buf[10];
-    int bread, tagsize = 0;
-
-    bread = fread(buf, 1, 10, mp4state.aacfile);
-    if (bread != 10) return -1;
-
-    if (!memcmp(buf, "ID3", 3))
-    {
-        /* high bit is not used */
-        tagsize = (buf[6] << 21) | (buf[7] << 14) | (buf[8] << 7) | (buf[9] << 0);
-
-        tagsize += 10;
-        fseek(mp4state.aacfile, tagsize, SEEK_SET);
-    } else {
-        fseek(mp4state.aacfile, 0, SEEK_SET);
-    }
-
-    return tagsize;
-}
-
-int GetMediaSupported(const char* medianame, MediaInfo *mediaInfo) 
-{
-    int tagsize = 0, init;
-
-       if (!medianame || !*medianame)
-               return 0;
-
-    if (!stricmp(medianame + strlen(medianame) - 3,"MP4") || !stricmp(medianame + strlen(medianame) - 3,"M4A"))
-    {
-               if (mediaInfo)
-               {
-                       mediaInfo->mediaType = DIGITAL_FILE_MEDIA;
-                       mediaInfo->op_canSeek = 1;
-               }
-               return 1;
-       }
-       else if (m_use_for_aac && !stricmp(medianame + strlen(medianame) - 3,"AAC"))
-       {
-               if (mediaInfo)
-               {
-                       mediaInfo->mediaType = DIGITAL_FILE_MEDIA;
-                       mediaInfo->op_canSeek = 1;
-
-                       memset(&mp4state, 0, sizeof(state));
-                       lstrcpy(mp4state.filename, medianame);
-
-                       if (!(mp4state.aacfile = fopen(mp4state.filename, "rb")))
-                       {
-                               // error
-                               return 0;
-                       }
-
-                       tagsize = skip_id3v2_tag();
-                       if (tagsize<0) return 0;
-
-                       if (!(mp4state.m_aac_buffer = (unsigned char*)malloc(768*6)))
-                       {
-                               show_error(module.hMainWindow, "Memory allocation error.");
-                               return 0;
-                       }
-
-                       for (init=0; init<2; init++)
-                       {
-                               memset(mp4state.m_aac_buffer, 0, 768*6);
-                               fread(mp4state.m_aac_buffer, 1, 768*6, mp4state.aacfile);
-
-                               if (init==0)
-                                       fseek(mp4state.aacfile, tagsize, SEEK_SET);
-                       }
-
-                       if (memcmp(mp4state.m_aac_buffer, "ADIF", 4) == 0)
-                               mediaInfo->op_canSeek = (double)file_length(mp4state.aacfile) == -1 ? 0 : 1;
-
-                       free(mp4state.m_aac_buffer);
-
-                       fclose(mp4state.aacfile);
-               }
-               return 1;
-       }
-
-       return 0;
-}
-
-//-----------------------------------------------------------------------------
-
-int Play(const char* medianame, int playfrom, int playto, int flags)
-{
-    WAVEFORMATEX wf;
-    //int maxlatency;
-    int thread_id;
-    int avg_bitrate, br, sr;
-    unsigned char *buffer;
-    int buffer_size;
-    faacDecConfigurationPtr config;
-
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("play");
-#endif
-
-       if (stricmp(mp4state.filename, medianame) != 0)
-               Stop(mp4state.filename, STOPFLAG_PLAYDONE);
-
-       if (mp4state.paused)
-       {
-               // Update the player controls to reflect the new unpaused state
-               module.QCDCallbacks.toPlayer.OutputPause(0);
-
-               Pause(medianame, 0);
-
-               if (playfrom >= 0)
-                       mp4state.seek_needed = playfrom;
-       }
-       else if (PlayThreadAlive) // is playing
-       {
-               mp4state.seek_needed = playfrom;
-               return 1;
-       }
-       else
-       {
-    memset(&mp4state, 0, sizeof(state));
-
-    lstrcpy(mp4state.filename, medianame);
-
-    if (!(mp4state.mp4file = MP4Read(mp4state.filename, 0)))
-    {
-        mp4state.filetype = 1;
-    } else {
-        MP4Close(mp4state.mp4file);
-        mp4state.filetype = 0;
-    }
-
-    if (mp4state.filetype)
-    {
-        int tagsize = 0, tmp = 0, init;
-        int bread = 0;
-        double length = 0.;
-        __int64 bitrate = 128;
-
-        //module.is_seekable = 1;
-
-        if (!(mp4state.aacfile = fopen(mp4state.filename, "rb")))
-        {
-            // error
-            return -1;
-        }
-
-        tagsize = skip_id3v2_tag();
-        if (tagsize<0) return 0;
-
-        if (!(mp4state.m_aac_buffer = (unsigned char*)malloc(768*6)))
-        {
-            show_error(module.hMainWindow, "Memory allocation error.");
-            return -1;
-        }
-
-        for (init=0; init<2; init++)
-        {
-            mp4state.hDecoder = faacDecOpen();
-            if (!mp4state.hDecoder)
-            {
-                show_error(module.hMainWindow, "Unable to open decoder library.");
-                return -1;
-            }
-
-            config = faacDecGetCurrentConfiguration(mp4state.hDecoder);
-            config->outputFormat = m_resolution + 1;
-            config->downMatrix = m_downmix;
-            faacDecSetConfiguration(mp4state.hDecoder, config);
-
-            memset(mp4state.m_aac_buffer, 0, 768*6);
-            bread = fread(mp4state.m_aac_buffer, 1, 768*6, mp4state.aacfile);
-            mp4state.m_aac_bytes_into_buffer = bread;
-            mp4state.m_aac_bytes_consumed = 0;
-            mp4state.m_file_offset = 0;
-            mp4state.m_at_eof = (bread != 768*6) ? 1 : 0;
-
-            if (init==0)
-            {
-                faacDecFrameInfo frameInfo;
-
-                fill_buffer(&mp4state);
-
-                if ((mp4state.m_aac_bytes_consumed = faacDecInit(mp4state.hDecoder,
-                    mp4state.m_aac_buffer, mp4state.m_aac_bytes_into_buffer,
-                    &mp4state.samplerate, &mp4state.channels)) < 0)
-                {
-                    show_error(module.hMainWindow, "Can't initialize decoder library.");
-                    return -1;
-                }
-                advance_buffer(&mp4state, mp4state.m_aac_bytes_consumed);
-
-                do {
-                    memset(&frameInfo, 0, sizeof(faacDecFrameInfo));
-                    fill_buffer(&mp4state);
-                    faacDecDecode(mp4state.hDecoder, &frameInfo, mp4state.m_aac_buffer, mp4state.m_aac_bytes_into_buffer);
-                } while (!frameInfo.samples && !frameInfo.error);
-
-                if (frameInfo.error)
-                {
-                    show_error(module.hMainWindow, faacDecGetErrorMessage(frameInfo.error));
-                    return -1;
-                }
-
-                mp4state.channels = frameInfo.channels;
-                mp4state.samplerate = frameInfo.samplerate;
-                mp4state.framesize = (frameInfo.channels != 0) ? frameInfo.samples/frameInfo.channels : 0;
-                /*
-                sbr = frameInfo.sbr;
-                profile = frameInfo.object_type;
-                header_type = frameInfo.header_type;
-                */
-
-                faacDecClose(mp4state.hDecoder);
-                fseek(mp4state.aacfile, tagsize, SEEK_SET);
-            }
-        }
-
-        mp4state.m_head = (struct seek_list*)malloc(sizeof(struct seek_list));
-        mp4state.m_tail = mp4state.m_head;
-        mp4state.m_tail->next = NULL;
-
-        mp4state.m_header_type = 0;
-        if ((mp4state.m_aac_buffer[0] == 0xFF) && ((mp4state.m_aac_buffer[1] & 0xF6) == 0xF0))
-        {
-            if (1) //(can_seek)
-            {
-                adts_parse(&mp4state, &bitrate, &length);
-                fseek(mp4state.aacfile, tagsize, SEEK_SET);
-
-                bread = fread(mp4state.m_aac_buffer, 1, 768*6, mp4state.aacfile);
-                if (bread != 768*6)
-                    mp4state.m_at_eof = 1;
-                else
-                    mp4state.m_at_eof = 0;
-                mp4state.m_aac_bytes_into_buffer = bread;
-                mp4state.m_aac_bytes_consumed = 0;
-
-                mp4state.m_header_type = 1;
-            }
-        } else if (memcmp(mp4state.m_aac_buffer, "ADIF", 4) == 0) {
-            int skip_size = (mp4state.m_aac_buffer[4] & 0x80) ? 9 : 0;
-            bitrate = ((unsigned int)(mp4state.m_aac_buffer[4 + skip_size] & 0x0F)<<19) |
-                ((unsigned int)mp4state.m_aac_buffer[5 + skip_size]<<11) |
-                ((unsigned int)mp4state.m_aac_buffer[6 + skip_size]<<3) |
-                ((unsigned int)mp4state.m_aac_buffer[7 + skip_size] & 0xE0);
-
-            length = (double)file_length(mp4state.aacfile);
-            if (length == -1)
-            {
-                //module.is_seekable = 0;
-                length = 0;
-            } else {
-                length = ((double)length*8.)/((double)bitrate) + 0.5;
-            }
-
-            mp4state.m_header_type = 2;
-        } else {
-            length = (double)file_length(mp4state.aacfile);
-            length = ((double)length*8.)/((double)bitrate*1000.) + 0.5;
-
-            //module.is_seekable = 1;
-        }
-
-        mp4state.m_length = (int)(length*1000.);
-
-        fill_buffer(&mp4state);
-        if ((mp4state.m_aac_bytes_consumed = faacDecInit(mp4state.hDecoder,
-            mp4state.m_aac_buffer, mp4state.m_aac_bytes_into_buffer,
-            &mp4state.samplerate, &mp4state.channels)) < 0)
-        {
-            show_error(module.hMainWindow, "Can't initialize decoder library.");
-            return -1;
-        }
-        advance_buffer(&mp4state, mp4state.m_aac_bytes_consumed);
-
-        if (mp4state.m_header_type == 2)
-            avg_bitrate = bitrate;
-        else
-            avg_bitrate = bitrate*1000;
-    } else {
-        mp4state.hDecoder = faacDecOpen();
-        if (!mp4state.hDecoder)
-        {
-            show_error(module.hMainWindow, "Unable to open decoder library.");
-            return -1;
-        }
-
-        config = faacDecGetCurrentConfiguration(mp4state.hDecoder);
-        config->outputFormat = m_resolution + 1;
-        config->downMatrix = m_downmix;
-        faacDecSetConfiguration(mp4state.hDecoder, config);
-
-        mp4state.mp4file = MP4Read(mp4state.filename, 0);
-        if (!mp4state.mp4file)
-        {
-            show_error(module.hMainWindow, "Unable to open file.");
-            faacDecClose(mp4state.hDecoder);
-            return -1;
-        }
-
-        if ((mp4state.mp4track = GetAACTrack(mp4state.mp4file)) < 0)
-        {
-            show_error(module.hMainWindow, "Unsupported Audio track type.");
-            faacDecClose(mp4state.hDecoder);
-            MP4Close(mp4state.mp4file);
-            return -1;
-        }
-
-        buffer = NULL;
-        buffer_size = 0;
-        MP4GetTrackESConfiguration(mp4state.mp4file, mp4state.mp4track,
-            &buffer, &buffer_size);
-        if (!buffer)
-        {
-            faacDecClose(mp4state.hDecoder);
-            MP4Close(mp4state.mp4file);
-            return -1;
-        }
-
-        if(faacDecInit2(mp4state.hDecoder, buffer, buffer_size,
-            &mp4state.samplerate, &mp4state.channels) < 0)
-        {
-            /* If some error initializing occured, skip the file */
-            faacDecClose(mp4state.hDecoder);
-            MP4Close(mp4state.mp4file);
-            if (buffer) free (buffer);
-            return -1;
-        }
-
-        /* for gapless decoding */
-        {
-            mp4AudioSpecificConfig mp4ASC;
-
-            mp4state.timescale = MP4GetTrackTimeScale(mp4state.mp4file, mp4state.mp4track);
-            mp4state.framesize = 1024;
-            mp4state.useAacLength = 0;
-
-            if (buffer)
-            {
-                if (AudioSpecificConfig(buffer, buffer_size, &mp4ASC) >= 0)
-                {
-                    if (mp4ASC.frameLengthFlag == 1) mp4state.framesize = 960;
-                    if (mp4ASC.sbr_present_flag == 1) mp4state.framesize *= 2;
-                }
-            }
-        }
-
-        free(buffer);
-
-        avg_bitrate = MP4GetTrackIntegerProperty(mp4state.mp4file, mp4state.mp4track,
-            "mdia.minf.stbl.stsd.mp4a.esds.decConfigDescr.avgBitrate");
-
-        mp4state.numSamples = MP4GetTrackNumberOfSamples(mp4state.mp4file, mp4state.mp4track);
-        mp4state.sampleId = 1;
-
-        //module.is_seekable = 1;
-    }
-
-    if (mp4state.channels == 0)
-    {
-        show_error(module.hMainWindow, "Number of channels not supported for playback.");
-        faacDecClose(mp4state.hDecoder);
-        if (mp4state.filetype)
-            fclose(mp4state.aacfile);
-        else
-            MP4Close(mp4state.mp4file);
-        return -1;
-    }
-
-    if (m_downmix && (mp4state.channels == 5 || mp4state.channels == 6))
-        mp4state.channels = 2;
-
-       wf.wFormatTag = WAVE_FORMAT_PCM;
-       wf.cbSize = 0;
-       wf.nChannels = mp4state.channels;
-       wf.wBitsPerSample = res_table[m_resolution];
-       wf.nSamplesPerSec = mp4state.samplerate;
-       wf.nBlockAlign = wf.nChannels * wf.wBitsPerSample / 8;
-       wf.nAvgBytesPerSec = wf.nSamplesPerSec * wf.nBlockAlign;
-       if (!module.QCDCallbacks.toPlayer.OutputOpen(mp4state.filename, &wf)) // error opening device
-    {
-        faacDecClose(mp4state.hDecoder);
-        if (mp4state.filetype)
-            fclose(mp4state.aacfile);
-        else
-            MP4Close(mp4state.mp4file);
-        return -1;
-    }
-
-    mp4state.paused        =  0;
-    mp4state.decode_pos_ms =  0;
-    mp4state.seek_needed   = -1;
-
-    //// initialize vis stuff
-    //module.SAVSAInit(maxlatency, mp4state.samplerate);
-    //module.VSASetInfo((int)mp4state.channels, mp4state.samplerate);
-
-    br = (int)floor(((float)avg_bitrate + 500.0)/1000.0 + 0.5);
-    sr = (int)floor((float)mp4state.samplerate/1000.0 + 0.5);
-       ai.struct_size = sizeof(AudioInfo);
-       ai.frequency = sr*1000;
-       ai.bitrate = br*1000;
-       ai.mode = (mp4state.channels == 2) ? 0 : 3;
-       ai.layer = 0;
-       ai.level = 0;
-       strcpy(ai.text, mp4state.filetype ? "AAC" : "MP4");
-       module.QCDCallbacks.Service(opSetAudioInfo, &ai, sizeof(AudioInfo), 0);
-
-    //module.outMod->SetVolume(-666); // set the output plug-ins default volume
-
-    killPlayThread = 0;
-
-    if (mp4state.filetype)
-    {
-        if ((play_thread_handle = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)AACPlayThread,
-            (void *)&killPlayThread, 0, &thread_id)) == NULL)
-        {
-            show_error(module.hMainWindow, "Cannot create playback thread");
-            faacDecClose(mp4state.hDecoder);
-            fclose(mp4state.aacfile);
-            return -1;
-        }
-    } else {
-        if ((play_thread_handle = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MP4PlayThread,
-            (void *)&killPlayThread, 0, &thread_id)) == NULL)
-        {
-            show_error(module.hMainWindow, "Cannot create playback thread");
-            faacDecClose(mp4state.hDecoder);
-            MP4Close(mp4state.mp4file);
-            return -1;
-        }
-    }
-
-    SetThreadAffinityMask(play_thread_handle, 1);
-
-    SetThreadPriority(play_thread_handle, priority_table[m_priority]);
-       }
-
-    return 1;
-}
-
-//-----------------------------------------------------------------------------
-
-int Pause(const char* medianame, int flags)
-{
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("pause");
-#endif
-
-    mp4state.paused = flags;
-
-       if (module.QCDCallbacks.toPlayer.OutputPause(flags))
-               return 1;
-
-       mp4state.paused = !flags;
-       return 0;
-}
-
-//void unpause()
-//{
-//#ifdef DEBUG_OUTPUT
-//    in_mp4_DebugOutput("unpause");
-//#endif
-//
-//    mp4state.paused = 0;
-//    module.outMod->Pause(0);
-//}
-//
-//int ispaused()
-//{
-//#ifdef DEBUG_OUTPUT
-//    in_mp4_DebugOutput("ispaused");
-//#endif
-//
-//    return mp4state.paused;
-//}
-
-//-----------------------------------------------------------------------------
-
-void SetVolume(int levelleft, int levelright, int flags)
-{
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("setvolume");
-#endif
-
-       module.QCDCallbacks.toPlayer.OutputSetVol(levelleft, levelright, flags);
-}
-
-//void setpan(int pan)
-//{
-//#ifdef DEBUG_OUTPUT
-//    in_mp4_DebugOutput("setpan");
-//#endif
-//
-//    module.outMod->SetPan(pan);
-//}
-
-//-----------------------------------------------------------------------------
-
-int Stop(const char* medianame, int flags)
-{
-    struct seek_list *target = mp4state.m_head;
-
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("stop");
-#endif
-
-       if (medianame && *medianame && stricmp(mp4state.filename, medianame) == 0)
-       {
-       module.QCDCallbacks.toPlayer.OutputStop(flags);
-    killPlayThread = 1;
-
-    if (play_thread_handle != INVALID_HANDLE_VALUE)
-    {
-        if (WaitForSingleObject(play_thread_handle, INFINITE) == WAIT_TIMEOUT)
-            TerminateThread(play_thread_handle,0);
-        CloseHandle(play_thread_handle);
-        play_thread_handle = INVALID_HANDLE_VALUE;
-    }
-
-
-    if (mp4state.m_aac_buffer)
-        free(mp4state.m_aac_buffer);
-
-    while (target)
-    {
-        struct seek_list *tmp = target;
-        target = target->next;
-        if (tmp) free(tmp);
-    }
-    faacDecClose(mp4state.hDecoder);
-    if (mp4state.filetype)
-        fclose(mp4state.aacfile);
-    else
-        MP4Close(mp4state.mp4file);
-
-    //module.outMod->Close();
-    //module.SAVSADeInit();
-       mp4state.filename[0] = '\0';
-       mp4state.paused = 0;
-       }
-
-       return 1;
-}
-
-int getsonglength(const char *fn)
-{
-    long msDuration = 0;
-
-    if(!stricmp(fn + strlen(fn) - 3,"MP4") || !stricmp(fn + strlen(fn) - 3,"M4A"))
-    {
-        int track;
-        MP4Duration length;
-        MP4FileHandle file;
-
-        file = MP4Read(fn, 0);
-        if (!file)
-            return 0;
-
-        if ((track = GetAACTrack(file)) < 0)
-        {
-            MP4Close(file);
-            return -1;
-        }
-
-        length = MP4GetTrackDuration(file, track);
-
-        msDuration = MP4ConvertFromTrackDuration(file, track,
-            length, MP4_MSECS_TIME_SCALE);
-
-        MP4Close(file);
-
-        return msDuration;
-    } else {
-        int tagsize = 0;
-        int bread = 0;
-        double length = 0.;
-        __int64 bitrate = 128;
-        struct seek_list *target;
-        state len_state;
-
-        memset(&len_state, 0, sizeof(state));
-
-        if (!(len_state.aacfile = fopen(fn, "rb")))
-        {
-            // error
-            return 0;
-        }
-
-        len_state.m_at_eof = 0;
-
-        if (!(len_state.m_aac_buffer = (unsigned char*)malloc(768*6)))
-        {
-            //console::error("Memory allocation error.", "foo_mp4");
-            return 0;
-        }
-        memset(len_state.m_aac_buffer, 0, 768*6);
-
-        bread = fread(len_state.m_aac_buffer, 1, 768*6, len_state.aacfile);
-        len_state.m_aac_bytes_into_buffer = bread;
-        len_state.m_aac_bytes_consumed = 0;
-        len_state.m_file_offset = 0;
-
-        if (bread != 768*6)
-            len_state.m_at_eof = 1;
-
-        if (!memcmp(len_state.m_aac_buffer, "ID3", 3))
-        {
-            /* high bit is not used */
-            tagsize = (len_state.m_aac_buffer[6] << 21) | (len_state.m_aac_buffer[7] << 14) |
-                (len_state.m_aac_buffer[8] <<  7) | (len_state.m_aac_buffer[9] <<  0);
-
-            tagsize += 10;
-            advance_buffer(&len_state, tagsize);
-        }
-
-        len_state.m_head = (struct seek_list*)malloc(sizeof(struct seek_list));
-        len_state.m_tail = len_state.m_head;
-        len_state.m_tail->next = NULL;
-
-        len_state.m_header_type = 0;
-        if ((len_state.m_aac_buffer[0] == 0xFF) && ((len_state.m_aac_buffer[1] & 0xF6) == 0xF0))
-        {
-            if (1) //(m_reader->can_seek())
-            {
-                adts_parse(&len_state, &bitrate, &length);
-                fseek(len_state.aacfile, tagsize, SEEK_SET);
-
-                bread = fread(len_state.m_aac_buffer, 1, 768*6, len_state.aacfile);
-                if (bread != 768*6)
-                    len_state.m_at_eof = 1;
-                else
-                    len_state.m_at_eof = 0;
-                len_state.m_aac_bytes_into_buffer = bread;
-                len_state.m_aac_bytes_consumed = 0;
-
-                len_state.m_header_type = 1;
-            }
-        } else if (memcmp(len_state.m_aac_buffer, "ADIF", 4) == 0) {
-            int skip_size = (len_state.m_aac_buffer[4] & 0x80) ? 9 : 0;
-            bitrate = ((unsigned int)(len_state.m_aac_buffer[4 + skip_size] & 0x0F)<<19) |
-                ((unsigned int)len_state.m_aac_buffer[5 + skip_size]<<11) |
-                ((unsigned int)len_state.m_aac_buffer[6 + skip_size]<<3) |
-                ((unsigned int)len_state.m_aac_buffer[7 + skip_size] & 0xE0);
-
-            length = (double)file_length(len_state.aacfile);
-            if (length == -1)
-                length = 0;
-            else
-                length = ((double)length*8.)/((double)bitrate) + 0.5;
-
-            len_state.m_header_type = 2;
-        } else {
-            length = (double)file_length(len_state.aacfile);
-            length = ((double)length*8.)/((double)bitrate*1000.) + 0.5;
-
-            len_state.m_header_type = 0;
-        }
-
-        if (len_state.m_aac_buffer)
-            free(len_state.m_aac_buffer);
-
-        target = len_state.m_head;
-        while (target)
-        {
-            struct seek_list *tmp = target;
-            target = target->next;
-            if (tmp) free(tmp);
-        }
-
-        fclose(len_state.aacfile);
-
-        return (int)(length*1000.);
-    }
-}
-
-//int getlength()
-//{
-//    if (!mp4state.filetype)
-//    {
-//        int track;
-//        long msDuration;
-//        MP4Duration length;
-//
-//        if ((track = GetAACTrack(mp4state.mp4file)) < 0)
-//        {
-//            return -1;
-//        }
-//
-//        length = MP4GetTrackDuration(mp4state.mp4file, track);
-//
-//        msDuration = MP4ConvertFromTrackDuration(mp4state.mp4file, track,
-//            length, MP4_MSECS_TIME_SCALE);
-//
-//        return msDuration;
-//    } else {
-//        return mp4state.m_length;
-//    }
-//    return 0;
-//}
-
-//-----------------------------------------------------------------------------
-
-int GetCurrentPosition(const char* medianame, long *track, long *offset)
-{
-       return module.QCDCallbacks.toPlayer.OutputGetCurrentPosition((UINT*)offset, 0);
-}
-
-//void setoutputtime(int time_in_ms)
-//{
-//#ifdef DEBUG_OUTPUT
-//    in_mp4_DebugOutput("setoutputtime");
-//#endif
-//
-//    mp4state.seek_needed = time_in_ms;
-//}
-
-//-----------------------------------------------------------------------------
-
-int GetTrackExtents(const char* medianame, TrackExtents *ext, int flags)
-{
-       int len;
-       FILE *fh;
-
-       len = getsonglength((char *)medianame);
-       fh = fopen(medianame, "rb");
-       if (len <= 0 || !fh)
-               return 0;
-
-       ext->track = 1;
-       ext->start = 0;
-       ext->end = len;
-       ext->bytesize = file_length(fh);
-       fclose(fh);
-       ext->unitpersec = 1000;
-
-       return 1;
-}
-
-//void eq_set(int on, char data[10], int preamp)
-//{
-//}
-
-static void remap_channels(unsigned char *data, unsigned int samples, unsigned int bps)
-{
-    unsigned int i;
-
-    switch (bps)
-    {
-    case 8:
-        {
-            unsigned char r1, r2, r3, r4, r5, r6;
-            for (i = 0; i < samples; i += 6)
-            {
-                r1 = data[i];
-                r2 = data[i+1];
-                r3 = data[i+2];
-                r4 = data[i+3];
-                r5 = data[i+4];
-                r6 = data[i+5];
-                data[i] = r2;
-                data[i+1] = r3;
-                data[i+2] = r1;
-                data[i+3] = r6;
-                data[i+4] = r4;
-                data[i+5] = r5;
-            }
-        }
-        break;
-
-    case 16:
-    default:
-        {
-            unsigned short r1, r2, r3, r4, r5, r6;
-            unsigned short *sample_buffer = (unsigned short *)data;
-            for (i = 0; i < samples; i += 6)
-            {
-                r1 = sample_buffer[i];
-                r2 = sample_buffer[i+1];
-                r3 = sample_buffer[i+2];
-                r4 = sample_buffer[i+3];
-                r5 = sample_buffer[i+4];
-                r6 = sample_buffer[i+5];
-                sample_buffer[i] = r2;
-                sample_buffer[i+1] = r3;
-                sample_buffer[i+2] = r1;
-                sample_buffer[i+3] = r6;
-                sample_buffer[i+4] = r4;
-                sample_buffer[i+5] = r5;
-            }
-        }
-        break;
-
-    case 24:
-    case 32:
-        {
-            unsigned int r1, r2, r3, r4, r5, r6;
-            unsigned int *sample_buffer = (unsigned int *)data;
-            for (i = 0; i < samples; i += 6)
-            {
-                r1 = sample_buffer[i];
-                r2 = sample_buffer[i+1];
-                r3 = sample_buffer[i+2];
-                r4 = sample_buffer[i+3];
-                r5 = sample_buffer[i+4];
-                r6 = sample_buffer[i+5];
-                sample_buffer[i] = r2;
-                sample_buffer[i+1] = r3;
-                sample_buffer[i+2] = r1;
-                sample_buffer[i+3] = r6;
-                sample_buffer[i+4] = r4;
-                sample_buffer[i+5] = r5;
-            }
-        }
-        break;
-    }
-}
-
-DWORD WINAPI MP4PlayThread(void *b)
-{
-    int done = 0, updatepos = 0;
-    int l;
-    int seq_frames = 0;
-    int seq_bytes = 0;
-
-    void *sample_buffer;
-    unsigned char *buffer;
-    int buffer_size;
-    faacDecFrameInfo frameInfo;
-
-    WriteDataStruct wd;
-
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("MP4PlayThread");
-#endif
-
-    PlayThreadAlive = 1;
-    mp4state.last_frame = 0;
-    mp4state.initial = 1;
-
-    while (!*((int *)b))
-    {
-        /* seeking */
-        if (mp4state.seek_needed != -1)
-        {
-            MP4Duration duration;
-
-                       module.QCDCallbacks.toPlayer.OutputFlush((unsigned int)mp4state.decode_pos_ms);
-            duration = MP4ConvertToTrackDuration(mp4state.mp4file,
-                mp4state.mp4track, mp4state.seek_needed, MP4_MSECS_TIME_SCALE);
-            mp4state.sampleId = MP4GetSampleIdFromTime(mp4state.mp4file,
-                mp4state.mp4track, duration, 0);
-
-            mp4state.decode_pos_ms = mp4state.seek_needed;
-            mp4state.seek_needed = -1;
-                       updatepos = 1;
-        }
-
-        if (done)
-        {
-                       if (module.QCDCallbacks.toPlayer.OutputDrain(0) && !(mp4state.seek_needed >= 0))
-                       {
-                               module.QCDCallbacks.toPlayer.OutputStop(STOPFLAG_PLAYDONE);
-                               module.QCDCallbacks.toPlayer.PlayDone(mp4state.filename);
-                PlayThreadAlive = 0;
-                       }
-                       else if (mp4state.seek_needed >= 0)
-                       {
-                               done = 0;
-                               continue;
-                       }
-                       break;
-        } else/* if (module.outMod->CanWrite() >= (2048*mp4state.channels*sizeof(short)))*/ {
-
-            if (mp4state.last_frame)
-            {
-                done = 1;
-            } else {
-                int rc;
-
-                /* for gapless decoding */
-                char *buf;
-                MP4Duration dur;
-                unsigned int sample_count;
-                unsigned int delay = 0;
-
-                /* get acces unit from MP4 file */
-                buffer = NULL;
-                buffer_size = 0;
-
-                rc = MP4ReadSample(mp4state.mp4file, mp4state.mp4track,
-                    mp4state.sampleId++, &buffer, &buffer_size,
-                    NULL, &dur, NULL, NULL);
-                if (mp4state.sampleId-1 == 1) dur = 0;
-                if (rc == 0 || buffer == NULL)
-                {
-                    mp4state.last_frame = 1;
-                    sample_buffer = NULL;
-                    frameInfo.samples = 0;
-                } else {
-                    sample_buffer = faacDecDecode(mp4state.hDecoder, &frameInfo,
-                        buffer, buffer_size);
-                }
-                if (frameInfo.error > 0)
-                {
-                    show_error(module.hMainWindow, faacDecGetErrorMessage(frameInfo.error));
-                    mp4state.last_frame = 1;
-                }
-                if (mp4state.sampleId > mp4state.numSamples)
-                    mp4state.last_frame = 1;
-
-                if (buffer) free(buffer);
-
-                if (mp4state.useAacLength || (mp4state.timescale != mp4state.samplerate)) {
-                    sample_count = frameInfo.samples;
-                } else {
-                    sample_count = (unsigned int)(dur * frameInfo.channels);
-
-                    if (!mp4state.useAacLength && !mp4state.initial && (mp4state.sampleId < mp4state.numSamples/2) && (dur*frameInfo.channels != frameInfo.samples))
-                    {
-                        //fprintf(stderr, "MP4 seems to have incorrect frame duration, using values from AAC data.\n");
-                        mp4state.useAacLength = 1;
-                        sample_count = frameInfo.samples;
-                    }
-                }
-
-                if (mp4state.initial && (sample_count < mp4state.framesize*mp4state.channels) && (frameInfo.samples > sample_count))
-                {
-                    delay = frameInfo.samples - sample_count;
-                }
-
-                if (!killPlayThread && (sample_count > 0))
-                {
-                    buf = (char *)sample_buffer;
-                    mp4state.initial = 0;
-
-                    switch (res_table[m_resolution])
-                    {
-                    case 8:
-                        buf += delay;
-                        break;
-                    case 16:
-                    default:
-                        buf += delay * 2;
-                        break;
-                    case 24:
-                    case 32:
-                        buf += delay * 4;
-                        break;
-                    case 64:
-                        buf += delay * 8;
-                    }
-
-                    if (frameInfo.channels == 6 && frameInfo.num_lfe_channels)
-                        remap_channels(buf, sample_count, res_table[m_resolution]);
-
-                    if (res_table[m_resolution] == 24)
-                    {
-                        /* convert libfaad output (3 bytes packed in 4) */
-                        char *temp_buffer = convert3in4to3in3(buf, sample_count);
-                        memcpy((void*)buf, (void*)temp_buffer, sample_count*3);
-                        free(temp_buffer);
-                    }
-
-                    //module.SAAddPCMData(buf, (int)mp4state.channels, res_table[m_resolution],
-                    //    mp4state.decode_pos_ms);
-                    //module.VSAAddPCMData(buf, (int)mp4state.channels, res_table[m_resolution],
-                    //    mp4state.decode_pos_ms);
-                    mp4state.decode_pos_ms += (double)sample_count * 1000.0 /
-                        ((double)frameInfo.samplerate * (double)frameInfo.channels);
-
-                    l = sample_count * res_table[m_resolution] / 8;
-
-                                       if (updatepos)
-                                       {
-                                               module.QCDCallbacks.toPlayer.PositionUpdate((unsigned int)mp4state.decode_pos_ms);
-                                               updatepos = 0;
-                                       }
-
-                                       wd.bytelen = l;
-                                       wd.data = (short*)buf;
-                                       wd.markerend = 0;
-                                       wd.markerstart = (UINT)mp4state.decode_pos_ms;
-                                       wd.bps = res_table[m_resolution];
-                                       wd.nch = frameInfo.channels;
-                                       wd.numsamples = sample_count/frameInfo.channels;
-                                       wd.srate = frameInfo.samplerate;
-
-                                       if (!module.QCDCallbacks.toPlayer.OutputWrite(&wd))
-                                               done = 1;
-
-                    //if (module.dsp_isactive())
-                    //{
-                    //    void *dsp_buffer = malloc(l*2);
-                    //    memcpy(dsp_buffer, buf, l);
-
-                    //    l = module.dsp_dosamples((short*)dsp_buffer,
-                    //        sample_count/frameInfo.channels,
-                    //        res_table[m_resolution],
-                    //        frameInfo.channels,
-                    //        frameInfo.samplerate) *
-                    //        (frameInfo.channels*(res_table[m_resolution]/8));
-
-                    //    module.outMod->Write(dsp_buffer, l);
-                    //    if (dsp_buffer) free(dsp_buffer);
-                    //} else {
-                    //    module.outMod->Write(buf, l);
-                    //}
-
-                    /* VBR bitrate display */
-                    if (m_vbr_display)
-                    {
-                        seq_frames++;
-                        seq_bytes += frameInfo.bytesconsumed;
-                        if (seq_frames == (int)(floor((float)frameInfo.samplerate/(float)(sample_count/frameInfo.channels) + 0.5)))
-                        {
-                                                       ai.bitrate = (int)floor(((float)seq_bytes*8.)/1000. + 0.5) * 1000;
-                                                       ai.frequency = (int)floor(frameInfo.samplerate/1000. + 0.5) * 1000;
-                                                       ai.mode = (mp4state.channels == 2) ? 0 : 3;
-                                                       module.QCDCallbacks.Service(opSetAudioInfo, &ai, sizeof(AudioInfo), 0);
-
-                            seq_frames = 0;
-                            seq_bytes = 0;
-                        }
-                    }
-                }
-            }
-        }
-               
-               Sleep(10);
-
-               // catch pause
-               while (mp4state.paused && !killPlayThread)
-                       Sleep(50);
-    }
-
-    PlayThreadAlive = 0;
-
-    return 0;
-}
-
-void *decode_aac_frame(state *st, faacDecFrameInfo *frameInfo)
-{
-    void *sample_buffer = NULL;
-
-    do
-    {
-        fill_buffer(st);
-
-        if (st->m_aac_bytes_into_buffer != 0)
-        {
-            sample_buffer = faacDecDecode(st->hDecoder, frameInfo,
-                st->m_aac_buffer, st->m_aac_bytes_into_buffer);
-
-            if (st->m_header_type != 1)
-            {
-                if (st->last_offset < st->m_file_offset)
-                {
-                    st->m_tail->offset = st->m_file_offset;
-                    st->m_tail->next = (struct seek_list*)malloc(sizeof(struct seek_list));
-                    st->m_tail = st->m_tail->next;
-                    st->m_tail->next = NULL;
-                    st->last_offset = st->m_file_offset;
-                }
-            }
-
-            advance_buffer(st, frameInfo->bytesconsumed);
-        } else {
-            break;
-        }
-
-    } while (!frameInfo->samples && !frameInfo->error);
-
-    return sample_buffer;
-}
-
-int aac_seek(state *st, double seconds)
-{
-    int i, frames;
-    int bread;
-    struct seek_list *target = st->m_head;
-
-    if (1 /*can_seek*/ && ((st->m_header_type == 1) || (seconds < st->cur_pos_sec)))
-    {
-        frames = (int)(seconds*((double)st->samplerate/(double)st->framesize) + 0.5);
-
-        for (i = 0; i < frames; i++)
-        {
-            if (target->next)
-                target = target->next;
-            else
-                return 0;
-        }
-        if (target->offset == 0 && frames > 0)
-            return 0;
-        fseek(st->aacfile, target->offset, SEEK_SET);
-        st->m_file_offset = target->offset;
-
-        bread = fread(st->m_aac_buffer, 1, 768*6, st->aacfile);
-        if (bread != 768*6)
-            st->m_at_eof = 1;
-        else
-            st->m_at_eof = 0;
-        st->m_aac_bytes_into_buffer = bread;
-        st->m_aac_bytes_consumed = 0;
-        st->m_file_offset += bread;
-
-        faacDecPostSeekReset(st->hDecoder, -1);
-
-        return 1;
-    } else {
-        if (seconds > st->cur_pos_sec)
-        {
-            faacDecFrameInfo frameInfo;
-
-            frames = (int)((seconds - st->cur_pos_sec)*((double)st->samplerate/(double)st->framesize));
-
-            if (frames > 0)
-            {
-                for (i = 0; i < frames; i++)
-                {
-                    memset(&frameInfo, 0, sizeof(faacDecFrameInfo));
-                    decode_aac_frame(st, &frameInfo);
-
-                    if (frameInfo.error || (st->m_aac_bytes_into_buffer == 0))
-                    {
-                        if (frameInfo.error)
-                        {
-                            if (faacDecGetErrorMessage(frameInfo.error) != NULL)
-                                show_error(module.hMainWindow, faacDecGetErrorMessage(frameInfo.error));
-                        }
-                        return 0;
-                    }
-                }
-            }
-
-            faacDecPostSeekReset(st->hDecoder, -1);
-        }
-        return 1;
-    }
-}
-
-DWORD WINAPI AACPlayThread(void *b)
-{
-    int done = 0, updatepos = 0;
-    int l;
-    int seq_frames = 0;
-    int seq_bytes = 0;
-
-       WriteDataStruct wd;
-
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("AACPlayThread");
-#endif
-
-    PlayThreadAlive = 1;
-    mp4state.last_frame = 0;
-
-    while (!*((int *)b))
-    {
-        /* seeking */
-        if (mp4state.seek_needed != -1)
-        {
-            double ms;
-
-            ms = mp4state.seek_needed/1000;
-            if (aac_seek(&mp4state, ms)!=0)
-            {
-                module.QCDCallbacks.toPlayer.OutputFlush((unsigned int)mp4state.decode_pos_ms);
-                mp4state.cur_pos_sec = ms;
-                mp4state.decode_pos_ms = mp4state.seek_needed;
-            }
-            mp4state.seek_needed = -1;
-                       updatepos = 1;
-        }
-
-        if (done)
-        {
-                       if (module.QCDCallbacks.toPlayer.OutputDrain(0) && !(mp4state.seek_needed >= 0))
-                       {
-                               module.QCDCallbacks.toPlayer.OutputStop(STOPFLAG_PLAYDONE);
-                               module.QCDCallbacks.toPlayer.PlayDone(mp4state.filename);
-                PlayThreadAlive = 0;
-                       }
-                       else if (mp4state.seek_needed >= 0)
-                       {
-                               done = 0;
-                               continue;
-                       }
-                       break;
-        } else/* if (module.outMod->CanWrite() >= (2048*mp4state.channels*sizeof(short)))*/ {
-            faacDecFrameInfo frameInfo;
-            void *sample_buffer;
-
-            memset(&frameInfo, 0, sizeof(faacDecFrameInfo));
-
-            sample_buffer = decode_aac_frame(&mp4state, &frameInfo);
-
-            if (frameInfo.error || (mp4state.m_aac_bytes_into_buffer == 0))
-            {
-                if (frameInfo.error)
-                {
-                    if (faacDecGetErrorMessage(frameInfo.error) != NULL)
-                        show_error(module.hMainWindow, faacDecGetErrorMessage(frameInfo.error));
-                }
-                done = 1;
-            }
-
-            if (!killPlayThread && (frameInfo.samples > 0))
-            {
-                if (frameInfo.channels == 6 && frameInfo.num_lfe_channels)
-                    remap_channels(sample_buffer, frameInfo.samples, res_table[m_resolution]);
-
-                if (res_table[m_resolution] == 24)
-                {
-                    /* convert libfaad output (3 bytes packed in 4 bytes) */
-                    char *temp_buffer = convert3in4to3in3(sample_buffer, frameInfo.samples);
-                    memcpy((void*)sample_buffer, (void*)temp_buffer, frameInfo.samples*3);
-                    free(temp_buffer);
-                }
-
-                //module.SAAddPCMData(sample_buffer, (int)mp4state.channels, res_table[m_resolution],
-                //    mp4state.decode_pos_ms);
-                //module.VSAAddPCMData(sample_buffer, (int)mp4state.channels, res_table[m_resolution],
-                //    mp4state.decode_pos_ms);
-                mp4state.decode_pos_ms += (double)frameInfo.samples * 1000.0 /
-                    ((double)frameInfo.samplerate* (double)frameInfo.channels);
-
-                l = frameInfo.samples * res_table[m_resolution] / 8;
-
-                               if (updatepos)
-                               {
-                                       module.QCDCallbacks.toPlayer.PositionUpdate((unsigned int)mp4state.decode_pos_ms);
-                                       updatepos = 0;
-                               }
-
-                               wd.bytelen = l;
-                               wd.data = (short*)sample_buffer;
-                               wd.markerend = 0;
-                               wd.markerstart = (UINT)mp4state.decode_pos_ms;
-                               wd.bps = res_table[m_resolution];
-                               wd.nch = frameInfo.channels;
-                               wd.numsamples = frameInfo.samples/frameInfo.channels;
-                               wd.srate = frameInfo.samplerate;
-
-                               if (!module.QCDCallbacks.toPlayer.OutputWrite(&wd))
-                                       done = 1;
-
-                //if (module.dsp_isactive())
-                //{
-                //    void *dsp_buffer = malloc(l*2);
-                //    memcpy(dsp_buffer, sample_buffer, l);
-
-                //    l = module.dsp_dosamples((short*)dsp_buffer,
-                //        frameInfo.samples/frameInfo.channels,
-                //        res_table[m_resolution],
-                //        frameInfo.channels,
-                //        frameInfo.samplerate) *
-                //        (frameInfo.channels*(res_table[m_resolution]/8));
-
-                //    module.outMod->Write(dsp_buffer, l);
-                //    if (dsp_buffer) free(dsp_buffer);
-                //} else {
-                //    module.outMod->Write(sample_buffer, l);
-                //}
-
-                /* VBR bitrate display */
-                if (m_vbr_display)
-                {
-                    seq_frames++;
-                    seq_bytes += frameInfo.bytesconsumed;
-                    if (seq_frames == (int)(floor((float)frameInfo.samplerate/(float)(frameInfo.samples/frameInfo.channels) + 0.5)))
-                    {
-                                               ai.bitrate = (int)floor(((float)seq_bytes*8.)/1000. + 0.5) * 1000;
-                                               ai.frequency = (int)floor(frameInfo.samplerate/1000. + 0.5) * 1000;
-                                               ai.mode = (mp4state.channels == 2) ? 0 : 3;
-                                               module.QCDCallbacks.Service(opSetAudioInfo, &ai, sizeof(AudioInfo), 0);
-
-                        seq_frames = 0;
-                        seq_bytes = 0;
-                    }
-                }
-            }
-
-            if (frameInfo.channels > 0 && mp4state.samplerate > 0)
-                mp4state.cur_pos_sec += ((double)(frameInfo.samples/frameInfo.channels))/(double)mp4state.samplerate;
-        }
-               
-               Sleep(10);
-
-               // catch pause
-               while (mp4state.paused && !killPlayThread)
-                       Sleep(50);
-    }
-
-    PlayThreadAlive = 0;
-
-    return 0;
-}
-
-//-----------------------------------------------------------------------------
-
-int WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, LPVOID pRes)
-{
-       if (fdwReason == DLL_PROCESS_ATTACH)
-       {
-               module.hDllInstance = hInst;
-       }
-       return 1;
-}
-
-//-----------------------------------------------------------------------------
-
-PLUGIN_API QCDModInitIn* INPUTDLL_ENTRY_POINT(QCDModInitIn *ModInit, QCDModInfo *ModInfo)
-{
-       module.QCDCallbacks.size                                                = sizeof(QCDModInitIn);
-       module.QCDCallbacks.version                                             = PLUGIN_API_VERSION;
-       module.QCDCallbacks.toModule.Initialize                 = Initialize;
-       module.QCDCallbacks.toModule.ShutDown                   = ShutDown;
-       module.QCDCallbacks.toModule.GetTrackExtents    = GetTrackExtents;
-       module.QCDCallbacks.toModule.GetMediaSupported  = GetMediaSupported;
-       module.QCDCallbacks.toModule.Play                               = Play;
-       module.QCDCallbacks.toModule.Pause                              = Pause;
-       module.QCDCallbacks.toModule.Stop                               = Stop;
-       module.QCDCallbacks.toModule.About                              = About;
-       module.QCDCallbacks.toModule.Configure                  = Configure;    
-       module.QCDCallbacks.toModule.SetEQ                              = NULL;
-       module.QCDCallbacks.toModule.SetVolume                  = SetVolume;
-
-       return &module.QCDCallbacks;
-}
-
-///* new Media Library interface */
-//
-//int mp4_get_metadata(MP4FileHandle file, const char *item, char *dest, int dlen)
-//{
-//    char *pVal = NULL, dummy1[4096];
-//    short dummy = 0, dummy2 = 0;
-//
-//    if (dlen < 1) return 0;
-//
-//    if (!stricmp(item, "track") || !stricmp(item, "tracknumber"))
-//    {
-//        if (MP4GetMetadataTrack(file, &dummy, &dummy2))
-//        {
-//            wsprintf(dummy1, "%d", (int)dummy);
-//            strncpy(dest, dummy1, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else if (!stricmp(item, "disc") || !stricmp(item, "disknumber"))
-//    {
-//        if (MP4GetMetadataDisk(file, &dummy, &dummy2))
-//        {
-//            wsprintf(dummy1, "%d", (int)dummy);
-//            strncpy(dest, dummy1, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else if (!stricmp(item, "compilation"))
-//    {
-//        u_int8_t cpil = 0;
-//        if (MP4GetMetadataCompilation(file, &cpil))
-//        {
-//            wsprintf(dummy1, "%d", (int)cpil);
-//            strncpy(dest, dummy1, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else if (!stricmp(item, "tempo"))
-//    {
-//        u_int16_t tempo = 0;
-//        if (MP4GetMetadataTempo(file, &tempo))
-//        {
-//            wsprintf(dummy1, "%d", (int)tempo);
-//            strncpy(dest, dummy1, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else if (!stricmp(item, "artist"))
-//    {
-//        if (MP4GetMetadataArtist(file, &pVal))
-//        {
-//            strncpy(dest, pVal, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else if (!stricmp(item, "writer"))
-//    {
-//        if (MP4GetMetadataWriter(file, &pVal))
-//        {
-//            strncpy(dest, pVal, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else if (!stricmp(item, "title"))
-//    {
-//        if (MP4GetMetadataName(file, &pVal))
-//        {
-//            strncpy(dest, pVal, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else if (!stricmp(item, "album"))
-//    {
-//        if (MP4GetMetadataAlbum(file, &pVal))
-//        {
-//            strncpy(dest, pVal, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else if (!stricmp(item, "date") || !stricmp(item, "year"))
-//    {
-//        if (MP4GetMetadataYear(file, &pVal))
-//        {
-//            strncpy(dest, pVal, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else if (!stricmp(item, "comment"))
-//    {
-//        if (MP4GetMetadataComment(file, &pVal))
-//        {
-//            strncpy(dest, pVal, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else if (!stricmp(item, "genre"))
-//    {
-//        if (MP4GetMetadataGenre(file, &pVal))
-//        {
-//            strncpy(dest, pVal, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else if (!stricmp(item, "tool"))
-//    {
-//        if (MP4GetMetadataTool(file, &pVal))
-//        {
-//            strncpy(dest, pVal, dlen-1);
-//            dest[dlen-1] = '\0';
-//            return 1;
-//        }
-//    }
-//    else
-//    {
-//        u_int32_t valueSize = 0;
-//        u_int8_t *pValue = NULL;
-//
-//        if (MP4GetMetadataFreeForm(file, (char *)item, &pValue, &valueSize))
-//        {
-//            unsigned int len = (valueSize < (unsigned int)(dlen-1)) ? valueSize : (unsigned int)(dlen-1);
-//            memcpy(dest, pValue, len);
-//            dest[len] = '\0';
-//            return 1;
-//        }
-//    }
-//
-//    return 0;
-//}
-//
-//__declspec(dllexport) int winampGetExtendedFileInfo(const char *fn, const char *data, char *dest, int destlen)
-//{
-//    if (!fn || (fn && !*fn) || !destlen) return 0;
-//
-//    dest[0] = '\0';
-//
-//    if (!stricmp(data, "length"))
-//    {
-//        char temp[32];
-//        int len = getsonglength(fn);
-//        itoa(len, temp, 10);
-//        strncpy(dest, temp, destlen-1);
-//        dest[destlen-1] = '\0';
-//    }
-//    else
-//    {
-//        char temp[2048], temp2[2048];
-//        MP4FileHandle file = MP4Read(fn, 0);
-//        if (file == MP4_INVALID_FILE_HANDLE) return 0;
-//
-//        if (mp4_get_metadata(file, data, temp, sizeof(temp)))
-//        {
-//            int len = ConvertUTF8ToANSI(temp, temp2);
-//            if (len > destlen-1) len = destlen-1;
-//            memcpy(dest, temp2, len);
-//            dest[len] = '\0';
-//        }
-//
-//        MP4Close(file);
-//    }
-//
-//    return 1;
-//}
-//
-//static struct medialib_tags mltags = {0, 0};
-//static BOOL medialib_init = FALSE;
-//static char medialib_lastfn[2048] = "";
-//
-//__declspec(dllexport) int winampSetExtendedFileInfo(const char *fn, const char *data, char *val)
-//{
-//    int len, ret = 0;
-//    char *temp;
-//
-//    if (!medialib_init || (medialib_init && stricmp(fn, medialib_lastfn))) {
-//        MP4FileHandle file;
-//        strcpy(medialib_lastfn, fn);
-//
-//        if (medialib_init) tag_delete(&mltags);
-//
-//        file = MP4Read(fn, 0);
-//        if (file == MP4_INVALID_FILE_HANDLE) return 0;
-//        ReadMP4Tag(file, &mltags);
-//        MP4Close(file);
-//        medialib_init = TRUE;
-//    }
-//
-//    len = strlen(val);
-//    temp = (char *)malloc((len+1)*4);
-//    if (!temp) return 0;
-//
-//    if (ConvertANSIToUTF8(val, temp))
-//    {
-//        ret = 1;
-//        tag_set_field(&mltags, data, temp);
-//    }
-//
-//    free(temp);
-//
-//    return ret;
-//}    
-//
-//__declspec(dllexport) int winampWriteExtendedFileInfo()
-//{
-//    if (medialib_init)
-//    {
-//        MP4FileHandle file = MP4Modify(medialib_lastfn, 0, 0);
-//        if (file == MP4_INVALID_FILE_HANDLE) return 0;
-//
-//        MP4MetadataDelete(file);
-//        MP4Close(file);
-//
-//        file = MP4Modify(medialib_lastfn, 0, 0);
-//        if (file == MP4_INVALID_FILE_HANDLE) return 0;
-//
-//        WriteMP4Tag(file, &mltags);
-//
-//        MP4Close(file);
-//
-//        return 1;
-//    }
-//    else
-//    {
-//        return 0;
-//    }
-//}
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDMp4.dsp b/lib/libfaad2/plugins/QCDMp4/QCDMp4.dsp
deleted file mode 100644 (file)
index 0ce1a9f..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-# Microsoft Developer Studio Project File - Name="QCDMp4" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=QCDMp4 - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "QCDMp4.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "QCDMp4.mak" CFG="QCDMp4 - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "QCDMp4 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "QCDMp4 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=xicl6.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "QCDMp4 - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O1 /I "..\..\include" /I "..\..\common\mp4v2" /I "..\..\common\mp4av" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "NDEBUG"
-# ADD RSC /l 0x413 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-
-!ELSEIF  "$(CFG)" == "QCDMp4 - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\include" /I "..\..\common\mp4v2" /I "..\..\common\mp4av" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "_DEBUG"
-# ADD RSC /l 0x413 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "QCDMp4 - Win32 Release"
-# Name "QCDMp4 - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\aac2mp4.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\aacinfo.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\config.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\QCDMp4.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\QCDMp4Tag.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\utils.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\aacinfo.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\faad.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\QCDInputDLL.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\QCDModInput.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\QCDTagsDLL.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\QCDModTagEditor.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\QCDModDefs.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\utils.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\QCDMp4.rc
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDMp4.dsw b/lib/libfaad2/plugins/QCDMp4/QCDMp4.dsw
deleted file mode 100644 (file)
index cfaf061..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "QCDMp4"=.\QCDMp4.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libfaad
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libmp4v2_st
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libmp4av_st
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libfaad"=..\..\libfaad\libfaad.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "libmp4av_st"=..\..\common\mp4av\libmp4av_st.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "libmp4v2_st"=..\..\common\mp4v2\libmp4v2_st60.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDMp4.rc b/lib/libfaad2/plugins/QCDMp4/QCDMp4.rc
deleted file mode 100644 (file)
index a1d6e6c..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// ÖÐÎÄ(ÖлªÈËÃñ¹²ºÍ¹ú) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
-#ifdef _WIN32
-LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
-#pragma code_page(936)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_CONFIG DIALOGEX 0, 0, 242, 93
-STYLE DS_SETFONT | DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | 
-    WS_SYSMENU
-CAPTION "Configuration"
-FONT 9, "ËÎÌå", 400, 0, 0x86
-BEGIN
-    CONTROL         "Slider1",IDC_PRIORITY,"msctls_trackbar32",TBS_VERT | 
-                    TBS_NOTICKS | WS_TABSTOP,13,15,18,46
-    CONTROL         "16 λ",IDC_16BITS,"Button",BS_AUTORADIOBUTTON,77,18,37,
-                    10
-    CONTROL         "16 Î»¸ßƵ¶¶¶¯",IDC_16BITS_DITHERED,"Button",
-                    BS_AUTORADIOBUTTON | WS_DISABLED,77,29,64,10
-    CONTROL         "24 λ",IDC_24BITS,"Button",BS_AUTORADIOBUTTON,77,40,37,
-                    10
-    CONTROL         "32 λ",IDC_32BITS,"Button",BS_AUTORADIOBUTTON,77,51,37,
-                    10
-    CONTROL         "ÏòÏ»ìƵµ½Á¢ÌåÉù",IDC_DOWNMIX,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,13,80,10
-    CONTROL         "Ö§³Ö AAC ¸ñʽ",IDC_USEFORAAC,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,26,68,10
-    CONTROL         "ÏÔʾ¿É±ä±ÈÌØÂÊ",IDC_VBR,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,39,72,10
-    CONTROL         "ÏÔʾ´íÎóÐÅÏ¢",IDC_ERROR,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,52,64,10
-    DEFPUSHBUTTON   "È·¶¨",IDOK,185,72,50,14
-    PUSHBUTTON      "È¡Ïû",IDCANCEL,127,72,50,14
-    GROUPBOX        "ÓÅÏȼ¶",IDC_STATIC,7,7,57,58
-    LTEXT           "¸ß",IDC_STATIC,34,18,25,8
-    LTEXT           "±ê×¼",IDC_STATIC,34,35,23,8
-    LTEXT           "µÍ",IDC_STATIC,34,52,24,8
-    GROUPBOX        "½âÎö¶È",IDC_STATIC,71,7,73,58
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO 
-BEGIN
-    IDD_CONFIG, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 235
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 86
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-#endif    // ÖÐÎÄ(ÖлªÈËÃñ¹²ºÍ¹ú) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// ºÉÀ¼Óï(ºÉÀ¼) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NLD)
-#ifdef _WIN32
-LANGUAGE LANG_DUTCH, SUBLANG_DUTCH
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_CONFIG DIALOGEX 0, 0, 233, 93
-STYLE DS_SETFONT | DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | 
-    WS_SYSMENU
-CAPTION "Configuration"
-FONT 8, "MS Sans Serif", 0, 0, 0x0
-BEGIN
-    CONTROL         "Slider1",IDC_PRIORITY,"msctls_trackbar32",TBS_VERT | 
-                    TBS_NOTICKS | WS_TABSTOP,13,15,18,46
-    CONTROL         "16 bits",IDC_16BITS,"Button",BS_AUTORADIOBUTTON,77,18,
-                    37,10
-    CONTROL         "16 bits dithered",IDC_16BITS_DITHERED,"Button",
-                    BS_AUTORADIOBUTTON | WS_DISABLED,77,29,64,10
-    CONTROL         "24 bits",IDC_24BITS,"Button",BS_AUTORADIOBUTTON,77,40,
-                    37,10
-    CONTROL         "32 bits",IDC_32BITS,"Button",BS_AUTORADIOBUTTON,77,51,
-                    37,10
-    CONTROL         "Downmix to stereo",IDC_DOWNMIX,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,13,74,10
-    CONTROL         "Use for AAC",IDC_USEFORAAC,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,26,55,10
-    CONTROL         "VBR Display",IDC_VBR,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,39,55,10
-    CONTROL         "Show errors",IDC_ERROR,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,52,53,10
-    DEFPUSHBUTTON   "OK",IDOK,176,72,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,115,72,50,14
-    GROUPBOX        "Priority",IDC_STATIC,7,7,57,58
-    LTEXT           "Highest",IDC_STATIC,34,18,25,8
-    LTEXT           "Normal",IDC_STATIC,34,35,23,8
-    LTEXT           "Lowest",IDC_STATIC,34,52,24,8
-    GROUPBOX        "Resolution",IDC_STATIC,71,7,73,58
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO 
-BEGIN
-    IDD_CONFIG, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 226
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 86
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-#endif    // ºÉÀ¼Óï(ºÉÀ¼) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDMp4.sln b/lib/libfaad2/plugins/QCDMp4/QCDMp4.sln
deleted file mode 100644 (file)
index b9b0ec4..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QCDMp4", "QCDMp4.vcproj", "{2D8F479D-A591-4502-9456-398425D5F834}"
-       ProjectSection(ProjectDependencies) = postProject
-               {2398BB2F-FFF9-490B-B4CC-863F2D21AE46} = {2398BB2F-FFF9-490B-B4CC-863F2D21AE46}
-               {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49} = {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}
-               {82CAD808-21AF-40A6-92EC-AE01AA67B413} = {82CAD808-21AF-40A6-92EC-AE01AA67B413}
-       EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfaad", "..\..\libfaad\libfaad.vcproj", "{82CAD808-21AF-40A6-92EC-AE01AA67B413}"
-       ProjectSection(ProjectDependencies) = postProject
-       EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp4v2_st", "..\..\common\mp4v2\libmp4v2_st60.vcproj", "{2398BB2F-FFF9-490B-B4CC-863F2D21AE46}"
-       ProjectSection(ProjectDependencies) = postProject
-       EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp4av_st", "..\..\common\mp4av\libmp4av_st.vcproj", "{8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}"
-       ProjectSection(ProjectDependencies) = postProject
-       EndProjectSection
-EndProject
-Global
-       GlobalSection(SolutionConfiguration) = preSolution
-               Debug = Debug
-               Release = Release
-       EndGlobalSection
-       GlobalSection(ProjectConfiguration) = postSolution
-               {2D8F479D-A591-4502-9456-398425D5F834}.Debug.ActiveCfg = Debug|Win32
-               {2D8F479D-A591-4502-9456-398425D5F834}.Debug.Build.0 = Debug|Win32
-               {2D8F479D-A591-4502-9456-398425D5F834}.Release.ActiveCfg = Release|Win32
-               {2D8F479D-A591-4502-9456-398425D5F834}.Release.Build.0 = Release|Win32
-               {82CAD808-21AF-40A6-92EC-AE01AA67B413}.Debug.ActiveCfg = Debug|Win32
-               {82CAD808-21AF-40A6-92EC-AE01AA67B413}.Debug.Build.0 = Debug|Win32
-               {82CAD808-21AF-40A6-92EC-AE01AA67B413}.Release.ActiveCfg = Release|Win32
-               {82CAD808-21AF-40A6-92EC-AE01AA67B413}.Release.Build.0 = Release|Win32
-               {2398BB2F-FFF9-490B-B4CC-863F2D21AE46}.Debug.ActiveCfg = Debug|Win32
-               {2398BB2F-FFF9-490B-B4CC-863F2D21AE46}.Debug.Build.0 = Debug|Win32
-               {2398BB2F-FFF9-490B-B4CC-863F2D21AE46}.Release.ActiveCfg = Release|Win32
-               {2398BB2F-FFF9-490B-B4CC-863F2D21AE46}.Release.Build.0 = Release|Win32
-               {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}.Debug.ActiveCfg = Debug|Win32
-               {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}.Debug.Build.0 = Debug|Win32
-               {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}.Release.ActiveCfg = Release|Win32
-               {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}.Release.Build.0 = Release|Win32
-       EndGlobalSection
-       GlobalSection(ExtensibilityGlobals) = postSolution
-       EndGlobalSection
-       GlobalSection(ExtensibilityAddIns) = postSolution
-       EndGlobalSection
-EndGlobal
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDMp4.vcproj b/lib/libfaad2/plugins/QCDMp4/QCDMp4.vcproj
deleted file mode 100644 (file)
index 976522a..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="7.10"
-       Name="QCDMp4"
-       SccProjectName=""
-       SccLocalPath="">
-       <Platforms>
-               <Platform
-                       Name="Win32"/>
-       </Platforms>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="2"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories="..\..\include,..\..\common\mp4v2,..\..\common\mp4av"
-                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
-                               BasicRuntimeChecks="0"
-                               RuntimeLibrary="1"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile=".\Debug/QCDMp4.pch"
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="TRUE"
-                               DebugInformationFormat="4"
-                               CompileAs="0"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="ws2_32.lib odbc32.lib odbccp32.lib"
-                               OutputFile=".\Debug/QCDMp4.dll"
-                               LinkIncremental="2"
-                               SuppressStartupBanner="TRUE"
-                               GenerateDebugInformation="TRUE"
-                               ProgramDatabaseFile=".\Debug/QCDMp4.pdb"
-                               SubSystem="2"
-                               ImportLibrary=".\Debug/QCDMp4.lib"/>
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               MkTypLibCompatible="TRUE"
-                               SuppressStartupBanner="TRUE"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Debug/QCDMp4.tlb"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1043"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCWebDeploymentTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="2"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="1"
-                               GlobalOptimizations="TRUE"
-                               InlineFunctionExpansion="1"
-                               EnableIntrinsicFunctions="TRUE"
-                               FavorSizeOrSpeed="1"
-                               OptimizeForProcessor="2"
-                               AdditionalIncludeDirectories="..\..\include,..\..\common\mp4v2,..\..\common\mp4av"
-                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
-                               StringPooling="TRUE"
-                               RuntimeLibrary="2"
-                               EnableFunctionLevelLinking="TRUE"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile=".\Release/QCDMp4.pch"
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="TRUE"
-                               CompileAs="0"/>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="ws2_32.lib"
-                               OutputFile=".\Release/QCDMp4.dll"
-                               LinkIncremental="1"
-                               SuppressStartupBanner="TRUE"
-                               IgnoreDefaultLibraryNames=""
-                               ProgramDatabaseFile=".\Release/QCDMp4.pdb"
-                               SubSystem="2"
-                               ImportLibrary=".\Release/QCDMp4.lib"/>
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               MkTypLibCompatible="TRUE"
-                               SuppressStartupBanner="TRUE"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Release/QCDMp4.tlb"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1043"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCWebDeploymentTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-               </Configuration>
-       </Configurations>
-       <References>
-       </References>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
-                       <File
-                               RelativePath=".\config.c">
-                       </File>
-                       <File
-                               RelativePath=".\QCDMp4.c">
-                       </File>
-                       <File
-                               RelativePath=".\QCDMp4Tag.cpp">
-                       </File>
-                       <File
-                               RelativePath=".\utils.c">
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl">
-                       <File
-                               RelativePath=".\config.h">
-                       </File>
-                       <File
-                               RelativePath="..\..\include\faad.h">
-                       </File>
-                       <File
-                               RelativePath=".\QCDInputDLL.h">
-                       </File>
-                       <File
-                               RelativePath=".\QCDModDefs.h">
-                       </File>
-                       <File
-                               RelativePath=".\QCDModInput.h">
-                       </File>
-                       <File
-                               RelativePath=".\QCDModTagEditor.h">
-                       </File>
-                       <File
-                               RelativePath=".\QCDTagsDLL.h">
-                       </File>
-                       <File
-                               RelativePath="resource.h">
-                       </File>
-                       <File
-                               RelativePath=".\utils.h">
-                       </File>
-               </Filter>
-               <Filter
-                       Name="Resource Files"
-                       Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-                       <File
-                               RelativePath=".\QCDMp4.rc">
-                       </File>
-               </Filter>
-       </Files>
-       <Globals>
-       </Globals>
-</VisualStudioProject>
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDMp4Tag.cpp b/lib/libfaad2/plugins/QCDMp4/QCDMp4Tag.cpp
deleted file mode 100644 (file)
index ed49c1d..0000000
+++ /dev/null
@@ -1,839 +0,0 @@
-#include <mp4.h>
-#include <faad.h>
-#include "QCDTagsDLL.h"
-
-
-//..............................................................................
-// Global Variables
-
-typedef struct tag
-{
-    char *item;
-    char *value;
-} tag;
-
-typedef struct medialib_tags
-{
-    struct tag *tags;
-    unsigned int count;
-} medialib_tags;
-
-int tag_add_field(medialib_tags *tags, const char *item, const char *value)
-{
-    void *backup = (void *)tags->tags;
-
-    if (!item || (item && !*item) || !value) return 0;
-
-    tags->tags = (struct tag *)realloc(tags->tags, (tags->count+1) * sizeof(tag));
-    if (!tags->tags) {
-        if (backup) free(backup);
-        return 0;
-    }
-    else
-    {
-        int i_len = strlen(item);
-        int v_len = strlen(value);
-
-        tags->tags[tags->count].item = (char *)malloc(i_len+1);
-        tags->tags[tags->count].value = (char *)malloc(v_len+1);
-
-        if (!tags->tags[tags->count].item || !tags->tags[tags->count].value)
-        {
-            if (!tags->tags[tags->count].item) free (tags->tags[tags->count].item);
-            if (!tags->tags[tags->count].value) free (tags->tags[tags->count].value);
-            tags->tags[tags->count].item = NULL;
-            tags->tags[tags->count].value = NULL;
-            return 0;
-        }
-
-        memcpy(tags->tags[tags->count].item, item, i_len);
-        memcpy(tags->tags[tags->count].value, value, v_len);
-        tags->tags[tags->count].item[i_len] = '\0';
-        tags->tags[tags->count].value[v_len] = '\0';
-
-        tags->count++;
-        return 1;
-    }
-}
-
-int tag_set_field(medialib_tags *tags, const char *item, const char *value)
-{
-    unsigned int i;
-
-    if (!item || (item && !*item) || !value) return 0;
-
-    for (i = 0; i < tags->count; i++)
-    {
-        if (!stricmp(tags->tags[i].item, item))
-        {
-            void *backup = (void *)tags->tags[i].value;
-            int v_len = strlen(value);
-
-            tags->tags[i].value = (char *)realloc(tags->tags[i].value, v_len+1);
-            if (!tags->tags[i].value)
-            {
-                if (backup) free(backup);
-                return 0;
-            }
-
-            memcpy(tags->tags[i].value, value, v_len);
-            tags->tags[i].value[v_len] = '\0';
-
-            return 1;
-        }
-    }
-
-    return tag_add_field(tags, item, value);
-}
-
-void tag_delete(medialib_tags *tags)
-{
-    unsigned int i;
-
-    for (i = 0; i < tags->count; i++)
-    {
-        if (tags->tags[i].item) free(tags->tags[i].item);
-        if (tags->tags[i].value) free(tags->tags[i].value);
-    }
-
-    if (tags->tags) free(tags->tags);
-
-    tags->tags = NULL;
-    tags->count = 0;
-}
-
-int ReadMP4Tag(MP4FileHandle file, medialib_tags *tags)
-{
-    unsigned __int32 valueSize;
-    unsigned __int8 *pValue;
-    char *pName;
-    unsigned int i = 0;
-
-    do {
-        pName = 0;
-        pValue = 0;
-        valueSize = 0;
-
-        MP4GetMetadataByIndex(file, i, (const char **)&pName, &pValue, &valueSize);
-
-        if (valueSize > 0)
-        {
-            char *val = (char *)malloc(valueSize+1);
-            if (!val) return 0;
-            memcpy(val, pValue, valueSize);
-            val[valueSize] = '\0';
-
-            if (pName[0] == '\xa9')
-            {
-                if (memcmp(pName, "©nam", 4) == 0)
-                {
-                    tag_add_field(tags, "title", val);
-                } else if (memcmp(pName, "©ART", 4) == 0) {
-                    tag_add_field(tags, "artist", val);
-                } else if (memcmp(pName, "©wrt", 4) == 0) {
-                    tag_add_field(tags, "writer", val);
-                } else if (memcmp(pName, "©alb", 4) == 0) {
-                    tag_add_field(tags, "album", val);
-                } else if (memcmp(pName, "©day", 4) == 0) {
-                    tag_add_field(tags, "date", val);
-                } else if (memcmp(pName, "©too", 4) == 0) {
-                    tag_add_field(tags, "tool", val);
-                } else if (memcmp(pName, "©cmt", 4) == 0) {
-                    tag_add_field(tags, "comment", val);
-                } else if (memcmp(pName, "©gen", 4) == 0) {
-                    tag_add_field(tags, "genre", val);
-                } else {
-                    tag_add_field(tags, pName, val);
-                }
-            } else if (memcmp(pName, "gnre", 4) == 0) {
-                char *t=0;
-                if (MP4GetMetadataGenre(file, &t))
-                {
-                    tag_add_field(tags, "genre", t);
-                }
-            } else if (memcmp(pName, "trkn", 4) == 0) {
-                unsigned __int16 trkn = 0, tot = 0;
-                char t[200];
-                if (MP4GetMetadataTrack(file, &trkn, &tot))
-                {
-                    if (tot > 0)
-                        wsprintf(t, "%d/%d", trkn, tot);
-                    else
-                        wsprintf(t, "%d", trkn);
-                    tag_add_field(tags, "tracknumber", t);
-                }
-            } else if (memcmp(pName, "disk", 4) == 0) {
-                unsigned __int16 disk = 0, tot = 0;
-                char t[200];
-                if (MP4GetMetadataDisk(file, &disk, &tot))
-                {
-                    if (tot > 0)
-                        wsprintf(t, "%d/%d", disk, tot);
-                    else
-                        wsprintf(t, "%d", disk);
-                    tag_add_field(tags, "disc", t);
-                }
-            } else if (memcmp(pName, "cpil", 4) == 0) {
-                unsigned __int8 cpil = 0;
-                char t[200];
-                if (MP4GetMetadataCompilation(file, &cpil))
-                {
-                    wsprintf(t, "%d", cpil);
-                    tag_add_field(tags, "compilation", t);
-                }
-            } else if (memcmp(pName, "tmpo", 4) == 0) {
-                unsigned __int16 tempo = 0;
-                char t[200];
-                if (MP4GetMetadataTempo(file, &tempo))
-                {
-                    wsprintf(t, "%d BPM", tempo);
-                    tag_add_field(tags, "tempo", t);
-                }
-            } else if (memcmp(pName, "NDFL", 4) == 0) {
-                /* Removed */
-            } else {
-                tag_add_field(tags, pName, val);
-            }
-
-            free(val);
-        }
-
-        i++;
-    } while (valueSize > 0);
-
-    return 1;
-}
-
-int mp4_set_metadata(MP4FileHandle file, const char *item, const char *val)
-{
-    if (!item || (item && !*item) || !val || (val && !*val)) return 0;
-
-    if (!stricmp(item, "track") || !stricmp(item, "tracknumber"))
-    {
-        unsigned __int16 trkn, tot;
-        int t1 = 0, t2 = 0;
-        sscanf(val, "%d/%d", &t1, &t2);
-        trkn = t1, tot = t2;
-        if (!trkn) return 1;
-        if (MP4SetMetadataTrack(file, trkn, tot)) return 1;
-    }
-    else if (!stricmp(item, "disc") || !stricmp(item, "disknumber"))
-    {
-        unsigned __int16 disk, tot;
-        int t1 = 0, t2 = 0;
-        sscanf(val, "%d/%d", &t1, &t2);
-        disk = t1, tot = t2;
-        if (!disk) return 1;
-        if (MP4SetMetadataDisk(file, disk, tot)) return 1;
-    }
-    else if (!stricmp(item, "compilation"))
-    {
-        unsigned __int8 cpil = atoi(val);
-        if (!cpil) return 1;
-        if (MP4SetMetadataCompilation(file, cpil)) return 1;
-    }
-    else if (!stricmp(item, "tempo"))
-    {
-        unsigned __int16 tempo = atoi(val);
-        if (!tempo) return 1;
-        if (MP4SetMetadataTempo(file, tempo)) return 1;
-    }
-    else if (!stricmp(item, "artist"))
-    {
-        if (MP4SetMetadataArtist(file, val)) return 1;
-    }
-    else if (!stricmp(item, "writer"))
-    {
-        if (MP4SetMetadataWriter(file, val)) return 1;
-    }
-    else if (!stricmp(item, "title"))
-    {
-        if (MP4SetMetadataName(file, val)) return 1;
-    }
-    else if (!stricmp(item, "album"))
-    {
-        if (MP4SetMetadataAlbum(file, val)) return 1;
-    }
-    else if (!stricmp(item, "date") || !stricmp(item, "year"))
-    {
-        if (MP4SetMetadataYear(file, val)) return 1;
-    }
-    else if (!stricmp(item, "comment"))
-    {
-        if (MP4SetMetadataComment(file, val)) return 1;
-    }
-    else if (!stricmp(item, "genre"))
-    {
-        if (MP4SetMetadataGenre(file, val)) return 1;
-    }
-    else if (!stricmp(item, "tool"))
-    {
-        if (MP4SetMetadataTool(file, val)) return 1;
-    }
-    else
-    {
-        if (MP4SetMetadataFreeForm(file, (char *)item, (u_int8_t *)val, (u_int32_t)strlen(val) + 1)) return 1;
-    }
-
-    return 0;
-}
-
-void WriteMP4Tag(MP4FileHandle file, const medialib_tags *tags)
-{
-    unsigned int i;
-
-    for (i = 0; i < tags->count; i++)
-    {
-        const char *item = tags->tags[i].item;
-        const char *value = tags->tags[i].value;
-
-        if (value && *value)
-        {
-            mp4_set_metadata(file, item, value);
-        }
-    }
-}
-
-QCDModInitTag  ModInitTag;
-
-medialib_tags tags;
-
-BOOL uSetDlgItemText(void *tagHandle, int fieldId, const char *str);
-UINT uGetDlgItemText(void *tagHandle, int fieldId, char *str, int max);
-
-//------------------------------------------------------------------------------
-
-PLUGIN_API QCDModInitTag* TAGEDITORDLL_ENTRY_POINT()
-{      
-       ModInitTag.size                 = sizeof(QCDModInitTag);
-       ModInitTag.version              = PLUGIN_API_VERSION;
-       ModInitTag.ShutDown             = ShutDown_Tag;
-
-       ModInitTag.Read                 = Read_Tag;
-       ModInitTag.Write                = Write_Tag;    // Leave null for operations that plugin does not support
-       ModInitTag.Strip                = Strip_Tag;    // ie: if plugin only reads tags, leave Write and Strip null
-
-       ModInitTag.description  = "MP4 Tags";
-       ModInitTag.defaultexts  = "MP4:M4A";
-
-       return &ModInitTag;
-}
-
-//-----------------------------------------------------------------------------
-
-void ShutDown_Tag(int flags)
-{
-       // TODO:
-       // prepare plugin to be unloaded. All allocations should be freed.
-       // flags param is unused
-       tag_delete(&tags);
-}
-
-//-----------------------------------------------------------------------------
-
-bool Read_Tag(LPCSTR filename, void* tagHandle)
-{
-       // TODO:
-       // read metadata from tag and set each field to tagHandle
-       // only TAGFIELD_* are supported (see QCDModTagEditor.h)
-
-       // example of how to set value to tagHandle
-       // use SetFieldA for ASCII or MultiBytes strings.
-       // use SetFieldW for UNICODE strings
-       //
-       //      ModInitTag.SetFieldW(tagHandle, TAGFIELD_COMPOSER, szwValue);
-
-       // return true for successfull read, false for failure
-
-       MP4FileHandle file = MP4_INVALID_FILE_HANDLE;
-       char *pVal, dummy1[1024];
-       short dummy, dummy2;
-       u_int32_t valueSize = 0;
-
-#ifdef DEBUG_OUTPUT
-       in_mp4_DebugOutput("mp4_tag_read");
-#endif
-
-       file = MP4Read(filename, 0);
-
-       if (file == MP4_INVALID_FILE_HANDLE)
-               return false;
-
-       /* get Metadata */
-
-       pVal = NULL;
-       MP4GetMetadataName(file, &pVal);
-       uSetDlgItemText(tagHandle, TAGFIELD_TITLE, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataArtist(file, &pVal);
-       uSetDlgItemText(tagHandle, TAGFIELD_ARTIST, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataWriter(file, &pVal);
-       uSetDlgItemText(tagHandle, TAGFIELD_COMPOSER, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataComment(file, &pVal);
-       uSetDlgItemText(tagHandle, TAGFIELD_COMMENT, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataAlbum(file, &pVal);
-       uSetDlgItemText(tagHandle, TAGFIELD_ALBUM, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataGenre(file, &pVal);
-       uSetDlgItemText(tagHandle, TAGFIELD_GENRE, pVal);
-
-       //dummy = 0;
-       //MP4GetMetadataTempo(file, &dummy);
-       //if (dummy)
-       //{
-       //      wsprintf(dummy1, "%d", dummy);
-       //      SetDlgItemText(hwndDlg,IDC_METATEMPO, dummy1);
-       //}
-
-       dummy = 0; dummy2 = 0;
-       MP4GetMetadataTrack(file, (unsigned __int16*)&dummy, (unsigned __int16*)&dummy2);
-       if (dummy)
-       {
-               wsprintf(dummy1, "%d", dummy);
-               ModInitTag.SetFieldA(tagHandle, TAGFIELD_TRACK, dummy1);
-       }
-       //if (dumm2)
-       //{
-       //      wsprintf(dummy1, "%d", dummy2);
-       //      SetDlgItemText(hwndDlg,IDC_METATRACK2, dummy1);
-       //}
-
-       //dummy = 0; dummy2 = 0;
-       //MP4GetMetadataDisk(file, &dummy, &dummy2);
-       //if (dummy)
-       //{
-       //      wsprintf(dummy1, "%d", dummy);
-       //      SetDlgItemText(hwndDlg,IDC_METADISK1, dummy1);
-       //}
-       //if (dummy)
-       //{
-       //      wsprintf(dummy1, "%d", dummy2);
-       //      SetDlgItemText(hwndDlg,IDC_METADISK2, dummy1);
-       //}
-
-       pVal = NULL;
-       if (MP4GetMetadataYear(file, &pVal))
-               uSetDlgItemText(tagHandle, TAGFIELD_YEAR, pVal);
-
-       //dummy3 = 0;
-       //MP4GetMetadataCompilation(file, &dummy3);
-       //if (dummy3)
-       //      SendMessage(GetDlgItem(hwndDlg, IDC_METACOMPILATION), BM_SETCHECK, BST_CHECKED, 0);
-
-       pVal = NULL;
-       MP4GetMetadataTool(file, &pVal);
-       uSetDlgItemText(tagHandle, TAGFIELD_ENCODER, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataFreeForm(file, "CONDUCTOR", (unsigned __int8**)&pVal, &valueSize);
-       uSetDlgItemText(tagHandle, TAGFIELD_CONDUCTOR, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataFreeForm(file, "ORCHESTRA", (unsigned __int8**)&pVal, &valueSize);
-       uSetDlgItemText(tagHandle, TAGFIELD_ORCHESTRA, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataFreeForm(file, "YEARCOMPOSED", (unsigned __int8**)&pVal, &valueSize);
-       uSetDlgItemText(tagHandle, TAGFIELD_YEARCOMPOSED, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataFreeForm(file, "ORIGARTIST", (unsigned __int8**)&pVal, &valueSize);
-       uSetDlgItemText(tagHandle, TAGFIELD_ORIGARTIST, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataFreeForm(file, "LABEL", (unsigned __int8**)&pVal, &valueSize);
-       uSetDlgItemText(tagHandle, TAGFIELD_LABEL, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataFreeForm(file, "COPYRIGHT", (unsigned __int8**)&pVal, &valueSize);
-       uSetDlgItemText(tagHandle, TAGFIELD_COPYRIGHT, pVal);
-
-       pVal = NULL;
-       MP4GetMetadataFreeForm(file, "CDDBTAGID", (unsigned __int8**)&pVal, &valueSize);
-       uSetDlgItemText(tagHandle, TAGFIELD_CDDBTAGID, pVal);
-
-       /* ! Metadata */
-
-       MP4Close(file);
-
-       return true;
-}
-
-//-----------------------------------------------------------------------------
-
-bool Write_Tag(LPCSTR filename, void* tagHandle)
-{
-       // TODO:
-       // read metadata from tagHandle and set each field to supported tag
-       // only TAGFIELD_* are supported (see QCDModTagEditor.h)
-
-       // example of how to get value from tagHandle
-       // use SetFieldA for ASCII or MultiBytes strings.
-       // use SetFieldW for UNICODE strings
-       //
-       // szwValue = ModInitTag.GetFieldW(tagHandle, TAGFIELD_ORCHESTRA);
-
-       // write tag to file
-
-       MP4FileHandle file = MP4_INVALID_FILE_HANDLE;
-    char dummy1[1024];
-    char temp[1024];
-    short dummy, dummy2;
-
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("mp4_tag_write");
-#endif
-
-       /* save Metadata changes */
-
-       tag_delete(&tags);
-       file = MP4Read(filename, 0);
-       if (file != MP4_INVALID_FILE_HANDLE)
-       {
-               ReadMP4Tag(file, &tags);
-               MP4Close(file);
-
-               file = MP4Modify(filename, 0, 0);
-               if (file != MP4_INVALID_FILE_HANDLE)
-               {
-                       MP4MetadataDelete(file);
-                       MP4Close(file);
-               }
-       }
-
-       file = MP4Modify(filename, 0, 0);
-       if (file == MP4_INVALID_FILE_HANDLE)
-       {
-               tag_delete(&tags);
-               //EndDialog(hwndDlg, wParam);
-               return false;
-       }
-
-       uGetDlgItemText(tagHandle, TAGFIELD_TITLE, dummy1, 1024);
-       tag_set_field(&tags, "title", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_COMPOSER, dummy1, 1024);
-       tag_set_field(&tags, "writer", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_ARTIST, dummy1, 1024);
-       tag_set_field(&tags, "artist", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_ALBUM, dummy1, 1024);
-       tag_set_field(&tags, "album", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_COMMENT, dummy1, 1024);
-       tag_set_field(&tags, "comment", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_GENRE, dummy1, 1024);
-       tag_set_field(&tags, "genre", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_YEAR, dummy1, 1024);
-       tag_set_field(&tags, "year", dummy1);
-
-       dummy = 0;
-       MP4GetMetadataTrack(file, (unsigned __int16*)&dummy, (unsigned __int16*)&dummy2);
-       memcpy(dummy1, ModInitTag.GetFieldA(tagHandle, TAGFIELD_TRACK), sizeof(dummy1));
-       dummy = atoi(dummy1);
-       wsprintf(temp, "%d/%d", dummy, dummy2);
-       tag_set_field(&tags, "track", temp);
-
-       //GetDlgItemText(hwndDlg, IDC_METADISK1, dummy1, 1024);
-       //dummy = atoi(dummy1);
-       //GetDlgItemText(hwndDlg, IDC_METADISK2, dummy1, 1024);
-       //dummy2 = atoi(dummy1);
-       //wsprintf(temp, "%d/%d", dummy, dummy2);
-       //tag_set_field(&tags, "disc", temp);
-
-       //GetDlgItemText(hwndDlg, IDC_METATEMPO, dummy1, 1024);
-       //tag_set_field(&tags, "tempo", dummy1);
-
-       //dummy3 = SendMessage(GetDlgItem(hwndDlg, IDC_METACOMPILATION), BM_GETCHECK, 0, 0);
-       //tag_set_field(&tags, "compilation", (dummy3 ? "1" : "0"));
-
-       uGetDlgItemText(tagHandle, TAGFIELD_ENCODER, dummy1, 1024);
-       tag_set_field(&tags, "tool", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_CONDUCTOR, dummy1, 1024);
-       tag_set_field(&tags, "CONDUCTOR", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_ORCHESTRA, dummy1, 1024);
-       tag_set_field(&tags, "ORCHESTRA", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_YEARCOMPOSED, dummy1, 1024);
-       tag_set_field(&tags, "YEARCOMPOSED", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_ORIGARTIST, dummy1, 1024);
-       tag_set_field(&tags, "ORIGARTIST", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_LABEL, dummy1, 1024);
-       tag_set_field(&tags, "LABEL", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_COPYRIGHT, dummy1, 1024);
-       tag_set_field(&tags, "COPYRIGHT", dummy1);
-
-       uGetDlgItemText(tagHandle, TAGFIELD_CDDBTAGID, dummy1, 1024);
-       tag_set_field(&tags, "CDDBTAGID", dummy1);
-
-       WriteMP4Tag(file, &tags);
-
-       MP4Close(file);
-
-       MP4Optimize(filename, NULL, 0);
-       /* ! */
-
-       return true;
-}
-
-//-----------------------------------------------------------------------------
-
-bool Strip_Tag(LPCSTR filename)
-{
-       // TODO:
-       // remove tag from file.
-       // do whatever is need to remove the supported tag from filename
-
-       // return true for successfull strip, false for failure
-
-       MP4FileHandle file;
-
-       file = MP4Modify(filename, 0, 0);
-       if (file == MP4_INVALID_FILE_HANDLE)
-               return false;
-       
-       MP4MetadataDelete(file);
-
-       MP4Close(file);
-
-       return true;
-}
-
-//-----------------------------------------------------------------------------
-
-/* Convert UNICODE to UTF-8
-   Return number of bytes written */
-int unicodeToUtf8 ( const WCHAR* lpWideCharStr, char* lpMultiByteStr, int cwcChars )
-{
-    const unsigned short*   pwc = (unsigned short *)lpWideCharStr;
-    unsigned char*          pmb = (unsigned char  *)lpMultiByteStr;
-    const unsigned short*   pwce;
-    size_t  cBytes = 0;
-
-    if ( cwcChars >= 0 ) {
-        pwce = pwc + cwcChars;
-    } else {
-        pwce = (unsigned short *)((size_t)-1);
-    }
-
-    while ( pwc < pwce ) {
-        unsigned short  wc = *pwc++;
-
-        if ( wc < 0x00000080 ) {
-            *pmb++ = (char)wc;
-            cBytes++;
-        } else
-        if ( wc < 0x00000800 ) {
-            *pmb++ = (char)(0xC0 | ((wc >>  6) & 0x1F));
-            cBytes++;
-            *pmb++ = (char)(0x80 |  (wc        & 0x3F));
-            cBytes++;
-        } else
-        if ( wc < 0x00010000 ) {
-            *pmb++ = (char)(0xE0 | ((wc >> 12) & 0x0F));
-            cBytes++;
-            *pmb++ = (char)(0x80 | ((wc >>  6) & 0x3F));
-            cBytes++;
-            *pmb++ = (char)(0x80 |  (wc        & 0x3F));
-            cBytes++;
-        }
-        if ( wc == L'\0' )
-            return cBytes;
-    }
-
-    return cBytes;
-}
-
-/* Convert UTF-8 coded string to UNICODE
-   Return number of characters converted */
-int utf8ToUnicode ( const char* lpMultiByteStr, WCHAR* lpWideCharStr, int cmbChars )
-{
-    const unsigned char*    pmb = (unsigned char  *)lpMultiByteStr;
-    unsigned short*         pwc = (unsigned short *)lpWideCharStr;
-    const unsigned char*    pmbe;
-    size_t  cwChars = 0;
-
-    if ( cmbChars >= 0 ) {
-        pmbe = pmb + cmbChars;
-    } else {
-        pmbe = (unsigned char *)((size_t)-1);
-    }
-
-    while ( pmb < pmbe ) {
-        char            mb = *pmb++;
-        unsigned int    cc = 0;
-        unsigned int    wc;
-
-        while ( (cc < 7) && (mb & (1 << (7 - cc)))) {
-            cc++;
-        }
-
-        if ( cc == 1 || cc > 6 )                    // illegal character combination for UTF-8
-            continue;
-
-        if ( cc == 0 ) {
-            wc = mb;
-        } else {
-            wc = (mb & ((1 << (7 - cc)) - 1)) << ((cc - 1) * 6);
-            while ( --cc > 0 ) {
-                if ( pmb == pmbe )                  // reached end of the buffer
-                    return cwChars;
-                mb = *pmb++;
-                if ( ((mb >> 6) & 0x03) != 2 )      // not part of multibyte character
-                    return cwChars;
-                wc |= (mb & 0x3F) << ((cc - 1) * 6);
-            }
-        }
-
-        if ( wc & 0xFFFF0000 )
-            wc = L'?';
-        *pwc++ = wc;
-        cwChars++;
-        if ( wc == L'\0' )
-            return cwChars;
-    }
-
-    return cwChars;
-}
-
-/* convert Windows ANSI to UTF-8 */
-int ConvertANSIToUTF8 ( const char* ansi, char* utf8 )
-{
-    WCHAR*  wszValue;          // Unicode value
-    size_t  ansi_len;
-    size_t  len;
-
-    *utf8 = '\0';
-    if ( ansi == NULL )
-        return 0;
-
-    ansi_len = strlen ( ansi );
-
-    if ( (wszValue = (WCHAR *)malloc ( (ansi_len + 1) * 2 )) == NULL )
-        return 0;
-
-    /* Convert ANSI value to Unicode */
-    if ( (len = MultiByteToWideChar ( CP_ACP, 0, ansi, ansi_len + 1, wszValue, (ansi_len + 1) * 2 )) == 0 ) {
-        free ( wszValue );
-        return 0;
-    }
-
-    /* Convert Unicode value to UTF-8 */
-    if ( (len = unicodeToUtf8 ( wszValue, utf8, -1 )) == 0 ) {
-        free ( wszValue );
-        return 0;
-    }
-
-    free ( wszValue );
-
-    return len-1;
-}
-
-/* convert UTF-8 to Windows ANSI */
-int ConvertUTF8ToANSI ( const char* utf8, char* ansi )
-{
-    WCHAR*  wszValue;          // Unicode value
-    size_t  utf8_len;
-    size_t  len;
-
-    *ansi = '\0';
-    if ( utf8 == NULL )
-        return 0;
-
-    utf8_len = strlen ( utf8 );
-
-    if ( (wszValue = (WCHAR *)malloc ( (utf8_len + 1) * 2 )) == NULL )
-        return 0;
-
-    /* Convert UTF-8 value to Unicode */
-    if ( (len = utf8ToUnicode ( utf8, wszValue, utf8_len + 1 )) == 0 ) {
-        free ( wszValue );
-        return 0;
-    }
-
-    /* Convert Unicode value to ANSI */
-    if ( (len = WideCharToMultiByte ( CP_ACP, 0, wszValue, -1, ansi, (utf8_len + 1) * 2, NULL, NULL )) == 0 ) {
-        free ( wszValue );
-        return 0;
-    }
-
-    free ( wszValue );
-
-    return len-1;
-}
-
-BOOL uSetDlgItemText(void *tagHandle, int fieldId, const char *str)
-{
-    char *temp;
-    size_t len;
-    int r;
-
-    if (!str) return FALSE;
-       if (!*str) return FALSE;
-    len = strlen(str);
-    temp = (char *)malloc(len+1);
-    if (!temp) return FALSE;
-       memset(temp, '\0', len+1);
-    r = ConvertUTF8ToANSI(str, temp);
-    if (r > 0)
-        ModInitTag.SetFieldA(tagHandle, fieldId, temp);
-    free(temp);
-
-    return r>0 ? TRUE : FALSE;
-}
-
-UINT uGetDlgItemText(void *tagHandle, int fieldId, char *str, int max)
-{
-    char *temp, *utf8;;
-    int len;
-
-       const char *p;
-
-    if (!str || !max) return 0;
-    len = strlen( ModInitTag.GetFieldA(tagHandle, fieldId) );
-    temp = (char *)malloc(len+1);
-    if (!temp) return 0;
-    utf8 = (char *)malloc((len+1)*4);
-    if (!utf8)
-    {
-        free(temp);
-        return 0;
-    }
-
-       memset(temp, '\0', len+1);
-       memset(utf8, '\0', (len+1)*4);
-       memset(str, '\0', max);
-       p = ModInitTag.GetFieldA(tagHandle, fieldId);
-       memcpy(temp, p, len+1);
-    if (len > 0)
-    {
-        len = ConvertANSIToUTF8(temp, utf8);
-        if (len > max-1)
-        {
-            len = max-1;
-            utf8[max] = '\0';
-        }
-        memcpy(str, utf8, len+1);
-    }
-
-    free(temp);
-    free(utf8);
-
-    return len;
-}
diff --git a/lib/libfaad2/plugins/QCDMp4/QCDTagsDLL.h b/lib/libfaad2/plugins/QCDMp4/QCDTagsDLL.h
deleted file mode 100644 (file)
index b9e680c..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef QCDTAGS_H
-#define QCDTAGS_H
-
-#include "QCDModTagEditor.h"
-
-extern HINSTANCE               hInstance;
-
-void ShutDown_Tag(int flags);
-bool Read_Tag(LPCSTR filename, void* tagData);
-bool Write_Tag(LPCSTR filename, void* tagData);
-bool Strip_Tag(LPCSTR filename);
-
-
-#endif
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/QCDMp4/aac2mp4.cpp b/lib/libfaad2/plugins/QCDMp4/aac2mp4.cpp
deleted file mode 100644 (file)
index 1a0aba4..0000000
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: aac2mp4.cpp,v 1.3 2003/12/06 04:24:17 rjamorim Exp $
-**/
-
-#include <mpeg4ip.h>
-#include <mp4.h>
-#include <mp4av.h>
-
-#include "aac2mp4.h"
-
-int covert_aac_to_mp4(char *inputFileName, char *mp4FileName)
-{
-    int Mp4TimeScale = 90000;
-    int allMpeg4Streams = 0;
-    MP4FileHandle mp4File;
-    FILE* inFile;
-    const char *type;
-    MP4TrackId createdTrackId = MP4_INVALID_TRACK_ID;
-
-    mp4File = MP4Create(mp4FileName, 0, 0, 0);
-    if (mp4File)
-    {
-        MP4SetTimeScale(mp4File, Mp4TimeScale);
-    } else {
-        return 1;
-    }
-
-    inFile = fopen(inputFileName, "rb");
-
-       if (inFile == NULL)
-    {
-        MP4Close(mp4File);
-        return 2;
-    }
-
-    createdTrackId = AacCreator(mp4File, inFile);
-
-    if (createdTrackId == MP4_INVALID_TRACK_ID)
-    {
-        fclose(inFile);
-        MP4Close(mp4File);
-        return 3;
-    }
-
-    type = MP4GetTrackType(mp4File, createdTrackId);
-
-    if (!strcmp(type, MP4_AUDIO_TRACK_TYPE))
-    {
-        allMpeg4Streams &=
-            (MP4GetTrackAudioType(mp4File, createdTrackId)
-            == MP4_MPEG4_AUDIO_TYPE);
-    }
-
-    if (inFile)
-    {
-        fclose(inFile);
-    }
-
-    MP4Close(mp4File);
-    MP4MakeIsmaCompliant(mp4FileName, 0, allMpeg4Streams);
-
-    return 0;
-}
-
-#define ADTS_HEADER_MAX_SIZE 10 /* bytes */
-
-static u_int8_t firstHeader[ADTS_HEADER_MAX_SIZE];
-
-/* 
- * hdr must point to at least ADTS_HEADER_MAX_SIZE bytes of memory 
- */
-static bool LoadNextAdtsHeader(FILE* inFile, u_int8_t* hdr)
-{
-       u_int state = 0;
-       u_int dropped = 0;
-       u_int hdrByteSize = ADTS_HEADER_MAX_SIZE;
-
-       while (1) {
-               /* read a byte */
-               u_int8_t b;
-
-               if (fread(&b, 1, 1, inFile) == 0) {
-                       return false;
-               }
-
-               /* header is complete, return it */
-               if (state == hdrByteSize - 1) {
-                       hdr[state] = b;
-                       if (dropped > 0) {
-                               fprintf(stderr, "Warning: dropped %u input bytes\n", dropped);
-                       }
-                       return true;
-               }
-
-               /* collect requisite number of bytes, no constraints on data */
-               if (state >= 2) {
-                       hdr[state++] = b;
-               } else {
-                       /* have first byte, check if we have 1111X00X */
-                       if (state == 1) {
-                               if ((b & 0xF6) == 0xF0) {
-                                       hdr[state] = b;
-                                       state = 2;
-                                       /* compute desired header size */
-                                       hdrByteSize = MP4AV_AdtsGetHeaderByteSize(hdr);
-                               } else {
-                                       state = 0;
-                               }
-                       }
-                       /* initial state, looking for 11111111 */
-                       if (state == 0) {
-                               if (b == 0xFF) {
-                                       hdr[state] = b;
-                                       state = 1;
-                               } else {
-                                        /* else drop it */ 
-                                       dropped++;
-                               }
-                       }
-               }
-       }
-}
-
-/*
- * Load the next frame from the file
- * into the supplied buffer, which better be large enough!
- *
- * Note: Frames are padded to byte boundaries
- */
-static bool LoadNextAacFrame(FILE* inFile, u_int8_t* pBuf, u_int32_t* pBufSize, bool stripAdts)
-{
-       u_int16_t frameSize;
-       u_int16_t hdrBitSize, hdrByteSize;
-       u_int8_t hdrBuf[ADTS_HEADER_MAX_SIZE];
-
-       /* get the next AAC frame header, more or less */
-       if (!LoadNextAdtsHeader(inFile, hdrBuf)) {
-               return false;
-       }
-       
-       /* get frame size from header */
-       frameSize = MP4AV_AdtsGetFrameSize(hdrBuf);
-
-       /* get header size in bits and bytes from header */
-       hdrBitSize = MP4AV_AdtsGetHeaderBitSize(hdrBuf);
-       hdrByteSize = MP4AV_AdtsGetHeaderByteSize(hdrBuf);
-       
-       /* adjust the frame size to what remains to be read */
-       frameSize -= hdrByteSize;
-
-       if (stripAdts) {
-               if ((hdrBitSize % 8) == 0) {
-                       /* header is byte aligned, i.e. MPEG-2 ADTS */
-                       /* read the frame data into the buffer */
-                       if (fread(pBuf, 1, frameSize, inFile) != frameSize) {
-                               return false;
-                       }
-                       (*pBufSize) = frameSize;
-               } else {
-                       /* header is not byte aligned, i.e. MPEG-4 ADTS */
-                       int i;
-                       u_int8_t newByte;
-                       int upShift = hdrBitSize % 8;
-                       int downShift = 8 - upShift;
-
-                       pBuf[0] = hdrBuf[hdrBitSize / 8] << upShift;
-
-                       for (i = 0; i < frameSize; i++) {
-                               if (fread(&newByte, 1, 1, inFile) != 1) {
-                                       return false;
-                               }
-                               pBuf[i] |= (newByte >> downShift);
-                               pBuf[i+1] = (newByte << upShift);
-                       }
-                       (*pBufSize) = frameSize + 1;
-               }
-       } else { /* don't strip ADTS headers */
-               memcpy(pBuf, hdrBuf, hdrByteSize);
-               if (fread(&pBuf[hdrByteSize], 1, frameSize, inFile) != frameSize) {
-                       return false;
-               }
-       }
-
-       return true;
-}
-
-static bool GetFirstHeader(FILE* inFile)
-{
-       /* read file until we find an audio frame */
-       fpos_t curPos;
-
-       /* already read first header */
-       if (firstHeader[0] == 0xff) {
-               return true;
-       }
-
-       /* remember where we are */
-       fgetpos(inFile, &curPos);
-       
-       /* go back to start of file */
-       rewind(inFile);
-
-       if (!LoadNextAdtsHeader(inFile, firstHeader)) {
-               return false;
-       }
-
-       /* reposition the file to where we were */
-       fsetpos(inFile, &curPos);
-
-       return true;
-}
-
-MP4TrackId AacCreator(MP4FileHandle mp4File, FILE* inFile)
-{
-       // collect all the necessary meta information
-       u_int32_t samplesPerSecond;
-       u_int8_t mpegVersion;
-       u_int8_t profile;
-       u_int8_t channelConfig;
-
-       if (!GetFirstHeader(inFile)) {
-               return MP4_INVALID_TRACK_ID;
-       }
-
-       samplesPerSecond = MP4AV_AdtsGetSamplingRate(firstHeader);
-       mpegVersion = MP4AV_AdtsGetVersion(firstHeader);
-       profile = MP4AV_AdtsGetProfile(firstHeader);
-       channelConfig = MP4AV_AdtsGetChannels(firstHeader);
-
-       u_int8_t audioType = MP4_INVALID_AUDIO_TYPE;
-       switch (mpegVersion) {
-       case 0:
-               audioType = MP4_MPEG4_AUDIO_TYPE;
-               break;
-       case 1:
-               switch (profile) {
-               case 0:
-                       audioType = MP4_MPEG2_AAC_MAIN_AUDIO_TYPE;
-                       break;
-               case 1:
-                       audioType = MP4_MPEG2_AAC_LC_AUDIO_TYPE;
-                       break;
-               case 2:
-                       audioType = MP4_MPEG2_AAC_SSR_AUDIO_TYPE;
-                       break;
-               case 3:
-                       return MP4_INVALID_TRACK_ID;
-               }
-               break;
-       }
-
-       // add the new audio track
-       MP4TrackId trackId = 
-               MP4AddAudioTrack(mp4File, 
-                       samplesPerSecond, 1024, audioType);
-
-       if (trackId == MP4_INVALID_TRACK_ID) {
-               return MP4_INVALID_TRACK_ID;
-       }
-
-       if (MP4GetNumberOfTracks(mp4File, MP4_AUDIO_TRACK_TYPE) == 1) {
-               MP4SetAudioProfileLevel(mp4File, 0x0F);
-       }
-
-       u_int8_t* pConfig = NULL;
-       u_int32_t configLength = 0;
-
-       MP4AV_AacGetConfiguration(
-               &pConfig,
-               &configLength,
-               profile,
-               samplesPerSecond,
-               channelConfig);
-
-       if (!MP4SetTrackESConfiguration(mp4File, trackId, 
-         pConfig, configLength)) {
-               MP4DeleteTrack(mp4File, trackId);
-               return MP4_INVALID_TRACK_ID;
-       }
-
-       // parse the ADTS frames, and write the MP4 samples
-       u_int8_t sampleBuffer[8 * 1024];
-       u_int32_t sampleSize = sizeof(sampleBuffer);
-       MP4SampleId sampleId = 1;
-
-       while (LoadNextAacFrame(inFile, sampleBuffer, &sampleSize, true)) {
-               if (!MP4WriteSample(mp4File, trackId, sampleBuffer, sampleSize)) {
-                       MP4DeleteTrack(mp4File, trackId);
-                       return MP4_INVALID_TRACK_ID;
-               }
-               sampleId++;
-               sampleSize = sizeof(sampleBuffer);
-       }
-
-       return trackId;
-}
diff --git a/lib/libfaad2/plugins/QCDMp4/aac2mp4.h b/lib/libfaad2/plugins/QCDMp4/aac2mp4.h
deleted file mode 100644 (file)
index 30fe280..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: aac2mp4.h,v 1.3 2003/12/06 04:24:17 rjamorim Exp $
-**/
-
-#ifndef AAC2MP4_H__
-#define AAC2MP4_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-int covert_aac_to_mp4(char *inputFileName, char *mp4FileName);
-MP4TrackId AacCreator(MP4FileHandle mp4File, FILE* inFile);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/QCDMp4/aacinfo.c b/lib/libfaad2/plugins/QCDMp4/aacinfo.c
deleted file mode 100644 (file)
index b192d64..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: aacinfo.c,v 1.3 2003/12/06 04:24:17 rjamorim Exp $
-**/
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <malloc.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include "aacinfo.h"
-#include "utils.h"
-
-#define ADIF_MAX_SIZE 30 /* Should be enough */
-#define ADTS_MAX_SIZE 10 /* Should be enough */
-
-static int sample_rates[] = {96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000};
-
-static int read_ADIF_header(FILE *file, faadAACInfo *info)
-{
-    int bitstream;
-    unsigned char buffer[ADIF_MAX_SIZE];
-    int skip_size = 0;
-    int sf_idx;
-
-    /* Get ADIF header data */
-    info->headertype = 1;
-
-    if (fread(buffer, 1, ADIF_MAX_SIZE, file) != ADIF_MAX_SIZE)
-        return -1;
-
-    /* copyright string */
-    if(buffer[0] & 0x80)
-        skip_size += 9; /* skip 9 bytes */
-
-    bitstream = buffer[0 + skip_size] & 0x10;
-    info->bitrate = ((unsigned int)(buffer[0 + skip_size] & 0x0F)<<19)|
-        ((unsigned int)buffer[1 + skip_size]<<11)|
-        ((unsigned int)buffer[2 + skip_size]<<3)|
-        ((unsigned int)buffer[3 + skip_size] & 0xE0);
-
-    if (bitstream == 0)
-    {
-        info->object_type =  ((buffer[6 + skip_size]&0x01)<<1)|((buffer[7 + skip_size]&0x80)>>7);
-        sf_idx = (buffer[7 + skip_size]&0x78)>>3;
-    } else {
-        info->object_type = (buffer[4 + skip_size] & 0x18)>>3;
-        sf_idx = ((buffer[4 + skip_size] & 0x07)<<1)|((buffer[5 + skip_size] & 0x80)>>7);
-    }
-    info->sampling_rate = sample_rates[sf_idx];
-
-    return 0;
-}
-
-static int read_ADTS_header(FILE *file, faadAACInfo *info)
-{
-    /* Get ADTS header data */
-    unsigned char buffer[ADTS_MAX_SIZE];
-    int frames, t_framelength = 0, frame_length, sr_idx = 0, ID;
-    int second = 0, pos;
-    float frames_per_sec = 0;
-    unsigned long bytes;
-    unsigned long *tmp_seek_table = NULL;
-
-    info->headertype = 2;
-
-    /* Read all frames to ensure correct time and bitrate */
-    for (frames = 0; /* */; frames++)
-    {
-        bytes = fread(buffer, 1, ADTS_MAX_SIZE, file);
-
-        if (bytes != ADTS_MAX_SIZE)
-            break;
-
-        /* check syncword */
-        if (!((buffer[0] == 0xFF)&&((buffer[1] & 0xF6) == 0xF0)))
-            break;
-
-        if (!frames)
-        {
-            /* fixed ADTS header is the same for every frame, so we read it only once */
-            /* Syncword found, proceed to read in the fixed ADTS header */
-            ID = buffer[1] & 0x08;
-            info->object_type = (buffer[2]&0xC0)>>6;
-            sr_idx = (buffer[2]&0x3C)>>2;
-            info->channels = ((buffer[2]&0x01)<<2)|((buffer[3]&0xC0)>>6);
-
-            frames_per_sec = sample_rates[sr_idx] / 1024.f;
-        }
-
-        /* ...and the variable ADTS header */
-        if (ID == 0)
-        {
-            info->version = 4;
-        } else { /* MPEG-2 */
-            info->version = 2;
-        }
-        frame_length = ((((unsigned int)buffer[3] & 0x3)) << 11)
-            | (((unsigned int)buffer[4]) << 3) | (buffer[5] >> 5);
-
-        t_framelength += frame_length;
-
-        pos = ftell(file) - ADTS_MAX_SIZE;
-
-        fseek(file, frame_length - ADTS_MAX_SIZE, SEEK_CUR);
-    }
-
-    if (frames > 0)
-    {
-        float sec_per_frame, bytes_per_frame;
-        info->sampling_rate = sample_rates[sr_idx];
-        sec_per_frame = (float)info->sampling_rate/1024.0;
-        bytes_per_frame = (float)t_framelength / (float)frames;
-        info->bitrate = 8 * (int)floor(bytes_per_frame * sec_per_frame);
-        info->length = (int)floor((float)frames/frames_per_sec)*1000;
-    } else {
-        info->sampling_rate = 4;
-        info->bitrate = 128000;
-        info->length = 0;
-        info->channels = 0;
-    }
-
-    return 0;
-}
-
-int get_AAC_format(char *filename, faadAACInfo *info)
-{
-    unsigned long tagsize;
-    FILE *file;
-    char buffer[10];
-    unsigned long file_len;
-    unsigned char adxx_id[5];
-    unsigned long tmp;
-
-    memset(info, 0, sizeof(faadAACInfo));
-
-    file = fopen(filename, "rb");
-
-    if(file == NULL)
-        return -1;
-
-    fseek(file, 0, SEEK_END);
-    file_len = ftell(file);
-    fseek(file, 0, SEEK_SET);
-
-    /* Skip the tag, if it's there */
-    tmp = fread(buffer, 10, 1, file);
-
-    if (StringComp(buffer, "ID3", 3) == 0)
-    {
-        /* high bit is not used */
-        tagsize = (buffer[6] << 21) | (buffer[7] << 14) |
-            (buffer[8] <<  7) | (buffer[9] <<  0);
-
-        fseek(file, tagsize, SEEK_CUR);
-        tagsize += 10;
-    } else {
-        tagsize = 0;
-        fseek(file, 0, SEEK_SET);
-    }
-
-    if (file_len)
-        file_len -= tagsize;
-
-    tmp = fread(adxx_id, 2, 1, file);
-    adxx_id[5-1] = 0;
-    info->length = 0;
-
-    /* Determine the header type of the file, check the first two bytes */
-    if (StringComp(adxx_id, "AD", 2) == 0)
-    {
-        /* We think its an ADIF header, but check the rest just to make sure */
-        tmp = fread(adxx_id + 2, 2, 1, file);
-
-        if (StringComp(adxx_id, "ADIF", 4) == 0)
-        {
-            read_ADIF_header(file, info);
-
-            info->length = (int)((float)file_len*8000.0/((float)info->bitrate));
-        }
-    } else {
-        /* No ADIF, check for ADTS header */
-        if ((adxx_id[0] == 0xFF)&&((adxx_id[1] & 0xF6) == 0xF0))
-        {
-            /* ADTS  header located */
-            fseek(file, tagsize, SEEK_SET);
-            read_ADTS_header(file, info);
-        } else {
-            /* Unknown/headerless AAC file, assume format: */
-            info->version = 2;
-            info->bitrate = 128000;
-            info->sampling_rate = 44100;
-            info->channels = 2;
-            info->headertype = 0;
-            info->object_type = 1;
-        }
-    }
-
-    fclose(file);
-
-    return 0;
-}
diff --git a/lib/libfaad2/plugins/QCDMp4/aacinfo.h b/lib/libfaad2/plugins/QCDMp4/aacinfo.h
deleted file mode 100644 (file)
index fe501ce..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: aacinfo.h,v 1.3 2003/12/06 04:24:17 rjamorim Exp $
-**/
-
-#ifndef AACINFO_INCLUDED
-#define AACINFO_INCLUDED
-
-typedef struct {
-    int version;
-    int channels;
-    int sampling_rate;
-    int bitrate;
-    int length;
-    int object_type;
-    int headertype;
-} faadAACInfo;
-
-int get_AAC_format(char *filename, faadAACInfo *info);
-
-static int read_ADIF_header(FILE *file, faadAACInfo *info);
-static int read_ADTS_header(FILE *file, faadAACInfo *info);
-
-#endif
diff --git a/lib/libfaad2/plugins/QCDMp4/config.c b/lib/libfaad2/plugins/QCDMp4/config.c
deleted file mode 100644 (file)
index 3dbbbec..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: config.c,v 1.3 2003/12/06 04:24:17 rjamorim Exp $
-**/
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include "config.h"
-
-char app_name[] = "AudioCoding.com MPEG-4 General Audio player";
-char INI_FILE[MAX_PATH];
-int m_priority = 3;
-int m_resolution = 0;
-int m_show_errors = 1;
-int m_use_for_aac = 1;
-int m_downmix = 0;
-int m_vbr_display = 0;
-char titleformat[MAX_PATH];
-
-void _r_s(char *name,char *data, int mlen)
-{
-       char buf[10];
-       strcpy(buf,data);
-       GetPrivateProfileString(app_name,name,buf,data,mlen,INI_FILE);
-}
-
diff --git a/lib/libfaad2/plugins/QCDMp4/config.h b/lib/libfaad2/plugins/QCDMp4/config.h
deleted file mode 100644 (file)
index 077d46c..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: config.h,v 1.3 2003/12/06 04:24:17 rjamorim Exp $
-**/
-
-char app_name[];
-char INI_FILE[];
-int m_priority;
-int m_resolution;
-int m_show_errors;
-int m_use_for_aac;
-int m_downmix;
-int m_vbr_display;
-char titleformat[MAX_PATH];
-
-#define RS(x) (_r_s(#x,x,sizeof(x)))
-#define WS(x) (WritePrivateProfileString(app_name,#x,x,INI_FILE))
-
-void _r_s(char *name,char *data, int mlen);
-
diff --git a/lib/libfaad2/plugins/QCDMp4/mbs.h b/lib/libfaad2/plugins/QCDMp4/mbs.h
deleted file mode 100644 (file)
index cca5745..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * The contents of this file are subject to the Mozilla Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/MPL/
- * 
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- * 
- * The Original Code is MPEG4IP.
- * 
- * The Initial Developer of the Original Code is Cisco Systems Inc.
- * Portions created by Cisco Systems Inc. are
- * Copyright (C) Cisco Systems Inc. 2001-2002.  All Rights Reserved.
- * 
- * Contributor(s): 
- *             Dave Mackie             dmackie@cisco.com
- */
-
-#ifndef __MBS_INCLUDED__
-#define __MBS_INCLUDED__ 
-
-class CMemoryBitstream {
-public:
-       CMemoryBitstream() {
-               m_pBuf = NULL;
-               m_bitPos = 0;
-               m_numBits = 0;
-       }
-
-       void AllocBytes(u_int32_t numBytes);
-
-       void SetBytes(u_int8_t* pBytes, u_int32_t numBytes);
-
-       void PutBytes(u_int8_t* pBytes, u_int32_t numBytes);
-
-       void PutBits(u_int32_t bits, u_int32_t numBits);
-
-       u_int32_t GetBits(u_int32_t numBits);
-
-       void SkipBytes(u_int32_t numBytes) {
-               SkipBits(numBytes << 3);
-       }
-
-       void SkipBits(u_int32_t numBits) {
-               SetBitPosition(GetBitPosition() + numBits);
-       }
-
-       u_int32_t GetBitPosition() {
-               return m_bitPos;
-       }
-
-       void SetBitPosition(u_int32_t bitPos) {
-               if (bitPos > m_numBits) {
-                       throw;
-               }
-               m_bitPos = bitPos;
-       }
-
-       u_int8_t* GetBuffer() {
-               return m_pBuf;
-       }
-
-       u_int32_t GetNumberOfBytes() {
-               return (GetNumberOfBits() + 7) / 8;
-       }
-
-       u_int32_t GetNumberOfBits() {
-               return m_numBits;
-       }
-
-protected:
-       u_int8_t*       m_pBuf;
-       u_int32_t       m_bitPos;
-       u_int32_t       m_numBits;
-};
-
-#endif /* __MBS_INCLUDED__ */ 
-
diff --git a/lib/libfaad2/plugins/QCDMp4/resource.h b/lib/libfaad2/plugins/QCDMp4/resource.h
deleted file mode 100644 (file)
index 08fa5e1..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by QCDMp4.rc
-//
-#define IDD_CONFIG                      102
-#define IDC_TYPE                        1000
-#define IDC_INFOTEXT                    1000
-#define IDC_DURATION                    1001
-#define IDC_BITRATE                     1002
-#define IDC_SAMPLERATE                  1003
-#define IDC_VTYPE                       1004
-#define IDC_PRIORITY                    1004
-#define IDC_VBITRATE                    1005
-#define IDC_ERROR                       1005
-#define IDC_VDURATION                   1006
-#define IDC_16BITS                      1006
-#define IDC_VSIZE                       1007
-#define IDC_24BITS                      1007
-#define IDC_CONVERT                     1007
-#define IDC_VFPS                        1008
-#define IDC_32BITS                      1008
-#define IDC_CONVERT2                    1008
-#define IDC_CHANNELS                    1009
-#define IDC_24BITS2                     1009
-#define IDC_16BITS_DITHERED             1009
-#define IDC_CONVERT1                    1009
-#define IDC_USERDATA                    1010
-#define IDC_USEFORAAC                   1011
-#define IDC_METACOMPILATION             1012
-#define IDC_METANAME                    1013
-#define IDC_METAARTIST                  1014
-#define IDC_METAWRITER                  1015
-#define IDC_METAALBUM                   1016
-#define IDC_METACOMMENTS                1017
-#define IDC_METAGENRE                   1018
-#define IDC_METAYEAR                    1019
-#define IDC_METATRACK1                  1020
-#define IDC_METADISK1                   1021
-#define IDC_METATEMPO                   1022
-#define IDC_METATRACK2                  1023
-#define IDC_METADISK2                   1024
-#define IDC_STATIC1                     1025
-#define IDC_STATIC2                     1026
-#define IDC_STATIC3                     1027
-#define IDC_STATIC4                     1028
-#define IDC_STATIC5                     1029
-#define IDC_STATIC6                     1030
-#define IDC_STATIC7                     1031
-#define IDC_STATIC8                     1032
-#define IDC_STATIC9                     1033
-#define IDC_STATIC10                    1034
-#define IDC_STATIC11                    1035
-#define IDC_STATIC12                    1036
-#define IDC_DOWNMIX                     1038
-#define IDC_VBR                         1039
-#define IDC_TITLEFORMAT                 1040
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        103
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1041
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
diff --git a/lib/libfaad2/plugins/QCDMp4/utils.c b/lib/libfaad2/plugins/QCDMp4/utils.c
deleted file mode 100644 (file)
index c5e5680..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: utils.c,v 1.3 2003/12/06 04:24:17 rjamorim Exp $
-**/
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <mp4.h>
-#include <faad.h>
-#include "utils.h"
-
-int StringComp(char const *str1, char const *str2, unsigned long len)
-{
-    signed int c1 = 0, c2 = 0;
-
-    while (len--)
-    {
-        c1 = tolower(*str1++);
-        c2 = tolower(*str2++);
-
-        if (c1 == 0 || c1 != c2)
-            break;
-    }
-
-    return c1 - c2;
-}
-
-int GetAACTrack(MP4FileHandle infile)
-{
-    /* find AAC track */
-    int i, rc;
-       int numTracks = MP4GetNumberOfTracks(infile, NULL, 0);
-
-       for (i = 0; i < numTracks; i++)
-    {
-        MP4TrackId trackId = MP4FindTrackId(infile, i, NULL, 0);
-        const char* trackType = MP4GetTrackType(infile, trackId);
-
-        if (!strcmp(trackType, MP4_AUDIO_TRACK_TYPE))
-        {
-            unsigned char *buff = NULL;
-            int buff_size = 0;
-            mp4AudioSpecificConfig mp4ASC;
-
-            MP4GetTrackESConfiguration(infile, trackId, &buff, &buff_size);
-
-            if (buff)
-            {
-                rc = AudioSpecificConfig(buff, buff_size, &mp4ASC);
-                free(buff);
-
-                if (rc < 0)
-                    return -1;
-                return trackId;
-            }
-        }
-    }
-
-    /* can't decode this */
-    return -1;
-}
-
-int GetAudioTrack(MP4FileHandle infile)
-{
-    /* find AAC track */
-    int i;
-       int numTracks = MP4GetNumberOfTracks(infile, NULL, 0);
-
-       for (i = 0; i < numTracks; i++)
-    {
-        MP4TrackId trackId = MP4FindTrackId(infile, i, NULL, 0);
-        const char* trackType = MP4GetTrackType(infile, trackId);
-
-        if (!strcmp(trackType, MP4_AUDIO_TRACK_TYPE))
-        {
-            return trackId;
-        }
-    }
-
-    /* can't decode this */
-    return -1;
-}
-
-int GetVideoTrack(MP4FileHandle infile)
-{
-    /* find AAC track */
-    int i;
-       int numTracks = MP4GetNumberOfTracks(infile, NULL, 0);
-
-       for (i = 0; i < numTracks; i++)
-    {
-        MP4TrackId trackId = MP4FindTrackId(infile, i, NULL, 0);
-        const char* trackType = MP4GetTrackType(infile, trackId);
-
-        if (!strcmp(trackType, MP4_VIDEO_TRACK_TYPE))
-        {
-            return trackId;
-        }
-    }
-
-    /* can't decode this */
-    return -1;
-}
-
-LPTSTR PathFindFileName(LPCTSTR pPath)
-{
-    LPCTSTR pT;
-
-    for (pT = pPath; *pPath; pPath = CharNext(pPath)) {
-        if ((pPath[0] == TEXT('\\') || pPath[0] == TEXT(':')) && pPath[1] && (pPath[1] != TEXT('\\')))
-            pT = pPath + 1;
-    }
-
-    return (LPTSTR)pT;   // const -> non const
-}
-
-char *convert3in4to3in3(void *sample_buffer, int samples)
-{
-    int i;
-    long *sample_buffer24 = (long*)sample_buffer;
-    char *data = malloc(samples*3*sizeof(char));
-
-    for (i = 0; i < samples; i++)
-    {
-        data[i*3] = sample_buffer24[i] & 0xFF;
-        data[i*3+1] = (sample_buffer24[i] >> 8) & 0xFF;
-        data[i*3+2] = (sample_buffer24[i] >> 16) & 0xFF;
-    }
-
-    return data;
-}
diff --git a/lib/libfaad2/plugins/QCDMp4/utils.h b/lib/libfaad2/plugins/QCDMp4/utils.h
deleted file mode 100644 (file)
index e6014fa..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: utils.h,v 1.3 2003/12/06 04:24:17 rjamorim Exp $
-**/
-
-#ifndef UTILS_INCLUDED
-#define UTILS_INCLUDED
-
-#include <mp4.h>
-
-LPTSTR PathFindFileName(LPCTSTR pPath);
-int GetVideoTrack(MP4FileHandle infile);
-int GetAudioTrack(MP4FileHandle infile);
-int GetAACTrack(MP4FileHandle infile);
-int StringComp(char const *str1, char const *str2, unsigned long len);
-char *convert3in4to3in3(void *sample_buffer, int samples);
-
-#endif
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/in_mp4/aac2mp4.cpp b/lib/libfaad2/plugins/in_mp4/aac2mp4.cpp
deleted file mode 100644 (file)
index d6ceb9b..0000000
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: aac2mp4.cpp,v 1.4 2004/08/19 18:35:11 menno Exp $
-**/
-
-#include <mpeg4ip.h>
-#include <mp4.h>
-#include <mp4av.h>
-
-#include "aac2mp4.h"
-
-int covert_aac_to_mp4(char *inputFileName, char *mp4FileName)
-{
-    int Mp4TimeScale = 90000;
-    int allMpeg4Streams = 0;
-    MP4FileHandle mp4File;
-    FILE* inFile;
-    const char *type;
-    MP4TrackId createdTrackId = MP4_INVALID_TRACK_ID;
-
-    mp4File = MP4Create(mp4FileName, 0, 0);
-    if (mp4File)
-    {
-        MP4SetTimeScale(mp4File, Mp4TimeScale);
-    } else {
-        return 1;
-    }
-
-    inFile = fopen(inputFileName, "rb");
-
-       if (inFile == NULL)
-    {
-        MP4Close(mp4File);
-        return 2;
-    }
-
-    createdTrackId = AacCreator(mp4File, inFile);
-
-    if (createdTrackId == MP4_INVALID_TRACK_ID)
-    {
-        fclose(inFile);
-        MP4Close(mp4File);
-        return 3;
-    }
-
-    type = MP4GetTrackType(mp4File, createdTrackId);
-
-    if (!strcmp(type, MP4_AUDIO_TRACK_TYPE))
-    {
-        allMpeg4Streams &=
-            (MP4GetTrackEsdsObjectTypeId(mp4File, createdTrackId)
-            == MP4_MPEG4_AUDIO_TYPE);
-    }
-
-    if (inFile)
-    {
-        fclose(inFile);
-    }
-
-    MP4Close(mp4File);
-    MP4MakeIsmaCompliant(mp4FileName, 0, allMpeg4Streams);
-
-    return 0;
-}
-
-#define ADTS_HEADER_MAX_SIZE 10 /* bytes */
-
-static u_int8_t firstHeader[ADTS_HEADER_MAX_SIZE];
-
-/* 
- * hdr must point to at least ADTS_HEADER_MAX_SIZE bytes of memory 
- */
-static bool LoadNextAdtsHeader(FILE* inFile, u_int8_t* hdr)
-{
-       u_int state = 0;
-       u_int dropped = 0;
-       u_int hdrByteSize = ADTS_HEADER_MAX_SIZE;
-
-       while (1) {
-               /* read a byte */
-               u_int8_t b;
-
-               if (fread(&b, 1, 1, inFile) == 0) {
-                       return false;
-               }
-
-               /* header is complete, return it */
-               if (state == hdrByteSize - 1) {
-                       hdr[state] = b;
-                       if (dropped > 0) {
-                               fprintf(stderr, "Warning: dropped %u input bytes\n", dropped);
-                       }
-                       return true;
-               }
-
-               /* collect requisite number of bytes, no constraints on data */
-               if (state >= 2) {
-                       hdr[state++] = b;
-               } else {
-                       /* have first byte, check if we have 1111X00X */
-                       if (state == 1) {
-                               if ((b & 0xF6) == 0xF0) {
-                                       hdr[state] = b;
-                                       state = 2;
-                                       /* compute desired header size */
-                                       hdrByteSize = MP4AV_AdtsGetHeaderByteSize(hdr);
-                               } else {
-                                       state = 0;
-                               }
-                       }
-                       /* initial state, looking for 11111111 */
-                       if (state == 0) {
-                               if (b == 0xFF) {
-                                       hdr[state] = b;
-                                       state = 1;
-                               } else {
-                                        /* else drop it */ 
-                                       dropped++;
-                               }
-                       }
-               }
-       }
-}
-
-/*
- * Load the next frame from the file
- * into the supplied buffer, which better be large enough!
- *
- * Note: Frames are padded to byte boundaries
- */
-static bool LoadNextAacFrame(FILE* inFile, u_int8_t* pBuf, u_int32_t* pBufSize, bool stripAdts)
-{
-       u_int16_t frameSize;
-       u_int16_t hdrBitSize, hdrByteSize;
-       u_int8_t hdrBuf[ADTS_HEADER_MAX_SIZE];
-
-       /* get the next AAC frame header, more or less */
-       if (!LoadNextAdtsHeader(inFile, hdrBuf)) {
-               return false;
-       }
-       
-       /* get frame size from header */
-       frameSize = MP4AV_AdtsGetFrameSize(hdrBuf);
-
-       /* get header size in bits and bytes from header */
-       hdrBitSize = MP4AV_AdtsGetHeaderBitSize(hdrBuf);
-       hdrByteSize = MP4AV_AdtsGetHeaderByteSize(hdrBuf);
-       
-       /* adjust the frame size to what remains to be read */
-       frameSize -= hdrByteSize;
-
-       if (stripAdts) {
-               if ((hdrBitSize % 8) == 0) {
-                       /* header is byte aligned, i.e. MPEG-2 ADTS */
-                       /* read the frame data into the buffer */
-                       if (fread(pBuf, 1, frameSize, inFile) != frameSize) {
-                               return false;
-                       }
-                       (*pBufSize) = frameSize;
-               } else {
-                       /* header is not byte aligned, i.e. MPEG-4 ADTS */
-                       int i;
-                       u_int8_t newByte;
-                       int upShift = hdrBitSize % 8;
-                       int downShift = 8 - upShift;
-
-                       pBuf[0] = hdrBuf[hdrBitSize / 8] << upShift;
-
-                       for (i = 0; i < frameSize; i++) {
-                               if (fread(&newByte, 1, 1, inFile) != 1) {
-                                       return false;
-                               }
-                               pBuf[i] |= (newByte >> downShift);
-                               pBuf[i+1] = (newByte << upShift);
-                       }
-                       (*pBufSize) = frameSize + 1;
-               }
-       } else { /* don't strip ADTS headers */
-               memcpy(pBuf, hdrBuf, hdrByteSize);
-               if (fread(&pBuf[hdrByteSize], 1, frameSize, inFile) != frameSize) {
-                       return false;
-               }
-       }
-
-       return true;
-}
-
-static bool GetFirstHeader(FILE* inFile)
-{
-       /* read file until we find an audio frame */
-       fpos_t curPos;
-
-       /* already read first header */
-       if (firstHeader[0] == 0xff) {
-               return true;
-       }
-
-       /* remember where we are */
-       fgetpos(inFile, &curPos);
-       
-       /* go back to start of file */
-       rewind(inFile);
-
-       if (!LoadNextAdtsHeader(inFile, firstHeader)) {
-               return false;
-       }
-
-       /* reposition the file to where we were */
-       fsetpos(inFile, &curPos);
-
-       return true;
-}
-
-MP4TrackId AacCreator(MP4FileHandle mp4File, FILE* inFile)
-{
-       // collect all the necessary meta information
-       u_int32_t samplesPerSecond;
-       u_int8_t mpegVersion;
-       u_int8_t profile;
-       u_int8_t channelConfig;
-
-       if (!GetFirstHeader(inFile)) {
-               return MP4_INVALID_TRACK_ID;
-       }
-
-       samplesPerSecond = MP4AV_AdtsGetSamplingRate(firstHeader);
-       mpegVersion = MP4AV_AdtsGetVersion(firstHeader);
-       profile = MP4AV_AdtsGetProfile(firstHeader);
-       channelConfig = MP4AV_AdtsGetChannels(firstHeader);
-
-       u_int8_t audioType = MP4_INVALID_AUDIO_TYPE;
-       switch (mpegVersion) {
-       case 0:
-               audioType = MP4_MPEG4_AUDIO_TYPE;
-               break;
-       case 1:
-               switch (profile) {
-               case 0:
-                       audioType = MP4_MPEG2_AAC_MAIN_AUDIO_TYPE;
-                       break;
-               case 1:
-                       audioType = MP4_MPEG2_AAC_LC_AUDIO_TYPE;
-                       break;
-               case 2:
-                       audioType = MP4_MPEG2_AAC_SSR_AUDIO_TYPE;
-                       break;
-               case 3:
-                       return MP4_INVALID_TRACK_ID;
-               }
-               break;
-       }
-
-       // add the new audio track
-       MP4TrackId trackId = 
-               MP4AddAudioTrack(mp4File, 
-                       samplesPerSecond, 1024, audioType);
-
-       if (trackId == MP4_INVALID_TRACK_ID) {
-               return MP4_INVALID_TRACK_ID;
-       }
-
-       if (MP4GetNumberOfTracks(mp4File, MP4_AUDIO_TRACK_TYPE) == 1) {
-               MP4SetAudioProfileLevel(mp4File, 0x0F);
-       }
-
-       u_int8_t* pConfig = NULL;
-       u_int32_t configLength = 0;
-
-       MP4AV_AacGetConfiguration(
-               &pConfig,
-               &configLength,
-               profile,
-               samplesPerSecond,
-               channelConfig);
-
-       if (!MP4SetTrackESConfiguration(mp4File, trackId, 
-         pConfig, configLength)) {
-               MP4DeleteTrack(mp4File, trackId);
-               return MP4_INVALID_TRACK_ID;
-       }
-
-       // parse the ADTS frames, and write the MP4 samples
-       u_int8_t sampleBuffer[8 * 1024];
-       u_int32_t sampleSize = sizeof(sampleBuffer);
-       MP4SampleId sampleId = 1;
-
-       while (LoadNextAacFrame(inFile, sampleBuffer, &sampleSize, true)) {
-               if (!MP4WriteSample(mp4File, trackId, sampleBuffer, sampleSize)) {
-                       MP4DeleteTrack(mp4File, trackId);
-                       return MP4_INVALID_TRACK_ID;
-               }
-               sampleId++;
-               sampleSize = sizeof(sampleBuffer);
-       }
-
-       return trackId;
-}
diff --git a/lib/libfaad2/plugins/in_mp4/aac2mp4.h b/lib/libfaad2/plugins/in_mp4/aac2mp4.h
deleted file mode 100644 (file)
index 1b4805a..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: aac2mp4.h,v 1.3 2003/07/29 08:20:14 menno Exp $
-**/
-
-#ifndef AAC2MP4_H__
-#define AAC2MP4_H__
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-int covert_aac_to_mp4(char *inputFileName, char *mp4FileName);
-MP4TrackId AacCreator(MP4FileHandle mp4File, FILE* inFile);
-
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
-#endif
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/in_mp4/aacinfo.c b/lib/libfaad2/plugins/in_mp4/aacinfo.c
deleted file mode 100644 (file)
index c531dfd..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: aacinfo.c,v 1.6 2004/10/18 19:25:00 menno Exp $
-**/
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <malloc.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <math.h>
-#include "aacinfo.h"
-#include "utils.h"
-
-#define ADIF_MAX_SIZE 30 /* Should be enough */
-#define ADTS_MAX_SIZE 10 /* Should be enough */
-
-static int sample_rates[] = {96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000};
-
-static int read_ADIF_header(FILE *file, faadAACInfo *info)
-{
-    int bitstream;
-    unsigned char buffer[ADIF_MAX_SIZE];
-    int skip_size = 0;
-    int sf_idx;
-
-    /* Get ADIF header data */
-    info->headertype = 1;
-
-    if (fread(buffer, 1, ADIF_MAX_SIZE, file) != ADIF_MAX_SIZE)
-        return -1;
-
-    /* copyright string */
-    if(buffer[0] & 0x80)
-        skip_size += 9; /* skip 9 bytes */
-
-    bitstream = buffer[0 + skip_size] & 0x10;
-    info->bitrate = ((unsigned int)(buffer[0 + skip_size] & 0x0F)<<19)|
-        ((unsigned int)buffer[1 + skip_size]<<11)|
-        ((unsigned int)buffer[2 + skip_size]<<3)|
-        ((unsigned int)buffer[3 + skip_size] & 0xE0);
-
-    if (bitstream == 0)
-    {
-        info->object_type =  ((buffer[6 + skip_size]&0x01)<<1)|((buffer[7 + skip_size]&0x80)>>7);
-        sf_idx = (buffer[7 + skip_size]&0x78)>>3;
-    } else {
-        info->object_type = (buffer[4 + skip_size] & 0x18)>>3;
-        sf_idx = ((buffer[4 + skip_size] & 0x07)<<1)|((buffer[5 + skip_size] & 0x80)>>7);
-    }
-    info->sampling_rate = sample_rates[sf_idx];
-
-    return 0;
-}
-
-static int read_ADTS_header(FILE *file, faadAACInfo *info)
-{
-    /* Get ADTS header data */
-    unsigned char buffer[ADTS_MAX_SIZE];
-    int frames, t_framelength = 0, frame_length, sr_idx = 0, ID;
-    int second = 0, pos;
-    float frames_per_sec = 0;
-    unsigned long bytes;
-    unsigned long *tmp_seek_table = NULL;
-
-    info->headertype = 2;
-
-    /* Read all frames to ensure correct time and bitrate */
-    for (frames = 0; /* */; frames++)
-    {
-        bytes = fread(buffer, 1, ADTS_MAX_SIZE, file);
-
-        if (bytes != ADTS_MAX_SIZE)
-            break;
-
-        /* check syncword */
-        if (!((buffer[0] == 0xFF)&&((buffer[1] & 0xF6) == 0xF0)))
-            break;
-
-        if (!frames)
-        {
-            /* fixed ADTS header is the same for every frame, so we read it only once */
-            /* Syncword found, proceed to read in the fixed ADTS header */
-            ID = buffer[1] & 0x08;
-            info->object_type = (buffer[2]&0xC0)>>6;
-            sr_idx = (buffer[2]&0x3C)>>2;
-            info->channels = ((buffer[2]&0x01)<<2)|((buffer[3]&0xC0)>>6);
-
-            frames_per_sec = sample_rates[sr_idx] / 1024.f;
-        }
-
-        /* ...and the variable ADTS header */
-        if (ID == 0)
-        {
-            info->version = 4;
-        } else { /* MPEG-2 */
-            info->version = 2;
-        }
-        frame_length = ((((unsigned int)buffer[3] & 0x3)) << 11)
-            | (((unsigned int)buffer[4]) << 3) | (buffer[5] >> 5);
-
-        t_framelength += frame_length;
-
-        pos = ftell(file) - ADTS_MAX_SIZE;
-
-        fseek(file, frame_length - ADTS_MAX_SIZE, SEEK_CUR);
-    }
-
-    if (frames > 0)
-    {
-        float sec_per_frame, bytes_per_frame;
-        info->sampling_rate = sample_rates[sr_idx];
-        sec_per_frame = (float)info->sampling_rate/1024.0;
-        bytes_per_frame = (float)t_framelength / (float)frames;
-        info->bitrate = 8 * (int)floor(bytes_per_frame * sec_per_frame);
-        info->length = (int)floor((float)frames/frames_per_sec)*1000;
-    } else {
-        info->sampling_rate = 4;
-        info->bitrate = 128000;
-        info->length = 0;
-        info->channels = 0;
-    }
-
-    return 0;
-}
-
-int get_AAC_format(char *filename, faadAACInfo *info)
-{
-    unsigned long tagsize;
-    FILE *file;
-    char buffer[10];
-    unsigned long file_len;
-    unsigned char adxx_id[5];
-    unsigned long tmp;
-
-    memset(info, 0, sizeof(faadAACInfo));
-
-    file = fopen(filename, "rb");
-
-    if(file == NULL)
-        return -1;
-
-    fseek(file, 0, SEEK_END);
-    file_len = ftell(file);
-    fseek(file, 0, SEEK_SET);
-
-    /* Skip the tag, if it's there */
-    tmp = fread(buffer, 10, 1, file);
-
-    if (StringComp(buffer, "ID3", 3) == 0)
-    {
-        /* high bit is not used */
-        tagsize = (buffer[6] << 21) | (buffer[7] << 14) |
-            (buffer[8] <<  7) | (buffer[9] <<  0);
-
-        fseek(file, tagsize, SEEK_CUR);
-        tagsize += 10;
-    } else {
-        tagsize = 0;
-        fseek(file, 0, SEEK_SET);
-    }
-
-    if (file_len)
-        file_len -= tagsize;
-
-    tmp = fread(adxx_id, 2, 1, file);
-    adxx_id[5-1] = 0;
-    info->length = 0;
-
-    /* Determine the header type of the file, check the first two bytes */
-    if (StringComp(adxx_id, "AD", 2) == 0)
-    {
-        /* We think its an ADIF header, but check the rest just to make sure */
-        tmp = fread(adxx_id + 2, 2, 1, file);
-
-        if (StringComp(adxx_id, "ADIF", 4) == 0)
-        {
-            read_ADIF_header(file, info);
-
-            info->length = (int)((float)file_len*8000.0/((float)info->bitrate));
-        }
-    } else {
-        /* No ADIF, check for ADTS header */
-        if ((adxx_id[0] == 0xFF)&&((adxx_id[1] & 0xF6) == 0xF0))
-        {
-            /* ADTS  header located */
-            fseek(file, tagsize, SEEK_SET);
-            read_ADTS_header(file, info);
-        } else {
-            /* Unknown/headerless AAC file, assume format: */
-            info->version = 2;
-            info->bitrate = 128000;
-            info->sampling_rate = 44100;
-            info->channels = 2;
-            info->headertype = 0;
-            info->object_type = 1;
-        }
-    }
-
-    fclose(file);
-
-    return 0;
-}
diff --git a/lib/libfaad2/plugins/in_mp4/aacinfo.h b/lib/libfaad2/plugins/in_mp4/aacinfo.h
deleted file mode 100644 (file)
index 4c60866..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: aacinfo.h,v 1.3 2003/07/29 08:20:14 menno Exp $
-**/
-
-#ifndef AACINFO_INCLUDED
-#define AACINFO_INCLUDED
-
-typedef struct {
-    int version;
-    int channels;
-    int sampling_rate;
-    int bitrate;
-    int length;
-    int object_type;
-    int headertype;
-} faadAACInfo;
-
-int get_AAC_format(char *filename, faadAACInfo *info);
-
-static int read_ADIF_header(FILE *file, faadAACInfo *info);
-static int read_ADTS_header(FILE *file, faadAACInfo *info);
-
-#endif
diff --git a/lib/libfaad2/plugins/in_mp4/config.c b/lib/libfaad2/plugins/in_mp4/config.c
deleted file mode 100644 (file)
index 5e50ea0..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: config.c,v 1.6 2003/09/03 20:19:07 menno Exp $
-**/
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include "config.h"
-
-char app_name[] = "AudioCoding.com MPEG-4 General Audio player";
-char INI_FILE[MAX_PATH];
-int m_priority = 3;
-int m_resolution = 0;
-int m_show_errors = 1;
-int m_use_for_aac = 1;
-int m_downmix = 0;
-int m_vbr_display = 0;
-char titleformat[MAX_PATH];
-
-void _r_s(char *name,char *data, int mlen)
-{
-       char buf[10];
-       strcpy(buf,data);
-       GetPrivateProfileString(app_name,name,buf,data,mlen,INI_FILE);
-}
-
diff --git a/lib/libfaad2/plugins/in_mp4/config.h b/lib/libfaad2/plugins/in_mp4/config.h
deleted file mode 100644 (file)
index 3d75795..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: config.h,v 1.6 2003/09/03 20:19:07 menno Exp $
-**/
-
-char app_name[];
-char INI_FILE[];
-int m_priority;
-int m_resolution;
-int m_show_errors;
-int m_use_for_aac;
-int m_downmix;
-int m_vbr_display;
-char titleformat[MAX_PATH];
-
-#define RS(x) (_r_s(#x,x,sizeof(x)))
-#define WS(x) (WritePrivateProfileString(app_name,#x,x,INI_FILE))
-
-void _r_s(char *name,char *data, int mlen);
-
diff --git a/lib/libfaad2/plugins/in_mp4/in2.h b/lib/libfaad2/plugins/in_mp4/in2.h
deleted file mode 100644 (file)
index 8d53b9f..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-#include "out.h"
-
-// note: exported symbol is now winampGetInModule2.
-
-#define IN_VER 0x100
-
-typedef struct
-{
-    int version;                // module type (IN_VER)
-    char *description;          // description of module, with version string
-
-    HWND hMainWindow;           // winamp's main window (filled in by winamp)
-    HINSTANCE hDllInstance;     // DLL instance handle (Also filled in by winamp)
-
-    char *FileExtensions;       // "mp3\0Layer 3 MPEG\0mp2\0Layer 2 MPEG\0mpg\0Layer 1 MPEG\0"
-                                // May be altered from Config, so the user can select what they want
-
-    int is_seekable;            // is this stream seekable?
-    int UsesOutputPlug;         // does this plug-in use the output plug-ins? (musn't ever change, ever :)
-
-    void (*Config)(HWND hwndParent); // configuration dialog
-    void (*About)(HWND hwndParent);  // about dialog
-
-    void (*Init)();             // called at program init
-    void (*Quit)();             // called at program quit
-
-    void (*GetFileInfo)(char *file, char *title, int *length_in_ms); // if file == NULL, current playing is used
-    int (*InfoBox)(char *file, HWND hwndParent);
-
-    int (*IsOurFile)(char *fn); // called before extension checks, to allow detection of mms://, etc
-    // playback stuff
-    int (*Play)(char *fn);      // return zero on success, -1 on file-not-found, some other value on other (stopping winamp) error
-    void (*Pause)();            // pause stream
-    void (*UnPause)();          // unpause stream
-    int (*IsPaused)();          // ispaused? return 1 if paused, 0 if not
-    void (*Stop)();             // stop (unload) stream
-
-    // time stuff
-    int (*GetLength)();         // get length in ms
-    int (*GetOutputTime)();     // returns current output time in ms. (usually returns outMod->GetOutputTime()
-    void (*SetOutputTime)(int time_in_ms);  // seeks to point in stream (in ms). Usually you signal yoru thread to seek, which seeks and calls outMod->Flush()..
-
-    // volume stuff
-    void (*SetVolume)(int volume);  // from 0 to 255.. usually just call outMod->SetVolume
-    void (*SetPan)(int pan);    // from -127 to 127.. usually just call outMod->SetPan
-
-    // in-window builtin vis stuff
-
-    void (*SAVSAInit)(int maxlatency_in_ms, int srate);     // call once in Play(). maxlatency_in_ms should be the value returned from outMod->Open()
-    // call after opening audio device with max latency in ms and samplerate
-    void (*SAVSADeInit)();  // call in Stop()
-
-
-    // simple vis supplying mode
-    void (*SAAddPCMData)(void *PCMData, int nch, int bps, int timestamp);
-                                            // sets the spec data directly from PCM data
-                                            // quick and easy way to get vis working :)
-                                            // needs at least 576 samples :)
-
-    // advanced vis supplying mode, only use if you're cool. Use SAAddPCMData for most stuff.
-    int (*SAGetMode)();     // gets csa (the current type (4=ws,2=osc,1=spec))
-                            // use when calling SAAdd()
-    void (*SAAdd)(void *data, int timestamp, int csa); // sets the spec data, filled in by winamp
-
-
-    // vis stuff (plug-in)
-    // simple vis supplying mode
-    void (*VSAAddPCMData)(void *PCMData, int nch, int bps, int timestamp); // sets the vis data directly from PCM data
-                                            // quick and easy way to get vis working :)
-                                            // needs at least 576 samples :)
-
-    // advanced vis supplying mode, only use if you're cool. Use VSAAddPCMData for most stuff.
-    int (*VSAGetMode)(int *specNch, int *waveNch); // use to figure out what to give to VSAAdd
-    void (*VSAAdd)(void *data, int timestamp); // filled in by winamp, called by plug-in
-
-
-    // call this in Play() to tell the vis plug-ins the current output params.
-    void (*VSASetInfo)(int nch, int srate);
-
-
-    // dsp plug-in processing:
-    // (filled in by winamp, called by input plug)
-
-    // returns 1 if active (which means that the number of samples returned by dsp_dosamples
-    // could be greater than went in.. Use it to estimate if you'll have enough room in the
-    // output buffer
-    int (*dsp_isactive)();
-
-    // returns number of samples to output. This can be as much as twice numsamples.
-    // be sure to allocate enough buffer for samples, then.
-    int (*dsp_dosamples)(short int *samples, int numsamples, int bps, int nch, int srate);
-
-
-    // eq stuff
-    void (*EQSet)(int on, char data[10], int preamp); // 0-64 each, 31 is +0, 0 is +12, 63 is -12. Do nothing to ignore.
-
-    // info setting (filled in by winamp)
-    void (*SetInfo)(int bitrate, int srate, int stereo, int synched); // if -1, changes ignored? :)
-
-    Out_Module *outMod; // filled in by winamp, optionally used :)
-} In_Module;
-
-
-
diff --git a/lib/libfaad2/plugins/in_mp4/in_mp4.c b/lib/libfaad2/plugins/in_mp4/in_mp4.c
deleted file mode 100644 (file)
index 68c13c5..0000000
+++ /dev/null
@@ -1,2878 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: in_mp4.c,v 1.56 2004/10/19 18:02:10 menno Exp $
-**/
-
-//#define DEBUG_OUTPUT
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <commctrl.h>
-#include <commdlg.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <io.h>
-#include <math.h>
-#include <neaacdec.h>
-#define USE_TAGGING
-#include <mp4ff.h>
-
-#include "resource.h"
-#include "in2.h"
-#include "utils.h"
-#include "config.h"
-#include "aacinfo.h"
-
-const char *long_ext_list = "MP4\0MPEG-4 Files (*.MP4)\0M4A\0MPEG-4 Files (*.M4A)\0AAC\0AAC Files (*.AAC)\0";
-const char *short_ext_list = "MP4\0MPEG-4 Files (*.MP4)\0M4A\0MPEG-4 Files (*.M4A)\0";
-
-static long priority_table[] = {
-    0,
-    THREAD_PRIORITY_HIGHEST,
-    THREAD_PRIORITY_ABOVE_NORMAL,
-    THREAD_PRIORITY_NORMAL,
-    THREAD_PRIORITY_BELOW_NORMAL,
-    THREAD_PRIORITY_LOWEST
-};
-static int res_id_table[] = {
-    IDC_16BITS,
-    IDC_24BITS,
-    IDC_32BITS,
-    0,
-    0,
-    /*IDC_16BITS_DITHERED*/ IDC_16BITS /* temp hack */
-};
-static int res_table[] = {
-    16,
-    24,
-    32,
-    0,
-    0,
-    16
-};
-static char info_fn[_MAX_PATH];
-
-// post this to the main window at end of file (after playback has stopped)
-#define WM_WA_AAC_EOF WM_USER+2
-
-struct seek_list
-{
-    struct seek_list *next;
-    __int64 offset;
-};
-
-typedef struct state
-{
-    /* general stuff */
-    NeAACDecHandle hDecoder;
-    int samplerate;
-    unsigned char channels;
-    double decode_pos_ms; // current decoding position, in milliseconds
-    int paused; // are we paused?
-    int seek_needed; // if != -1, it is the point that the decode thread should seek to, in ms.
-    char filename[_MAX_PATH];
-    int filetype; /* 0: MP4; 1: AAC */
-    int last_frame;
-    __int64 last_offset;
-
-    /* MP4 stuff */
-    mp4ff_t *mp4file;
-    int mp4track;
-    long numSamples;
-    long sampleId;
-    mp4ff_callback_t mp4cb;
-    FILE *mp4File;
-
-    /* AAC stuff */
-    FILE *aacfile;
-    long m_aac_bytes_into_buffer;
-    long m_aac_bytes_consumed;
-    __int64 m_file_offset;
-    unsigned char *m_aac_buffer;
-    int m_at_eof;
-    double cur_pos_sec;
-    int m_header_type;
-    struct seek_list *m_head;
-    struct seek_list *m_tail;
-    unsigned long m_length;
-
-    /* for gapless decoding */
-    unsigned int useAacLength;
-    unsigned int framesize;
-    unsigned int initial;
-    unsigned long timescale;
-} state;
-
-static state mp4state;
-
-static In_Module module; // the output module (declared near the bottom of this file)
-
-static int killPlayThread;
-static int PlayThreadAlive = 0; // 1=play thread still running
-HANDLE play_thread_handle = INVALID_HANDLE_VALUE; // the handle to the decode thread
-
-/* Function definitions */
-void *decode_aac_frame(state *st, NeAACDecFrameInfo *frameInfo);
-DWORD WINAPI MP4PlayThread(void *b); // the decode thread procedure
-DWORD WINAPI AACPlayThread(void *b); // the decode thread procedure
-
-
-uint32_t read_callback(void *user_data, void *buffer, uint32_t length)
-{
-    return fread(buffer, 1, length, (FILE*)user_data);
-}
-
-uint32_t seek_callback(void *user_data, uint64_t position)
-{
-    return fseek((FILE*)user_data, position, SEEK_SET);
-}
-
-uint32_t write_callback(void *user_data, void *buffer, uint32_t length)
-{
-    return fwrite(buffer, 1, length, (FILE*)user_data);
-}
-
-uint32_t truncate_callback(void *user_data)
-{
-    _chsize(fileno((FILE*)user_data), ftell((FILE*)user_data));
-    return 1;
-}
-
-
-int tag_add_field(mp4ff_metadata_t *tags, const char *item, const char *value, size_t v_len)
-{
-    void *backup = (void *)tags->tags;
-
-    if (!item || (item && !*item) || !value) return 0;
-
-    tags->tags = (mp4ff_tag_t *)realloc(tags->tags, (tags->count+1) * sizeof(mp4ff_tag_t));
-    if (!tags->tags) {
-        if (backup) free(backup);
-        return 0;
-    }
-    else
-    {
-        size_t i_len = strlen(item);
-        if (v_len == 0) v_len = strlen(value);
-
-        tags->tags[tags->count].item = (char *)malloc(i_len+1);
-        tags->tags[tags->count].value = (char *)malloc(v_len+1);
-
-        if (!tags->tags[tags->count].item || !tags->tags[tags->count].value)
-        {
-            if (!tags->tags[tags->count].item) free (tags->tags[tags->count].item);
-            if (!tags->tags[tags->count].value) free (tags->tags[tags->count].value);
-            tags->tags[tags->count].item = NULL;
-            tags->tags[tags->count].value = NULL;
-            return 0;
-        }
-
-        memcpy(tags->tags[tags->count].item, item, i_len);
-        memcpy(tags->tags[tags->count].value, value, v_len);
-        tags->tags[tags->count].item[i_len] = '\0';
-        tags->tags[tags->count].value[v_len] = '\0';
-//        tags->tags[tags->count].len = v_len;
-
-        tags->count++;
-        return 1;
-    }
-}
-
-int tag_set_field(mp4ff_metadata_t *tags, const char *item, const char *value, size_t v_len)
-{
-    unsigned int i;
-
-    if (!item || (item && !*item) || !value) return 0;
-
-    for (i = 0; i < tags->count; i++)
-    {
-        if (!stricmp(tags->tags[i].item, item))
-        {
-            void *backup = (void *)tags->tags[i].value;
-            if (v_len == 0) v_len = strlen(value);
-
-            tags->tags[i].value = (char *)realloc(tags->tags[i].value, v_len+1);
-            if (!tags->tags[i].value)
-            {
-                if (backup) free(backup);
-                return 0;
-            }
-
-            memcpy(tags->tags[i].value, value, v_len);
-            tags->tags[i].value[v_len] = '\0';
-//            tags->tags[i].len = v_len;
-
-            return 1;
-        }
-    }
-
-    return tag_add_field(tags, item, value, v_len);
-}
-
-int tag_delete(mp4ff_metadata_t *tags)
-{
-    unsigned int i;
-
-    for (i = 0; i < tags->count; i++)
-    {
-        if (tags->tags[i].item) free(tags->tags[i].item);
-        if (tags->tags[i].value) free(tags->tags[i].value);
-    }
-
-    if (tags->tags) free(tags->tags);
-
-    tags->tags = NULL;
-    tags->count = 0;
-}
-
-int ReadMP4Tag(mp4ff_t *file, mp4ff_metadata_t *tags)
-{
-    unsigned __int8 *pValue;
-    char *pName;
-    unsigned int i = 0;
-
-    do {
-        pName = 0;
-        pValue = 0;
-
-
-        if (mp4ff_meta_get_by_index(file, i, (char **)&pName, &pValue))
-        {
-            char *val = (char *)strdup(pValue);
-            if (!val) return 0;
-
-            if (pName[0] == '©')
-            {
-                if (memcmp(pName, "©nam", 4) == 0)
-                {
-                    tag_add_field(tags, "title", val, strlen(val));
-                } else if (memcmp(pName, "©ART", 4) == 0) {
-                    tag_add_field(tags, "artist", val, strlen(val));
-                } else if (memcmp(pName, "©wrt", 4) == 0) {
-                    tag_add_field(tags, "writer", val, strlen(val));
-                } else if (memcmp(pName, "©alb", 4) == 0) {
-                    tag_add_field(tags, "album", val, strlen(val));
-                } else if (memcmp(pName, "©day", 4) == 0) {
-                    tag_add_field(tags, "date", val, strlen(val));
-                } else if (memcmp(pName, "©too", 4) == 0) {
-                    tag_add_field(tags, "tool", val, strlen(val));
-                } else if (memcmp(pName, "©cmt", 4) == 0) {
-                    tag_add_field(tags, "comment", val, strlen(val));
-                } else if (memcmp(pName, "©gen", 4) == 0) {
-                    tag_add_field(tags, "genre", val, strlen(val));
-                } else {
-                    tag_add_field(tags, pName, val, strlen(val));
-                }
-            } else if (memcmp(pName, "covr", 4) == 0) {
-                tag_add_field(tags, "cover", val, strlen(val));
-            } else if (memcmp(pName, "gnre", 4) == 0) {
-                tag_add_field(tags, "genre", val, strlen(val));
-            } else if (memcmp(pName, "trkn", 4) == 0) {
-                tag_add_field(tags, "tracknumber", val, strlen(val));
-            } else if (memcmp(pName, "disk", 4) == 0) {
-                tag_add_field(tags, "disc", val, strlen(val));
-            } else if (memcmp(pName, "cpil", 4) == 0) {
-                tag_add_field(tags, "compilation", val, strlen(val));
-            } else if (memcmp(pName, "tmpo", 4) == 0) {
-                tag_add_field(tags, "tempo", val, strlen(val));
-            } else if (memcmp(pName, "NDFL", 4) == 0) {
-                /* Removed */
-            } else {
-                tag_add_field(tags, pName, val, strlen(val));
-            }
-
-            free(val);
-        }
-
-        i++;
-    } while (pValue != NULL);
-
-    return 1;
-}
-
-
-#ifdef DEBUG_OUTPUT
-void in_mp4_DebugOutput(char *message)
-{
-    char s[1024];
-
-    sprintf(s, "in_mp4: %s", message);
-    OutputDebugString(s);
-}
-#endif
-
-int file_length(FILE *f)
-{
-    long end = 0;
-    long cur = ftell(f);
-    fseek(f, 0, SEEK_END);
-    end = ftell(f);
-    fseek(f, cur, SEEK_SET);
-
-    return end;
-}
-
-static void show_error(HWND hwnd, char *message, ...)
-{
-    if (m_show_errors)
-        MessageBox(hwnd, message, "Error", MB_OK);
-}
-
-static void config_init()
-{
-    char *p=INI_FILE;
-    GetModuleFileName(NULL,INI_FILE,_MAX_PATH);
-    while (*p) p++;
-    while (p >= INI_FILE && *p != '.') p--;
-    strcpy(p+1,"ini");
-}
-
-void config_read()
-{
-    char priority[10];
-    char resolution[10];
-    char show_errors[10];
-    char use_for_aac[10];
-    char downmix[10];
-    char vbr_display[10];
-
-    config_init();
-
-    strcpy(show_errors, "1");
-    strcpy(priority, "3");
-    strcpy(resolution, "0");
-    strcpy(use_for_aac, "1");
-    strcpy(downmix, "0");
-    strcpy(vbr_display, "1");
-    strcpy(titleformat, "%7");
-
-    RS(priority);
-    RS(resolution);
-    RS(show_errors);
-    RS(use_for_aac);
-    RS(downmix);
-    RS(vbr_display);
-    RS(titleformat);
-
-    m_priority = atoi(priority);
-    m_resolution = atoi(resolution);
-    m_show_errors = atoi(show_errors);
-    m_use_for_aac = atoi(use_for_aac);
-    m_downmix = atoi(downmix);
-    m_vbr_display = atoi(vbr_display);
-}
-
-void config_write()
-{
-    char priority[10];
-    char resolution[10];
-    char show_errors[10];
-    char use_for_aac[10];
-    char downmix[10];
-    char vbr_display[10];
-
-    itoa(m_priority, priority, 10);
-    itoa(m_resolution, resolution, 10);
-    itoa(m_show_errors, show_errors, 10);
-    itoa(m_use_for_aac, use_for_aac, 10);
-    itoa(m_downmix, downmix, 10);
-    itoa(m_vbr_display, vbr_display, 10);
-
-    WS(priority);
-    WS(resolution);
-    WS(show_errors);
-    WS(use_for_aac);
-    WS(downmix);
-    WS(vbr_display);
-    WS(titleformat);
-}
-
-void init()
-{
-    config_read();
-}
-
-void quit()
-{
-}
-
-/* Convert UNICODE to UTF-8
-   Return number of bytes written */
-int unicodeToUtf8 ( const WCHAR* lpWideCharStr, char* lpMultiByteStr, int cwcChars )
-{
-    const unsigned short*   pwc = (unsigned short *)lpWideCharStr;
-    unsigned char*          pmb = (unsigned char  *)lpMultiByteStr;
-    const unsigned short*   pwce;
-    size_t  cBytes = 0;
-
-    if ( cwcChars >= 0 ) {
-        pwce = pwc + cwcChars;
-    } else {
-        pwce = (unsigned short *)((size_t)-1);
-    }
-
-    while ( pwc < pwce ) {
-        unsigned short  wc = *pwc++;
-
-        if ( wc < 0x00000080 ) {
-            *pmb++ = (char)wc;
-            cBytes++;
-        } else
-        if ( wc < 0x00000800 ) {
-            *pmb++ = (char)(0xC0 | ((wc >>  6) & 0x1F));
-            cBytes++;
-            *pmb++ = (char)(0x80 |  (wc        & 0x3F));
-            cBytes++;
-        } else
-        if ( wc < 0x00010000 ) {
-            *pmb++ = (char)(0xE0 | ((wc >> 12) & 0x0F));
-            cBytes++;
-            *pmb++ = (char)(0x80 | ((wc >>  6) & 0x3F));
-            cBytes++;
-            *pmb++ = (char)(0x80 |  (wc        & 0x3F));
-            cBytes++;
-        }
-        if ( wc == L'\0' )
-            return cBytes;
-    }
-
-    return cBytes;
-}
-
-/* Convert UTF-8 coded string to UNICODE
-   Return number of characters converted */
-int utf8ToUnicode ( const char* lpMultiByteStr, WCHAR* lpWideCharStr, int cmbChars )
-{
-    const unsigned char*    pmb = (unsigned char  *)lpMultiByteStr;
-    unsigned short*         pwc = (unsigned short *)lpWideCharStr;
-    const unsigned char*    pmbe;
-    size_t  cwChars = 0;
-
-    if ( cmbChars >= 0 ) {
-        pmbe = pmb + cmbChars;
-    } else {
-        pmbe = (unsigned char *)((size_t)-1);
-    }
-
-    while ( pmb < pmbe ) {
-        char            mb = *pmb++;
-        unsigned int    cc = 0;
-        unsigned int    wc;
-
-        while ( (cc < 7) && (mb & (1 << (7 - cc)))) {
-            cc++;
-        }
-
-        if ( cc == 1 || cc > 6 )                    // illegal character combination for UTF-8
-            continue;
-
-        if ( cc == 0 ) {
-            wc = mb;
-        } else {
-            wc = (mb & ((1 << (7 - cc)) - 1)) << ((cc - 1) * 6);
-            while ( --cc > 0 ) {
-                if ( pmb == pmbe )                  // reached end of the buffer
-                    return cwChars;
-                mb = *pmb++;
-                if ( ((mb >> 6) & 0x03) != 2 )      // not part of multibyte character
-                    return cwChars;
-                wc |= (mb & 0x3F) << ((cc - 1) * 6);
-            }
-        }
-
-        if ( wc & 0xFFFF0000 )
-            wc = L'?';
-        *pwc++ = wc;
-        cwChars++;
-        if ( wc == L'\0' )
-            return cwChars;
-    }
-
-    return cwChars;
-}
-
-/* convert Windows ANSI to UTF-8 */
-int ConvertANSIToUTF8 ( const char* ansi, char* utf8 )
-{
-    WCHAR*  wszValue;          // Unicode value
-    size_t  ansi_len;
-    size_t  len;
-
-    *utf8 = '\0';
-    if ( ansi == NULL )
-        return 0;
-
-    ansi_len = strlen ( ansi );
-
-    if ( (wszValue = (WCHAR *)malloc ( (ansi_len + 1) * 2 )) == NULL )
-        return 0;
-
-    /* Convert ANSI value to Unicode */
-    if ( (len = MultiByteToWideChar ( CP_ACP, 0, ansi, ansi_len + 1, wszValue, (ansi_len + 1) * 2 )) == 0 ) {
-        free ( wszValue );
-        return 0;
-    }
-
-    /* Convert Unicode value to UTF-8 */
-    if ( (len = unicodeToUtf8 ( wszValue, utf8, -1 )) == 0 ) {
-        free ( wszValue );
-        return 0;
-    }
-
-    free ( wszValue );
-
-    return len-1;
-}
-
-/* convert UTF-8 to Windows ANSI */
-int ConvertUTF8ToANSI ( const char* utf8, char* ansi )
-{
-    WCHAR*  wszValue;          // Unicode value
-    size_t  utf8_len;
-    size_t  len;
-
-    *ansi = '\0';
-    if ( utf8 == NULL )
-        return 0;
-
-    utf8_len = strlen ( utf8 );
-
-    if ( (wszValue = (WCHAR *)malloc ( (utf8_len + 1) * 2 )) == NULL )
-        return 0;
-
-    /* Convert UTF-8 value to Unicode */
-    if ( (len = utf8ToUnicode ( utf8, wszValue, utf8_len + 1 )) == 0 ) {
-        free ( wszValue );
-        return 0;
-    }
-
-    /* Convert Unicode value to ANSI */
-    if ( (len = WideCharToMultiByte ( CP_ACP, 0, wszValue, -1, ansi, (utf8_len + 1) * 2, NULL, NULL )) == 0 ) {
-        free ( wszValue );
-        return 0;
-    }
-
-    free ( wszValue );
-
-    return len-1;
-}
-
-BOOL uSetDlgItemText(HWND hwnd, int id, const char *str)
-{
-    char *temp;
-    size_t len;
-    int r;
-
-    if (!str) return FALSE;
-    if (!*str) return TRUE;
-    len = strlen(str);
-    temp = malloc(len+1);
-    if (!temp) return FALSE;
-    r = ConvertUTF8ToANSI(str, temp);
-    if (r > 0)
-        SetDlgItemText(hwnd, id, temp);
-    free(temp);
-
-    return r>0 ? TRUE : FALSE;
-}
-
-UINT uGetDlgItemText(HWND hwnd, int id, char *str, int max)
-{
-    char *temp, *utf8;
-    int len;
-    HWND w;
-
-    if (!str || !max) return 0;
-    *str = '\0';
-    w = GetDlgItem(hwnd, id);
-    len = GetWindowTextLength(w);
-    temp = malloc(len+1);
-    if (!temp) return 0;
-    utf8 = malloc((len+1)*4);
-    if (!utf8)
-    {
-        free(temp);
-        return 0;
-    }
-
-    len = GetWindowText(w, temp, len+1);
-    if (len > 0)
-    {
-        len = ConvertANSIToUTF8(temp, utf8);
-        if (len > max-1)
-        {
-            len = max-1;
-            utf8[max] = '\0';
-        }
-        memcpy(str, utf8, len+1);
-    }
-
-    free(temp);
-    free(utf8);
-
-    return len;
-}
-
-static void mp4fileinfo(mp4ff_t *mp4, char *info, size_t len)
-{
-    char *ot[6] = { "NULL", "MAIN AAC", "LC AAC", "SSR AAC", "LTP AAC", "HE AAC" };
-    long samples;
-    float f = 1024.0;
-    float seconds;
-    int track;
-
-    NeAACDecHandle hDecoder;
-    NeAACDecFrameInfo frameInfo;
-    mp4AudioSpecificConfig mp4ASC = {0};
-    unsigned char *buffer = NULL;
-    int buffer_size = 0;
-    unsigned long sr = 0;
-    unsigned char ch = 0;
-
-    if ((track = GetAACTrack(mp4)) < 0)
-    {
-        info[0] = '\0';
-        return;
-    }
-
-    hDecoder = NeAACDecOpen();
-
-    samples = mp4ff_num_samples(mp4, track);
-
-    mp4ff_get_decoder_config(mp4, track, &buffer, &buffer_size);
-    if (buffer)
-    {
-        if (NeAACDecAudioSpecificConfig(buffer, buffer_size, &mp4ASC) >= 0)
-        {
-            if (mp4ASC.frameLengthFlag == 1) f = 960.0;
-            if (mp4ASC.sbr_present_flag == 1) f *= 2;
-        }
-
-        if(NeAACDecInit2(hDecoder, buffer, buffer_size, &sr, &ch) < 0)
-        {
-            /* If some error initializing occured, skip the file */
-            free(buffer);
-            return;
-        }
-
-        free(buffer);
-        buffer = NULL;
-    }
-
-    if (mp4ff_read_sample(mp4, track, 0, &buffer,  &buffer_size) == 0)
-    {
-        return;
-    }
-    NeAACDecDecode(hDecoder, &frameInfo, buffer, buffer_size);
-
-    if (buffer) free(buffer);
-
-    seconds = (float)samples*(float)(f-1.0)/(float)mp4ASC.samplingFrequency;
-
-    wsprintf(info, "MPEG-4 %s, %d.%d secs, %d ch, %d Hz\nSBR: %s\nParametric stereo: %s",
-        ot[(mp4ASC.objectTypeIndex > 5)?0:mp4ASC.objectTypeIndex],
-        (int)(seconds),
-        (int)(seconds*1000.0 + 0.5) % 1000,
-        mp4ASC.channelsConfiguration,
-        mp4ASC.samplingFrequency,
-        /* SBR: 0: off, 1: on; upsample, 2: on; downsampled, 3: off; upsampled */
-        (frameInfo.sbr == 0) ? "off" : ((frameInfo.sbr == 1) ? "on, normal" : ((frameInfo.sbr == 2) ? "on, downsampled" : "off, upsampled")),
-        (frameInfo.ps == 0) ? "no" : "yes");
-
-    NeAACDecClose(hDecoder);
-}
-
-BOOL CALLBACK mp4_info_dialog_proc(HWND hwndDlg, UINT message,
-                                   WPARAM wParam, LPARAM lParam)
-{
-    char file_info[1024];
-    mp4ff_t *file;
-    FILE *mp4File;
-    mp4ff_callback_t mp4cb = {0};
-    char *pVal;
-    mp4ff_metadata_t tags;
-    char dummy1[1024];
-    char temp[1024];
-    int dummy, dummy2, dummy3;
-    tags.count = 0;
-    tags.tags = NULL;
-
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("mp4_info_dialog_proc");
-#endif
-
-    switch (message) {
-    case WM_INITDIALOG:
-        EnableWindow(GetDlgItem(hwndDlg,IDC_CONVERT), FALSE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_CONVERT), SW_HIDE);
-        EnableWindow(GetDlgItem(hwndDlg,IDC_CONVERT1), FALSE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_CONVERT1), SW_HIDE);
-        EnableWindow(GetDlgItem(hwndDlg,IDC_CONVERT2), FALSE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_CONVERT2), SW_HIDE);
-
-        mp4File = fopen(info_fn, "rb");
-        mp4cb.read = read_callback;
-        mp4cb.seek = seek_callback;
-        mp4cb.user_data = mp4File;
-
-
-        file = mp4ff_open_read(&mp4cb);
-        if (file == NULL)
-            return FALSE;
-
-        mp4fileinfo(file, file_info, 1024);
-        SetDlgItemText(hwndDlg, IDC_INFOTEXT, file_info);
-
-        /* get Metadata */
-
-        pVal = NULL;
-        if (mp4ff_meta_get_title(file, &pVal))
-            uSetDlgItemText(hwndDlg,IDC_METANAME, pVal);
-
-        pVal = NULL;
-        if (mp4ff_meta_get_artist(file, &pVal))
-            uSetDlgItemText(hwndDlg,IDC_METAARTIST, pVal);
-
-        pVal = NULL;
-        if (mp4ff_meta_get_writer(file, &pVal))
-            uSetDlgItemText(hwndDlg,IDC_METAWRITER, pVal);
-
-        pVal = NULL;
-        if (mp4ff_meta_get_comment(file, &pVal))
-            uSetDlgItemText(hwndDlg,IDC_METACOMMENTS, pVal);
-
-        pVal = NULL;
-        if (mp4ff_meta_get_album(file, &pVal))
-            uSetDlgItemText(hwndDlg,IDC_METAALBUM, pVal);
-
-        pVal = NULL;
-        if (mp4ff_meta_get_genre(file, &pVal))
-            uSetDlgItemText(hwndDlg,IDC_METAGENRE, pVal);
-
-        pVal = NULL;
-        if (mp4ff_meta_get_track(file, &pVal))
-        {
-            SetDlgItemText(hwndDlg,IDC_METATRACK1, pVal);
-
-            //pVal = NULL;
-            //mp4ff_meta_get_totaltracks(file, &pVal);
-            //SetDlgItemText(hwndDlg, IDC_METATRACK2, pVal);
-        }
-
-        pVal = NULL;
-        if (mp4ff_meta_get_disc(file, &pVal))
-        {
-            SetDlgItemText(hwndDlg,IDC_METADISK1, pVal);
-
-            //pVal = NULL;
-            //mp4ff_meta_get_totaldiscs(file, &pVal);
-            //SetDlgItemText(hwndDlg,IDC_METADISK2, pVal);
-        }
-
-        pVal = NULL;
-        if (mp4ff_meta_get_date(file, &pVal))
-            uSetDlgItemText(hwndDlg,IDC_METAYEAR, pVal);
-
-#if 0
-        /* WERKT NIET */
-#endif
-        pVal = NULL;
-        if (mp4ff_meta_get_compilation(file, &pVal))
-        {
-            if (strcmp(pVal, "1") == 0)
-            {
-                SendMessage(GetDlgItem(hwndDlg, IDC_METACOMPILATION), BM_SETCHECK, BST_CHECKED, 0);
-            }
-        }
-
-        /* ! Metadata */
-
-        mp4ff_close(file);
-        fclose(mp4File);
-
-        return TRUE;
-
-    case WM_COMMAND:
-        switch (LOWORD(wParam)) {
-        case IDCANCEL:
-            EndDialog(hwndDlg, wParam);
-            return TRUE;
-        case IDOK:
-
-            /* trying to edit currently playing file */
-
-            if (!stricmp(info_fn, mp4state.filename))
-            {
-                MessageBox(module.hMainWindow, "Please stop playback before editing tags", "in_mp4", MB_ICONINFORMATION|MB_OK);
-                return TRUE;
-            }
-
-            /* save Metadata changes */
-
-            tag_delete(&tags);
-
-            mp4File = fopen(info_fn, "rb");
-            mp4cb.read = read_callback;
-            mp4cb.seek = seek_callback;
-            mp4cb.write = write_callback;
-            mp4cb.truncate = truncate_callback;
-            mp4cb.user_data = mp4File;
-
-
-            file = mp4ff_open_read(&mp4cb);
-            if (file != NULL)
-            {
-                ReadMP4Tag(file, &tags);
-                mp4ff_close(file);
-                fclose(mp4File);
-            }
-
-            mp4File = fopen(info_fn, "rb+");
-            mp4cb.read = read_callback;
-            mp4cb.seek = seek_callback;
-            mp4cb.write = write_callback;
-            mp4cb.truncate = truncate_callback;
-            mp4cb.user_data = mp4File;
-
-
-            uGetDlgItemText(hwndDlg, IDC_METANAME, dummy1, 1024);
-            tag_set_field(&tags, "title", dummy1, strlen(dummy1));
-
-            uGetDlgItemText(hwndDlg, IDC_METAWRITER, dummy1, 1024);
-            tag_set_field(&tags, "writer", dummy1, strlen(dummy1));
-
-            uGetDlgItemText(hwndDlg, IDC_METAARTIST, dummy1, 1024);
-            tag_set_field(&tags, "artist", dummy1, strlen(dummy1));
-
-            uGetDlgItemText(hwndDlg, IDC_METAALBUM, dummy1, 1024);
-            tag_set_field(&tags, "album", dummy1, strlen(dummy1));
-
-            uGetDlgItemText(hwndDlg, IDC_METACOMMENTS, dummy1, 1024);
-            tag_set_field(&tags, "comment", dummy1, strlen(dummy1));
-
-            uGetDlgItemText(hwndDlg, IDC_METAGENRE, dummy1, 1024);
-            tag_set_field(&tags, "genre", dummy1, strlen(dummy1));
-
-            uGetDlgItemText(hwndDlg, IDC_METAYEAR, dummy1, 1024);
-            tag_set_field(&tags, "year", dummy1, strlen(dummy1));
-
-            GetDlgItemText(hwndDlg, IDC_METATRACK1, dummy1, 1024);
-            dummy = atoi(dummy1);
-            //GetDlgItemText(hwndDlg, IDC_METATRACK2, dummy1, 1024);
-            //dummy2 = atoi(dummy1);
-            //wsprintf(temp, "%d/%d", dummy, dummy2);
-            wsprintf(temp, "%d", dummy);
-            tag_set_field(&tags, "track", temp, strlen(dummy1));
-
-            GetDlgItemText(hwndDlg, IDC_METADISK1, dummy1, 1024);
-            dummy = atoi(dummy1);
-            //GetDlgItemText(hwndDlg, IDC_METADISK2, dummy1, 1024);
-            //dummy2 = atoi(dummy1);
-            //wsprintf(temp, "%d/%d", dummy, dummy2);
-            wsprintf(temp, "%d", dummy);
-            tag_set_field(&tags, "disc", temp, strlen(dummy1));
-
-            dummy3 = SendMessage(GetDlgItem(hwndDlg, IDC_METACOMPILATION), BM_GETCHECK, 0, 0);
-            tag_set_field(&tags, "compilation", (dummy3 ? "1" : "0"), 1);
-
-            mp4ff_meta_update(&mp4cb, &tags);
-
-            fclose(mp4File);
-
-            /* ! */
-
-            EndDialog(hwndDlg, wParam);
-            return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-/* returns the name of the object type */
-char *get_ot_string(int ot)
-{
-    switch (ot)
-    {
-    case 0:
-        return "Main";
-    case 1:
-        return "LC";
-    case 2:
-        return "SSR";
-    case 3:
-        return "LTP";
-    }
-    return NULL;
-}
-
-BOOL CALLBACK aac_info_dialog_proc(HWND hwndDlg, UINT message,
-                                   WPARAM wParam, LPARAM lParam)
-{
-    faadAACInfo aacInfo;
-    char *info_text, *header_string;
-
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("aac_info_dialog_proc");
-#endif
-
-    switch (message) {
-    case WM_INITDIALOG:
-        EnableWindow(GetDlgItem(hwndDlg,IDC_USERDATA), FALSE) ;
-        ShowWindow(GetDlgItem(hwndDlg,IDC_USERDATA), SW_HIDE);
-
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC1), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC2), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC3), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC4), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC5), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC6), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC7), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC8), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC9), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC10), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC11), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_STATIC12), SW_HIDE);
-
-        ShowWindow(GetDlgItem(hwndDlg,IDC_METANAME), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_METAARTIST), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_METAWRITER), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_METACOMMENTS), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_METAALBUM), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_METAGENRE), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_METATRACK1), SW_HIDE);
-        //ShowWindow(GetDlgItem(hwndDlg,IDC_METATRACK2), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_METADISK1), SW_HIDE);
-        //ShowWindow(GetDlgItem(hwndDlg,IDC_METADISK2), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_METAYEAR), SW_HIDE);
-        ShowWindow(GetDlgItem(hwndDlg,IDC_METACOMPILATION), SW_HIDE);
-
-        info_text = malloc(1024*sizeof(char));
-
-        get_AAC_format(info_fn, &aacInfo);
-
-        switch (aacInfo.headertype)
-        {
-        case 0: /* RAW */
-            header_string = " RAW";
-            break;
-        case 1: /* ADIF */
-            header_string = " ADIF";
-            break;
-        case 2: /* ADTS */
-            header_string = " ADTS";
-            break;
-        }
-
-        sprintf(info_text, "%s AAC %s%s, %d sec, %d kbps, %d Hz",
-            (aacInfo.version==2)?"MPEG-2":"MPEG-4", get_ot_string(aacInfo.object_type),
-            header_string,
-            (int)((float)aacInfo.length/1000.0), (int)((float)aacInfo.bitrate/1000.0+0.5),
-            aacInfo.sampling_rate);
-
-        SetDlgItemText(hwndDlg, IDC_INFOTEXT, info_text);
-
-        free(info_text);
-
-        return TRUE;
-
-    case WM_COMMAND:
-        switch (LOWORD(wParam))
-        {
-        case IDCANCEL:
-        case IDOK:
-            EndDialog(hwndDlg, wParam);
-            return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-int infoDlg(char *fn, HWND hwndParent)
-{
-    if(!stricmp(fn + strlen(fn) - 3,"AAC"))
-    {
-        lstrcpy(info_fn, fn);
-
-        DialogBox(module.hDllInstance, MAKEINTRESOURCE(IDD_INFO),
-            hwndParent, aac_info_dialog_proc);
-    } else {
-        lstrcpy(info_fn, fn);
-
-        DialogBox(module.hDllInstance, MAKEINTRESOURCE(IDD_INFO),
-            hwndParent, mp4_info_dialog_proc);
-    }
-
-    return 0;
-}
-
-/* Get the title from the file */
-void ConstructTitle(mp4ff_t *file, char *filename, char *title, char *format)
-{
-    char temp[4096];
-    int some_info = 0;
-    char *in = format;
-    char *out = temp;//title;
-    char *bound = out + sizeof(temp) - 256; //out + (MAX_PATH - 10 - 1);
-    char *pVal, dummy1[1024];
-    short dummy, dummy2;
-
-    while (*in && out < bound)
-    {
-        switch (*in)
-        {
-        case '%':
-            ++in;
-            break;
-
-        default:
-            *out++ = *in++;
-            continue;
-        }
-
-        /* handle % escape sequence */
-        switch (*in++)
-        {
-        case '0':
-            pVal = NULL;
-            if (mp4ff_meta_get_track(file, &pVal))
-            {
-                out += wsprintf(out, "%s", pVal);
-                some_info = 1;
-            }
-            break;
-
-        case '1':
-            pVal = NULL;
-            if (mp4ff_meta_get_artist(file, &pVal))
-            {
-                out += wsprintf(out, "%s", pVal);
-                some_info = 1;
-            }
-            break;
-
-        case '2':
-            pVal = NULL;
-            if (mp4ff_meta_get_title(file, &pVal))
-            {
-                out += wsprintf(out, "%s", pVal);
-                some_info = 1;
-            }
-            break;
-
-        case '3':
-            pVal = NULL;
-            if (mp4ff_meta_get_album(file, &pVal))
-            {
-                out += wsprintf(out, "%s", pVal);
-                some_info = 1;
-            }
-            break;
-
-        case '4':
-            pVal = NULL;
-            if (mp4ff_meta_get_date(file, &pVal))
-            {
-                out += wsprintf(out, "%s", pVal);
-                some_info = 1;
-            }
-            break;
-
-        case '5':
-            pVal = NULL;
-            if (mp4ff_meta_get_comment(file, &pVal))
-            {
-                out += wsprintf(out, "%s", pVal);
-                some_info = 1;
-            }
-            break;
-
-        case '6':
-            pVal = NULL;
-            if (mp4ff_meta_get_genre(file, &pVal))
-            {
-                out += wsprintf(out, "%s", pVal);
-                some_info = 1;
-            }
-            break;
-
-        case '7':
-            {
-                const char *p=strrchr(filename,'\\');
-                if (!p) p=filename; else p++;
-                out += ConvertANSIToUTF8(p, out);
-                some_info = 1;
-                break;
-            }
-
-        default:
-            break;
-        }
-    }
-
-    *out = '\0';
-
-    if (!some_info)
-    {
-        char *p=filename+lstrlen(filename);
-        while (*p != '\\' && p >= filename) p--;
-        lstrcpy(title,++p);
-    }
-    else
-    {
-        int len = ConvertUTF8ToANSI(temp, dummy1);
-        if (len > (MAX_PATH - 10 - 1)) len = (MAX_PATH - 10 - 1);
-        memcpy(title, dummy1, len);
-        title[len] = '\0';
-    }
-}
-
-BOOL CALLBACK config_dialog_proc(HWND hwndDlg, UINT message,
-                                 WPARAM wParam, LPARAM lParam)
-{
-    int i;
-
-    switch (message) {
-    case WM_INITDIALOG:
-        SendMessage(GetDlgItem(hwndDlg, IDC_PRIORITY), TBM_SETRANGE, TRUE, MAKELONG(1,5));
-        SendMessage(GetDlgItem(hwndDlg, IDC_PRIORITY), TBM_SETPOS, TRUE, m_priority);
-        SendMessage(GetDlgItem(hwndDlg, res_id_table[m_resolution]), BM_SETCHECK, BST_CHECKED, 0);
-        if (m_show_errors)
-            SendMessage(GetDlgItem(hwndDlg, IDC_ERROR), BM_SETCHECK, BST_CHECKED, 0);
-        if (m_use_for_aac)
-            SendMessage(GetDlgItem(hwndDlg, IDC_USEFORAAC), BM_SETCHECK, BST_CHECKED, 0);
-        if (m_downmix)
-            SendMessage(GetDlgItem(hwndDlg, IDC_DOWNMIX), BM_SETCHECK, BST_CHECKED, 0);
-        if (m_vbr_display)
-            SendMessage(GetDlgItem(hwndDlg, IDC_VBR), BM_SETCHECK, BST_CHECKED, 0);
-        SetDlgItemText(hwndDlg, IDC_TITLEFORMAT, titleformat);
-        return TRUE;
-
-    case WM_COMMAND:
-        switch (LOWORD(wParam)) {
-        case IDCANCEL:
-            EndDialog(hwndDlg, wParam);
-            return TRUE;
-        case IDOK:
-            m_show_errors = SendMessage(GetDlgItem(hwndDlg, IDC_ERROR), BM_GETCHECK, 0, 0);
-            m_use_for_aac = SendMessage(GetDlgItem(hwndDlg, IDC_USEFORAAC), BM_GETCHECK, 0, 0);
-            m_downmix = SendMessage(GetDlgItem(hwndDlg, IDC_DOWNMIX), BM_GETCHECK, 0, 0);
-            m_vbr_display = SendMessage(GetDlgItem(hwndDlg, IDC_VBR), BM_GETCHECK, 0, 0);
-            GetDlgItemText(hwndDlg, IDC_TITLEFORMAT, titleformat, MAX_PATH);
-
-            m_priority = SendMessage(GetDlgItem(hwndDlg, IDC_PRIORITY), TBM_GETPOS, 0, 0);
-            for (i = 0; i < 6; i++)
-            {
-                if (SendMessage(GetDlgItem(hwndDlg, res_id_table[i]), BM_GETCHECK, 0, 0))
-                {
-                    m_resolution = i;
-                    break;
-                }
-            }
-
-            /* save config */
-            config_write();
-
-            if (!m_use_for_aac)
-            {
-                module.FileExtensions = short_ext_list;
-            } else {
-                module.FileExtensions = long_ext_list;
-            }
-
-            EndDialog(hwndDlg, wParam);
-            return TRUE;
-        }
-    }
-    return FALSE;
-}
-
-void config(HWND hwndParent)
-{
-    DialogBox(module.hDllInstance, MAKEINTRESOURCE(IDD_CONFIG),
-        hwndParent, config_dialog_proc);
-
-    return;
-}
-
-void about(HWND hwndParent)
-{
-    MessageBox(hwndParent,
-        "AudioCoding.com MPEG-4 AAC player " FAAD2_VERSION " compiled on " __DATE__ ".\n"
-        "Visit the website for more info.\n"
-        "Copyright 2002-2004 AudioCoding.com",
-        "About",
-        MB_OK);
-}
-
-int isourfile(char *fn)
-{
-    if (!stricmp(fn + strlen(fn) - 3,"MP4") || !stricmp(fn + strlen(fn) - 3,"M4A"))
-    {
-        return 1;
-    } else if (m_use_for_aac) {
-        if (!stricmp(fn + strlen(fn) - 3,"AAC"))
-        {
-            return 1;
-        }
-    }
-
-    return 0;
-}
-
-int fill_buffer(state *st)
-{
-    int bread;
-
-    if (st->m_aac_bytes_consumed > 0)
-    {
-        if (st->m_aac_bytes_into_buffer)
-        {
-            memmove((void*)st->m_aac_buffer, (void*)(st->m_aac_buffer + st->m_aac_bytes_consumed),
-                st->m_aac_bytes_into_buffer*sizeof(unsigned char));
-        }
-
-        if (!st->m_at_eof)
-        {
-            bread = fread((void*)(st->m_aac_buffer + st->m_aac_bytes_into_buffer),
-                1, st->m_aac_bytes_consumed, st->aacfile);
-
-            if (bread != st->m_aac_bytes_consumed)
-                st->m_at_eof = 1;
-
-            st->m_aac_bytes_into_buffer += bread;
-        }
-
-        st->m_aac_bytes_consumed = 0;
-
-        if (st->m_aac_bytes_into_buffer > 3)
-        {
-            if (memcmp(st->m_aac_buffer, "TAG", 3) == 0)
-                st->m_aac_bytes_into_buffer = 0;
-        }
-        if (st->m_aac_bytes_into_buffer > 11)
-        {
-            if (memcmp(st->m_aac_buffer, "LYRICSBEGIN", 11) == 0)
-                st->m_aac_bytes_into_buffer = 0;
-        }
-        if (st->m_aac_bytes_into_buffer > 8)
-        {
-            if (memcmp(st->m_aac_buffer, "APETAGEX", 8) == 0)
-                st->m_aac_bytes_into_buffer = 0;
-        }
-    }
-
-    return 1;
-}
-
-void advance_buffer(state *st, int bytes)
-{
-    st->m_file_offset += bytes;
-    st->m_aac_bytes_consumed = bytes;
-    st->m_aac_bytes_into_buffer -= bytes;
-}
-
-int adts_parse(state *st, __int64 *bitrate, double *length)
-{
-    static int sample_rates[] = {96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000};
-    int frames, frame_length;
-    int t_framelength = 0;
-    int samplerate;
-    double frames_per_sec, bytes_per_frame;
-
-    /* Read all frames to ensure correct time and bitrate */
-    for (frames = 0; /* */; frames++)
-    {
-        fill_buffer(st);
-
-        if (st->m_aac_bytes_into_buffer > 7)
-        {
-            /* check syncword */
-            if (!((st->m_aac_buffer[0] == 0xFF)&&((st->m_aac_buffer[1] & 0xF6) == 0xF0)))
-                break;
-
-            st->m_tail->offset = st->m_file_offset;
-            st->m_tail->next = (struct seek_list*)malloc(sizeof(struct seek_list));
-            st->m_tail = st->m_tail->next;
-            st->m_tail->next = NULL;
-
-            if (frames == 0)
-                samplerate = sample_rates[(st->m_aac_buffer[2]&0x3c)>>2];
-
-            frame_length = ((((unsigned int)st->m_aac_buffer[3] & 0x3)) << 11)
-                | (((unsigned int)st->m_aac_buffer[4]) << 3) | (st->m_aac_buffer[5] >> 5);
-
-            t_framelength += frame_length;
-
-            if (frame_length > st->m_aac_bytes_into_buffer)
-                break;
-
-            advance_buffer(st, frame_length);
-        } else {
-            break;
-        }
-    }
-
-    frames_per_sec = (double)samplerate/1024.0;
-    if (frames != 0)
-        bytes_per_frame = (double)t_framelength/(double)(frames*1000);
-    else
-        bytes_per_frame = 0;
-    *bitrate = (__int64)(8. * bytes_per_frame * frames_per_sec + 0.5);
-    if (frames_per_sec != 0)
-        *length = (double)frames/frames_per_sec;
-    else
-        *length = 1;
-
-    return 1;
-}
-
-int skip_id3v2_tag()
-{
-    unsigned char buf[10];
-    int bread, tagsize = 0;
-
-    bread = fread(buf, 1, 10, mp4state.aacfile);
-    if (bread != 10) return -1;
-
-    if (!memcmp(buf, "ID3", 3))
-    {
-        /* high bit is not used */
-        tagsize = (buf[6] << 21) | (buf[7] << 14) | (buf[8] << 7) | (buf[9] << 0);
-
-        tagsize += 10;
-        fseek(mp4state.aacfile, tagsize, SEEK_SET);
-    } else {
-        fseek(mp4state.aacfile, 0, SEEK_SET);
-    }
-
-    return tagsize;
-}
-
-int play(char *fn)
-{
-    int maxlatency;
-    int thread_id;
-    int avg_bitrate, br, sr;
-    unsigned char *buffer;
-    int buffer_size;
-    NeAACDecConfigurationPtr config;
-    unsigned char header[8];
-    FILE *hMP4File;
-
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("play");
-#endif
-
-    memset(&mp4state, 0, sizeof(state));
-
-    lstrcpy(mp4state.filename, fn);
-
-    hMP4File = fopen(mp4state.filename, "rb");
-    if (!hMP4File)
-    {
-        return -1;
-    }
-    fread(header, 1, 8, hMP4File);
-    fclose(hMP4File);
-    mp4state.filetype = 1;
-    if (header[4] == 'f' && header[5] == 't' && header[6] == 'y' && header[7] == 'p')
-        mp4state.filetype = 0;
-
-    if (mp4state.filetype)
-    {
-        int tagsize = 0, tmp = 0, init;
-        int bread = 0;
-        double length = 0.;
-        __int64 bitrate = 128;
-//        NeAACDecFrameInfo frameInfo;
-
-        module.is_seekable = 1;
-
-        if (!(mp4state.aacfile = fopen(mp4state.filename, "rb")))
-        {
-            // error
-            return -1;
-        }
-
-        tagsize = skip_id3v2_tag();
-        if (tagsize<0) return 0;
-
-        if (!(mp4state.m_aac_buffer = (unsigned char*)malloc(768*6)))
-        {
-            show_error(module.hMainWindow, "Memory allocation error.");
-            return -1;
-        }
-
-        for (init=0; init<2; init++)
-        {
-            mp4state.hDecoder = NeAACDecOpen();
-            if (!mp4state.hDecoder)
-            {
-                show_error(module.hMainWindow, "Unable to open decoder library.");
-                return -1;
-            }
-
-            config = NeAACDecGetCurrentConfiguration(mp4state.hDecoder);
-            config->outputFormat = m_resolution + 1;
-            config->downMatrix = m_downmix;
-            NeAACDecSetConfiguration(mp4state.hDecoder, config);
-
-            memset(mp4state.m_aac_buffer, 0, 768*6);
-            bread = fread(mp4state.m_aac_buffer, 1, 768*6, mp4state.aacfile);
-            mp4state.m_aac_bytes_into_buffer = bread;
-            mp4state.m_aac_bytes_consumed = 0;
-            mp4state.m_file_offset = 0;
-            mp4state.m_at_eof = (bread != 768*6) ? 1 : 0;
-
-            if (init==0)
-            {
-                NeAACDecFrameInfo frameInfo;
-
-                fill_buffer(&mp4state);
-
-                if ((mp4state.m_aac_bytes_consumed = NeAACDecInit(mp4state.hDecoder,
-                    mp4state.m_aac_buffer, mp4state.m_aac_bytes_into_buffer,
-                    &mp4state.samplerate, &mp4state.channels)) < 0)
-                {
-                    show_error(module.hMainWindow, "Can't initialize decoder library.");
-                    return -1;
-                }
-                advance_buffer(&mp4state, mp4state.m_aac_bytes_consumed);
-
-                do {
-                    memset(&frameInfo, 0, sizeof(NeAACDecFrameInfo));
-                    fill_buffer(&mp4state);
-                    NeAACDecDecode(mp4state.hDecoder, &frameInfo, mp4state.m_aac_buffer, mp4state.m_aac_bytes_into_buffer);
-                } while (!frameInfo.samples && !frameInfo.error);
-
-                if (frameInfo.error)
-                {
-                    show_error(module.hMainWindow, NeAACDecGetErrorMessage(frameInfo.error));
-                    return -1;
-                }
-
-                mp4state.channels = frameInfo.channels;
-                mp4state.samplerate = frameInfo.samplerate;
-                mp4state.framesize = (frameInfo.channels != 0) ? frameInfo.samples/frameInfo.channels : 0;
-                /*
-                sbr = frameInfo.sbr;
-                profile = frameInfo.object_type;
-                header_type = frameInfo.header_type;
-                */
-
-                NeAACDecClose(mp4state.hDecoder);
-                fseek(mp4state.aacfile, tagsize, SEEK_SET);
-            }
-        }
-
-        mp4state.m_head = (struct seek_list*)malloc(sizeof(struct seek_list));
-        mp4state.m_tail = mp4state.m_head;
-        mp4state.m_tail->next = NULL;
-
-        mp4state.m_header_type = 0;
-        if ((mp4state.m_aac_buffer[0] == 0xFF) && ((mp4state.m_aac_buffer[1] & 0xF6) == 0xF0))
-        {
-            if (1) //(can_seek)
-            {
-                adts_parse(&mp4state, &bitrate, &length);
-                fseek(mp4state.aacfile, tagsize, SEEK_SET);
-
-                bread = fread(mp4state.m_aac_buffer, 1, 768*6, mp4state.aacfile);
-                if (bread != 768*6)
-                    mp4state.m_at_eof = 1;
-                else
-                    mp4state.m_at_eof = 0;
-                mp4state.m_aac_bytes_into_buffer = bread;
-                mp4state.m_aac_bytes_consumed = 0;
-
-                mp4state.m_header_type = 1;
-            }
-        } else if (memcmp(mp4state.m_aac_buffer, "ADIF", 4) == 0) {
-            int skip_size = (mp4state.m_aac_buffer[4] & 0x80) ? 9 : 0;
-            bitrate = ((unsigned int)(mp4state.m_aac_buffer[4 + skip_size] & 0x0F)<<19) |
-                ((unsigned int)mp4state.m_aac_buffer[5 + skip_size]<<11) |
-                ((unsigned int)mp4state.m_aac_buffer[6 + skip_size]<<3) |
-                ((unsigned int)mp4state.m_aac_buffer[7 + skip_size] & 0xE0);
-
-            length = (double)file_length(mp4state.aacfile);
-            if (length == -1)
-            {
-                module.is_seekable = 0;
-                length = 0;
-            } else {
-                length = ((double)length*8.)/((double)bitrate) + 0.5;
-            }
-
-            mp4state.m_header_type = 2;
-        } else {
-            length = (double)file_length(mp4state.aacfile);
-            length = ((double)length*8.)/((double)bitrate*1000.) + 0.5;
-
-            module.is_seekable = 1;
-        }
-
-        mp4state.m_length = (int)(length*1000.);
-
-        fill_buffer(&mp4state);
-        if ((mp4state.m_aac_bytes_consumed = NeAACDecInit(mp4state.hDecoder,
-            mp4state.m_aac_buffer, mp4state.m_aac_bytes_into_buffer,
-            &mp4state.samplerate, &mp4state.channels)) < 0)
-        {
-            show_error(module.hMainWindow, "Can't initialize decoder library.");
-            return -1;
-        }
-        advance_buffer(&mp4state, mp4state.m_aac_bytes_consumed);
-
-        if (mp4state.m_header_type == 2)
-            avg_bitrate = bitrate;
-        else
-            avg_bitrate = bitrate*1000;
-    } else {
-        mp4state.hDecoder = NeAACDecOpen();
-        if (!mp4state.hDecoder)
-        {
-            show_error(module.hMainWindow, "Unable to open decoder library.");
-            return -1;
-        }
-
-        config = NeAACDecGetCurrentConfiguration(mp4state.hDecoder);
-        config->outputFormat = m_resolution + 1;
-        config->downMatrix = m_downmix;
-        NeAACDecSetConfiguration(mp4state.hDecoder, config);
-
-        mp4state.mp4File = fopen(mp4state.filename, "rb");
-        mp4state.mp4cb.read = read_callback;
-        mp4state.mp4cb.seek = seek_callback;
-        mp4state.mp4cb.user_data = mp4state.mp4File;
-
-
-        mp4state.mp4file = mp4ff_open_read(&mp4state.mp4cb);
-        if (!mp4state.mp4file)
-        {
-            show_error(module.hMainWindow, "Unable to open file.");
-            NeAACDecClose(mp4state.hDecoder);
-            return -1;
-        }
-
-        if ((mp4state.mp4track = GetAACTrack(mp4state.mp4file)) < 0)
-        {
-            show_error(module.hMainWindow, "Unsupported Audio track type.");
-            NeAACDecClose(mp4state.hDecoder);
-            mp4ff_close(mp4state.mp4file);
-            fclose(mp4state.mp4File);
-            return -1;
-        }
-
-        buffer = NULL;
-        buffer_size = 0;
-        mp4ff_get_decoder_config(mp4state.mp4file, mp4state.mp4track,
-            &buffer, &buffer_size);
-        if (!buffer)
-        {
-            NeAACDecClose(mp4state.hDecoder);
-            mp4ff_close(mp4state.mp4file);
-            fclose(mp4state.mp4File);
-            return -1;
-        }
-
-        if(NeAACDecInit2(mp4state.hDecoder, buffer, buffer_size,
-            &mp4state.samplerate, &mp4state.channels) < 0)
-        {
-            /* If some error initializing occured, skip the file */
-            NeAACDecClose(mp4state.hDecoder);
-            mp4ff_close(mp4state.mp4file);
-            fclose(mp4state.mp4File);
-            if (buffer) free (buffer);
-            return -1;
-        }
-
-        /* for gapless decoding */
-        {
-            mp4AudioSpecificConfig mp4ASC;
-
-            mp4state.timescale = mp4ff_time_scale(mp4state.mp4file, mp4state.mp4track);
-            mp4state.framesize = 1024;
-            mp4state.useAacLength = 0;
-
-            if (buffer)
-            {
-                if (NeAACDecAudioSpecificConfig(buffer, buffer_size, &mp4ASC) >= 0)
-                {
-                    if (mp4ASC.frameLengthFlag == 1) mp4state.framesize = 960;
-                    if (mp4ASC.sbr_present_flag == 1) mp4state.framesize *= 2;
-                }
-            }
-        }
-
-        free(buffer);
-
-        avg_bitrate = mp4ff_get_avg_bitrate(mp4state.mp4file, mp4state.mp4track);
-
-        mp4state.numSamples = mp4ff_num_samples(mp4state.mp4file, mp4state.mp4track);
-        mp4state.sampleId = 0;
-
-        {
-            double timescale_div = 1.0 / (double)mp4ff_time_scale(mp4state.mp4file, mp4state.mp4track);
-            int64_t duration = mp4ff_get_track_duration_use_offsets(mp4state.mp4file, mp4state.mp4track);
-            if (duration == -1)
-            {
-                mp4state.m_length = 0;
-            } else {
-                mp4state.m_length = (int)((double)duration * timescale_div * 1000.0);
-            }
-        }
-
-        module.is_seekable = 1;
-    }
-
-    if (mp4state.channels == 0)
-    {
-        show_error(module.hMainWindow, "Number of channels not supported for playback.");
-        NeAACDecClose(mp4state.hDecoder);
-        if (mp4state.filetype)
-            fclose(mp4state.aacfile);
-        else {
-            mp4ff_close(mp4state.mp4file);
-            fclose(mp4state.mp4File);
-        }
-        return -1;
-    }
-
-    if (m_downmix && (mp4state.channels == 5 || mp4state.channels == 6))
-        mp4state.channels = 2;
-
-    maxlatency = module.outMod->Open(mp4state.samplerate, (int)mp4state.channels,
-        res_table[m_resolution], -1, -1);
-
-    if (maxlatency < 0) // error opening device
-    {
-        NeAACDecClose(mp4state.hDecoder);
-        if (mp4state.filetype)
-            fclose(mp4state.aacfile);
-        else {
-            mp4ff_close(mp4state.mp4file);
-            fclose(mp4state.mp4File);
-        }
-        return -1;
-    }
-
-    mp4state.paused        =  0;
-    mp4state.decode_pos_ms =  0;
-    mp4state.seek_needed   = -1;
-
-    // initialize vis stuff
-    module.SAVSAInit(maxlatency, mp4state.samplerate);
-    module.VSASetInfo((int)mp4state.channels, mp4state.samplerate);
-
-    br = (int)floor(((float)avg_bitrate + 500.0)/1000.0 + 0.5);
-    sr = (int)floor((float)mp4state.samplerate/1000.0 + 0.5);
-    module.SetInfo(br, sr, (int)mp4state.channels, 1);
-
-    module.outMod->SetVolume(-666); // set the output plug-ins default volume
-
-    killPlayThread = 0;
-
-    if (mp4state.filetype)
-    {
-        if ((play_thread_handle = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)AACPlayThread,
-            (void *)&killPlayThread, 0, &thread_id)) == NULL)
-        {
-            show_error(module.hMainWindow, "Cannot create playback thread");
-            NeAACDecClose(mp4state.hDecoder);
-            fclose(mp4state.aacfile);
-            return -1;
-        }
-    } else {
-        if ((play_thread_handle = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)MP4PlayThread,
-            (void *)&killPlayThread, 0, &thread_id)) == NULL)
-        {
-            show_error(module.hMainWindow, "Cannot create playback thread");
-            NeAACDecClose(mp4state.hDecoder);
-            mp4ff_close(mp4state.mp4file);
-            fclose(mp4state.mp4File);
-            return -1;
-        }
-    }
-
-    SetThreadAffinityMask(play_thread_handle, 1);
-
-    SetThreadPriority(play_thread_handle, priority_table[m_priority]);
-
-    return 0;
-}
-
-void pause()
-{
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("pause");
-#endif
-
-    mp4state.paused = 1;
-    module.outMod->Pause(1);
-}
-
-void unpause()
-{
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("unpause");
-#endif
-
-    mp4state.paused = 0;
-    module.outMod->Pause(0);
-}
-
-int ispaused()
-{
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("ispaused");
-#endif
-
-    return mp4state.paused;
-}
-
-void setvolume(int volume)
-{
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("setvolume");
-#endif
-
-    module.outMod->SetVolume(volume);
-}
-
-void setpan(int pan)
-{
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("setpan");
-#endif
-
-    module.outMod->SetPan(pan);
-}
-
-void stop()
-{
-    struct seek_list *target = mp4state.m_head;
-
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("stop");
-#endif
-
-    killPlayThread = 1;
-
-    if (play_thread_handle != INVALID_HANDLE_VALUE)
-    {
-        if (WaitForSingleObject(play_thread_handle, INFINITE) == WAIT_TIMEOUT)
-            TerminateThread(play_thread_handle,0);
-        CloseHandle(play_thread_handle);
-        play_thread_handle = INVALID_HANDLE_VALUE;
-    }
-
-
-    if (mp4state.m_aac_buffer)
-        free(mp4state.m_aac_buffer);
-
-    while (target)
-    {
-        struct seek_list *tmp = target;
-        target = target->next;
-        if (tmp) free(tmp);
-    }
-    NeAACDecClose(mp4state.hDecoder);
-    if (mp4state.filetype)
-        fclose(mp4state.aacfile);
-    else {
-        mp4ff_close(mp4state.mp4file);
-        fclose(mp4state.mp4File);
-    }
-
-    module.outMod->Close();
-    module.SAVSADeInit();
-
-    mp4state.filename[0] = '\0';
-}
-
-int getsonglength(const char *fn)
-{
-    long msDuration = 0;
-
-    if(!stricmp(fn + strlen(fn) - 3,"MP4") || !stricmp(fn + strlen(fn) - 3,"M4A"))
-    {
-        int track;
-        int64_t length;
-        FILE *mp4File;
-        mp4ff_t *file;
-        mp4ff_callback_t mp4cb = {0};
-
-        mp4File = fopen(fn, "rb");
-        mp4cb.read = read_callback;
-        mp4cb.seek = seek_callback;
-        mp4cb.user_data = mp4File;
-
-
-        file = mp4ff_open_read(&mp4cb);
-        if (file == NULL)
-            return 0;
-
-        if ((track = GetAACTrack(file)) < 0)
-        {
-            mp4ff_close(file);
-            fclose(mp4File);
-            return -1;
-        }
-
-        length = mp4ff_get_track_duration(file, track);
-
-        msDuration = (long)((float)length*1000.0 / (float)mp4ff_time_scale(file, track) + 0.5);
-
-        mp4ff_close(file);
-        fclose(mp4File);
-
-        return msDuration;
-    } else {
-        int tagsize = 0;
-        int bread = 0;
-        double length = 0.;
-        __int64 bitrate = 128;
-        struct seek_list *target;
-        state len_state;
-
-        memset(&len_state, 0, sizeof(state));
-
-        if (!(len_state.aacfile = fopen(fn, "rb")))
-        {
-            // error
-            return 0;
-        }
-
-        len_state.m_at_eof = 0;
-
-        if (!(len_state.m_aac_buffer = (unsigned char*)malloc(768*6)))
-        {
-            //console::error("Memory allocation error.", "foo_mp4");
-            return 0;
-        }
-        memset(len_state.m_aac_buffer, 0, 768*6);
-
-        bread = fread(len_state.m_aac_buffer, 1, 768*6, len_state.aacfile);
-        len_state.m_aac_bytes_into_buffer = bread;
-        len_state.m_aac_bytes_consumed = 0;
-        len_state.m_file_offset = 0;
-
-        if (bread != 768*6)
-            len_state.m_at_eof = 1;
-
-        if (!memcmp(len_state.m_aac_buffer, "ID3", 3))
-        {
-            /* high bit is not used */
-            tagsize = (len_state.m_aac_buffer[6] << 21) | (len_state.m_aac_buffer[7] << 14) |
-                (len_state.m_aac_buffer[8] <<  7) | (len_state.m_aac_buffer[9] <<  0);
-
-            tagsize += 10;
-            advance_buffer(&len_state, tagsize);
-        }
-
-        len_state.m_head = (struct seek_list*)malloc(sizeof(struct seek_list));
-        len_state.m_tail = len_state.m_head;
-        len_state.m_tail->next = NULL;
-
-        len_state.m_header_type = 0;
-        if ((len_state.m_aac_buffer[0] == 0xFF) && ((len_state.m_aac_buffer[1] & 0xF6) == 0xF0))
-        {
-            if (1) //(m_reader->can_seek())
-            {
-                adts_parse(&len_state, &bitrate, &length);
-                fseek(len_state.aacfile, tagsize, SEEK_SET);
-
-                bread = fread(len_state.m_aac_buffer, 1, 768*6, len_state.aacfile);
-                if (bread != 768*6)
-                    len_state.m_at_eof = 1;
-                else
-                    len_state.m_at_eof = 0;
-                len_state.m_aac_bytes_into_buffer = bread;
-                len_state.m_aac_bytes_consumed = 0;
-
-                len_state.m_header_type = 1;
-            }
-        } else if (memcmp(len_state.m_aac_buffer, "ADIF", 4) == 0) {
-            int skip_size = (len_state.m_aac_buffer[4] & 0x80) ? 9 : 0;
-            bitrate = ((unsigned int)(len_state.m_aac_buffer[4 + skip_size] & 0x0F)<<19) |
-                ((unsigned int)len_state.m_aac_buffer[5 + skip_size]<<11) |
-                ((unsigned int)len_state.m_aac_buffer[6 + skip_size]<<3) |
-                ((unsigned int)len_state.m_aac_buffer[7 + skip_size] & 0xE0);
-
-            length = (double)file_length(len_state.aacfile);
-            if (length == -1)
-                length = 0;
-            else
-                length = ((double)length*8.)/((double)bitrate) + 0.5;
-
-            len_state.m_header_type = 2;
-        } else {
-            length = (double)file_length(len_state.aacfile);
-            length = ((double)length*8.)/((double)bitrate*1000.) + 0.5;
-
-            len_state.m_header_type = 0;
-        }
-
-        if (len_state.m_aac_buffer)
-            free(len_state.m_aac_buffer);
-
-        target = len_state.m_head;
-        while (target)
-        {
-            struct seek_list *tmp = target;
-            target = target->next;
-            if (tmp) free(tmp);
-        }
-
-        fclose(len_state.aacfile);
-
-        return (int)(length*1000.);
-    }
-}
-
-int getlength()
-{
-    if (!mp4state.filetype)
-    {
-        int track;
-        long msDuration;
-        long length;
-
-        if ((track = GetAACTrack(mp4state.mp4file)) < 0)
-        {
-            return -1;
-        }
-
-        length = mp4ff_get_track_duration(mp4state.mp4file, track);
-
-        msDuration = (long)(length*1000.0 / (float)mp4ff_time_scale(mp4state.mp4file, track) + 0.5);
-
-        return msDuration;
-    } else {
-        return mp4state.m_length;
-    }
-    return 0;
-}
-
-int getoutputtime()
-{
-    return mp4state.decode_pos_ms+(module.outMod->GetOutputTime()-module.outMod->GetWrittenTime());
-}
-
-void setoutputtime(int time_in_ms)
-{
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("setoutputtime");
-#endif
-
-    mp4state.seek_needed = time_in_ms;
-}
-
-void getfileinfo(char *filename, char *title, int *length_in_ms)
-{
-    if (!filename || !*filename)  /* currently playing file */
-    {
-        if (length_in_ms)
-            *length_in_ms = getlength();
-
-        if (title)
-        {
-            if (mp4state.filetype == 0)
-            {
-                ConstructTitle(mp4state.mp4file, mp4state.filename, title, titleformat);
-            } else {
-                char *tmp2;
-                char *tmp = PathFindFileName(mp4state.filename);
-                strcpy(title, tmp);
-                tmp2 = strrchr(title, '.');
-                tmp2[0] = '\0';
-            }
-        }
-    } else {
-        if (length_in_ms)
-            *length_in_ms = getsonglength(filename);
-
-        if (title)
-        {
-            unsigned char header[8];
-            FILE *hMP4File = fopen(filename, "rb");
-            if (!hMP4File)
-            {
-                return;
-            }
-            fread(header, 1, 8, hMP4File);
-            fclose(hMP4File);
-
-            if (header[4] == 'f' && header[5] == 't' && header[6] == 'y' && header[7] == 'p')
-            {
-                FILE *mp4File;
-                mp4ff_t *file;
-                mp4ff_callback_t mp4cb = {0};
-
-                mp4File = fopen(filename, "rb");
-                mp4cb.read = read_callback;
-                mp4cb.seek = seek_callback;
-                mp4cb.user_data = mp4File;
-
-                file = mp4ff_open_read(&mp4cb);
-                if (file == NULL)
-                    return;
-
-                ConstructTitle(file, filename, title, titleformat);
-
-                mp4ff_close(file);
-                fclose(mp4File);
-            } else {
-                char *tmp2;
-                char *tmp = PathFindFileName(filename);
-                strcpy(title, tmp);
-                tmp2 = strrchr(title, '.');
-                tmp2[0] = '\0';
-            }
-        }
-    }
-}
-
-void eq_set(int on, char data[10], int preamp)
-{
-}
-
-static void remap_channels(unsigned char *data, unsigned int samples, unsigned int bps)
-{
-    unsigned int i;
-
-    switch (bps)
-    {
-    case 8:
-        {
-            unsigned char r1, r2, r3, r4, r5, r6;
-            for (i = 0; i < samples; i += 6)
-            {
-                r1 = data[i];
-                r2 = data[i+1];
-                r3 = data[i+2];
-                r4 = data[i+3];
-                r5 = data[i+4];
-                r6 = data[i+5];
-                data[i] = r2;
-                data[i+1] = r3;
-                data[i+2] = r1;
-                data[i+3] = r6;
-                data[i+4] = r4;
-                data[i+5] = r5;
-            }
-        }
-        break;
-
-    case 16:
-    default:
-        {
-            unsigned short r1, r2, r3, r4, r5, r6;
-            unsigned short *sample_buffer = (unsigned short *)data;
-            for (i = 0; i < samples; i += 6)
-            {
-                r1 = sample_buffer[i];
-                r2 = sample_buffer[i+1];
-                r3 = sample_buffer[i+2];
-                r4 = sample_buffer[i+3];
-                r5 = sample_buffer[i+4];
-                r6 = sample_buffer[i+5];
-                sample_buffer[i] = r2;
-                sample_buffer[i+1] = r3;
-                sample_buffer[i+2] = r1;
-                sample_buffer[i+3] = r6;
-                sample_buffer[i+4] = r4;
-                sample_buffer[i+5] = r5;
-            }
-        }
-        break;
-
-    case 24:
-    case 32:
-        {
-            unsigned int r1, r2, r3, r4, r5, r6;
-            unsigned int *sample_buffer = (unsigned int *)data;
-            for (i = 0; i < samples; i += 6)
-            {
-                r1 = sample_buffer[i];
-                r2 = sample_buffer[i+1];
-                r3 = sample_buffer[i+2];
-                r4 = sample_buffer[i+3];
-                r5 = sample_buffer[i+4];
-                r6 = sample_buffer[i+5];
-                sample_buffer[i] = r2;
-                sample_buffer[i+1] = r3;
-                sample_buffer[i+2] = r1;
-                sample_buffer[i+3] = r6;
-                sample_buffer[i+4] = r4;
-                sample_buffer[i+5] = r5;
-            }
-        }
-        break;
-    }
-}
-
-DWORD WINAPI MP4PlayThread(void *b)
-{
-    int done = 0;
-    int l;
-    int seq_frames = 0;
-    int seq_bytes = 0;
-
-    void *sample_buffer;
-    unsigned char *buffer;
-    int buffer_size;
-    NeAACDecFrameInfo frameInfo;
-
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("MP4PlayThread");
-#endif
-
-    PlayThreadAlive = 1;
-    mp4state.last_frame = 0;
-    mp4state.initial = 1;
-
-    while (!*((int *)b))
-    {
-        /* seeking */
-        if (mp4state.seek_needed != -1)
-        {
-            int64_t duration;
-            int32_t skip_samples = 0;
-
-            module.outMod->Flush(mp4state.decode_pos_ms);
-            duration = (int64_t)(mp4state.seek_needed/1000.0 * mp4state.samplerate + 0.5);
-            mp4state.sampleId = mp4ff_find_sample_use_offsets(mp4state.mp4file,
-                mp4state.mp4track, duration, &skip_samples);
-
-            mp4state.decode_pos_ms = mp4state.seek_needed;
-            mp4state.seek_needed = -1;
-        }
-
-        if (done)
-        {
-            module.outMod->CanWrite();
-
-            if (!module.outMod->IsPlaying())
-            {
-                PostMessage(module.hMainWindow, WM_WA_AAC_EOF, 0, 0);
-                PlayThreadAlive = 0;
-                return 0;
-            }
-
-            Sleep(10);
-        } else if (module.outMod->CanWrite() >= (2048*mp4state.channels*sizeof(short))) {
-
-            if (mp4state.last_frame)
-            {
-                done = 1;
-            } else {
-                int rc;
-
-                /* for gapless decoding */
-                char *buf;
-                long dur;
-                unsigned int sample_count;
-                unsigned int delay = 0;
-
-                /* get acces unit from MP4 file */
-                buffer = NULL;
-                buffer_size = 0;
-
-                dur = mp4ff_get_sample_duration(mp4state.mp4file, mp4state.mp4track, mp4state.sampleId);
-                rc = mp4ff_read_sample(mp4state.mp4file, mp4state.mp4track, mp4state.sampleId++, &buffer,  &buffer_size);
-
-                if (mp4state.sampleId == 1) dur = 0;
-                if (rc == 0 || buffer == NULL)
-                {
-                    mp4state.last_frame = 1;
-                    sample_buffer = NULL;
-                    frameInfo.samples = 0;
-                } else {
-                    sample_buffer = NeAACDecDecode(mp4state.hDecoder, &frameInfo,
-                        buffer, buffer_size);
-                }
-                if (frameInfo.error > 0)
-                {
-                    show_error(module.hMainWindow, NeAACDecGetErrorMessage(frameInfo.error));
-                    mp4state.last_frame = 1;
-                }
-                if (mp4state.sampleId >= mp4state.numSamples)
-                    mp4state.last_frame = 1;
-
-                if (buffer) free(buffer);
-
-                if (mp4state.useAacLength || (mp4state.timescale != mp4state.samplerate)) {
-                    sample_count = frameInfo.samples;
-                } else {
-                    sample_count = (unsigned int)(dur * frameInfo.channels);
-
-                    if (!mp4state.useAacLength && !mp4state.initial && (mp4state.sampleId < mp4state.numSamples/2) && (dur*frameInfo.channels != frameInfo.samples))
-                    {
-                        //fprintf(stderr, "MP4 seems to have incorrect frame duration, using values from AAC data.\n");
-                        mp4state.useAacLength = 1;
-                        sample_count = frameInfo.samples;
-                    }
-                }
-
-                if (mp4state.initial && (sample_count < mp4state.framesize*mp4state.channels) && (frameInfo.samples > sample_count))
-                {
-                    delay = frameInfo.samples - sample_count;
-                }
-
-                if (!killPlayThread && (sample_count > 0))
-                {
-                    buf = (char *)sample_buffer;
-                    mp4state.initial = 0;
-
-                    switch (res_table[m_resolution])
-                    {
-                    case 8:
-                        buf += delay;
-                        break;
-                    case 16:
-                    default:
-                        buf += delay * 2;
-                        break;
-                    case 24:
-                    case 32:
-                        buf += delay * 4;
-                        break;
-                    case 64:
-                        buf += delay * 8;
-                    }
-
-                    if (frameInfo.channels == 6 && frameInfo.num_lfe_channels)
-                        remap_channels(buf, sample_count, res_table[m_resolution]);
-
-                    if (res_table[m_resolution] == 24)
-                    {
-                        /* convert libfaad output (3 bytes packed in 4) */
-                        char *temp_buffer = convert3in4to3in3(buf, sample_count);
-                        memcpy((void*)buf, (void*)temp_buffer, sample_count*3);
-                        free(temp_buffer);
-                    }
-
-                    module.SAAddPCMData(buf, (int)mp4state.channels, res_table[m_resolution],
-                        mp4state.decode_pos_ms);
-                    module.VSAAddPCMData(buf, (int)mp4state.channels, res_table[m_resolution],
-                        mp4state.decode_pos_ms);
-                    mp4state.decode_pos_ms += (double)sample_count * 1000.0 /
-                        ((double)frameInfo.samplerate * (double)frameInfo.channels);
-
-                    l = sample_count * res_table[m_resolution] / 8;
-
-                    if (module.dsp_isactive())
-                    {
-                        void *dsp_buffer = malloc(l*2);
-                        memcpy(dsp_buffer, buf, l);
-
-                        l = module.dsp_dosamples((short*)dsp_buffer,
-                            sample_count/frameInfo.channels,
-                            res_table[m_resolution],
-                            frameInfo.channels,
-                            frameInfo.samplerate) *
-                            (frameInfo.channels*(res_table[m_resolution]/8));
-
-                        module.outMod->Write(dsp_buffer, l);
-                        if (dsp_buffer) free(dsp_buffer);
-                    } else {
-                        module.outMod->Write(buf, l);
-                    }
-
-                    /* VBR bitrate display */
-                    if (m_vbr_display)
-                    {
-                        seq_frames++;
-                        seq_bytes += frameInfo.bytesconsumed;
-                        if (seq_frames == (int)(floor((float)frameInfo.samplerate/(float)(sample_count/frameInfo.channels) + 0.5)))
-                        {
-                            module.SetInfo((int)floor(((float)seq_bytes*8.)/1000. + 0.5),
-                                (int)floor(frameInfo.samplerate/1000. + 0.5),
-                                mp4state.channels, 1);
-
-                            seq_frames = 0;
-                            seq_bytes = 0;
-                        }
-                    }
-                }
-            }
-        } else {
-            Sleep(10);
-        }
-    }
-
-    PlayThreadAlive = 0;
-
-    return 0;
-}
-
-void *decode_aac_frame(state *st, NeAACDecFrameInfo *frameInfo)
-{
-    void *sample_buffer = NULL;
-
-    do
-    {
-        fill_buffer(st);
-
-        if (st->m_aac_bytes_into_buffer != 0)
-        {
-            sample_buffer = NeAACDecDecode(st->hDecoder, frameInfo,
-                st->m_aac_buffer, st->m_aac_bytes_into_buffer);
-
-            if (st->m_header_type != 1)
-            {
-                if (st->last_offset < st->m_file_offset)
-                {
-                    st->m_tail->offset = st->m_file_offset;
-                    st->m_tail->next = (struct seek_list*)malloc(sizeof(struct seek_list));
-                    st->m_tail = st->m_tail->next;
-                    st->m_tail->next = NULL;
-                    st->last_offset = st->m_file_offset;
-                }
-            }
-
-            advance_buffer(st, frameInfo->bytesconsumed);
-        } else {
-            break;
-        }
-
-    } while (!frameInfo->samples && !frameInfo->error);
-
-    return sample_buffer;
-}
-
-int aac_seek(state *st, double seconds)
-{
-    int i, frames;
-    int bread;
-    struct seek_list *target = st->m_head;
-
-    if (1 /*can_seek*/ && ((st->m_header_type == 1) || (seconds < st->cur_pos_sec)))
-    {
-        frames = (int)(seconds*((double)st->samplerate/(double)st->framesize) + 0.5);
-
-        for (i = 0; i < frames; i++)
-        {
-            if (target->next)
-                target = target->next;
-            else
-                return 0;
-        }
-        if (target->offset == 0 && frames > 0)
-            return 0;
-        fseek(st->aacfile, target->offset, SEEK_SET);
-        st->m_file_offset = target->offset;
-
-        bread = fread(st->m_aac_buffer, 1, 768*6, st->aacfile);
-        if (bread != 768*6)
-            st->m_at_eof = 1;
-        else
-            st->m_at_eof = 0;
-        st->m_aac_bytes_into_buffer = bread;
-        st->m_aac_bytes_consumed = 0;
-        st->m_file_offset += bread;
-
-        NeAACDecPostSeekReset(st->hDecoder, -1);
-
-        return 1;
-    } else {
-        if (seconds > st->cur_pos_sec)
-        {
-            NeAACDecFrameInfo frameInfo;
-
-            frames = (int)((seconds - st->cur_pos_sec)*((double)st->samplerate/(double)st->framesize));
-
-            if (frames > 0)
-            {
-                for (i = 0; i < frames; i++)
-                {
-                    memset(&frameInfo, 0, sizeof(NeAACDecFrameInfo));
-                    decode_aac_frame(st, &frameInfo);
-
-                    if (frameInfo.error || (st->m_aac_bytes_into_buffer == 0))
-                    {
-                        if (frameInfo.error)
-                        {
-                            if (NeAACDecGetErrorMessage(frameInfo.error) != NULL)
-                                show_error(module.hMainWindow, NeAACDecGetErrorMessage(frameInfo.error));
-                        }
-                        return 0;
-                    }
-                }
-            }
-
-            NeAACDecPostSeekReset(st->hDecoder, -1);
-        }
-        return 1;
-    }
-}
-
-DWORD WINAPI AACPlayThread(void *b)
-{
-    int done = 0;
-    int l;
-    int seq_frames = 0;
-    int seq_bytes = 0;
-
-#ifdef DEBUG_OUTPUT
-    in_mp4_DebugOutput("AACPlayThread");
-#endif
-
-    PlayThreadAlive = 1;
-    mp4state.last_frame = 0;
-
-    while (!*((int *)b))
-    {
-        /* seeking */
-        if (mp4state.seek_needed != -1)
-        {
-            double ms;
-
-            ms = mp4state.seek_needed/1000;
-            if (aac_seek(&mp4state, ms)!=0)
-            {
-                module.outMod->Flush(mp4state.decode_pos_ms);
-                mp4state.cur_pos_sec = ms;
-                mp4state.decode_pos_ms = mp4state.seek_needed;
-            }
-            mp4state.seek_needed = -1;
-        }
-
-        if (done)
-        {
-            module.outMod->CanWrite();
-
-            if (!module.outMod->IsPlaying())
-            {
-                PostMessage(module.hMainWindow, WM_WA_AAC_EOF, 0, 0);
-                PlayThreadAlive = 0;
-                return 0;
-            }
-
-            Sleep(10);
-        } else if (module.outMod->CanWrite() >= (2048*mp4state.channels*sizeof(short))) {
-            NeAACDecFrameInfo frameInfo;
-            void *sample_buffer;
-
-            memset(&frameInfo, 0, sizeof(NeAACDecFrameInfo));
-
-            sample_buffer = decode_aac_frame(&mp4state, &frameInfo);
-
-            if (frameInfo.error || (mp4state.m_aac_bytes_into_buffer == 0))
-            {
-                if (frameInfo.error)
-                {
-                    if (NeAACDecGetErrorMessage(frameInfo.error) != NULL)
-                        show_error(module.hMainWindow, NeAACDecGetErrorMessage(frameInfo.error));
-                }
-                done = 1;
-            }
-
-            if (!killPlayThread && (frameInfo.samples > 0))
-            {
-                if (frameInfo.channels == 6 && frameInfo.num_lfe_channels)
-                    remap_channels(sample_buffer, frameInfo.samples, res_table[m_resolution]);
-
-                if (res_table[m_resolution] == 24)
-                {
-                    /* convert libfaad output (3 bytes packed in 4 bytes) */
-                    char *temp_buffer = convert3in4to3in3(sample_buffer, frameInfo.samples);
-                    memcpy((void*)sample_buffer, (void*)temp_buffer, frameInfo.samples*3);
-                    free(temp_buffer);
-                }
-
-                module.SAAddPCMData(sample_buffer, (int)mp4state.channels, res_table[m_resolution],
-                    mp4state.decode_pos_ms);
-                module.VSAAddPCMData(sample_buffer, (int)mp4state.channels, res_table[m_resolution],
-                    mp4state.decode_pos_ms);
-                mp4state.decode_pos_ms += (double)frameInfo.samples * 1000.0 /
-                    ((double)frameInfo.samplerate* (double)frameInfo.channels);
-
-                l = frameInfo.samples * res_table[m_resolution] / 8;
-
-                if (module.dsp_isactive())
-                {
-                    void *dsp_buffer = malloc(l*2);
-                    memcpy(dsp_buffer, sample_buffer, l);
-
-                    l = module.dsp_dosamples((short*)dsp_buffer,
-                        frameInfo.samples/frameInfo.channels,
-                        res_table[m_resolution],
-                        frameInfo.channels,
-                        frameInfo.samplerate) *
-                        (frameInfo.channels*(res_table[m_resolution]/8));
-
-                    module.outMod->Write(dsp_buffer, l);
-                    if (dsp_buffer) free(dsp_buffer);
-                } else {
-                    module.outMod->Write(sample_buffer, l);
-                }
-
-                /* VBR bitrate display */
-                if (m_vbr_display)
-                {
-                    seq_frames++;
-                    seq_bytes += frameInfo.bytesconsumed;
-                    if (seq_frames == (int)(floor((float)frameInfo.samplerate/(float)(frameInfo.samples/frameInfo.channels) + 0.5)))
-                    {
-                        module.SetInfo((int)floor(((float)seq_bytes*8.)/1000. + 0.5),
-                            (int)floor(frameInfo.samplerate/1000. + 0.5),
-                            mp4state.channels, 1);
-
-                        seq_frames = 0;
-                        seq_bytes = 0;
-                    }
-                }
-            }
-
-            if (frameInfo.channels > 0 && mp4state.samplerate > 0)
-                mp4state.cur_pos_sec += ((double)(frameInfo.samples/frameInfo.channels))/(double)mp4state.samplerate;
-        } else {
-            Sleep(10);
-        }
-    }
-
-    PlayThreadAlive = 0;
-
-    return 0;
-}
-
-static In_Module module =
-{
-    IN_VER,
-    "AudioCoding.com MPEG-4 AAC player: " FAAD2_VERSION " compiled on " __DATE__,
-    0,  // hMainWindow
-    0,  // hDllInstance
-    NULL,
-    1, // is_seekable
-    1, // uses output
-    config,
-    about,
-    init,
-    quit,
-    getfileinfo,
-    infoDlg,
-    isourfile,
-    play,
-    pause,
-    unpause,
-    ispaused,
-    stop,
-
-    getlength,
-    getoutputtime,
-    setoutputtime,
-
-    setvolume,
-    setpan,
-
-    0,0,0,0,0,0,0,0,0, // vis stuff
-
-
-    0,0, // dsp
-
-    eq_set,
-
-    NULL,       // setinfo
-
-    0 // out_mod
-};
-
-__declspec(dllexport) In_Module* winampGetInModule2()
-{
-    config_read();
-
-    if (!m_use_for_aac)
-    {
-        module.FileExtensions = short_ext_list;
-    } else {
-        module.FileExtensions = long_ext_list;
-    }
-
-    return &module;
-}
-
-/* new Media Library interface */
-
-int mp4_get_metadata(mp4ff_t *file, const char *item, char *dest, int dlen)
-{
-    char *pVal = NULL, dummy1[4096];
-
-    if (dlen < 1) return 0;
-
-    if (!stricmp(item, "track") || !stricmp(item, "tracknumber"))
-    {
-        if (mp4ff_meta_get_track(file, &pVal))
-        {
-            wsprintf(dummy1, "%s", pVal);
-            strncpy(dest, dummy1, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-    else if (!stricmp(item, "disc") || !stricmp(item, "disknumber"))
-    {
-        if (mp4ff_meta_get_disc(file, &pVal))
-        {
-            wsprintf(dummy1, "%s", pVal);
-            strncpy(dest, dummy1, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-    else if (!stricmp(item, "compilation"))
-    {
-        uint8_t cpil = 0;
-        if (mp4ff_meta_get_compilation(file, &pVal))
-        {
-            wsprintf(dummy1, "%s", pVal);
-            strncpy(dest, dummy1, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-    else if (!stricmp(item, "tempo"))
-    {
-        if (mp4ff_meta_get_tempo(file, &pVal))
-        {
-            wsprintf(dummy1, "%s", pVal);
-            strncpy(dest, dummy1, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-    else if (!stricmp(item, "artist"))
-    {
-        if (mp4ff_meta_get_artist(file, &pVal))
-        {
-            strncpy(dest, pVal, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-    else if (!stricmp(item, "writer"))
-    {
-        if (mp4ff_meta_get_writer(file, &pVal))
-        {
-            strncpy(dest, pVal, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-    else if (!stricmp(item, "title"))
-    {
-        if (mp4ff_meta_get_title(file, &pVal))
-        {
-            strncpy(dest, pVal, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-    else if (!stricmp(item, "album"))
-    {
-        if (mp4ff_meta_get_album(file, &pVal))
-        {
-            strncpy(dest, pVal, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-    else if (!stricmp(item, "date") || !stricmp(item, "year"))
-    {
-        if (mp4ff_meta_get_date(file, &pVal))
-        {
-            strncpy(dest, pVal, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-    else if (!stricmp(item, "comment"))
-    {
-        if (mp4ff_meta_get_comment(file, &pVal))
-        {
-            strncpy(dest, pVal, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-    else if (!stricmp(item, "genre"))
-    {
-        if (mp4ff_meta_get_genre(file, &pVal))
-        {
-            strncpy(dest, pVal, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-    else if (!stricmp(item, "tool"))
-    {
-        if (mp4ff_meta_get_tool(file, &pVal))
-        {
-            strncpy(dest, pVal, dlen-1);
-            dest[dlen-1] = '\0';
-            return 1;
-        }
-    }
-#if 0
-    else
-    {
-        uint32_t valueSize = 0;
-        uint8_t *pValue = NULL;
-
-        if (MP4GetMetadataFreeForm(file, (char *)item, &pValue, &valueSize))
-        {
-            unsigned int len = (valueSize < (unsigned int)(dlen-1)) ? valueSize : (unsigned int)(dlen-1);
-            memcpy(dest, pValue, len);
-            dest[len] = '\0';
-            return 1;
-        }
-    }
-#endif
-
-    return 0;
-}
-
-__declspec(dllexport) int winampGetExtendedFileInfo(const char *fn, const char *data, char *dest, int destlen)
-{
-    if (!fn || (fn && !*fn) || !destlen) return 0;
-
-    dest[0] = '\0';
-
-    if (!stricmp(data, "length"))
-    {
-        char temp[32];
-        int len = getsonglength(fn);
-        itoa(len, temp, 10);
-        strncpy(dest, temp, destlen-1);
-        dest[destlen-1] = '\0';
-    }
-    else
-    {
-        char temp[2048], temp2[2048];
-        FILE *mp4File;
-        mp4ff_callback_t mp4cb = {0};
-        mp4ff_t *file;
-
-        mp4File = fopen(fn, "rb");
-        mp4cb.read = read_callback;
-        mp4cb.seek = seek_callback;
-        mp4cb.write = write_callback;
-        mp4cb.truncate = truncate_callback;
-        mp4cb.user_data = mp4File;
-
-
-        file = mp4ff_open_read(&mp4cb);
-        if (file == NULL) return 0;
-
-        if (mp4_get_metadata(file, data, temp, sizeof(temp)))
-        {
-            int len = ConvertUTF8ToANSI(temp, temp2);
-            if (len > destlen-1) len = destlen-1;
-            memcpy(dest, temp2, len);
-            dest[len] = '\0';
-        }
-
-        mp4ff_close(file);
-        fclose(mp4File);
-    }
-
-    return 1;
-}
-
-static mp4ff_metadata_t mltags = {0, 0};
-static BOOL medialib_init = FALSE;
-static char medialib_lastfn[2048] = "";
-
-__declspec(dllexport) int winampSetExtendedFileInfo(const char *fn, const char *data, char *val)
-{
-    int len, ret = 0;
-    char *temp;
-
-    if (!medialib_init || (medialib_init && stricmp(fn, medialib_lastfn))) {
-        FILE *mp4File;
-        mp4ff_callback_t mp4cb = {0};
-        mp4ff_t *file;
-        strcpy(medialib_lastfn, fn);
-
-        if (medialib_init) tag_delete(&mltags);
-
-        mp4File = fopen(medialib_lastfn, "rb");
-        mp4cb.read = read_callback;
-        mp4cb.seek = seek_callback;
-        mp4cb.user_data = mp4File;
-
-
-        file = mp4ff_open_read(&mp4cb);
-        if (file == NULL) return 0;
-
-        ReadMP4Tag(file, &mltags);
-
-        mp4ff_close(file);
-        fclose(mp4File);
-
-        medialib_init = TRUE;
-    }
-
-    len = strlen(val);
-    temp = (char *)malloc((len+1)*4);
-    if (!temp) return 0;
-
-    if (ConvertANSIToUTF8(val, temp))
-    {
-        ret = 1;
-        tag_set_field(&mltags, data, temp, len);
-    }
-
-    free(temp);
-
-    return ret;
-}    
-
-__declspec(dllexport) int winampWriteExtendedFileInfo()
-{
-    if (medialib_init)
-    {
-        FILE *mp4File;
-        mp4ff_callback_t mp4cb = {0};
-
-        mp4File = fopen(medialib_lastfn, "rb+");
-        mp4cb.read = read_callback;
-        mp4cb.seek = seek_callback;
-        mp4cb.write = write_callback;
-        mp4cb.truncate = truncate_callback;
-        mp4cb.user_data = mp4File;
-
-        mp4ff_meta_update(&mp4cb, &mltags);
-
-        fclose(mp4File);
-
-        return 1;
-    }
-    else
-    {
-        return 0;
-    }
-}
diff --git a/lib/libfaad2/plugins/in_mp4/in_mp4.dsp b/lib/libfaad2/plugins/in_mp4/in_mp4.dsp
deleted file mode 100644 (file)
index b9dc548..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-# Microsoft Developer Studio Project File - Name="in_mp4" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=in_mp4 - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "in_mp4.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "in_mp4.mak" CFG="in_mp4 - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "in_mp4 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "in_mp4 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=xicl6.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "in_mp4 - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O1 /I "..\..\include" /I "..\..\common\mp4v2" /I "..\..\common\mp4av" /I "..\..\common\mp4ff" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "NDEBUG"
-# ADD RSC /l 0x413 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-
-!ELSEIF  "$(CFG)" == "in_mp4 - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\include" /I "..\..\common\mp4v2" /I "..\..\common\mp4av" /I "..\..\common\mp4ff" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x413 /d "_DEBUG"
-# ADD RSC /l 0x413 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=xilink6.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "in_mp4 - Win32 Release"
-# Name "in_mp4 - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\aacinfo.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\config.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\in_mp4.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\utils.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\aacinfo.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\config.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\in2.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\common\mp4ff\mp4ff.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\common\mp4ff\mp4ff_int_types.h
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\include\neaacdec.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\out.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\utils.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\in_mp4.rc
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/lib/libfaad2/plugins/in_mp4/in_mp4.dsw b/lib/libfaad2/plugins/in_mp4/in_mp4.dsw
deleted file mode 100644 (file)
index 36bb0fc..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "in_mp4"=.\in_mp4.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libfaad
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name mp4ff
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libfaad"=..\..\libfaad\libfaad.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "mp4ff"=..\..\common\mp4ff\mp4ff.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/lib/libfaad2/plugins/in_mp4/in_mp4.rc b/lib/libfaad2/plugins/in_mp4/in_mp4.rc
deleted file mode 100644 (file)
index 0112f55..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// Dutch (Netherlands) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NLD)
-#ifdef _WIN32
-LANGUAGE LANG_DUTCH, SUBLANG_DUTCH
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE MOVEABLE PURE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE MOVEABLE PURE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE MOVEABLE PURE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-IDD_INFO DIALOGEX 0, 0, 303, 255
-STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "MPEG-4 File Info"
-FONT 8, "MS Sans Serif"
-BEGIN
-    GROUPBOX        "Track info",IDC_STATIC,7,7,289,64
-    EDITTEXT        IDC_METANAME,53,91,151,14,ES_AUTOHSCROLL
-    EDITTEXT        IDC_METAARTIST,53,109,151,14,ES_AUTOHSCROLL
-    EDITTEXT        IDC_METAWRITER,53,127,151,14,ES_AUTOHSCROLL
-    EDITTEXT        IDC_METAALBUM,53,145,233,14,ES_AUTOHSCROLL
-    EDITTEXT        IDC_METACOMMENTS,53,163,234,35,ES_AUTOHSCROLL
-    EDITTEXT        IDC_METAGENRE,53,202,151,14,ES_AUTOHSCROLL
-    EDITTEXT        IDC_METAYEAR,234,91,52,14,ES_AUTOHSCROLL
-    EDITTEXT        IDC_METATRACK1,234,109,52,14,ES_AUTOHSCROLL
-    EDITTEXT        IDC_METADISK1,234,127,52,14,ES_AUTOHSCROLL
-    CONTROL         "Part of a compilation",IDC_METACOMPILATION,"Button",
-                    BS_AUTOCHECKBOX | WS_TABSTOP,207,202,80,14
-    DEFPUSHBUTTON   "OK",IDOK,246,234,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,186,234,50,14
-    LTEXT           "",IDC_INFOTEXT,14,17,275,47,0,WS_EX_CLIENTEDGE
-    GROUPBOX        "User data",IDC_USERDATA,7,76,289,151
-    LTEXT           "Name",IDC_STATIC1,13,91,20,14,SS_CENTERIMAGE
-    LTEXT           "Artist",IDC_STATIC2,13,109,16,14,SS_CENTERIMAGE
-    LTEXT           "Composer",IDC_STATIC3,13,127,32,14,SS_CENTERIMAGE
-    LTEXT           "Album",IDC_STATIC4,13,145,20,14,SS_CENTERIMAGE
-    LTEXT           "Comments",IDC_STATIC5,13,163,34,14,SS_CENTERIMAGE
-    LTEXT           "Year",IDC_STATIC7,211,91,16,14,SS_CENTERIMAGE
-    LTEXT           "Disc",IDC_STATIC9,211,127,15,14,SS_CENTERIMAGE
-    LTEXT           "Track",IDC_STATIC8,211,109,20,14,SS_CENTERIMAGE
-    LTEXT           "Genre",IDC_STATIC6,13,202,20,14,SS_CENTERIMAGE
-END
-
-IDD_CONFIG DIALOG DISCARDABLE  0, 0, 233, 166
-STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Configuration"
-FONT 8, "MS Sans Serif"
-BEGIN
-    CONTROL         "Slider1",IDC_PRIORITY,"msctls_trackbar32",TBS_VERT | 
-                    TBS_NOTICKS | WS_TABSTOP,13,15,18,46
-    CONTROL         "16 bits",IDC_16BITS,"Button",BS_AUTORADIOBUTTON,77,18,
-                    37,10
-    CONTROL         "16 bits dithered",IDC_16BITS_DITHERED,"Button",
-                    BS_AUTORADIOBUTTON | WS_DISABLED,77,29,64,10
-    CONTROL         "24 bits",IDC_24BITS,"Button",BS_AUTORADIOBUTTON,77,40,
-                    37,10
-    CONTROL         "32 bits",IDC_32BITS,"Button",BS_AUTORADIOBUTTON,77,51,
-                    37,10
-    CONTROL         "Downmix to stereo",IDC_DOWNMIX,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,13,74,10
-    CONTROL         "Use for AAC",IDC_USEFORAAC,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,26,55,10
-    CONTROL         "VBR Display",IDC_VBR,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,39,55,10
-    CONTROL         "Show errors",IDC_ERROR,"Button",BS_AUTOCHECKBOX | 
-                    WS_TABSTOP,152,52,53,10
-    EDITTEXT        IDC_TITLEFORMAT,14,86,121,14,ES_AUTOHSCROLL
-    DEFPUSHBUTTON   "OK",IDOK,176,145,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,176,125,50,14
-    GROUPBOX        "Priority",IDC_STATIC,7,7,57,58
-    LTEXT           "Highest",IDC_STATIC,34,18,25,8
-    LTEXT           "Normal",IDC_STATIC,34,35,23,8
-    LTEXT           "Lowest",IDC_STATIC,34,52,24,8
-    GROUPBOX        "Resolution",IDC_STATIC,71,7,73,58
-    GROUPBOX        "Title format",IDC_STATIC,7,72,137,87
-    LTEXT           "%0 - Track",IDC_STATIC,17,109,35,8
-    LTEXT           "%1 - Artist",IDC_STATIC,17,120,32,8
-    LTEXT           "%2 - Title",IDC_STATIC,17,131,30,8
-    LTEXT           "%3 - Album",IDC_STATIC,17,142,36,8
-    LTEXT           "%4 - Year",IDC_STATIC,68,109,31,8
-    LTEXT           "%5 - Comment",IDC_STATIC,68,120,46,8
-    LTEXT           "%6 - Genre",IDC_STATIC,68,131,36,8
-    LTEXT           "%7 - Filename",IDC_STATIC,68,142,44,8
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO MOVEABLE PURE 
-BEGIN
-    IDD_INFO, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 296
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 248
-    END
-
-    IDD_CONFIG, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 226
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 159
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-#endif    // Dutch (Netherlands) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/lib/libfaad2/plugins/in_mp4/in_mp4.sln b/lib/libfaad2/plugins/in_mp4/in_mp4.sln
deleted file mode 100644 (file)
index 44aeabd..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "in_mp4", "in_mp4.vcproj", "{2D8F479D-A591-4502-9456-398425D5F834}"
-       ProjectSection(ProjectDependencies) = postProject
-               {2398BB2F-FFF9-490B-B4CC-863F2D21AE46} = {2398BB2F-FFF9-490B-B4CC-863F2D21AE46}
-               {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49} = {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}
-               {82CAD808-21AF-40A6-92EC-AE01AA67B413} = {82CAD808-21AF-40A6-92EC-AE01AA67B413}
-       EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libfaad", "..\..\libfaad\libfaad.vcproj", "{82CAD808-21AF-40A6-92EC-AE01AA67B413}"
-       ProjectSection(ProjectDependencies) = postProject
-       EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp4v2_st", "..\..\common\mp4v2\libmp4v2_st60.vcproj", "{2398BB2F-FFF9-490B-B4CC-863F2D21AE46}"
-       ProjectSection(ProjectDependencies) = postProject
-       EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmp4av_st", "..\..\common\mp4av\libmp4av_st.vcproj", "{8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}"
-       ProjectSection(ProjectDependencies) = postProject
-       EndProjectSection
-EndProject
-Global
-       GlobalSection(SolutionConfiguration) = preSolution
-               Debug = Debug
-               Release = Release
-       EndGlobalSection
-       GlobalSection(ProjectConfiguration) = postSolution
-               {2D8F479D-A591-4502-9456-398425D5F834}.Debug.ActiveCfg = Debug|Win32
-               {2D8F479D-A591-4502-9456-398425D5F834}.Debug.Build.0 = Debug|Win32
-               {2D8F479D-A591-4502-9456-398425D5F834}.Release.ActiveCfg = Release|Win32
-               {2D8F479D-A591-4502-9456-398425D5F834}.Release.Build.0 = Release|Win32
-               {82CAD808-21AF-40A6-92EC-AE01AA67B413}.Debug.ActiveCfg = Debug|Win32
-               {82CAD808-21AF-40A6-92EC-AE01AA67B413}.Debug.Build.0 = Debug|Win32
-               {82CAD808-21AF-40A6-92EC-AE01AA67B413}.Release.ActiveCfg = Release|Win32
-               {82CAD808-21AF-40A6-92EC-AE01AA67B413}.Release.Build.0 = Release|Win32
-               {2398BB2F-FFF9-490B-B4CC-863F2D21AE46}.Debug.ActiveCfg = Debug|Win32
-               {2398BB2F-FFF9-490B-B4CC-863F2D21AE46}.Debug.Build.0 = Debug|Win32
-               {2398BB2F-FFF9-490B-B4CC-863F2D21AE46}.Release.ActiveCfg = Release|Win32
-               {2398BB2F-FFF9-490B-B4CC-863F2D21AE46}.Release.Build.0 = Release|Win32
-               {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}.Debug.ActiveCfg = Debug|Win32
-               {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}.Debug.Build.0 = Debug|Win32
-               {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}.Release.ActiveCfg = Release|Win32
-               {8CAC9E26-BAA5-45A4-8721-E3170B3F8F49}.Release.Build.0 = Release|Win32
-       EndGlobalSection
-       GlobalSection(ExtensibilityGlobals) = postSolution
-       EndGlobalSection
-       GlobalSection(ExtensibilityAddIns) = postSolution
-       EndGlobalSection
-EndGlobal
diff --git a/lib/libfaad2/plugins/in_mp4/in_mp4.vcproj b/lib/libfaad2/plugins/in_mp4/in_mp4.vcproj
deleted file mode 100644 (file)
index ab7c0c8..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-<?xml version="1.0" encoding = "Windows-1252"?>
-<VisualStudioProject
-       ProjectType="Visual C++"
-       Version="7.10"
-       Name="in_mp4"
-       SccProjectName=""
-       SccLocalPath="">
-       <Platforms>
-               <Platform
-                       Name="Win32"/>
-       </Platforms>
-       <Configurations>
-               <Configuration
-                       Name="Debug|Win32"
-                       OutputDirectory=".\Debug"
-                       IntermediateDirectory=".\Debug"
-                       ConfigurationType="2"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="0"
-                               AdditionalIncludeDirectories="..\..\include,..\..\common\mp4v2,..\..\common\mp4av"
-                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
-                               BasicRuntimeChecks="0"
-                               RuntimeLibrary="1"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile=".\Debug/in_mp4.pch"
-                               AssemblerListingLocation=".\Debug/"
-                               ObjectFile=".\Debug/"
-                               ProgramDataBaseFileName=".\Debug/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="TRUE"
-                               DebugInformationFormat="4"
-                               CompileAs="0">
-                               <IntelOptions
-                                       Optimization="0"
-                                       MinimalRebuild="1"
-                                       BasicRuntimeChecks="0"
-                                       RuntimeLibrary="1"
-                                       AllOptions="/c  /I &quot;..\..\include&quot; /I &quot;..\..\common\mp4v2&quot; /I &quot;..\..\common\mp4av&quot; /ZI /nologo /W3 /Od /D &quot;WIN32&quot; /D &quot;_DEBUG&quot; /D &quot;_WINDOWS&quot; /D &quot;_WINDLL&quot; /Gm /EHsc /MTd /YX&quot;StdAfx.h&quot; /Fp&quot;.\Debug/in_mp4.pch&quot; /Fo&quot;.\Debug/&quot; /Fd&quot;.\Debug/&quot; /Gd"/>
-                       </Tool>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="ws2_32.lib odbc32.lib odbccp32.lib"
-                               OutputFile=".\Debug/in_mp4.dll"
-                               LinkIncremental="2"
-                               SuppressStartupBanner="TRUE"
-                               GenerateDebugInformation="TRUE"
-                               ProgramDatabaseFile=".\Debug/in_mp4.pdb"
-                               SubSystem="2"
-                               ImportLibrary=".\Debug/in_mp4.lib">
-                               <IntelOptions
-                                       AllOptions="/NOLOGO /DLL /OUT:&quot;.\Debug/in_mp4.dll&quot; /INCREMENTAL ws2_32.lib odbc32.lib odbccp32.lib /DEBUG /PDB:&quot;.\Debug/in_mp4.pdb&quot; /SUBSYSTEM:WINDOWS /TLBID:1 /IMPLIB:&quot;.\Debug/in_mp4.lib&quot; /MACHINE:I386 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib"/>
-                       </Tool>
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               MkTypLibCompatible="TRUE"
-                               SuppressStartupBanner="TRUE"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Debug/in_mp4.tlb"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="_DEBUG"
-                               Culture="1043"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCWebDeploymentTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-                       <IntelOptions
-                               CompilerName="1"/>
-               </Configuration>
-               <Configuration
-                       Name="Release|Win32"
-                       OutputDirectory=".\Release"
-                       IntermediateDirectory=".\Release"
-                       ConfigurationType="2"
-                       UseOfMFC="0"
-                       ATLMinimizesCRunTimeLibraryUsage="FALSE">
-                       <Tool
-                               Name="VCCLCompilerTool"
-                               Optimization="1"
-                               GlobalOptimizations="TRUE"
-                               InlineFunctionExpansion="1"
-                               EnableIntrinsicFunctions="TRUE"
-                               FavorSizeOrSpeed="1"
-                               OptimizeForProcessor="2"
-                               AdditionalIncludeDirectories="..\..\include,..\..\common\mp4v2,..\..\common\mp4av"
-                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
-                               StringPooling="TRUE"
-                               RuntimeLibrary="2"
-                               EnableFunctionLevelLinking="TRUE"
-                               UsePrecompiledHeader="2"
-                               PrecompiledHeaderFile=".\Release/in_mp4.pch"
-                               AssemblerListingLocation=".\Release/"
-                               ObjectFile=".\Release/"
-                               ProgramDataBaseFileName=".\Release/"
-                               WarningLevel="3"
-                               SuppressStartupBanner="TRUE"
-                               CompileAs="0">
-                               <IntelOptions
-                                       Optimization="1"
-                                       GlobalOptimizations="1"
-                                       InlineFunctionExpansion="1"
-                                       EnableIntrinsicFunctions="1"
-                                       FavorSizeOrSpeed="1"
-                                       OmitFramePointers="1"
-                                       OptimizeForProcessor="2"
-                                       StringPooling="1"
-                                       RuntimeLibrary="2"
-                                       BufferSecurityCheck="1"
-                                       EnableFunctionLevelLinking="1"
-                                       AllOptions="/c  /I &quot;..\..\include&quot; /I &quot;..\..\common\mp4v2&quot; /I &quot;..\..\common\mp4av&quot; /nologo /W3 /O1 /Og /Ob1 /Oi /Ot /Oy /G6 /D &quot;WIN32&quot; /D &quot;NDEBUG&quot; /D &quot;_WINDOWS&quot; /D &quot;_WINDLL&quot; /GF /FD /EHsc /MD /GS /Gy /YX&quot;StdAfx.h&quot; /Fp&quot;.\Release/in_mp4.pch&quot; /Fo&quot;.\Release/&quot; /Fd&quot;.\Release/&quot; /Gd"/>
-                       </Tool>
-                       <Tool
-                               Name="VCCustomBuildTool"/>
-                       <Tool
-                               Name="VCLinkerTool"
-                               AdditionalOptions="/MACHINE:I386"
-                               AdditionalDependencies="ws2_32.lib"
-                               OutputFile=".\Release/in_mp4.dll"
-                               LinkIncremental="1"
-                               SuppressStartupBanner="TRUE"
-                               ProgramDatabaseFile=".\Release/in_mp4.pdb"
-                               SubSystem="2"
-                               ImportLibrary=".\Release/in_mp4.lib">
-                               <IntelOptions
-                                       AllOptions="/NOLOGO /DLL /OUT:&quot;.\Release/in_mp4.dll&quot; /INCREMENTAL:NO ws2_32.lib /PDB:&quot;.\Release/in_mp4.pdb&quot; /SUBSYSTEM:WINDOWS /TLBID:1 /IMPLIB:&quot;.\Release/in_mp4.lib&quot; /MACHINE:I386 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib"/>
-                       </Tool>
-                       <Tool
-                               Name="VCMIDLTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               MkTypLibCompatible="TRUE"
-                               SuppressStartupBanner="TRUE"
-                               TargetEnvironment="1"
-                               TypeLibraryName=".\Release/in_mp4.tlb"/>
-                       <Tool
-                               Name="VCPostBuildEventTool"/>
-                       <Tool
-                               Name="VCPreBuildEventTool"/>
-                       <Tool
-                               Name="VCPreLinkEventTool"/>
-                       <Tool
-                               Name="VCResourceCompilerTool"
-                               PreprocessorDefinitions="NDEBUG"
-                               Culture="1043"/>
-                       <Tool
-                               Name="VCWebServiceProxyGeneratorTool"/>
-                       <Tool
-                               Name="VCXMLDataGeneratorTool"/>
-                       <Tool
-                               Name="VCWebDeploymentTool"/>
-                       <Tool
-                               Name="VCManagedWrapperGeneratorTool"/>
-                       <Tool
-                               Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
-                       <IntelOptions
-                               CompilerName="1"/>
-               </Configuration>
-       </Configurations>
-       <References/>
-       <Files>
-               <Filter
-                       Name="Source Files"
-                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
-                       <File
-                               RelativePath="aac2mp4.cpp"/>
-                       <File
-                               RelativePath="aacinfo.c"/>
-                       <File
-                               RelativePath=".\config.c"/>
-                       <File
-                               RelativePath=".\in_mp4.c"/>
-                       <File
-                               RelativePath=".\utils.c"/>
-               </Filter>
-               <Filter
-                       Name="Header Files"
-                       Filter="h;hpp;hxx;hm;inl">
-                       <File
-                               RelativePath="aac2mp4.h"/>
-                       <File
-                               RelativePath="aacinfo.h"/>
-                       <File
-                               RelativePath=".\config.h"/>
-                       <File
-                               RelativePath="..\..\include\faad.h"/>
-                       <File
-                               RelativePath=".\in2.h"/>
-                       <File
-                               RelativePath=".\out.h"/>
-                       <File
-                               RelativePath="resource.h"/>
-                       <File
-                               RelativePath=".\utils.h"/>
-               </Filter>
-               <Filter
-                       Name="Resource Files"
-                       Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe">
-                       <File
-                               RelativePath=".\in_mp4.rc"/>
-               </Filter>
-       </Files>
-       <Globals/>
-</VisualStudioProject>
diff --git a/lib/libfaad2/plugins/in_mp4/mbs.h b/lib/libfaad2/plugins/in_mp4/mbs.h
deleted file mode 100644 (file)
index cca5745..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * The contents of this file are subject to the Mozilla Public
- * License Version 1.1 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.mozilla.org/MPL/
- * 
- * Software distributed under the License is distributed on an "AS
- * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- * implied. See the License for the specific language governing
- * rights and limitations under the License.
- * 
- * The Original Code is MPEG4IP.
- * 
- * The Initial Developer of the Original Code is Cisco Systems Inc.
- * Portions created by Cisco Systems Inc. are
- * Copyright (C) Cisco Systems Inc. 2001-2002.  All Rights Reserved.
- * 
- * Contributor(s): 
- *             Dave Mackie             dmackie@cisco.com
- */
-
-#ifndef __MBS_INCLUDED__
-#define __MBS_INCLUDED__ 
-
-class CMemoryBitstream {
-public:
-       CMemoryBitstream() {
-               m_pBuf = NULL;
-               m_bitPos = 0;
-               m_numBits = 0;
-       }
-
-       void AllocBytes(u_int32_t numBytes);
-
-       void SetBytes(u_int8_t* pBytes, u_int32_t numBytes);
-
-       void PutBytes(u_int8_t* pBytes, u_int32_t numBytes);
-
-       void PutBits(u_int32_t bits, u_int32_t numBits);
-
-       u_int32_t GetBits(u_int32_t numBits);
-
-       void SkipBytes(u_int32_t numBytes) {
-               SkipBits(numBytes << 3);
-       }
-
-       void SkipBits(u_int32_t numBits) {
-               SetBitPosition(GetBitPosition() + numBits);
-       }
-
-       u_int32_t GetBitPosition() {
-               return m_bitPos;
-       }
-
-       void SetBitPosition(u_int32_t bitPos) {
-               if (bitPos > m_numBits) {
-                       throw;
-               }
-               m_bitPos = bitPos;
-       }
-
-       u_int8_t* GetBuffer() {
-               return m_pBuf;
-       }
-
-       u_int32_t GetNumberOfBytes() {
-               return (GetNumberOfBits() + 7) / 8;
-       }
-
-       u_int32_t GetNumberOfBits() {
-               return m_numBits;
-       }
-
-protected:
-       u_int8_t*       m_pBuf;
-       u_int32_t       m_bitPos;
-       u_int32_t       m_numBits;
-};
-
-#endif /* __MBS_INCLUDED__ */ 
-
diff --git a/lib/libfaad2/plugins/in_mp4/out.h b/lib/libfaad2/plugins/in_mp4/out.h
deleted file mode 100644 (file)
index b3d7f20..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-#define OUT_VER 0x10
-
-typedef struct
-{
-    int version;                // module version (OUT_VER)
-    char *description;          // description of module, with version string
-    int id;                     // module id. each input module gets its own. non-nullsoft modules should
-                                // be >= 65536.
-
-    HWND hMainWindow;           // winamp's main window (filled in by winamp)
-    HINSTANCE hDllInstance;     // DLL instance handle (filled in by winamp)
-
-    void (*Config)(HWND hwndParent); // configuration dialog
-    void (*About)(HWND hwndParent);  // about dialog
-
-    void (*Init)();             // called when loaded
-    void (*Quit)();             // called when unloaded
-
-    int (*Open)(int samplerate, int numchannels, int bitspersamp, int bufferlenms, int prebufferms);
-                    // returns >=0 on success, <0 on failure
-                    // NOTENOTENOTE: bufferlenms and prebufferms are ignored in most if not all output plug-ins.
-                    //    ... so don't expect the max latency returned to be what you asked for.
-                    // returns max latency in ms (0 for diskwriters, etc)
-                    // bufferlenms and prebufferms must be in ms. 0 to use defaults.
-                    // prebufferms must be <= bufferlenms
-
-    void (*Close)();    // close the ol' output device.
-
-    int (*Write)(char *buf, int len);
-                    // 0 on success. Len == bytes to write (<= 8192 always). buf is straight audio data.
-                    // 1 returns not able to write (yet). Non-blocking, always.
-
-    int (*CanWrite)();  // returns number of bytes possible to write at a given time.
-                        // Never will decrease unless you call Write (or Close, heh)
-
-    int (*IsPlaying)(); // non0 if output is still going or if data in buffers waiting to be
-                        // written (i.e. closing while IsPlaying() returns 1 would truncate the song
-
-    int (*Pause)(int pause); // returns previous pause state
-
-    void (*SetVolume)(int volume); // volume is 0-255
-    void (*SetPan)(int pan); // pan is -128 to 128
-
-    void (*Flush)(int t);   // flushes buffers and restarts output at time t (in ms)
-                            // (used for seeking)
-
-    int (*GetOutputTime)(); // returns played time in MS
-    int (*GetWrittenTime)(); // returns time written in MS (used for synching up vis stuff)
-
-} Out_Module;
-
-
diff --git a/lib/libfaad2/plugins/in_mp4/resource.h b/lib/libfaad2/plugins/in_mp4/resource.h
deleted file mode 100644 (file)
index fc59392..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by in_mp4.rc
-//
-#define IDD_INFO                        101
-#define IDD_CONFIG                      102
-#define IDC_TYPE                        1000
-#define IDC_INFOTEXT                    1000
-#define IDC_DURATION                    1001
-#define IDC_BITRATE                     1002
-#define IDC_SAMPLERATE                  1003
-#define IDC_VTYPE                       1004
-#define IDC_PRIORITY                    1004
-#define IDC_VBITRATE                    1005
-#define IDC_ERROR                       1005
-#define IDC_VDURATION                   1006
-#define IDC_16BITS                      1006
-#define IDC_VSIZE                       1007
-#define IDC_24BITS                      1007
-#define IDC_CONVERT                     1007
-#define IDC_VFPS                        1008
-#define IDC_32BITS                      1008
-#define IDC_CONVERT2                    1008
-#define IDC_CHANNELS                    1009
-#define IDC_24BITS2                     1009
-#define IDC_16BITS_DITHERED             1009
-#define IDC_CONVERT1                    1009
-#define IDC_USERDATA                    1010
-#define IDC_USEFORAAC                   1011
-#define IDC_METACOMPILATION             1012
-#define IDC_METANAME                    1013
-#define IDC_METAARTIST                  1014
-#define IDC_METAWRITER                  1015
-#define IDC_METAALBUM                   1016
-#define IDC_METACOMMENTS                1017
-#define IDC_METAGENRE                   1018
-#define IDC_METAYEAR                    1019
-#define IDC_METATRACK1                  1020
-#define IDC_METADISK1                   1021
-#define IDC_METATEMPO                   1022
-#define IDC_METATRACK2                  1023
-#define IDC_METADISK2                   1024
-#define IDC_STATIC1                     1025
-#define IDC_STATIC2                     1026
-#define IDC_STATIC3                     1027
-#define IDC_STATIC4                     1028
-#define IDC_STATIC5                     1029
-#define IDC_STATIC6                     1030
-#define IDC_STATIC7                     1031
-#define IDC_STATIC8                     1032
-#define IDC_STATIC9                     1033
-#define IDC_STATIC10                    1034
-#define IDC_STATIC11                    1035
-#define IDC_STATIC12                    1036
-#define IDC_DOWNMIX                     1038
-#define IDC_VBR                         1039
-#define IDC_TITLEFORMAT                 1040
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        103
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1041
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
diff --git a/lib/libfaad2/plugins/in_mp4/utils.c b/lib/libfaad2/plugins/in_mp4/utils.c
deleted file mode 100644 (file)
index e515e15..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: utils.c,v 1.9 2004/10/18 19:25:00 menno Exp $
-**/
-
-#define WIN32_LEAN_AND_MEAN
-#include <windows.h>
-#include <malloc.h>
-//#include <mp4.h>
-#include <mp4ff.h>
-#include <neaacdec.h>
-#include "utils.h"
-
-int StringComp(char const *str1, char const *str2, unsigned long len)
-{
-    signed int c1 = 0, c2 = 0;
-
-    while (len--)
-    {
-        c1 = tolower(*str1++);
-        c2 = tolower(*str2++);
-
-        if (c1 == 0 || c1 != c2)
-            break;
-    }
-
-    return c1 - c2;
-}
-
-int GetAACTrack(mp4ff_t *infile)
-{
-    /* find AAC track */
-    int i, rc;
-    int numTracks = mp4ff_total_tracks(infile);
-
-    for (i = 0; i < numTracks; i++)
-    {
-        unsigned char *buff = NULL;
-        int buff_size = 0;
-        mp4AudioSpecificConfig mp4ASC;
-
-        mp4ff_get_decoder_config(infile, i, &buff, &buff_size);
-
-        if (buff)
-        {
-            rc = NeAACDecAudioSpecificConfig(buff, buff_size, &mp4ASC);
-            free(buff);
-
-            if (rc < 0)
-                continue;
-            return i;
-        }
-    }
-
-    /* can't decode this */
-    return -1;
-}
-
-#if 0
-int GetAudioTrack(MP4FileHandle infile)
-{
-    /* find AAC track */
-    int i;
-       int numTracks = MP4GetNumberOfTracks(infile, NULL, 0);
-
-       for (i = 0; i < numTracks; i++)
-    {
-        MP4TrackId trackId = MP4FindTrackId(infile, i, NULL, 0);
-        const char* trackType = MP4GetTrackType(infile, trackId);
-
-        if (!strcmp(trackType, MP4_AUDIO_TRACK_TYPE))
-        {
-            return trackId;
-        }
-    }
-
-    /* can't decode this */
-    return -1;
-}
-
-int GetVideoTrack(MP4FileHandle infile)
-{
-    /* find AAC track */
-    int i;
-       int numTracks = MP4GetNumberOfTracks(infile, NULL, 0);
-
-       for (i = 0; i < numTracks; i++)
-    {
-        MP4TrackId trackId = MP4FindTrackId(infile, i, NULL, 0);
-        const char* trackType = MP4GetTrackType(infile, trackId);
-
-        if (!strcmp(trackType, MP4_VIDEO_TRACK_TYPE))
-        {
-            return trackId;
-        }
-    }
-
-    /* can't decode this */
-    return -1;
-}
-#endif
-
-LPTSTR PathFindFileName(LPCTSTR pPath)
-{
-    LPCTSTR pT;
-
-    for (pT = pPath; *pPath; pPath = CharNext(pPath)) {
-        if ((pPath[0] == TEXT('\\') || pPath[0] == TEXT(':')) && pPath[1] && (pPath[1] != TEXT('\\')))
-            pT = pPath + 1;
-    }
-
-    return (LPTSTR)pT;   // const -> non const
-}
-
-char *convert3in4to3in3(void *sample_buffer, int samples)
-{
-    int i;
-    long *sample_buffer24 = (long*)sample_buffer;
-    char *data = malloc(samples*3*sizeof(char));
-
-    for (i = 0; i < samples; i++)
-    {
-        data[i*3] = sample_buffer24[i] & 0xFF;
-        data[i*3+1] = (sample_buffer24[i] >> 8) & 0xFF;
-        data[i*3+2] = (sample_buffer24[i] >> 16) & 0xFF;
-    }
-
-    return data;
-}
diff --git a/lib/libfaad2/plugins/in_mp4/utils.h b/lib/libfaad2/plugins/in_mp4/utils.h
deleted file mode 100644 (file)
index 66be76c..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-** FAAD2 - Freeware Advanced Audio (AAC) Decoder including SBR decoding
-** Copyright (C) 2003 M. Bakker, Ahead Software AG, http://www.nero.com
-**  
-** 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.
-**
-** Any non-GPL usage of this software or parts of this software is strictly
-** forbidden.
-**
-** Commercial non-GPL licensing of this software is possible.
-** For more info contact Ahead Software through Mpeg4AAClicense@nero.com.
-**
-** $Id: utils.h,v 1.4 2004/09/03 19:38:32 menno Exp $
-**/
-
-#ifndef UTILS_INCLUDED
-#define UTILS_INCLUDED
-
-//#include <mp4.h>
-#include <mp4ff.h>
-
-LPTSTR PathFindFileName(LPCTSTR pPath);
-//int GetVideoTrack(MP4FileHandle infile);
-//int GetAudioTrack(MP4FileHandle infile);
-int GetAACTrack(mp4ff_t *infile);
-int StringComp(char const *str1, char const *str2, unsigned long len);
-char *convert3in4to3in3(void *sample_buffer, int samples);
-
-#endif
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/mpeg4ip/Makefile.am b/lib/libfaad2/plugins/mpeg4ip/Makefile.am
deleted file mode 100644 (file)
index dd916fc..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-libdir = @MPEG4IP_PLAYER_PLUGIN_DIR@
-
-lib_LTLIBRARIES = faad2_plugin.la
-faad2_plugin_la_LDFLAGS = -module
-faad2_plugin_la_SOURCES = \
-       faad2.cpp \
-       faad2.h \
-       aa_file.cpp \
-       aa_file.h
-
-faad2_plugin_la_LIBADD = \
-       $(top_builddir)/libfaad/libfaad.la \
-       -lm
-
-
-INCLUDES =  -I$(top_srcdir)/include
-
-AM_CFLAGS = -D_REENTRANT -fexceptions 
-
-AM_CXXFLAGS = -D_REENTRANT -DNOCONTROLS -fexceptions 
-
-
diff --git a/lib/libfaad2/plugins/mpeg4ip/Makefile.in b/lib/libfaad2/plugins/mpeg4ip/Makefile.in
deleted file mode 100644 (file)
index 6191fa5..0000000
+++ /dev/null
@@ -1,494 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = plugins/mpeg4ip
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-faad2_plugin_la_DEPENDENCIES = $(top_builddir)/libfaad/libfaad.la
-am_faad2_plugin_la_OBJECTS = faad2.lo aa_file.lo
-faad2_plugin_la_OBJECTS = $(am_faad2_plugin_la_OBJECTS)
-faad2_plugin_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
-       $(CXXFLAGS) $(faad2_plugin_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-SOURCES = $(faad2_plugin_la_SOURCES)
-DIST_SOURCES = $(faad2_plugin_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-GTK_CONFIG = @GTK_CONFIG@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MP4FF_LIBS = @MP4FF_LIBS@
-NMEDIT = @NMEDIT@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-RPMBUILD = @RPMBUILD@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CONFIG = @XMMS_CONFIG@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-external_mp4v2 = @external_mp4v2@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @MPEG4IP_PLAYER_PLUGIN_DIR@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-lib_LTLIBRARIES = faad2_plugin.la
-faad2_plugin_la_LDFLAGS = -module
-faad2_plugin_la_SOURCES = \
-       faad2.cpp \
-       faad2.h \
-       aa_file.cpp \
-       aa_file.h
-
-faad2_plugin_la_LIBADD = \
-       $(top_builddir)/libfaad/libfaad.la \
-       -lm
-
-INCLUDES = -I$(top_srcdir)/include
-AM_CFLAGS = -D_REENTRANT -fexceptions 
-AM_CXXFLAGS = -D_REENTRANT -DNOCONTROLS -fexceptions 
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  plugins/mpeg4ip/Makefile'; \
-       cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  plugins/mpeg4ip/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         if test -f $$p; then \
-           f=$(am__strip_dir) \
-           echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
-           $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
-         else :; fi; \
-       done
-
-uninstall-libLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         p=$(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
-       done
-
-clean-libLTLIBRARIES:
-       -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-faad2_plugin.la: $(faad2_plugin_la_OBJECTS) $(faad2_plugin_la_DEPENDENCIES) 
-       $(faad2_plugin_la_LINK) -rpath $(libdir) $(faad2_plugin_la_OBJECTS) $(faad2_plugin_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/aa_file.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faad2.Plo@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@  $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@  mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@  $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCXX_TRUE@  mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@  $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCXX_TRUE@  mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-           $$tags $$unique; \
-       fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$tags$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$tags $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && cd $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-         else \
-           test -f $(distdir)/$$file \
-           || cp -p $$d/$$file $(distdir)/$$file \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-       for dir in "$(DESTDIR)$(libdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
-       mostlyclean-am
-
-distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am: install-libLTLIBRARIES
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-libLTLIBRARIES clean-libtool ctags distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am \
-       install-libLTLIBRARIES install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-libLTLIBRARIES
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lib/libfaad2/plugins/mpeg4ip/README_WIN32.txt b/lib/libfaad2/plugins/mpeg4ip/README_WIN32.txt
deleted file mode 100644 (file)
index 9ae65c3..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-Creating mpeg4ip plugin for Windows.
-
-You will need to have mpeg4ip installed.  If you install it on the same drive, with the top level directory
-name of /mpeg4ip, you will have to do nothing other than move the faad2_plugin.dll from the Release or
-Debug directory to the same directory as the other mpeg4ip plugins.
-
-If you install it somewhere else, you will have to change the include paths and link paths in the project
-settings for faad2_plugin to the proper directory.  Look for /mpeg4ip  (or \mpeg4ip) and change all occurances
-of these in the file.
-
-It might be best to hand-edit the faad_plugin.sdp file with wordpad and use the search and replace function.
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/mpeg4ip/aa_file.cpp b/lib/libfaad2/plugins/mpeg4ip/aa_file.cpp
deleted file mode 100644 (file)
index cc6d762..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
-** MPEG4IP plugin for FAAD2
-** Copyright (C) 2003 Bill May wmay@cisco.com
-**
-** 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: aa_file.cpp,v 1.2 2004/01/05 14:05:12 menno Exp $
-**/
-/*
- * aa_file.cpp - create media structure for aac files
- */
-
-#include "faad2.h"
-codec_data_t *aac_file_check (lib_message_func_t message,
-                  const char *name,
-                  double *max,
-                  char *desc[4]
-#ifdef HAVE_PLUGIN_VERSION_0_8
-                , CConfigSet *pConfig
-#endif
-)
-{
-  aac_codec_t *aac;
-  int len = strlen(name);
-  if (strcasecmp(name + len - 4, ".aac") != 0) {
-    return (NULL);
-  }
-
-  aac = MALLOC_STRUCTURE(aac_codec_t);
-  memset(aac, 0, sizeof(*aac));
-  *max = 0;
-
-  aac->m_buffer = (uint8_t *)malloc(MAX_READ_BUFFER);
-  aac->m_buffer_size_max = MAX_READ_BUFFER;
-  aac->m_ifile = fopen(name, FOPEN_READ_BINARY);
-  if (aac->m_ifile == NULL) {
-    free(aac);
-    return NULL;
-  }
-  aac->m_output_frame_size = 1024;
-  aac->m_info = faacDecOpen(); // use defaults here...
-  aac->m_buffer_size = fread(aac->m_buffer,
-                 1,
-                 aac->m_buffer_size_max,
-                 aac->m_ifile);
-
-  unsigned long freq;
-  unsigned char chans;
-
-  faacDecInit(aac->m_info, (unsigned char *)aac->m_buffer,
-          aac->m_buffer_size, &freq, &chans);
-  // may want to actually decode the first frame...
-  if (freq == 0) {
-    message(LOG_ERR, aaclib, "Couldn't determine AAC frame rate");
-    aac_close((codec_data_t *)aac);
-    return (NULL);
-  }
-  aac->m_freq = freq;
-  aac->m_chans = chans;
-  aac->m_faad_inited = 1;
-  aac->m_framecount = 0;
-  return ((codec_data_t *)aac);
-}
-
-
-int aac_file_next_frame (codec_data_t *your,
-             uint8_t **buffer,
-             uint64_t *ts)
-{
-  aac_codec_t *aac = (aac_codec_t *)your;
-
-  if (aac->m_buffer_on > 0) {
-    memmove(aac->m_buffer,
-        &aac->m_buffer[aac->m_buffer_on],
-        aac->m_buffer_size - aac->m_buffer_on);
-  }
-  aac->m_buffer_size -= aac->m_buffer_on;
-  aac->m_buffer_size += fread(aac->m_buffer + aac->m_buffer_size,
-                  1,
-                  aac->m_buffer_size_max - aac->m_buffer_size,
-                  aac->m_ifile);
-  aac->m_buffer_on = 0;
-  if (aac->m_buffer_size == 0) return 0;
-
-
-  uint64_t calc;
-  calc = aac->m_framecount * 1024 * M_LLU;
-  calc /= aac->m_freq;
-  *ts = calc;
-  *buffer = aac->m_buffer;
-  aac->m_framecount++;
-  return (aac->m_buffer_size);
-}
-
-void aac_file_used_for_frame (codec_data_t *ifptr,
-                 uint32_t bytes)
-{
-  aac_codec_t *aac = (aac_codec_t *)ifptr;
-  aac->m_buffer_on += bytes;
-  if (aac->m_buffer_on > aac->m_buffer_size) aac->m_buffer_on = aac->m_buffer_size;
-}
-
-int aac_file_eof (codec_data_t *ifptr)
-{
-  aac_codec_t *aac = (aac_codec_t *)ifptr;
-  return aac->m_buffer_on == aac->m_buffer_size && feof(aac->m_ifile);
-}
-
-int aac_raw_file_seek_to (codec_data_t *ifptr, uint64_t ts)
-{
-  if (ts != 0) return -1;
-
-  aac_codec_t *aac = (aac_codec_t *)ifptr;
-  rewind(aac->m_ifile);
-  aac->m_buffer_size = aac->m_buffer_on = 0;
-  aac->m_framecount = 0;
-  return 0;
-}
diff --git a/lib/libfaad2/plugins/mpeg4ip/aa_file.h b/lib/libfaad2/plugins/mpeg4ip/aa_file.h
deleted file mode 100644 (file)
index 686dd38..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-** MPEG4IP plugin for FAAD2
-** Copyright (C) 2003 Bill May wmay@cisco.com
-**
-** 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: aa_file.h,v 1.1 2003/08/07 17:21:21 menno Exp $
-**/
-/*
- * aa_file.h - prototypes for aac files
- */
-int create_media_for_aac_file (CPlayerSession *pspstr,
-                   const char *name,
-                   const char **errmsg);
diff --git a/lib/libfaad2/plugins/mpeg4ip/faad2.cpp b/lib/libfaad2/plugins/mpeg4ip/faad2.cpp
deleted file mode 100644 (file)
index 77e9b68..0000000
+++ /dev/null
@@ -1,388 +0,0 @@
-/*
-** MPEG4IP plugin for FAAD2
-** Copyright (C) 2003 Bill May wmay@cisco.com
-**
-** 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: faad2.cpp,v 1.3 2004/08/20 08:30:53 menno Exp $
-**/
-#include "faad2.h"
-#include <mpeg4_audio_config.h>
-#include <mpeg4_sdp.h>
-#include <mp4.h>
-#include <SDL/SDL.h>
-
-#define DEBUG_SYNC 2
-
-#ifndef M_LLU
-#define M_LLU M_64
-#define LLU U64
-#endif
-const char *aaclib="faad2";
-
-/*
- * Create CAACodec class
- */
-static codec_data_t *aac_codec_create (const char *compressor,
-                       int type,
-                       int profile,
-                       format_list_t *media_fmt,
-                       audio_info_t *audio,
-                       const uint8_t *userdata,
-                       uint32_t userdata_size,
-                       audio_vft_t *vft,
-                       void *ifptr)
-
-{
-  aac_codec_t *aac;
-
-  aac = (aac_codec_t *)malloc(sizeof(aac_codec_t));
-  memset(aac, 0, sizeof(aac_codec_t));
-
-  aac->m_vft = vft;
-  aac->m_ifptr = ifptr;
-  fmtp_parse_t *fmtp = NULL;
-  // Start setting up FAAC stuff...
-
-  aac->m_resync_with_header = 1;
-  aac->m_record_sync_time = 1;
-
-  aac->m_audio_inited = 0;
-
-  // Use media_fmt to indicate that we're streaming.
-  if (media_fmt != NULL) {
-    // haven't checked for null buffer
-    // This is not necessarilly right - it is, for the most part, but
-    // we should be reading the fmtp statement, and looking at the config.
-    // (like we do below in the userdata section...
-    aac->m_freq = media_fmt->rtpmap->clock_rate;
-    fmtp = parse_fmtp_for_mpeg4(media_fmt->fmt_param, vft->log_msg);
-    if (fmtp != NULL) {
-      userdata = fmtp->config_binary;
-      userdata_size = fmtp->config_binary_len;
-    }
-  }
-
-  aac->m_info = faacDecOpen();
-  unsigned long srate;
-  unsigned char chan;
-  if ((userdata == NULL && fmtp == NULL) ||
-      (faacDecInit2(aac->m_info,
-             (uint8_t *)userdata,
-             userdata_size,
-            &srate,
-             &chan) < 0)) {
-      if (fmtp != NULL) free_fmtp_parse(fmtp);
-      return NULL;
-  }
-
-  mp4AudioSpecificConfig mp4ASC;
-  aac->m_output_frame_size = 1024;
-  if (AudioSpecificConfig((unsigned char *)userdata,
-              userdata_size,
-              &mp4ASC)) {
-    if (mp4ASC.frameLengthFlag) {
-      aac->m_output_frame_size = 960;
-    }
-  }
-  aac->m_freq = srate;
-  aac->m_chans = chan;
-  aac->m_faad_inited = 1;
-  aac->m_msec_per_frame = aac->m_output_frame_size;
-  aac->m_msec_per_frame *= M_LLU;
-  aac->m_msec_per_frame /= aac->m_freq;
-
-  //  faad_init_bytestream(&m_info->ld, c_read_byte, c_bookmark, m_bytestream);
-
-  aa_message(LOG_INFO, aaclib, "Setting freq to %d", aac->m_freq);
-#if DUMP_OUTPUT_TO_FILE
-  aac->m_outfile = fopen("temp.raw", "w");
-#endif
-  if (fmtp != NULL) {
-    free_fmtp_parse(fmtp);
-  }
-  return (codec_data_t *)aac;
-}
-
-void aac_close (codec_data_t *ptr)
-{
-  if (ptr == NULL) {
-    return;
-  }
-  aac_codec_t *aac = (aac_codec_t *)ptr;
-  faacDecClose(aac->m_info);
-  aac->m_info = NULL;
-
-#if DUMP_OUTPUT_TO_FILE
-  fclose(aac->m_outfile);
-#endif
-  free(aac);
-}
-
-/*
- * Handle pause - basically re-init the codec
- */
-static void aac_do_pause (codec_data_t *ifptr)
-{
-  aac_codec_t *aac = (aac_codec_t *)ifptr;
-  aac->m_resync_with_header = 1;
-  aac->m_record_sync_time = 1;
-  aac->m_audio_inited = 0;
-  aac->m_ignore_first_sample = 0;
-  faacDecPostSeekReset(aac->m_info, 0);
-}
-
-/*
- * Decode task call for FAAC
- */
-static int aac_decode (codec_data_t *ptr,
-               uint64_t ts,
-               int from_rtp,
-               int *sync_frame,
-               uint8_t *buffer,
-               uint32_t buflen,
-               void *userdata)
-{
-  aac_codec_t *aac = (aac_codec_t *)ptr;
-  unsigned long bytes_consummed;
-  int bits = -1;
-  //  struct timezone tz;
-
-  if (aac->m_record_sync_time) {
-    aac->m_current_frame = 0;
-    aac->m_record_sync_time = 0;
-    aac->m_current_time = ts;
-    aac->m_last_rtp_ts = ts;
-  } else {
-    if (aac->m_last_rtp_ts == ts) {
-      aac->m_current_time += aac->m_msec_per_frame;
-      aac->m_current_frame++;
-    } else {
-      aac->m_last_rtp_ts = ts;
-      aac->m_current_time = ts;
-      aac->m_current_frame = 0;
-    }
-
-    // Note - here m_current_time should pretty much always be >= rtpts.
-    // If we're not, we most likely want to stop and resync.  We don't
-    // need to keep decoding - just decode this frame and indicate we
-    // need a resync... That should handle fast forwards...  We need
-    // someway to handle reverses - perhaps if we're more than .5 seconds
-    // later...
-  }
-
-  if (aac->m_faad_inited == 0) {
-    /*
-     * If not initialized, do so.
-     */
-    abort();
-    unsigned long freq;
-    unsigned char chans;
-
-    faacDecInit(aac->m_info,
-        (unsigned char *)buffer,
-        buflen,
-        &freq,
-        &chans);
-    aac->m_freq = freq;
-    aac->m_chans = chans;
-    aac->m_faad_inited = 1;
-  }
-
-  uint8_t *buff;
-  unsigned long samples;
-  bytes_consummed = buflen;
-  //aa_message(LOG_DEBUG, aaclib, "decoding %d bits", buflen * 8);
-  faacDecFrameInfo frame_info;
-  buff = (uint8_t *)faacDecDecode(aac->m_info,
-                  &frame_info,
-                  buffer,
-                  buflen);
-  if (buff != NULL) {
-    bytes_consummed = frame_info.bytesconsumed;
-#if 0
-    aa_message(LOG_DEBUG, aaclib, LLU" bytes %d samples %d",
-           ts, bytes_consummed, frame_info.samples);
-#endif
-    if (aac->m_audio_inited != 0) {
-      int tempchans = frame_info.channels;
-      if (tempchans != aac->m_chans) {
-    aa_message(LOG_NOTICE, aaclib, "chupdate - chans from data is %d",
-           tempchans);
-      }
-    } else {
-      int tempchans = frame_info.channels;
-
-      if (tempchans == 0) {
-    aa_message(LOG_ERR, aaclib, "initializing aac, returned channels are 0");
-    aac->m_resync_with_header = 1;
-    aac->m_record_sync_time = 1;
-    return bytes_consummed;
-      }
-      aac->m_chans = tempchans;
-      aac->m_freq = frame_info.samplerate;
-
-      aac->m_vft->audio_configure(aac->m_ifptr,
-                  aac->m_freq,
-                  aac->m_chans,
-                  (audio_format_t)AUDIO_S16SYS,
-                  aac->m_output_frame_size);
-      uint8_t *now = aac->m_vft->audio_get_buffer(aac->m_ifptr);
-      aac->m_audio_inited = 1;
-    }
-    /*
-     * good result - give it to audio sync class
-     */
-#if DUMP_OUTPUT_TO_FILE
-    fwrite(buff, aac->m_output_frame_size * 4, 1, aac->m_outfile);
-#endif
-    if (frame_info.samples != 0) {
-      aac->m_vft->audio_load_buffer(aac->m_ifptr,
-                    buff,
-                    frame_info.samples * 2,
-                    aac->m_last_ts,
-                    aac->m_resync_with_header);
-      if (aac->m_resync_with_header == 1) {
-    aac->m_resync_with_header = 0;
-#ifdef DEBUG_SYNC
-    aa_message(LOG_DEBUG, aaclib, "Back to good at "LLU, aac->m_current_time);
-#endif
-      }
-    }
-  } else {
-    aa_message(LOG_ERR, aaclib, "error return is %d", frame_info.error);
-    aac->m_resync_with_header = 1;
-#ifdef DEBUG_SYNC
-    aa_message(LOG_ERR, aaclib, "Audio decode problem - at "LLU,
-           aac->m_current_time);
-#endif
-  }
-  aac->m_last_ts = aac->m_current_time;
-  return (bytes_consummed);
-}
-
-static const char *aac_compressors[] = {
-  "aac ",
-  "mp4a",
-  "enca",
-  NULL
-};
-
-static int aac_codec_check (lib_message_func_t message,
-                const char *compressor,
-                int type,
-                int profile,
-                format_list_t *fptr,
-                const uint8_t *userdata,
-                uint32_t userdata_size
-#ifdef HAVE_PLUGIN_VERSION_0_8
-              ,CConfigSet *pConfig
-#endif
-              )
-{
-  fmtp_parse_t *fmtp = NULL;
-  if (compressor != NULL &&
-      strcasecmp(compressor, "MP4 FILE") == 0 &&
-      type != -1) {
-    switch (type) {
-    case MP4_MPEG2_AAC_MAIN_AUDIO_TYPE:
-    case MP4_MPEG2_AAC_LC_AUDIO_TYPE:
-    case MP4_MPEG2_AAC_SSR_AUDIO_TYPE:
-    case MP4_MPEG4_AUDIO_TYPE:
-      break;
-    default:
-      return -1;
-    }
-  }
-  if (fptr != NULL &&
-      fptr->rtpmap != NULL &&
-      fptr->rtpmap->encode_name != NULL) {
-    if (strcasecmp(fptr->rtpmap->encode_name, "mpeg4-generic") != 0) {
-      return -1;
-    }
-    if (userdata == NULL) {
-      fmtp = parse_fmtp_for_mpeg4(fptr->fmt_param, message);
-      if (fmtp != NULL) {
-    userdata = fmtp->config_binary;
-    userdata_size = fmtp->config_binary_len;
-      }
-    }
-  }
-  if (userdata != NULL) {
-    mpeg4_audio_config_t audio_config;
-    decode_mpeg4_audio_config(userdata, userdata_size, &audio_config);
-    message(LOG_DEBUG, "aac", "audio type is %d", audio_config.audio_object_type);
-    if (fmtp != NULL) free_fmtp_parse(fmtp);
-
-    if (audio_object_type_is_aac(&audio_config) == 0) {
-      return -1;
-    }
-#if 0
-    if (audio_config.audio_object_type == 17) {
-      message(LOG_INFO, "aac", "audio type is legal ISMA, but not supported");
-      return -1;
-    }
-#endif
-    return 2;
-  }
-#if 0
-  // I'm not sure I want to be here if we don't have an audio config
-  if (compressor != NULL) {
-    const char **lptr = aac_compressors;
-    while (*lptr != NULL) {
-      if (strcasecmp(*lptr, compressor) == 0) {
-    return 2;
-      }
-      lptr++;
-    }
-  }
-#endif
-  return -1;
-}
-
-#ifndef HAVE_PLUGIN_VERSION_0_8
-AUDIO_CODEC_WITH_RAW_FILE_PLUGIN("faad2",
-                 aac_codec_create,
-                 aac_do_pause,
-                 aac_decode,
-                 NULL,
-                 aac_close,
-                 aac_codec_check,
-                 aac_file_check,
-                 aac_file_next_frame,
-                 aac_file_used_for_frame,
-                 aac_raw_file_seek_to,
-               aac_file_eof
-               );
-#else
-AUDIO_CODEC_WITH_RAW_FILE_PLUGIN("faad2",
-               aac_codec_create,
-               aac_do_pause,
-               aac_decode,
-               NULL,
-               aac_close,
-               aac_codec_check,
-               aac_file_check,
-               aac_file_next_frame,
-               aac_file_used_for_frame,
-               aac_raw_file_seek_to,
-               aac_file_eof,
-               NULL,
-               0
-               );
-#endif
-/* end file aa.cpp */
-
-
diff --git a/lib/libfaad2/plugins/mpeg4ip/faad2.h b/lib/libfaad2/plugins/mpeg4ip/faad2.h
deleted file mode 100644 (file)
index 78a2bde..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
-** MPEG4IP plugin for FAAD2
-** Copyright (C) 2003 Bill May wmay@cisco.com
-**
-** 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: faad2.h,v 1.2 2004/01/05 14:05:12 menno Exp $
-**/
-/*
- * aa.h - class definition for AAC codec.
- */
-
-#ifndef __AA_H__
-#define __AA_H__ 1
-#include "faad.h"
-#include "codec_plugin.h"
-
-#ifndef M_LLU
-#define M_LLU M_64
-#define LLU U64
-#endif
-
-typedef struct aac_codec_t {
-  codec_data_t c;
-  audio_vft_t *m_vft;
-  void *m_ifptr;
-  faacDecHandle m_info;
-  int m_object_type;
-  int m_resync_with_header;
-  int m_record_sync_time;
-  uint64_t m_current_time;
-  uint64_t m_last_rtp_ts;
-  uint64_t m_msec_per_frame;
-  uint32_t m_current_frame;
-  int m_audio_inited;
-  int m_faad_inited;
-  int m_freq;  // frequency
-  int m_chans; // channels
-  int m_output_frame_size;
-#if DUMP_OUTPUT_TO_FILE
-  FILE *m_outfile;
-#endif
-  FILE *m_ifile;
-  uint8_t *m_buffer;
-  uint32_t m_buffer_size_max;
-  uint32_t m_buffer_size;
-  uint32_t m_buffer_on;
-  uint64_t m_framecount;
-  int m_ignore_first_sample;
-  uint64_t m_last_ts;
-} aac_codec_t;
-
-#define m_vft c.v.audio_vft
-#define m_ifptr c.ifptr
-#define MAX_READ_BUFFER (768 * 8)
-
-#define aa_message aac->m_vft->log_msg
-void aac_close(codec_data_t *ptr);
-extern const char *aaclib;
-
-codec_data_t *aac_file_check(lib_message_func_t message,
-                 const char *name,
-                 double *max,
-                 char *desc[4]
-#ifdef HAVE_PLUGIN_VERSION_0_8
-               , CConfigSet *pConfig
-#endif
-);
-
-int aac_file_next_frame(codec_data_t *ifptr,
-            uint8_t **buffer,
-            uint64_t *ts);
-int aac_file_eof(codec_data_t *ifptr);
-
-void aac_file_used_for_frame(codec_data_t *ifptr,
-                 uint32_t bytes);
-
-int aac_raw_file_seek_to(codec_data_t *ifptr,
-             uint64_t ts);
-#endif
diff --git a/lib/libfaad2/plugins/mpeg4ip/faad2_plugin.dsp b/lib/libfaad2/plugins/mpeg4ip/faad2_plugin.dsp
deleted file mode 100644 (file)
index b891112..0000000
+++ /dev/null
@@ -1,107 +0,0 @@
-# Microsoft Developer Studio Project File - Name="faad2_plugin" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=faad2_plugin - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "faad2_plugin.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "faad2_plugin.mak" CFG="faad2_plugin - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "faad2_plugin - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "faad2_plugin - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "faad2_plugin - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../include" /I "/mpeg4ip/include" /I "/mpeg4ip/player/src" /I "/mpeg4ip/player/lib/mp4util" /I "/mpeg4ip/lib/sdp" /I "/mpeg4ip/lib/SDL/include" /I "/mpeg4ip/lib/mp4v2" /D "_WINDOWS" /D "_WIN32" /D "WIN32" /D "NDEBUG" /YX /FD /I /mpeg4ip/include" /I /mpeg4ip/player/src" /I /mpeg4ip/lib/sdp" /I /mpeg4ip/player/lib/mp4util" /I /mpeg4ip/lib/SDL/include" " " " " " /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \mpeg4ip\player\lib\mp4util\Release\libmp4util60.lib \mpeg4ip\lib\bitstream\Release\bitstream60.lib /nologo /subsystem:windows /dll /machine:I386 /nodefaultlib:"libcmt.lib" /nodefaultlib:"libc.lib"
-
-!ELSEIF  "$(CFG)" == "faad2_plugin - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../include" /I "/mpeg4ip/include" /I "/mpeg4ip/player/src" /I "/mpeg4ip/player/lib/mp4util" /I "/mpeg4ip/lib/sdp" /I "/mpeg4ip/lib/SDL/include" /I "/mpeg4ip/lib/mp4v2" /D "_WINDOWS" /D "_WIN32" /D "WIN32" /D "_DEBUG" /YX /FD /I /mpeg4ip/lib/mp4v2" /I /mpeg4ip/lib/SDL" /I /mpeg4ip/include" /I /mpeg4ip/player/src" /I /mpeg4ip/lib/sdp" /I /mpeg4ip/player/lib/mp4util" /I /mpeg4ip/lib/SDL/include" " " " " " " " /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \mpeg4ip\player\lib\mp4util\Debug\libmp4util60.lib \mpeg4ip\lib\bitstream\Debug\bitstream60.lib /nologo /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"libcd.lib" /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "faad2_plugin - Win32 Release"
-# Name "faad2_plugin - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\aa_file.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\aa_file.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\faad2.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\faad2.h
-# End Source File
-# End Target
-# End Project
diff --git a/lib/libfaad2/plugins/mpeg4ip/faad2_plugin.dsw b/lib/libfaad2/plugins/mpeg4ip/faad2_plugin.dsw
deleted file mode 100644 (file)
index 89ecf25..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "faad2_plugin"=.\faad2_plugin.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libfaad
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libfaad"=..\..\libfaad\libfaad.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/lib/libfaad2/plugins/xmms/AUTHORS b/lib/libfaad2/plugins/xmms/AUTHORS
deleted file mode 100644 (file)
index f2ebfdb..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-xmms-mp4 plugin for xmms-1.2.x
-
-re-coded by ciberfred from scratch
diff --git a/lib/libfaad2/plugins/xmms/ChangeLog b/lib/libfaad2/plugins/xmms/ChangeLog
deleted file mode 100644 (file)
index fac6be3..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-22 August 2004:
-       * move from libmp4v2 to libmp4ff
-
-1 December 2003:
-       * remove aac plug and merge the aac part with the mp4 part
-         so now 2 plugins in one :)
-
-4 juillet 2003:
-       * package the plugin for faad2
-       * upgrade code to libfaad2-2.0 API
-       * version 0.5
-
-15 juin 2003:
-       * better configuration code
-         (choose automaticaly at compile time)
-       * installation must be set by root
-       * version 0.4
-
-15 mai 2003:
-       * update configure script to be better
-       * version 0.3
-
-01 Novembre 2002:
-       * check automake/autoconf/libtool for plugin, now 'make install' work
-       * handle seeking
-       * configuration box created (thanks glade !)
-       * handle aac informations
-       * modification to a better infobox (thanks angain glade !)
-       * version 0.2 ready to public :)
-
-25 Aout 2002:
-       * gtk-1.2.x info file with some 'static' useful ID3 info
-       * title show in xmms correctly
-       * version 0.1 ready to public :)
-
-20 Aout 2002:
-       * everything...
-       * work with faad2lib-1.1, id3lib-3.8.0 (glibc-2.2.5, gcc-2.95.3)
-         i think the minimum required but need testing...
-       * playlist working
-       * handle id3tag, the plugin work :)
-       * new maintener : ciberfred
-       
diff --git a/lib/libfaad2/plugins/xmms/INSTALL b/lib/libfaad2/plugins/xmms/INSTALL
deleted file mode 100644 (file)
index aa1011b..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-the installation of this plugin is provide by the faad2 package.
-add to configure time the option '--with-xmms' and the plugin will be build
\ No newline at end of file
diff --git a/lib/libfaad2/plugins/xmms/Makefile.am b/lib/libfaad2/plugins/xmms/Makefile.am
deleted file mode 100644 (file)
index f268924..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-SUBDIRS = src
-
diff --git a/lib/libfaad2/plugins/xmms/Makefile.in b/lib/libfaad2/plugins/xmms/Makefile.in
deleted file mode 100644 (file)
index d5ce08c..0000000
+++ /dev/null
@@ -1,488 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = plugins/xmms
-DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-       AUTHORS ChangeLog INSTALL NEWS TODO
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
-       html-recursive info-recursive install-data-recursive \
-       install-dvi-recursive install-exec-recursive \
-       install-html-recursive install-info-recursive \
-       install-pdf-recursive install-ps-recursive install-recursive \
-       installcheck-recursive installdirs-recursive pdf-recursive \
-       ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive        \
-  distclean-recursive maintainer-clean-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-GTK_CONFIG = @GTK_CONFIG@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MP4FF_LIBS = @MP4FF_LIBS@
-NMEDIT = @NMEDIT@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-RPMBUILD = @RPMBUILD@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CONFIG = @XMMS_CONFIG@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-external_mp4v2 = @external_mp4v2@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = src
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  plugins/xmms/Makefile'; \
-       cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  plugins/xmms/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-#     (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
-       @failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       target=`echo $@ | sed s/-recursive//`; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           dot_seen=yes; \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done; \
-       if test "$$dot_seen" = "no"; then \
-         $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
-       fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
-       @failcom='exit 1'; \
-       for f in x $$MAKEFLAGS; do \
-         case $$f in \
-           *=* | --[!k]*);; \
-           *k*) failcom='fail=yes';; \
-         esac; \
-       done; \
-       dot_seen=no; \
-       case "$@" in \
-         distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
-         *) list='$(SUBDIRS)' ;; \
-       esac; \
-       rev=''; for subdir in $$list; do \
-         if test "$$subdir" = "."; then :; else \
-           rev="$$subdir $$rev"; \
-         fi; \
-       done; \
-       rev="$$rev ."; \
-       target=`echo $@ | sed s/-recursive//`; \
-       for subdir in $$rev; do \
-         echo "Making $$target in $$subdir"; \
-         if test "$$subdir" = "."; then \
-           local_target="$$target-am"; \
-         else \
-           local_target="$$target"; \
-         fi; \
-         (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
-         || eval $$failcom; \
-       done && test -z "$$fail"
-tags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
-       done
-ctags-recursive:
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
-       done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       here=`pwd`; \
-       if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
-         include_option=--etags-include; \
-         empty_fix=.; \
-       else \
-         include_option=--include; \
-         empty_fix=; \
-       fi; \
-       list='$(SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test ! -f $$subdir/TAGS || \
-             tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
-         fi; \
-       done; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-           $$tags $$unique; \
-       fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$tags$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$tags $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && cd $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-         else \
-           test -f $(distdir)/$$file \
-           || cp -p $$d/$$file $(distdir)/$$file \
-           || exit 1; \
-         fi; \
-       done
-       list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
-         if test "$$subdir" = .; then :; else \
-           test -d "$(distdir)/$$subdir" \
-           || $(MKDIR_P) "$(distdir)/$$subdir" \
-           || exit 1; \
-           distdir=`$(am__cd) $(distdir) && pwd`; \
-           top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
-           (cd $$subdir && \
-             $(MAKE) $(AM_MAKEFLAGS) \
-               top_distdir="$$top_distdir" \
-               distdir="$$distdir/$$subdir" \
-               am__remove_distdir=: \
-               am__skip_length_check=: \
-               distdir) \
-             || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
-       -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-info: install-info-recursive
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
-       install-strip
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
-       all all-am check check-am clean clean-generic clean-libtool \
-       ctags ctags-recursive distclean distclean-generic \
-       distclean-libtool distclean-tags distdir dvi dvi-am html \
-       html-am info info-am install install-am install-data \
-       install-data-am install-dvi install-dvi-am install-exec \
-       install-exec-am install-html install-html-am install-info \
-       install-info-am install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs installdirs-am maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-generic \
-       mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
-       uninstall uninstall-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lib/libfaad2/plugins/xmms/NEWS b/lib/libfaad2/plugins/xmms/NEWS
deleted file mode 100644 (file)
index 39659cd..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-22 Aout 2004
-------------
-modification du system de compilation, passage de libmp4v2 a libmp4ff
-en static, libfaad en dynamique.
-
-1 Decembre 2003
----------------
-merge du plugin aac et du plugin mp4. modification des script du projet faad
-le plugin ne doit pas etre construit en meme temps que le projet
-
-4 Juillet 2003
---------------
-integration du plugin xmms-aac dans le projet faad2 version 2.x
-
-15 aout 2002
-------------
-
-Recodage en entier du plugin aac
-me contacter par mail a :
-
-frederic.fondriest@laposte.net
diff --git a/lib/libfaad2/plugins/xmms/README b/lib/libfaad2/plugins/xmms/README
deleted file mode 100644 (file)
index b4e93e2..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-                             xmms-mp4 plugin v0.5
-                              (dynamic version)
-                       "a mp4/aac audio player for xmms"
-                       coded by ciberfred from france  
-                               -------------
-
-This source code allow to xmms to read .mp4/.m4a/.aac files
-
-About.
- This plugin is a merge between aac and mp4 plugin. so now you could read
-all new and old files encoded with different encoder and different format
-(for the aac part). This is possible since the libfaad2 allow to read
-old aac ADTS format.
-
-For any informations about this plugin contact me at :
-
-mail : frederic.fondriest@laposte.net
-ICQ  : 17293220
-aac plugin homepage (and more) : http://fondriest.frederic.free.fr/realisations/
-IRC  : irc.eu.freenode.net (#lamip)
-
--- 
-Frederic Fondriest
diff --git a/lib/libfaad2/plugins/xmms/TODO b/lib/libfaad2/plugins/xmms/TODO
deleted file mode 100644 (file)
index 23e7934..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-TODO:
-
-       * handle AAC info such as MPEG-AAC type, header (ADTS/ADIF),...
-       * seeking... but it will certainly an option because it need
-         a reading of whole file....
-       * any suggestions ... send me somes messages about it :)
diff --git a/lib/libfaad2/plugins/xmms/src/Makefile.am b/lib/libfaad2/plugins/xmms/src/Makefile.am
deleted file mode 100644 (file)
index c3594dd..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-local_CFLAGS=`$(XMMS_CONFIG) --cflags` -Wall
-local_LDFLAGS=`$(XMMS_CONFIG) --libs`
-libdir = `$(XMMS_CONFIG) --input-plugin-dir`
-lib_LTLIBRARIES = libmp4.la
-
-libmp4_la_CFLAGS = $(local_CFLAGS) -Wall \
-       -I$(top_srcdir)/include -I$(top_srcdir)/common/mp4ff
-
-libmp4_la_LIBADD = $(top_builddir)/libfaad/libfaad.la \
-       $(top_builddir)/common/mp4ff/libmp4ff.la
-
-libmp4_la_LDFLAGS = -module -avoid-version $(local_LDFLAGS) -lpthread
-
-libmp4_la_SOURCES = libmp4.c mp4_utils.c aac_utils.c
diff --git a/lib/libfaad2/plugins/xmms/src/Makefile.in b/lib/libfaad2/plugins/xmms/src/Makefile.in
deleted file mode 100644 (file)
index 2b5a235..0000000
+++ /dev/null
@@ -1,505 +0,0 @@
-# Makefile.in generated by automake 1.10.1 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-subdir = plugins/xmms/src
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/configure.in
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
-       $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-libmp4_la_DEPENDENCIES = $(top_builddir)/libfaad/libfaad.la \
-       $(top_builddir)/common/mp4ff/libmp4ff.la
-am_libmp4_la_OBJECTS = libmp4_la-libmp4.lo libmp4_la-mp4_utils.lo \
-       libmp4_la-aac_utils.lo
-libmp4_la_OBJECTS = $(am_libmp4_la_OBJECTS)
-libmp4_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(libmp4_la_CFLAGS) \
-       $(CFLAGS) $(libmp4_la_LDFLAGS) $(LDFLAGS) -o $@
-DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
-       $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-       $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-       --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-       $(LDFLAGS) -o $@
-SOURCES = $(libmp4_la_SOURCES)
-DIST_SOURCES = $(libmp4_la_SOURCES)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DSYMUTIL = @DSYMUTIL@
-ECHO = @ECHO@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-F77 = @F77@
-FFLAGS = @FFLAGS@
-GREP = @GREP@
-GTK_CONFIG = @GTK_CONFIG@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-MP4FF_LIBS = @MP4FF_LIBS@
-NMEDIT = @NMEDIT@
-OBJEXT = @OBJEXT@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-RANLIB = @RANLIB@
-RPMBUILD = @RPMBUILD@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-XMMS_CONFIG = @XMMS_CONFIG@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_F77 = @ac_ct_F77@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-external_mp4v2 = @external_mp4v2@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = `$(XMMS_CONFIG) --input-plugin-dir`
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-local_CFLAGS = `$(XMMS_CONFIG) --cflags` -Wall
-local_LDFLAGS = `$(XMMS_CONFIG) --libs`
-lib_LTLIBRARIES = libmp4.la
-libmp4_la_CFLAGS = $(local_CFLAGS) -Wall \
-       -I$(top_srcdir)/include -I$(top_srcdir)/common/mp4ff
-
-libmp4_la_LIBADD = $(top_builddir)/libfaad/libfaad.la \
-       $(top_builddir)/common/mp4ff/libmp4ff.la
-
-libmp4_la_LDFLAGS = -module -avoid-version $(local_LDFLAGS) -lpthread
-libmp4_la_SOURCES = libmp4.c mp4_utils.c aac_utils.c
-all: all-am
-
-.SUFFIXES:
-.SUFFIXES: .c .lo .o .obj
-$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
-       @for dep in $?; do \
-         case '$(am__configure_deps)' in \
-           *$$dep*) \
-             cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
-               && exit 0; \
-             exit 1;; \
-         esac; \
-       done; \
-       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  plugins/xmms/src/Makefile'; \
-       cd $(top_srcdir) && \
-         $(AUTOMAKE) --gnu  plugins/xmms/src/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
-       @case '$?' in \
-         *config.status*) \
-           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
-         *) \
-           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
-           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
-       esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure:  $(am__configure_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
-       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
-       @$(NORMAL_INSTALL)
-       test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         if test -f $$p; then \
-           f=$(am__strip_dir) \
-           echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
-           $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
-         else :; fi; \
-       done
-
-uninstall-libLTLIBRARIES:
-       @$(NORMAL_UNINSTALL)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         p=$(am__strip_dir) \
-         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
-         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
-       done
-
-clean-libLTLIBRARIES:
-       -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
-       @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
-         dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
-         test "$$dir" != "$$p" || dir=.; \
-         echo "rm -f \"$${dir}/so_locations\""; \
-         rm -f "$${dir}/so_locations"; \
-       done
-libmp4.la: $(libmp4_la_OBJECTS) $(libmp4_la_DEPENDENCIES) 
-       $(libmp4_la_LINK) -rpath $(libdir) $(libmp4_la_OBJECTS) $(libmp4_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
-       -rm -f *.$(OBJEXT)
-
-distclean-compile:
-       -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmp4_la-aac_utils.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmp4_la-libmp4.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmp4_la-mp4_utils.Plo@am__quote@
-
-.c.o:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c $<
-
-.c.obj:
-@am__fastdepCC_TRUE@   $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(COMPILE) -c `$(CYGPATH_W) '$<'`
-
-.c.lo:
-@am__fastdepCC_TRUE@   $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LTCOMPILE) -c -o $@ $<
-
-libmp4_la-libmp4.lo: libmp4.c
-@am__fastdepCC_TRUE@   $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4_la_CFLAGS) $(CFLAGS) -MT libmp4_la-libmp4.lo -MD -MP -MF $(DEPDIR)/libmp4_la-libmp4.Tpo -c -o libmp4_la-libmp4.lo `test -f 'libmp4.c' || echo '$(srcdir)/'`libmp4.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/libmp4_la-libmp4.Tpo $(DEPDIR)/libmp4_la-libmp4.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='libmp4.c' object='libmp4_la-libmp4.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4_la_CFLAGS) $(CFLAGS) -c -o libmp4_la-libmp4.lo `test -f 'libmp4.c' || echo '$(srcdir)/'`libmp4.c
-
-libmp4_la-mp4_utils.lo: mp4_utils.c
-@am__fastdepCC_TRUE@   $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4_la_CFLAGS) $(CFLAGS) -MT libmp4_la-mp4_utils.lo -MD -MP -MF $(DEPDIR)/libmp4_la-mp4_utils.Tpo -c -o libmp4_la-mp4_utils.lo `test -f 'mp4_utils.c' || echo '$(srcdir)/'`mp4_utils.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/libmp4_la-mp4_utils.Tpo $(DEPDIR)/libmp4_la-mp4_utils.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='mp4_utils.c' object='libmp4_la-mp4_utils.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4_la_CFLAGS) $(CFLAGS) -c -o libmp4_la-mp4_utils.lo `test -f 'mp4_utils.c' || echo '$(srcdir)/'`mp4_utils.c
-
-libmp4_la-aac_utils.lo: aac_utils.c
-@am__fastdepCC_TRUE@   $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4_la_CFLAGS) $(CFLAGS) -MT libmp4_la-aac_utils.lo -MD -MP -MF $(DEPDIR)/libmp4_la-aac_utils.Tpo -c -o libmp4_la-aac_utils.lo `test -f 'aac_utils.c' || echo '$(srcdir)/'`aac_utils.c
-@am__fastdepCC_TRUE@   mv -f $(DEPDIR)/libmp4_la-aac_utils.Tpo $(DEPDIR)/libmp4_la-aac_utils.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      source='aac_utils.c' object='libmp4_la-aac_utils.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libmp4_la_CFLAGS) $(CFLAGS) -c -o libmp4_la-aac_utils.lo `test -f 'aac_utils.c' || echo '$(srcdir)/'`aac_utils.c
-
-mostlyclean-libtool:
-       -rm -f *.lo
-
-clean-libtool:
-       -rm -rf .libs _libs
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
-       list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       mkid -fID $$unique
-tags: TAGS
-
-TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       here=`pwd`; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
-         test -n "$$unique" || unique=$$empty_fix; \
-         $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
-           $$tags $$unique; \
-       fi
-ctags: CTAGS
-CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
-               $(TAGS_FILES) $(LISP)
-       tags=; \
-       list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
-       unique=`for i in $$list; do \
-           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
-         done | \
-         $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
-             END { if (nonempty) { for (i in files) print i; }; }'`; \
-       test -z "$(CTAGS_ARGS)$$tags$$unique" \
-         || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
-            $$tags $$unique
-
-GTAGS:
-       here=`$(am__cd) $(top_builddir) && pwd` \
-         && cd $(top_srcdir) \
-         && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
-       -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
-       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
-       list='$(DISTFILES)'; \
-         dist_files=`for file in $$list; do echo $$file; done | \
-         sed -e "s|^$$srcdirstrip/||;t" \
-             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
-       case $$dist_files in \
-         */*) $(MKDIR_P) `echo "$$dist_files" | \
-                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
-                          sort -u` ;; \
-       esac; \
-       for file in $$dist_files; do \
-         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
-         if test -d $$d/$$file; then \
-           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
-           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
-             cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
-           fi; \
-           cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
-         else \
-           test -f $(distdir)/$$file \
-           || cp -p $$d/$$file $(distdir)/$$file \
-           || exit 1; \
-         fi; \
-       done
-check-am: all-am
-check: check-am
-all-am: Makefile $(LTLIBRARIES)
-installdirs:
-       for dir in "$(DESTDIR)$(libdir)"; do \
-         test -z "$$dir" || $(MKDIR_P) "$$dir"; \
-       done
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
-       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
-         install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
-         `test -z '$(STRIP)' || \
-           echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
-       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
-       @echo "This command is intended for maintainers to use"
-       @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
-       mostlyclean-am
-
-distclean: distclean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
-       distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am: install-libLTLIBRARIES
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
-       -rm -rf ./$(DEPDIR)
-       -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
-       mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-libLTLIBRARIES
-
-.MAKE: install-am install-strip
-
-.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
-       clean-libLTLIBRARIES clean-libtool ctags distclean \
-       distclean-compile distclean-generic distclean-libtool \
-       distclean-tags distdir dvi dvi-am html html-am info info-am \
-       install install-am install-data install-data-am install-dvi \
-       install-dvi-am install-exec install-exec-am install-html \
-       install-html-am install-info install-info-am \
-       install-libLTLIBRARIES install-man install-pdf install-pdf-am \
-       install-ps install-ps-am install-strip installcheck \
-       installcheck-am installdirs maintainer-clean \
-       maintainer-clean-generic mostlyclean mostlyclean-compile \
-       mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
-       tags uninstall uninstall-am uninstall-libLTLIBRARIES
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/lib/libfaad2/plugins/xmms/src/aac_utils.c b/lib/libfaad2/plugins/xmms/src/aac_utils.c
deleted file mode 100644 (file)
index 028d754..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- *
- * utils for AAC informations
-*/
-#include <glib.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-
-#define ADTS_HEADER_SIZE        8
-#define SEEK_TABLE_CHUNK        60
-#define MPEG4_TYPE              0
-#define MPEG2_TYPE              1
-
-// Read ADTS header, the file descriptor must be at
-// the begining of the aac frame not at the id3tag
-
-int    getAacInfo(FILE *fd)
-{
-  unsigned char        header[ADTS_HEADER_SIZE];
-  unsigned int id;
-  unsigned long        originPosition;
-
-  originPosition = ftell(fd);
-  if(fread(header, 1, ADTS_HEADER_SIZE, fd) != ADTS_HEADER_SIZE){
-    fseek(fd, originPosition, SEEK_SET);
-    return(-1);
-  }
-  if(!((header[0]==0xFF)&&((header[1]& 0xF6)==0xF0))){
-    printf("Bad header\n");
-    return(-1);
-  }
-  id = header[1]&0x08;
-  if(id==0){//MPEG-4 AAC
-    fseek(fd, originPosition, SEEK_SET);
-    return(MPEG4_TYPE);
-  }else{
-    fseek(fd, originPosition, SEEK_SET);
-    return(MPEG2_TYPE);
-  }
-  fseek(fd, originPosition, SEEK_SET);
-  return(-1);
-}
-
-// as AAC is VBR we need to check all ADTS header
-// to enable seeking...
-// there is no other solution
-void   checkADTSForSeeking(FILE *fd,
-                           unsigned long **seekTable,
-                           unsigned long *seekTableLength)
-{
-  unsigned long        originPosition;
-  unsigned long        position;
-  unsigned char        header[ADTS_HEADER_SIZE];
-  unsigned int frameCount, frameLength, frameInsec;
-  unsigned int id=0, seconds=0;
-
-  originPosition = ftell(fd);
-
-  for(frameCount=0,frameInsec=0;; frameCount++,frameInsec++){
-    position = ftell(fd);
-    if(fread(header, 1, ADTS_HEADER_SIZE, fd)!=ADTS_HEADER_SIZE){
-      break;
-    }
-    if(!strncmp(header, "ID3", 3)){
-      break;
-    }
-    if(!((header[0]==0xFF)&&((header[1]& 0xF6)==0xF0))){
-      printf("error : Bad 1st header, file may be corrupt !\n");
-      break;
-    }
-    if(!frameCount){
-      id=header[1]&0x08;
-      if(((*seekTable) = malloc(SEEK_TABLE_CHUNK * sizeof(unsigned long)))==0){
-       printf("malloc error\n");
-       return;
-      }
-      (*seekTableLength) = SEEK_TABLE_CHUNK;
-    }
-
-    //if(id==0){//MPEG-4
-    //frameLength = ((unsigned int)header[4]<<5)|((unsigned int)header[5]>>3);
-    //}else{//MPEG-2
-      frameLength = (((unsigned int)header[3]&0x3)<<11)|((unsigned int)header[4]<<3)|(header[5]>>5);
-      //}
-    if(frameInsec==43){//???
-      frameInsec=0;
-    }
-    if(frameInsec==0){
-      if(seconds == (*seekTableLength)){
-       (*seekTable) = realloc((*seekTable), (seconds+SEEK_TABLE_CHUNK)*sizeof(unsigned long));
-       (*seekTableLength) = seconds+SEEK_TABLE_CHUNK;
-      }
-      (*seekTable)[seconds] = position;
-      seconds++;
-    }
-    if(fseek(fd, frameLength-ADTS_HEADER_SIZE, SEEK_CUR)==-1){
-      break;
-    }
-  }
-  (*seekTableLength) = seconds;
-  fseek(fd, originPosition, SEEK_SET);
-}
diff --git a/lib/libfaad2/plugins/xmms/src/libmp4.c b/lib/libfaad2/plugins/xmms/src/libmp4.c
deleted file mode 100644 (file)
index 97e8d12..0000000
+++ /dev/null
@@ -1,586 +0,0 @@
-/*
- * MP4/AAC decoder for xmms
- *
- * OPTIONNAL need
- * --------------
- * libid3 (3.8.x - www.id3.org)
-*/
-
-#include <pthread.h>
-#include <gtk/gtk.h>
-#include <stdio.h>
-#include <string.h>
-
-#if defined(HAVE_BMP)
-#include <bmp/plugin.h>
-#include <bmp/util.h>
-#include <bmp/configfile.h>
-#include <bmp/titlestring.h>
-#else
-#include <xmms/plugin.h>
-#include <xmms/util.h>
-#include <xmms/configfile.h>
-#include <xmms/titlestring.h>
-#endif /*HAVE_BMP*/
-
-#include "neaacdec.h"
-#include "mp4ff.h"
-
-#define MP4_DESCRIPTION        "MP4 & MPEG2/4-AAC audio player - 1.2.x"
-#define MP4_VERSION    "ver. 0.5-faad2-version - 22 August 2004"
-#define MP4_ABOUT      "Written by ciberfred"
-#define BUFFER_SIZE    FAAD_MIN_STREAMSIZE*64
-
-static void    mp4_init(void);
-static void    mp4_about(void);
-static void    mp4_play(char *);
-static void    mp4_stop(void);
-static void    mp4_pause(short);
-static void    mp4_seek(int);
-static int     mp4_getTime(void);
-static void    mp4_cleanup(void);
-static void    mp4_getSongTitle(char *, char **, int *);
-static void    mp4_getSongInfo(char *);
-static int     mp4_isFile(char *);
-static void*   mp4Decode(void *);
-
-InputPlugin mp4_ip =
-  {
-    0, // handle
-    0, // filename
-    MP4_DESCRIPTION,
-    mp4_init,
-    mp4_about,
-    0, // configuration
-    mp4_isFile,
-    0, //scandir
-    mp4_play,
-    mp4_stop,
-    mp4_pause,
-    mp4_seek,
-    0, // set equalizer
-    mp4_getTime,
-    0, // get volume
-    0,
-    mp4_cleanup,
-    0, // obsolete
-    0, // send visualisation data
-    0, // set player window info
-    0, // set song title text
-    mp4_getSongTitle,  // get song title text
-    mp4_getSongInfo, // info box
-    0, // to output plugin
-  };
-
-typedef struct  _mp4cfg{
-  gshort        file_type;
-#define FILE_UNKNOW     0
-#define FILE_MP4        1
-#define FILE_AAC        2
-}               Mp4Config;
-
-static Mp4Config       mp4cfg;
-static gboolean                bPlaying = FALSE;
-static pthread_t       decodeThread;
-static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
-static int             seekPosition = -1;
-
-// Functions from mp4_utils.c
-extern int getAACTrack(mp4ff_t *infile);
-extern mp4ff_callback_t *getMP4FF_cb(FILE *mp4file);
-extern char *getMP4title(mp4ff_t *infile, char *filename);
-extern void getMP4info(char* filename, FILE *mp4file);
-
-InputPlugin *get_iplugin_info(void)
-{
-  return(&mp4_ip);
-}
-
-static void mp4_init(void)
-{
-  memset(&decodeThread, 0, sizeof(pthread_t));
-  mp4cfg.file_type = FILE_UNKNOW;
-  seekPosition = -1;
-  return;
-}
-
-static void mp4_play(char *filename)
-{
-  bPlaying = TRUE;
-  pthread_create(&decodeThread, 0, mp4Decode, g_strdup(filename));
-  return;
-}
-
-static void mp4_stop(void)
-{
-  if(bPlaying){
-    bPlaying = FALSE;
-    pthread_join(decodeThread, NULL);
-    memset(&decodeThread, 0, sizeof(pthread_t));
-    mp4_ip.output->close_audio();
-  }
-}
-
-static int     mp4_isFile(char *filename)
-{
-  if(filename){
-    gchar*     extention;
-
-    extention = strrchr(filename, '.');
-    if(extention &&
-       (!strncasecmp(extention, ".mp4", 4) ||  // official extention
-       !strncasecmp(extention, ".m4a", 4) ||   // Apple mp4 extention
-       !strncasecmp(extention, ".aac", 4)      // old MPEG2/4-AAC extention
-       )){
-      return (1);
-    }
-  }
-  return(0);
-}
-
-static void    mp4_about(void)
-{
-  static GtkWidget *aboutbox;
-
-  if(aboutbox!=NULL)
-    return;
-  aboutbox = xmms_show_message("About MP4 AAC player plugin",
-                              "libfaad2-" FAAD2_VERSION "\n"
-                              "plugin version: " MP4_VERSION "\n"
-                              MP4_ABOUT,
-                              "Ok", FALSE, NULL, NULL);
-  gtk_signal_connect(GTK_OBJECT(aboutbox), "destroy",
-                     GTK_SIGNAL_FUNC(gtk_widget_destroyed),
-                     &aboutbox);
-}
-
-static void    mp4_pause(short flag)
-{
-  mp4_ip.output->pause(flag);
-}
-
-static void    mp4_seek(int time)
-{
-  seekPosition = time;
-  while(bPlaying && seekPosition!=-1)
-    xmms_usleep(10000);
-}
-
-static int     mp4_getTime(void)
-{
-  if(!bPlaying)
-    return (-1);
-  else
-    return (mp4_ip.output->output_time());
-}
-
-static void    mp4_cleanup(void)
-{
-}
-
-void mp4_get_file_type(FILE *mp4file)
-{
-  unsigned char header[10] = {0};
-
-  fseek(mp4file, 0, SEEK_SET);
-  fread(header, 1, 8, mp4file);
-  if(header[4]=='f' &&
-     header[5]=='t' &&
-     header[6]=='y' &&
-     header[7]=='p'){
-    mp4cfg.file_type = FILE_MP4;
-  }else{
-    mp4cfg.file_type = FILE_AAC;
-  }
-}
-
-static void    mp4_getSongTitle(char *filename, char **title, int *len) {
-  FILE* mp4file;
-
-  (*title) = NULL;
-  (*len) = -1;
-
-  if((mp4file = fopen(filename, "rb"))){
-    mp4_get_file_type(mp4file);
-    fseek(mp4file, 0, SEEK_SET);
-    if(mp4cfg.file_type == FILE_MP4){
-      mp4ff_callback_t*        mp4cb;
-      mp4ff_t*         infile;
-      gint             mp4track;
-
-      mp4cb = getMP4FF_cb(mp4file);
-      if ((infile = mp4ff_open_read_metaonly(mp4cb)) &&
-          ((mp4track = getAACTrack(infile)) >= 0)){
-        (*title) = getMP4title(infile, filename);
-
-        double track_duration = mp4ff_get_track_duration(infile, mp4track);
-        unsigned long time_scale = mp4ff_time_scale(infile, mp4track);
-        unsigned long length = (track_duration * 1000 / time_scale);
-        (*len) = length;
-      }
-      if(infile) mp4ff_close(infile);
-      if(mp4cb) g_free(mp4cb);
-    }
-    else{
-      // Check AAC ID3 tag...
-    }
-    fclose(mp4file);
-  }
-}
-
-static void    mp4_getSongInfo(char *filename)
-{
-  FILE* mp4file;
-  if((mp4file = fopen(filename, "rb"))){
-    if (mp4cfg.file_type == FILE_UNKNOW)
-      mp4_get_file_type(mp4file);
-    fseek(mp4file, 0, SEEK_SET);
-    if(mp4cfg.file_type == FILE_MP4)
-      getMP4info(filename, mp4file);
-    else if(mp4cfg.file_type == FILE_AAC)
-      /*
-       * check the id3tagv2
-      */
-      ;
-    fclose(mp4file);
-  }
-}
-
-static void *mp4Decode(void *args)
-{
-  FILE*                mp4file;
-
-  pthread_mutex_lock(&mutex);
-  seekPosition = -1;
-  bPlaying = TRUE;
-
-  if(!(mp4file = fopen(args, "rb"))){
-    g_print("MP4!AAC - Can't open file\n");
-    g_free(args);
-    bPlaying = FALSE;
-    pthread_mutex_unlock(&mutex);
-    pthread_exit(NULL);
-
-  }
-  mp4_get_file_type(mp4file);
-  fseek(mp4file, 0, SEEK_SET);
-  if(mp4cfg.file_type == FILE_MP4){// We are reading a MP4 file
-    mp4ff_callback_t*  mp4cb;
-    mp4ff_t*           infile;
-    gint               mp4track;
-
-    mp4cb = getMP4FF_cb(mp4file);
-    if(!(infile = mp4ff_open_read(mp4cb))){
-      g_print("MP4 - Can't open file\n");
-      goto end;
-    }
-
-    if((mp4track = getAACTrack(infile)) < 0){
-      /*
-       * TODO: check here for others Audio format.....
-       *
-      */
-      g_print("Unsupported Audio track type\n");
-      g_free(args);
-      fclose(mp4file);
-      bPlaying = FALSE;
-      pthread_mutex_unlock(&mutex);
-      pthread_exit(NULL);
-    }else{
-      NeAACDecHandle   decoder;
-      unsigned char    *buffer = NULL;
-      guint            bufferSize = 0;
-      gulong           samplerate;
-      guchar           channels;
-      //guint          avgBitrate;
-      //MP4Duration    duration;
-      int              msDuration;
-      int              numSamples;
-      int              sampleID = 0;
-      unsigned int     framesize;
-      mp4AudioSpecificConfig mp4ASC;
-      gchar            *xmmstitle;
-
-      decoder = NeAACDecOpen();
-      mp4ff_get_decoder_config(infile, mp4track, &buffer, &bufferSize);
-      if(NeAACDecInit2(decoder, buffer, bufferSize, &samplerate, &channels)<0){
-          goto end;
-      }
-      if(buffer){
-       framesize = 1024;
-       if(NeAACDecAudioSpecificConfig(buffer, bufferSize, &mp4ASC) >= 0){
-         if(mp4ASC.frameLengthFlag == 1) framesize = 960;
-         if(mp4ASC.sbr_present_flag == 1) framesize *= 2;
-       }
-       g_free(buffer);
-      }
-      if(channels == 0){
-       g_print("Number of Channels not supported\n");
-       goto end;
-      }
-
-      //duration = MP4GetTrackDuration(mp4file, mp4track);
-      //msDuration = MP4ConvertFromTrackDuration(mp4file, mp4track,
-      //                                      duration,MP4_MSECS_TIME_SCALE);
-
-      //msDuration = mp4ff_get_track_duration(infile, mp4track);
-      //printf("%d\n", msDuration);
-
-      //numSamples = MP4GetTrackNumberOfSamples(mp4file, mp4track);
-      numSamples = mp4ff_num_samples(infile, mp4track);
-      {
-       float f = 1024.0;
-       if(mp4ASC.sbr_present_flag == 1)
-         f = f * 2.0;
-       msDuration = ((float)numSamples*(float)(f-1.0)/
-                     (float)samplerate)*1000;
-      }
-      xmmstitle = getMP4title(infile, args);
-      mp4_ip.output->open_audio(FMT_S16_NE, samplerate, channels);
-      mp4_ip.output->flush(0);
-      mp4_ip.set_info(xmmstitle, msDuration, -1, samplerate/1000, channels);
-      g_print("MP4 - %d channels @ %ld Hz\n", channels, samplerate);
-
-      while(bPlaying){
-       void*                   sampleBuffer;
-       faacDecFrameInfo        frameInfo;
-       gint                    rc;
-
-       if(seekPosition!=-1){
-         /*
-         duration = MP4ConvertToTrackDuration(mp4file,
-                                              mp4track,
-                                              seekPosition*1000,
-                                              MP4_MSECS_TIME_SCALE);
-         sampleID = MP4GetSampleIdFromTime(mp4file, mp4track, duration, 0);
-          */
-          float f = 1024.0;
-         if(mp4ASC.sbr_present_flag == 1)
-           f = f * 2.0;
-          sampleID = (float)seekPosition*(float)samplerate/(float)(f-1.0);
-         mp4_ip.output->flush(seekPosition*1000);
-         seekPosition = -1;
-       }
-       buffer=NULL;
-       bufferSize=0;
-       rc = mp4ff_read_sample(infile, mp4track, sampleID++,
-                              &buffer, &bufferSize);
-       //g_print("%d/%d\n", sampleID-1, numSamples);
-       if((rc==0) || (buffer== NULL)){
-         g_print("MP4: read error\n");
-         sampleBuffer = NULL;
-         sampleID=0;
-         mp4_ip.output->buffer_free();
-            goto end;
-       }else{
-         sampleBuffer = NeAACDecDecode(decoder, &frameInfo, buffer, bufferSize);
-         if(frameInfo.error > 0){
-           g_print("MP4: %s\n",
-                   faacDecGetErrorMessage(frameInfo.error));
-           goto end;
-         }
-         if(buffer){
-           g_free(buffer); buffer=NULL; bufferSize=0;
-         }
-         while(bPlaying && mp4_ip.output->buffer_free()<frameInfo.samples<<1)
-           xmms_usleep(30000);
-       }
-       mp4_ip.add_vis_pcm(mp4_ip.output->written_time(),
-                          FMT_S16_NE,
-                          channels,
-                          frameInfo.samples<<1,
-                          sampleBuffer);
-       mp4_ip.output->write_audio(sampleBuffer, frameInfo.samples<<1);
-       if(sampleID >= numSamples){
-          break;
-       }
-      }
-      while(bPlaying && mp4_ip.output->buffer_playing() && mp4_ip.output->buffer_free()){
-       xmms_usleep(10000);
-      }
-end:
-      mp4_ip.output->close_audio();
-      g_free(args);
-      NeAACDecClose(decoder);
-      if(infile) mp4ff_close(infile);
-      if(mp4cb) g_free(mp4cb);
-      bPlaying = FALSE;
-      fclose(mp4file);
-      pthread_mutex_unlock(&mutex);
-      pthread_exit(NULL);
-    }
-  }else{
-    // WE ARE READING AN AAC FILE
-    FILE               *file = NULL;
-    NeAACDecHandle     decoder = 0;
-    guchar             *buffer = 0;
-    gulong             bufferconsumed = 0;
-    gulong             samplerate = 0;
-    guchar             channels;
-    gulong             buffervalid = 0;
-    TitleInput*                input;
-    gchar              *temp = g_strdup(args);
-    gchar              *ext  = strrchr(temp, '.');
-    gchar              *xmmstitle = NULL;
-    NeAACDecConfigurationPtr config;
-
-    if((file = fopen(args, "rb")) == 0){
-      g_print("AAC: can't find file %s\n", args);
-      bPlaying = FALSE;
-      pthread_mutex_unlock(&mutex);
-      pthread_exit(NULL);
-    }
-    if((decoder = NeAACDecOpen()) == NULL){
-      g_print("AAC: Open Decoder Error\n");
-      fclose(file);
-      bPlaying = FALSE;
-      pthread_mutex_unlock(&mutex);
-      pthread_exit(NULL);
-    }
-    config = NeAACDecGetCurrentConfiguration(decoder);
-    config->useOldADTSFormat = 0;
-    NeAACDecSetConfiguration(decoder, config);
-    if((buffer = g_malloc(BUFFER_SIZE)) == NULL){
-      g_print("AAC: error g_malloc\n");
-      fclose(file);
-      bPlaying = FALSE;
-      NeAACDecClose(decoder);
-      pthread_mutex_unlock(&mutex);
-      pthread_exit(NULL);
-    }
-    if((buffervalid = fread(buffer, 1, BUFFER_SIZE, file))==0){
-      g_print("AAC: Error reading file\n");
-      g_free(buffer);
-      fclose(file);
-      bPlaying = FALSE;
-      NeAACDecClose(decoder);
-      pthread_mutex_unlock(&mutex);
-      pthread_exit(NULL);
-    }
-    XMMS_NEW_TITLEINPUT(input);
-    input->file_name = g_basename(temp);
-    input->file_ext = ext ? ext+1 : NULL;
-    input->file_path = temp;
-    if(!strncmp(buffer, "ID3", 3)){
-      gint size = 0;
-
-      fseek(file, 0, SEEK_SET);
-      size = (buffer[6]<<21) | (buffer[7]<<14) | (buffer[8]<<7) | buffer[9];
-      size+=10;
-      fread(buffer, 1, size, file);
-      buffervalid = fread(buffer, 1, BUFFER_SIZE, file);
-    }
-    xmmstitle = xmms_get_titlestring(xmms_get_gentitle_format(), input);
-    if(xmmstitle == NULL)
-      xmmstitle = g_strdup(input->file_name);
-    if(temp) g_free(temp);
-    if(input->performer) g_free(input->performer);
-    if(input->album_name) g_free(input->album_name);
-    if(input->track_name) g_free(input->track_name);
-    if(input->genre) g_free(input->genre);
-    g_free(input);
-    bufferconsumed = NeAACDecInit(decoder,
-                                buffer,
-                                buffervalid,
-                                &samplerate,
-                                &channels);
-    if(mp4_ip.output->open_audio(FMT_S16_NE,samplerate,channels) == FALSE){
-      g_print("AAC: Output Error\n");
-      g_free(buffer); buffer=0;
-      faacDecClose(decoder);
-      fclose(file);
-      mp4_ip.output->close_audio();
-      /*
-      if(positionTable){
-       g_free(positionTable); positionTable=0;
-      }
-      */
-      g_free(xmmstitle);
-      bPlaying = FALSE;
-      pthread_mutex_unlock(&mutex);
-      pthread_exit(NULL);
-    }
-    //if(bSeek){
-    //mp4_ip.set_info(xmmstitle, lenght*1000, -1, samplerate, channels);
-      //}else{
-    mp4_ip.set_info(xmmstitle, -1, -1, samplerate, channels);
-      //}
-    mp4_ip.output->flush(0);
-
-    while(bPlaying && buffervalid > 0){
-      NeAACDecFrameInfo        finfo;
-      unsigned long    samplesdecoded;
-      char*            sample_buffer = NULL;
-      /*
-       if(bSeek && seekPosition!=-1){
-       fseek(file, positionTable[seekPosition], SEEK_SET);
-       bufferconsumed=0;
-       buffervalid = fread(buffer, 1, BUFFER_SIZE, file);
-       aac_ip.output->flush(seekPosition*1000);
-       seekPosition=-1;
-       }
-      */
-      if(bufferconsumed > 0){
-       memmove(buffer, &buffer[bufferconsumed], buffervalid-bufferconsumed);
-       buffervalid -= bufferconsumed;
-       buffervalid += fread(&buffer[buffervalid], 1,
-                            BUFFER_SIZE-buffervalid, file);
-       bufferconsumed = 0;
-      }
-      sample_buffer = NeAACDecDecode(decoder, &finfo, buffer, buffervalid);
-      if(finfo.error){
-       config = NeAACDecGetCurrentConfiguration(decoder);
-       if(config->useOldADTSFormat != 1){
-         NeAACDecClose(decoder);
-         decoder = NeAACDecOpen();
-         config = NeAACDecGetCurrentConfiguration(decoder);
-         config->useOldADTSFormat = 1;
-         NeAACDecSetConfiguration(decoder, config);
-         finfo.bytesconsumed=0;
-         finfo.samples = 0;
-         NeAACDecInit(decoder,
-                     buffer,
-                     buffervalid,
-                     &samplerate,
-                     &channels);
-       }else{
-         g_print("FAAD2 Warning %s\n", NeAACDecGetErrorMessage(finfo.error));
-         buffervalid = 0;
-       }
-      }
-      bufferconsumed += finfo.bytesconsumed;
-      samplesdecoded = finfo.samples;
-      if((samplesdecoded<=0) && !sample_buffer){
-       g_print("AAC: error sample decoding\n");
-       continue;
-      }
-      while(bPlaying && mp4_ip.output->buffer_free() < (samplesdecoded<<1)){
-       xmms_usleep(10000);
-      }
-      mp4_ip.add_vis_pcm(mp4_ip.output->written_time(),
-                        FMT_S16_LE, channels,
-                        samplesdecoded<<1, sample_buffer);
-      mp4_ip.output->write_audio(sample_buffer, samplesdecoded<<1);
-    }
-    while(bPlaying && mp4_ip.output->buffer_playing()){
-      xmms_usleep(10000);
-    }
-    mp4_ip.output->buffer_free();
-    mp4_ip.output->close_audio();
-    bPlaying = FALSE;
-    g_free(buffer);
-    NeAACDecClose(decoder);
-    g_free(xmmstitle);
-    fclose(file);
-    seekPosition = -1;
-    /*
-    if(positionTable){
-      g_free(positionTable); positionTable=0;
-    }
-    */
-    bPlaying = FALSE;
-    pthread_mutex_unlock(&mutex);
-    pthread_exit(NULL);
-
-  }
-}
diff --git a/lib/libfaad2/plugins/xmms/src/mp4_utils.c b/lib/libfaad2/plugins/xmms/src/mp4_utils.c
deleted file mode 100644 (file)
index 1b7d0ec..0000000
+++ /dev/null
@@ -1,469 +0,0 @@
-/*
- * some functions for MP4 files
-*/
-
-#include "mp4ff.h"
-#include "faad.h"
-
-#include <gtk/gtk.h>
-#include <stdio.h>
-#include <string.h>
-#include <stdlib.h>
-#include <xmms/plugin.h>
-#include <xmms/titlestring.h>
-#include <xmms/util.h>
-
-const char *mp4AudioNames[]=
-  {
-    "MPEG-1 Audio Layers 1,2 or 3",
-    "MPEG-2 low biterate (MPEG-1 extension) - MP3",
-    "MPEG-2 AAC Main Profile",
-    "MPEG-2 AAC Low Complexity profile",
-    "MPEG-2 AAC SSR profile",
-    "MPEG-4 audio (MPEG-4 AAC)",
-    0
-  };
-
-/* MPEG-4 Audio types from 14496-3 Table 1.5.1 (from mp4.h)*/
-const char *mpeg4AudioNames[]=
-  {
-    "!!!!MPEG-4 Audio track Invalid !!!!!!!",
-    "MPEG-4 AAC Main profile",
-    "MPEG-4 AAC Low Complexity profile",
-    "MPEG-4 AAC SSR profile",
-    "MPEG-4 AAC Long Term Prediction profile",
-    "MPEG-4 AAC Scalable",
-    "MPEG-4 CELP",
-    "MPEG-4 HVXC",
-    "MPEG-4 Text To Speech",
-    "MPEG-4 Main Synthetic profile",
-    "MPEG-4 Wavetable Synthesis profile",
-    "MPEG-4 MIDI Profile",
-    "MPEG-4 Algorithmic Synthesis and Audio FX profile"
-  };
-
-static GtkWidget *mp4_info_dialog = NULL;
-
-/*
- * find AAC track
-*/
-
-int getAACTrack(mp4ff_t *infile)
-{
-  int i, rc;
-  int numTracks = mp4ff_total_tracks(infile);
-
-  printf("total-tracks: %d\n", numTracks);
-  for(i=0; i<numTracks; i++){
-    unsigned char*     buff = 0;
-    int                        buff_size = 0;
-    mp4AudioSpecificConfig mp4ASC;
-
-    printf("testing-track: %d\n", i);
-    mp4ff_get_decoder_config(infile, i, &buff, &buff_size);
-    if(buff){
-      rc = NeAACDecAudioSpecificConfig(buff, buff_size, &mp4ASC);
-      g_free(buff);
-      if(rc < 0)
-       continue;
-      return(i);
-    }
-  }
-  return(-1);
-}
-
-uint32_t read_callback(void *user_data, void *buffer, uint32_t length)
-{
-  return fread(buffer, 1, length, (FILE*)user_data);
-}
-
-uint32_t seek_callback(void *user_data, uint64_t position)
-{
-  return fseek((FILE*)user_data, position, SEEK_SET);
-}
-
-mp4ff_callback_t *getMP4FF_cb(FILE *mp4file)
-{
-  mp4ff_callback_t* mp4cb = malloc(sizeof(mp4ff_callback_t));
-  mp4cb->read = read_callback;
-  mp4cb->seek = seek_callback;
-  mp4cb->user_data = mp4file;
-  return mp4cb;
-}
-
-/*
- * Function to display an info box for an mp4 file.
- * This code is based heavily on fileinfo.c from the xmms mpg123
- * plugin, and the info box layout mimics that plugin.
-*/
-void create_mp4_info_dialog (char *filename, FILE *mp4file, mp4ff_t *infile, gint mp4track)
-{
-  char *window_title, *value, *value2;
-  static GtkWidget *filename_entry, *title_entry, *artist_entry, *album_entry;
-  static GtkWidget *genre_entry, *year_entry, *track_entry, *comment_entry;
-  static GtkWidget *mp4_info_label;
-
-  if (!mp4_info_dialog)
-  {
-    GtkWidget *dialog_vbox1, *vbox1, *hbox2, *hbox3, *hbox4;
-    GtkWidget *frame2, *frame3, *table1, *dialog_action_area1;
-    GtkWidget *filename_label, *title_label, *artist_label, *album_label;
-    GtkWidget *genre_label, *year_label, *track_label, *comment_label;
-    GtkWidget *close_button;
-
-    mp4_info_dialog = gtk_dialog_new ();
-    gtk_object_set_data (GTK_OBJECT (mp4_info_dialog), "mp4_info_dialog", mp4_info_dialog);
-    gtk_window_set_policy (GTK_WINDOW (mp4_info_dialog), TRUE, TRUE, FALSE);
-    gtk_signal_connect(GTK_OBJECT (mp4_info_dialog), "destroy",
-                                   gtk_widget_destroyed, &mp4_info_dialog);
-
-    dialog_vbox1 = GTK_DIALOG (mp4_info_dialog)->vbox;
-    gtk_object_set_data (GTK_OBJECT (mp4_info_dialog), "dialog_vbox1", dialog_vbox1);
-    gtk_container_set_border_width (GTK_CONTAINER (dialog_vbox1), 3);
-
-    hbox2 = gtk_hbox_new (FALSE, 0);
-    gtk_widget_ref (hbox2);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "hbox2", hbox2,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_box_pack_start (GTK_BOX (dialog_vbox1), hbox2, FALSE, TRUE, 0);
-    gtk_container_set_border_width (GTK_CONTAINER (hbox2), 3);
-
-    filename_label = gtk_label_new ("Filename: ");
-    gtk_widget_ref (filename_label);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "filename_label", filename_label,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_box_pack_start (GTK_BOX (hbox2), filename_label, FALSE, FALSE, 0);
-
-    filename_entry = gtk_entry_new ();
-    gtk_widget_ref (filename_entry);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "filename_entry", filename_entry,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_box_pack_start (GTK_BOX (hbox2), filename_entry, TRUE, TRUE, 0);
-    gtk_entry_set_editable (GTK_ENTRY (filename_entry), FALSE);
-
-    hbox3 = gtk_hbox_new (FALSE, 0);
-    gtk_widget_ref (hbox3);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "hbox3", hbox3,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_box_pack_start (GTK_BOX (dialog_vbox1), hbox3, TRUE, TRUE, 0);
-    gtk_container_set_border_width (GTK_CONTAINER (hbox3), 3);
-
-    frame2 = gtk_frame_new ("Tag Info: ");
-    gtk_widget_ref (frame2);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "frame2", frame2,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_box_pack_start (GTK_BOX (hbox3), frame2, TRUE, TRUE, 0);
-
-    table1 = gtk_table_new (6, 2, FALSE);
-    gtk_widget_ref (table1);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "table1", table1,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_container_add (GTK_CONTAINER (frame2), table1);
-    gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
-
-    comment_label = gtk_label_new ("Comment: ");
-    gtk_widget_ref (comment_label);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "comment_label", comment_label,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), comment_label, 0, 1, 5, 6,
-                      (GtkAttachOptions) (GTK_FILL),
-                      (GtkAttachOptions) (GTK_EXPAND), 0, 0);
-    gtk_misc_set_alignment (GTK_MISC (comment_label), 1, 0.5);
-
-    genre_label = gtk_label_new ("Genre: ");
-    gtk_widget_ref (genre_label);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "genre_label", genre_label,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), genre_label, 0, 1, 4, 5,
-                      (GtkAttachOptions) (GTK_FILL),
-                      (GtkAttachOptions) (GTK_EXPAND), 0, 0);
-    gtk_misc_set_alignment (GTK_MISC (genre_label), 1, 0.5);
-
-    album_label = gtk_label_new ("Album: ");
-    gtk_widget_ref (album_label);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "album_label", album_label,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), album_label, 0, 1, 2, 3,
-                      (GtkAttachOptions) (GTK_FILL),
-                      (GtkAttachOptions) (GTK_EXPAND), 0, 0);
-    gtk_misc_set_alignment (GTK_MISC (album_label), 1, 0.5);
-
-    title_label = gtk_label_new ("Title: ");
-    gtk_widget_ref (title_label);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "title_label", title_label,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), title_label, 0, 1, 0, 1,
-                      (GtkAttachOptions) (GTK_FILL),
-                      (GtkAttachOptions) (GTK_EXPAND), 0, 0);
-    gtk_misc_set_alignment (GTK_MISC (title_label), 1, 0.5);
-
-    artist_label = gtk_label_new ("Artist: ");
-    gtk_widget_ref (artist_label);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "artist_label", artist_label,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), artist_label, 0, 1, 1, 2,
-                      (GtkAttachOptions) (GTK_FILL),
-                      (GtkAttachOptions) (GTK_EXPAND), 0, 0);
-    gtk_misc_set_alignment (GTK_MISC (artist_label), 1, 0.5);
-
-    year_label = gtk_label_new ("Year: ");
-    gtk_widget_ref (year_label);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "year_label", year_label,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), year_label, 0, 1, 3, 4,
-                      (GtkAttachOptions) (GTK_FILL),
-                      (GtkAttachOptions) (GTK_EXPAND), 0, 0);
-    gtk_misc_set_alignment (GTK_MISC (year_label), 1, 0.5);
-
-    hbox4 = gtk_hbox_new (FALSE, 0);
-    gtk_widget_ref (hbox4);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "hbox4", hbox4,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), hbox4, 1, 2, 3, 4,
-                      (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                      (GtkAttachOptions) (GTK_FILL), 0, 0);
-
-    year_entry = gtk_entry_new ();
-    gtk_widget_ref (year_entry);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "year_entry", year_entry,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_box_pack_start (GTK_BOX (hbox4), year_entry, FALSE, FALSE, 0);
-    gtk_widget_set_usize (year_entry, 60, -2);
-    gtk_entry_set_editable (GTK_ENTRY (year_entry), FALSE);
-
-    track_label = gtk_label_new ("     Track: ");
-    gtk_widget_ref (track_label);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "track_label", track_label,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_box_pack_start (GTK_BOX (hbox4), track_label, FALSE, FALSE, 0);
-    gtk_misc_set_alignment (GTK_MISC (track_label), 1, 0.5);
-
-    track_entry = gtk_entry_new ();
-    gtk_widget_ref (track_entry);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "track_entry", track_entry,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_box_pack_start (GTK_BOX (hbox4), track_entry, FALSE, FALSE, 0);
-    gtk_widget_set_usize (track_entry, 60, -2);
-    gtk_entry_set_editable (GTK_ENTRY (track_entry), FALSE);
-
-    title_entry = gtk_entry_new ();
-    gtk_widget_ref (title_entry);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "title_entry", title_entry,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), title_entry, 1, 2, 0, 1,
-                      (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                      (GtkAttachOptions) (0), 0, 0);
-    gtk_entry_set_editable (GTK_ENTRY (title_entry), FALSE);
-
-    artist_entry = gtk_entry_new ();
-    gtk_widget_ref (artist_entry);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "artist_entry", artist_entry,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), artist_entry, 1, 2, 1, 2,
-                      (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                      (GtkAttachOptions) (0), 0, 0);
-    gtk_entry_set_editable (GTK_ENTRY (artist_entry), FALSE);
-
-    album_entry = gtk_entry_new ();
-    gtk_widget_ref (album_entry);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "album_entry", album_entry,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), album_entry, 1, 2, 2, 3,
-                      (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                      (GtkAttachOptions) (0), 0, 0);
-    gtk_entry_set_editable (GTK_ENTRY (album_entry), FALSE);
-
-    genre_entry = gtk_entry_new ();
-    gtk_widget_ref (genre_entry);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "genre_entry", genre_entry,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), genre_entry, 1, 2, 4, 5,
-                      (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                      (GtkAttachOptions) (0), 0, 0);
-    gtk_entry_set_editable (GTK_ENTRY (genre_entry), FALSE);
-
-    comment_entry = gtk_entry_new ();
-    gtk_widget_ref (comment_entry);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "comment_entry", comment_entry,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_table_attach (GTK_TABLE (table1), comment_entry, 1, 2, 5, 6,
-                      (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
-                      (GtkAttachOptions) (0), 0, 0);
-    gtk_entry_set_editable (GTK_ENTRY (comment_entry), FALSE);
-
-    frame3 = gtk_frame_new ("MP4 Info: ");
-    gtk_widget_ref (frame3);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "frame3", frame3,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_box_pack_start (GTK_BOX (hbox3), frame3, FALSE, TRUE, 0);
-
-    vbox1 = gtk_vbox_new (FALSE, 0);
-    gtk_widget_ref (vbox1);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "vbox1", vbox1,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_container_add (GTK_CONTAINER (frame3), vbox1);
-    gtk_container_set_border_width (GTK_CONTAINER (vbox1), 5);
-
-    mp4_info_label = gtk_label_new ("");
-    gtk_widget_ref (mp4_info_label);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "mp4_info_label", mp4_info_label,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_box_pack_start (GTK_BOX (vbox1), mp4_info_label, TRUE, TRUE, 0);
-    gtk_label_set_justify (GTK_LABEL (mp4_info_label), GTK_JUSTIFY_LEFT);
-    gtk_misc_set_alignment (GTK_MISC (mp4_info_label), 0, 0);
-
-    dialog_action_area1 = GTK_DIALOG (mp4_info_dialog)->action_area;
-    gtk_object_set_data (GTK_OBJECT (mp4_info_dialog), "dialog_action_area1", dialog_action_area1);
-    gtk_container_set_border_width (GTK_CONTAINER (dialog_action_area1), 4);
-
-    close_button = gtk_button_new_with_label ("Close");
-    gtk_widget_ref (close_button);
-    gtk_object_set_data_full (GTK_OBJECT (mp4_info_dialog), "close_button", close_button,
-                              (GtkDestroyNotify) gtk_widget_unref);
-    gtk_box_pack_start (GTK_BOX (dialog_action_area1), close_button, FALSE, FALSE, 0);
-
-    gtk_signal_connect_object (GTK_OBJECT (close_button), "clicked",
-                               GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (mp4_info_dialog));
-
-  }
-
-  window_title = g_strdup_printf("File Info - %s", g_basename(filename));
-  gtk_window_set_title (GTK_WINDOW (mp4_info_dialog), window_title);
-  g_free(window_title);
-
-  gtk_entry_set_text (GTK_ENTRY (filename_entry), filename);
-
-  gtk_entry_set_text (GTK_ENTRY (title_entry), "");
-  gtk_entry_set_text (GTK_ENTRY (artist_entry), "");
-  gtk_entry_set_text (GTK_ENTRY (album_entry), "");
-  gtk_entry_set_text (GTK_ENTRY (year_entry), "");
-  gtk_entry_set_text (GTK_ENTRY (track_entry), "");
-  gtk_entry_set_text (GTK_ENTRY (genre_entry), "");
-  gtk_entry_set_text (GTK_ENTRY (comment_entry), "");
-
-  if ((mp4ff_meta_get_title(infile, &value)) && value != NULL) {
-    gtk_entry_set_text (GTK_ENTRY(title_entry), value);
-    g_free(value);
-  }
-  if ((mp4ff_meta_get_artist(infile, &value)) && value != NULL) {
-    gtk_entry_set_text (GTK_ENTRY(artist_entry), value);
-    g_free(value);
-  }
-  if ((mp4ff_meta_get_album(infile, &value)) && value != NULL) {
-    gtk_entry_set_text (GTK_ENTRY(album_entry), value);
-    g_free(value);
-  }
-  if ((mp4ff_meta_get_date(infile, &value)) && value != NULL) {
-    gtk_entry_set_text (GTK_ENTRY(year_entry), value);
-    g_free(value);
-  }
-  if ((mp4ff_meta_get_track(infile, &value)) && value != NULL) {
-    if ((mp4ff_meta_get_totaltracks(infile, &value2)) && value2 != NULL) {
-      char *tmp = g_strdup_printf("%s of %s", value, value2);
-      g_free(value2);
-      g_free(value);
-      value = tmp;
-    }
-    gtk_entry_set_text (GTK_ENTRY(track_entry), value);
-    g_free(value);
-  }
-  if ((mp4ff_meta_get_genre(infile, &value)) && value != NULL) {
-    gtk_entry_set_text (GTK_ENTRY(genre_entry), value);
-    g_free(value);
-  }
-  if ((mp4ff_meta_get_comment(infile, &value)) && value != NULL) {
-    gtk_entry_set_text (GTK_ENTRY(comment_entry), value);
-    g_free(value);
-  }
-
-  // Get the length of the track.
-  double track_duration = mp4ff_get_track_duration(infile, mp4track);
-  unsigned long time_scale = mp4ff_time_scale(infile, mp4track);
-  unsigned long length = (track_duration / time_scale);
-  int min = length / 60;
-  int sec = length % 60;
-
-  // Get other info about the track.
-  unsigned long bitrate = mp4ff_get_avg_bitrate(infile, mp4track) / 1000;
-  unsigned long samplerate = mp4ff_get_sample_rate(infile, mp4track);
-  unsigned long channels = mp4ff_get_channel_count(infile, mp4track);
-  unsigned long audio_type = mp4ff_get_audio_type(infile, mp4track);
-  fseek(mp4file, 0, SEEK_END);
-  int filesize = ftell(mp4file) / 1024;
-
-  value = g_strdup_printf("Length: %d:%d\nAvg. Bitrate: %ld kbps\nSample Rate: %ld Hz\nChannels: %ld\nAudio Type: %ld\nFile Size: %d KB", min, sec, bitrate, samplerate, channels, audio_type, filesize);
-  gtk_label_set_text (GTK_LABEL(mp4_info_label), value);
-  g_free(value);
-
-  gtk_widget_show_all(mp4_info_dialog);
-}
-
-
-void getMP4info(char* filename, FILE* mp4file)
-{
-  mp4ff_callback_t*    mp4cb;
-  mp4ff_t*             infile;
-  gint                 mp4track;
-
-  mp4cb = getMP4FF_cb(mp4file);
-  if ((infile = mp4ff_open_read_metaonly(mp4cb)) &&
-      ((mp4track = getAACTrack(infile)) >= 0)){
-    create_mp4_info_dialog (filename, mp4file, infile, mp4track);
-  }
-  if(infile) mp4ff_close(infile);
-  if(mp4cb) g_free(mp4cb);
-}
-
-/* Get the xmms titlestring for the file based on metadata.
-The following code was adapted from the gtkpod project, specifically
-mp4file.c (C) Jorg Schuler, but written to use the mp4ff library.  The
-mpg123 input plugin for xmms was used as a guide for this function.
-       --Jason Arroyo, 2004 */
-char *getMP4title(mp4ff_t *infile, char *filename) {
-       char *ret=NULL;
-       gchar *value, *path, *temp;
-
-       TitleInput *input;
-       XMMS_NEW_TITLEINPUT(input);
-
-       // Fill in the TitleInput with the relevant data
-       // from the mp4 file that can be used to display the title.
-       mp4ff_meta_get_title(infile, &input->track_name);
-        mp4ff_meta_get_artist(infile, &input->performer);
-       mp4ff_meta_get_album(infile, &input->album_name);
-       if (mp4ff_meta_get_track(infile, &value) && value != NULL) {
-               input->track_number = atoi(value);
-               g_free(value);
-       }
-       if (mp4ff_meta_get_date(infile, &value) && value != NULL) {
-               input->year = atoi(value);
-               g_free(value);
-       }
-       mp4ff_meta_get_genre(infile, &input->genre);
-       mp4ff_meta_get_comment(infile, &input->comment);
-       input->file_name = g_strdup(g_basename(filename));
-       path = g_strdup(filename);
-       temp = strrchr(path, '.');
-       if (temp != NULL) {++temp;}
-       input->file_ext = g_strdup_printf("%s", temp);
-       temp = strrchr(path, '/');
-       if (temp) {*temp = '\0';}
-       input->file_path = g_strdup_printf("%s/", path);
-
-       // Use the default xmms title format to format the
-       // title from the above info.
-       ret = xmms_get_titlestring(xmms_get_gentitle_format(), input);
-
-        g_free(input->track_name);
-        g_free(input->performer);
-        g_free(input->album_name);
-        g_free(input->genre);
-        g_free(input->comment);
-        g_free(input->file_name);
-        g_free(input->file_ext);
-        g_free(input->file_path);
-       g_free(input);
-       g_free(path);
-
-       return ret;
-}