aboutsummaryrefslogtreecommitdiffstats
path: root/libFDK/include
diff options
context:
space:
mode:
Diffstat (limited to 'libFDK/include')
-rw-r--r--libFDK/include/FDK_archdef.h245
-rw-r--r--libFDK/include/FDK_bitbuffer.h166
-rw-r--r--libFDK/include/FDK_bitstream.h618
-rw-r--r--libFDK/include/FDK_core.h109
-rw-r--r--libFDK/include/FDK_crc.h231
-rw-r--r--libFDK/include/FDK_hybrid.h273
-rw-r--r--libFDK/include/FDK_tools_rom.h270
-rw-r--r--libFDK/include/FDK_trigFcts.h229
-rw-r--r--libFDK/include/abs.h121
-rw-r--r--libFDK/include/arm/clz_arm.h122
-rw-r--r--libFDK/include/arm/cplx_mul.h214
-rw-r--r--libFDK/include/arm/fixmadd_arm.h160
-rw-r--r--libFDK/include/arm/fixmul_arm.h142
-rw-r--r--libFDK/include/arm/scale.h152
-rw-r--r--libFDK/include/arm/scramble.h158
-rw-r--r--libFDK/include/autocorr2nd.h128
-rw-r--r--libFDK/include/clz.h192
-rw-r--r--libFDK/include/common_fix.h378
-rw-r--r--libFDK/include/cplx_mul.h269
-rw-r--r--libFDK/include/dct.h147
-rw-r--r--libFDK/include/fft.h253
-rw-r--r--libFDK/include/fft_rad2.h134
-rw-r--r--libFDK/include/fixmadd.h306
-rw-r--r--libFDK/include/fixminmax.h120
-rw-r--r--libFDK/include/fixmul.h286
-rw-r--r--libFDK/include/fixpoint_math.h466
-rw-r--r--libFDK/include/mdct.h243
-rw-r--r--libFDK/include/mips/abs_mips.h107
-rw-r--r--libFDK/include/mips/clz_mips.h118
-rw-r--r--libFDK/include/mips/cplx_mul.h162
-rw-r--r--libFDK/include/mips/fixmadd_mips.h95
-rw-r--r--libFDK/include/mips/fixmul_mips.h113
-rw-r--r--libFDK/include/mips/scale.h110
-rw-r--r--libFDK/include/mips/scramble.h121
-rw-r--r--libFDK/include/qmf.h248
-rw-r--r--libFDK/include/scale.h250
-rw-r--r--libFDK/include/scramble.h165
-rw-r--r--libFDK/include/x86/abs_x86.h106
-rw-r--r--libFDK/include/x86/clz_x86.h154
-rw-r--r--libFDK/include/x86/fixmul_x86.h178
40 files changed, 0 insertions, 8059 deletions
diff --git a/libFDK/include/FDK_archdef.h b/libFDK/include/FDK_archdef.h
deleted file mode 100644
index da63aee..0000000
--- a/libFDK/include/FDK_archdef.h
+++ /dev/null
@@ -1,245 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools ***********************
-
- Author(s):
- Description:
-
-******************************************************************************/
-
-#ifndef __ARCH_H__
-#define __ARCH_H__
-
-/* Performance / Quality profile selector */
- #define FDK_HIGH_PERFORMANCE
-
-/* Unify some few toolchain specific defines to avoid having large "or" macro contraptions all over the source code. */
-
-/* Take action against VisualStudio 2005 crosscompile problems. */
-
-/* Use single macro (the GCC built in macro) for architecture identification independent of the particular toolchain */
-#if defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) || (defined(_MSC_VER) && defined(_M_IX86)) || defined (__x86_64__)
-#define __x86__
-#endif
-
-#if (defined(_M_ARM) || defined(__CC_ARM)) && !defined(__arm__) || defined(__TI_TMS470_V5__) && !defined(__arm__)
-#define __arm__
-#endif
-
-
-
-/* Define __ARM_ARCH_5TE__ if armv5te features are supported */
-#if (__TARGET_ARCH_ARM == 5) || defined(__TARGET_FEATURE_DSPMUL) || (_M_ARM == 5) || defined(__ARM_ARCH_5TEJ__) || defined(__TI_TMS470_V5__) || defined(__ARM_ARCH_7EM__)
-#define __ARM_ARCH_5TE__
-#endif
-
-/* Define __ARM_ARCH_6__ if the armv6 intructions are being supported. */
-#if (__TARGET_ARCH_ARM == 6) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6ZK__)
-#define __ARM_ARCH_5TE__
-#define __ARM_ARCH_6__
-#endif
-
-/* Define __ARM_ARCH_7_A__ if the armv7 intructions are being supported. */
-#if defined(__TARGET_ARCH_7_R) || defined(__ARM_ARCH_7R__)
-#define __ARM_ARCH_5TE__
-#define __ARM_ARCH_6__
-#define __ARM_ARCH_7_R__
-#endif
-
-/* Define __ARM_ARCH_7_A__ if the armv7 intructions are being supported. */
-#if defined(__TARGET_ARCH_7_A) || defined(__ARM_ARCH_7A__)
-#define __ARM_ARCH_5TE__
-#define __ARM_ARCH_6__
-#define __ARM_ARCH_7_A__
-#endif
-
-/* Define __ARM_ARCH_7M__ if the ARMv7-M instructions are being supported, e.g. Cortex-M3. */
-#if defined(__TARGET_ARCH_7_M) || defined(__ARM_ARCH_7_M__)
-#define __ARM_ARCH_7M__
-#endif
-
-/* Define __ARM_ARCH_7EM__ if the ARMv7-ME instructions are being supported, e.g. Cortex-M4. */
-#if defined(__TARGET_ARCH_7E_M) || defined(__ARM_ARCH_7E_M__)
-#define __ARM_ARCH_7EM__
-#endif
-
-/* Detect and unify macros for neon feature. */
-#if defined(__TARGET_FEATURE_NEON) && !defined(__ARM_NEON__)
-#define __ARM_NEON__
-#endif
-
-#ifdef _M_ARM
-#include "cmnintrin.h"
-#include "armintr.h"
-#endif
-
-
-/* Define preferred Multiplication type */
-#if defined(FDK_HIGH_PERFORMANCE) && !defined(FDK_HIGH_QUALITY) /* FDK_HIGH_PERFORMANCE */
-
-#if defined(__mips__) || defined(__powerpc__) || defined(__sh__)
-#define ARCH_PREFER_MULT_16x16
-#undef SINETABLE_16BIT
-#undef POW2COEFF_16BIT
-#undef LDCOEFF_16BIT
-#undef WINDOWTABLE_16BIT
-
-#elif defined(__arm__) && defined(__ARM_ARCH_5TE__) /* cppp replaced: elif */ /* cppp replaced: elif */
-#define ARCH_PREFER_MULT_32x16
-#define SINETABLE_16BIT
-#define POW2COEFF_16BIT
-#define LDCOEFF_16BIT
-#define WINDOWTABLE_16BIT
-
-#elif defined(__arm__) && defined(__ARM_ARCH_7M__)
-#define ARCH_PREFER_MULT_32x16
-#define SINETABLE_16BIT
-#define POW2COEFF_16BIT
-#define LDCOEFF_16BIT
-#define WINDOWTABLE_16BIT
-
-#elif defined(__arm__) && defined(__ARM_ARCH_7EM__)
-#define ARCH_PREFER_MULT_32x32
-#define ARCH_PREFER_MULT_32x16
-#define SINETABLE_16BIT
-#define POW2COEFF_16BIT
-#define LDCOEFF_16BIT
-#define WINDOWTABLE_16BIT
-
-#elif defined(__arm__) && !defined(__ARM_ARCH_5TE__)
-#define ARCH_PREFER_MULT_16x16
-#undef SINETABLE_16BIT
-#undef WINDOWTABLE_16BIT
-#undef POW2COEFF_16BIT
-#undef LDCOEFF_16BIT
-
-#elif defined(__x86__) /* cppp replaced: elif */
-#define ARCH_PREFER_MULT_32x16
-#define SINETABLE_16BIT
-#define WINDOWTABLE_16BIT
-#define POW2COEFF_16BIT
-#define LDCOEFF_16BIT
-
-#else
-
- #error >>>> Please set architecture characterization defines for your platform (FDK_HIGH_PERFORMANCE)! <<<<
-
-#endif /* Architecture switches */
-
-#else /* neither FDK_HIGH_QUALITY or FDK_HIGH_PERFORMANCE */
-
-#error Either set FDK_HIGH_QUALITY or FDK_HIGH_PERFORMANCE, but not both nor none of them.
-
-#endif /* End of quality/complexity tradeoff */
-
-#define FDKTOOLS_PACKED_TABLES
-
-
-#ifdef SINETABLE_16BIT
- #define FIXP_STB FIXP_SGL /* STB sinus Tab used in transformation */
- #define FIXP_STP FIXP_SPK
- #define STC(a) (FX_DBL2FXCONST_SGL(a))
-#else
- #define FIXP_STB FIXP_DBL
- #define FIXP_STP FIXP_DPK
- #define STC(a) ((FIXP_DBL)(LONG)(a))
-#endif /* defined(SINETABLE_16BIT) */
-
-#define STCP(cos,sin) { { STC(cos), STC(sin) } }
-
-
-#ifdef WINDOWTABLE_16BIT
- #define FIXP_WTB FIXP_SGL /* single FIXP_SGL values */
- #define FIXP_WTP FIXP_SPK /* packed FIXP_SGL values */
- #define WTC(a) FX_DBL2FXCONST_SGL(a)
-#else /* SINETABLE_16BIT */
- #define FIXP_WTB FIXP_DBL
- #define FIXP_WTP FIXP_DPK
- #define WTC(a) (FIXP_DBL)(a)
-#endif /* SINETABLE_16BIT */
-
-#define WTCP(a,b) { { WTC(a), WTC(b) } }
-
-
-#endif /* __ARCH_H__ */
diff --git a/libFDK/include/FDK_bitbuffer.h b/libFDK/include/FDK_bitbuffer.h
deleted file mode 100644
index 65fa04b..0000000
--- a/libFDK/include/FDK_bitbuffer.h
+++ /dev/null
@@ -1,166 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools ***********************
-
- Author(s): M. Lohwasser
- Description: common bitbuffer read/write routines
-
-******************************************************************************/
-
-#ifndef __FDK_BITBUFFER_H__
-#define __FDK_BITBUFFER_H__
-
-
-
-#include "machine_type.h"
-
-typedef struct
-{
- UINT ValidBits;
- UINT ReadOffset;
- UINT WriteOffset;
- UINT BitCnt;
- UINT BitNdx;
-
- UCHAR *Buffer;
- UINT bufSize;
- UINT bufBits;
-} FDK_BITBUF;
-
-typedef FDK_BITBUF *HANDLE_FDK_BITBUF;
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-
-extern const UINT BitMask [32+1];
-
-/** The BitBuffer Functions are called straight from FDK_bitstream Interface.
- For Functions functional survey look there.
-*/
-
-void FDK_CreateBitBuffer (HANDLE_FDK_BITBUF *hBitBuffer, UCHAR *pBuffer, UINT bufSize) ;
-
-void FDK_InitBitBuffer (HANDLE_FDK_BITBUF hBitBuffer, UCHAR *pBuffer,
- UINT bufSize, UINT validBits) ;
-
-void FDK_ResetBitBuffer (HANDLE_FDK_BITBUF hBitBuffer) ;
-
-void FDK_DeleteBitBuffer (HANDLE_FDK_BITBUF hBitBuffer) ;
-
-INT FDK_get (HANDLE_FDK_BITBUF hBitBuffer, const UINT numberOfBits) ;
-
-INT FDK_get32 (HANDLE_FDK_BITBUF hBitBuffer) ;
-
-void FDK_put (HANDLE_FDK_BITBUF hBitBuffer, UINT value, const UINT numberOfBits) ;
-
-INT FDK_getBwd (HANDLE_FDK_BITBUF hBitBuffer, const UINT numberOfBits);
-void FDK_putBwd (HANDLE_FDK_BITBUF hBitBuffer, UINT value, const UINT numberOfBits) ;
-
-void FDK_pushBack (HANDLE_FDK_BITBUF hBitBuffer, const UINT numberOfBits, UCHAR config) ;
-void FDK_pushForward (HANDLE_FDK_BITBUF hBitBuffer, const UINT numberOfBits, UCHAR config) ;
-
-void FDK_byteAlign (HANDLE_FDK_BITBUF hBitBuffer, UCHAR config) ;
-
-UINT FDK_getValidBits (HANDLE_FDK_BITBUF hBitBuffer) ;
-INT FDK_getFreeBits (HANDLE_FDK_BITBUF hBitBuffer) ;
-
-void FDK_setBitCnt (HANDLE_FDK_BITBUF hBitBuffer, const UINT value) ;
-INT FDK_getBitCnt (HANDLE_FDK_BITBUF hBitBuffer) ;
-
-void FDK_Feed (HANDLE_FDK_BITBUF hBitBuffer, UCHAR inputBuffer [],
- const UINT bufferSize, UINT *bytesValid) ;
-
-void FDK_Copy (HANDLE_FDK_BITBUF hBitBufDst, HANDLE_FDK_BITBUF hBitBufSrc, UINT *bytesValid) ;
-
-void FDK_Fetch (HANDLE_FDK_BITBUF hBitBuffer, UCHAR outBuf[], UINT *writeBytes);
-
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif
diff --git a/libFDK/include/FDK_bitstream.h b/libFDK/include/FDK_bitstream.h
deleted file mode 100644
index fc8d7de..0000000
--- a/libFDK/include/FDK_bitstream.h
+++ /dev/null
@@ -1,618 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools ***********************
-
- Author(s): M. Lohwasser
- Description: bitstream interface to bitbuffer routines
-
-******************************************************************************/
-
-#ifndef __FDK_BITSTREAM_H__
-#define __FDK_BITSTREAM_H__
-
-
-
-#include "FDK_bitbuffer.h"
-#include "machine_type.h"
-
-#include "genericStds.h"
-
-#define CACHE_BITS 32
-
-typedef enum {
- BS_READER,
- BS_WRITER
-} FDK_BS_CFG;
-
-
-typedef struct
-{
- UINT CacheWord ;
- UINT BitsInCache ;
- FDK_BITBUF hBitBuf;
- UINT ConfigCache ;
-} FDK_BITSTREAM;
-
-typedef FDK_BITSTREAM* HANDLE_FDK_BITSTREAM;
-
-/**
- * \brief CreateBitStream Function.
- *
- * Create and initialize bitstream with extern allocated buffer.
- *
- * \param pBuffer Pointer to BitBuffer array.
- * \param bufSize Length of BitBuffer array. (awaits size 2^n)
- * \param config Initialize BitStream as Reader or Writer.
- */
-FDK_INLINE
-HANDLE_FDK_BITSTREAM FDKcreateBitStream (UCHAR *pBuffer,
- UINT bufSize,
- FDK_BS_CFG config = BS_READER)
-{
- HANDLE_FDK_BITSTREAM hBitStream = (HANDLE_FDK_BITSTREAM) FDKcalloc(1, sizeof(FDK_BITSTREAM));
- FDK_InitBitBuffer(&hBitStream->hBitBuf, pBuffer, bufSize, 0) ;
-
- /* init cache */
- hBitStream->CacheWord = hBitStream->BitsInCache = 0 ;
- hBitStream->ConfigCache = config ;
-
- return hBitStream ;
-}
-
-
-/**
- * \brief Initialize BistreamBuffer. BitBuffer can point to filled BitBuffer array .
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param pBuffer Pointer to BitBuffer array.
- * \param bufSize Length of BitBuffer array. (awaits size 2^n)
- * \param validBits Number of valid BitBuffer filled Bits.
- * \param config Initialize BitStream as Reader or Writer.
- * \return void
- */
-FDK_INLINE
-void FDKinitBitStream (HANDLE_FDK_BITSTREAM hBitStream,
- UCHAR *pBuffer,
- UINT bufSize,
- UINT validBits,
- FDK_BS_CFG config = BS_READER)
-{
- FDK_InitBitBuffer(&hBitStream->hBitBuf, pBuffer, bufSize, validBits) ;
-
- /* init cache */
- hBitStream->CacheWord = hBitStream->BitsInCache = 0 ;
- hBitStream->ConfigCache = config ;
-}
-
-
-/**
- * \brief ResetBitbuffer Function. Reset states in BitBuffer and Cache.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param config Initialize BitStream as Reader or Writer.
- * \return void
- */
-FDK_INLINE void FDKresetBitbuffer( HANDLE_FDK_BITSTREAM hBitStream, FDK_BS_CFG config = BS_READER)
-{
- FDK_ResetBitBuffer( &hBitStream->hBitBuf ) ;
-
- /* init cache */
- hBitStream->CacheWord = hBitStream->BitsInCache = 0 ;
- hBitStream->ConfigCache = config ;
-}
-
-
-/** DeleteBitStream.
-
- Deletes the in Create Bitstream allocated BitStream and BitBuffer.
-*/
-FDK_INLINE void FDKdeleteBitStream (HANDLE_FDK_BITSTREAM hBitStream)
-{
- FDK_DeleteBitBuffer(&hBitStream->hBitBuf) ;
- FDKfree(hBitStream) ;
-}
-
-
-/**
- * \brief ReadBits Function (forward). This function returns a number of sequential
- * bits from the input bitstream.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param numberOfBits The number of bits to be retrieved.
- * \return the requested bits, right aligned
- * \return
- */
-#define OPTIMIZE_FDKREADBITS
-
-FDK_INLINE UINT FDKreadBits(HANDLE_FDK_BITSTREAM hBitStream,
- const UINT numberOfBits)
-{
-#ifdef noOPTIMIZE_FDKREADBITS
- INT missingBits = numberOfBits - hBitStream->BitsInCache;
- if (missingBits > 0)
- {
- UINT bits = hBitStream->CacheWord << missingBits;
- hBitStream->CacheWord = FDK_get32 (&hBitStream->hBitBuf) ;
- hBitStream->BitsInCache = CACHE_BITS - missingBits;
- return ( bits | (hBitStream->CacheWord >> hBitStream->BitsInCache)) & BitMask[numberOfBits];
- }
-
- hBitStream->BitsInCache -= numberOfBits;
- return ( hBitStream->CacheWord >> hBitStream->BitsInCache) & BitMask[numberOfBits];
-
-#else
- const UINT validMask = BitMask [numberOfBits] ;
-
- if (hBitStream->BitsInCache <= numberOfBits)
- {
- const INT freeBits = (CACHE_BITS-1) - hBitStream->BitsInCache ;
-
- hBitStream->CacheWord = (hBitStream->CacheWord << freeBits) | FDK_get (&hBitStream->hBitBuf,freeBits) ;
- hBitStream->BitsInCache += freeBits ;
- }
-
- hBitStream->BitsInCache -= numberOfBits ;
-
- return (hBitStream->CacheWord >> hBitStream->BitsInCache) & validMask ;
-#endif
-}
-
-FDK_INLINE UINT FDKreadBit(HANDLE_FDK_BITSTREAM hBitStream)
-{
-#ifdef OPTIMIZE_FDKREADBITS
- if (!hBitStream->BitsInCache)
- {
- hBitStream->CacheWord = FDK_get32 (&hBitStream->hBitBuf);
- hBitStream->BitsInCache = CACHE_BITS;
- }
- hBitStream->BitsInCache--;
-
- return (hBitStream->CacheWord >> hBitStream->BitsInCache) & 1;
-#else
- return FDKreadBits(hBitStream,1);
-#endif
-}
-
-/**
- * \brief Read2Bits Function (forward). This function 2 sequential
- * bits from the input bitstream. It is the optimized version
- of FDKreadBits() for readign 2 bits.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \return the requested bits, right aligned
- * \return
- */
-inline UINT FDKread2Bits(HANDLE_FDK_BITSTREAM hBitStream)
-{
- UINT BitsInCache = hBitStream->BitsInCache;
- if (BitsInCache < 2) /* Comparison changed from 'less-equal' to 'less' */
- {
- const INT freeBits = (CACHE_BITS-1) - BitsInCache ;
-
- hBitStream->CacheWord = (hBitStream->CacheWord << freeBits) | FDK_get (&hBitStream->hBitBuf,freeBits) ;
- BitsInCache += freeBits;
- }
- hBitStream->BitsInCache = BitsInCache - 2;
- return (hBitStream->CacheWord >> hBitStream->BitsInCache) & 0x3;
-}
-
-/**
- * \brief ReadBits Function (backward). This function returns a number of sequential bits
- * from the input bitstream.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param numberOfBits The number of bits to be retrieved.
- * \return the requested bits, right aligned
- */
-FDK_INLINE UINT FDKreadBitsBwd(HANDLE_FDK_BITSTREAM hBitStream,
- const UINT numberOfBits)
-{
- const UINT validMask = BitMask [numberOfBits] ;
-
- if (hBitStream->BitsInCache <= numberOfBits)
- {
- const INT freeBits = (CACHE_BITS-1) - hBitStream->BitsInCache ;
-
- hBitStream->CacheWord = (hBitStream->CacheWord << freeBits) | FDK_getBwd (&hBitStream->hBitBuf,freeBits) ;
- hBitStream->BitsInCache += freeBits ;
- }
-
- hBitStream->BitsInCache -= numberOfBits ;
-
- return (hBitStream->CacheWord >> hBitStream->BitsInCache) & validMask ;
-}
-
-
-/**
- * \brief return a number of bits from the bitBuffer.
- * You have to know what you do! Cache has to be synchronized before using this
- * function.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param numBits The number of bits to be retrieved.
- * \return the requested bits, right aligned
- */
-FDK_INLINE UINT FDKgetBits (HANDLE_FDK_BITSTREAM hBitStream, UINT numBits)
-{
- return FDK_get (&hBitStream->hBitBuf, numBits) ;
-}
-
-
-/**
- * \brief WriteBits Function. This function writes numberOfBits of value into bitstream.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param value Variable holds data to be written.
- * \param numberOfBits The number of bits to be written.
- * \return number of bits written
- */
-FDK_INLINE UCHAR FDKwriteBits(HANDLE_FDK_BITSTREAM hBitStream, UINT value,
- const UINT numberOfBits)
-{
- const UINT validMask = BitMask [numberOfBits] ;
-
- if ((hBitStream->BitsInCache+numberOfBits) < CACHE_BITS)
- {
- hBitStream->BitsInCache += numberOfBits ;
- hBitStream->CacheWord = (hBitStream->CacheWord << numberOfBits) | (value & validMask);
- }
- else
- {
- FDK_put(&hBitStream->hBitBuf, hBitStream->CacheWord, hBitStream->BitsInCache) ;
- hBitStream->BitsInCache = numberOfBits ;
- hBitStream->CacheWord = (value & validMask) ;
- }
-
- return numberOfBits;
-}
-
-
-/**
- * \brief WriteBits Function (backward). This function writes numberOfBits of value into bitstream.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param value Variable holds data to be written.
- * \param numberOfBits The number of bits to be written.
- * \return number of bits written
- */
-FDK_INLINE UCHAR FDKwriteBitsBwd(HANDLE_FDK_BITSTREAM hBitStream, UINT value,
- const UINT numberOfBits)
-{
- const UINT validMask = BitMask [numberOfBits] ;
-
- if ((hBitStream->BitsInCache+numberOfBits) <= CACHE_BITS)
- {
- hBitStream->BitsInCache += numberOfBits ;
- hBitStream->CacheWord = (hBitStream->CacheWord << numberOfBits) | (value & validMask);
- }
- else
- {
- FDK_putBwd(&hBitStream->hBitBuf, hBitStream->CacheWord, hBitStream->BitsInCache) ;
- hBitStream->BitsInCache = numberOfBits ;
- hBitStream->CacheWord = (value & validMask) ;
- }
-
- return numberOfBits;
-}
-
-
-/**
- * \brief SyncCache Function. Clear cache after read forward.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \return void
- */
-FDK_INLINE void FDKsyncCache (HANDLE_FDK_BITSTREAM hBitStream)
-{
- if (hBitStream->ConfigCache == BS_READER)
- FDK_pushBack (&hBitStream->hBitBuf,hBitStream->BitsInCache,hBitStream->ConfigCache) ;
- else /* BS_WRITER */
- FDK_put(&hBitStream->hBitBuf, hBitStream->CacheWord, hBitStream->BitsInCache) ;
-
- hBitStream->BitsInCache = 0 ;
- hBitStream->CacheWord = 0 ;
-}
-
-
-/**
- * \brief SyncCache Function. Clear cache after read backwards.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \return void
- */
-FDK_INLINE void FDKsyncCacheBwd (HANDLE_FDK_BITSTREAM hBitStream)
-{
- if (hBitStream->ConfigCache == BS_READER) {
- FDK_pushForward (&hBitStream->hBitBuf,hBitStream->BitsInCache,hBitStream->ConfigCache) ;
- } else { /* BS_WRITER */
- FDK_putBwd (&hBitStream->hBitBuf, hBitStream->CacheWord, hBitStream->BitsInCache) ;
- }
-
- hBitStream->BitsInCache = 0 ;
- hBitStream->CacheWord = 0 ;
-}
-
-
-/**
- * \brief Byte Alignment Function.
- * This function performs the byte_alignment() syntactic function on the input stream,
- * i.e. some bits will be discarded/padded so that the next bits to be read/written will
- * be aligned on a byte boundary with respect to the bit position 0.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \return void
- */
-FDK_INLINE void FDKbyteAlign (HANDLE_FDK_BITSTREAM hBitStream)
-{
- FDKsyncCache (hBitStream) ;
- FDK_byteAlign (&hBitStream->hBitBuf, (UCHAR)hBitStream->ConfigCache) ;
-}
-
-
-/**
- * \brief Byte Alignment Function with anchor
- * This function performs the byte_alignment() syntactic function on the input stream,
- * i.e. some bits will be discarded so that the next bits to be read/written would be aligned
- * on a byte boundary with respect to the given alignment anchor.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param alignmentAnchor bit position to be considered as origin for byte alignment
- * \return void
- */
-FDK_INLINE void FDKbyteAlign (HANDLE_FDK_BITSTREAM hBitStream, UINT alignmentAnchor)
-{
- FDKsyncCache (hBitStream) ;
- if (hBitStream->ConfigCache == BS_READER) {
- FDK_pushForward (&hBitStream->hBitBuf,
- (8 - ((alignmentAnchor - FDK_getValidBits(&hBitStream->hBitBuf)) & 0x07)) & 0x07,
- hBitStream->ConfigCache) ;
- }
- else {
- FDK_put (&hBitStream->hBitBuf,
- 0,
- (8 - ((FDK_getValidBits(&hBitStream->hBitBuf)-alignmentAnchor) & 0x07)) & 0x07 );
- }
-}
-
-
-/**
- * \brief Push Back(Cache) / For / BiDirectional Function.
- * PushBackCache function ungets a number of bits erroneously read/written by the last Get() call.
- * NB: The number of bits to be stuffed back into the stream may never exceed the
- * number of bits returned by the immediately preceding Get() call.
- *
- * PushBack function ungets a number of bits (combines cache and bitbuffer indices)
- * PushFor function gets a number of bits (combines cache and bitbuffer indices)
- * PushBiDirectional gets/ungets number of bits as defined in PusBack/For function
- * NB: The sign of bits is not known, so the function checks direction and calls
- * appropriate function. (positive sign pushFor, negative sign pushBack )
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param numberOfBits The number of bits to be pushed back/for.
- * \return void
- */
-FDK_INLINE void FDKpushBackCache (HANDLE_FDK_BITSTREAM hBitStream, const UINT numberOfBits)
-{
- FDK_ASSERT ((hBitStream->BitsInCache+numberOfBits)<=CACHE_BITS);
- hBitStream->BitsInCache += numberOfBits ;
-}
-
-FDK_INLINE void FDKpushBack (HANDLE_FDK_BITSTREAM hBitStream, const UINT numberOfBits)
-{
- if ((hBitStream->BitsInCache+numberOfBits)<CACHE_BITS && (hBitStream->ConfigCache == BS_READER) ) {
- hBitStream->BitsInCache += numberOfBits ;
- FDKsyncCache(hBitStream) ; /* sync cache to avoid invalid cache */
- }
- else {
- FDKsyncCache(hBitStream) ;
- FDK_pushBack(&hBitStream->hBitBuf,numberOfBits,hBitStream->ConfigCache);
- }
-}
-
-FDK_INLINE void FDKpushFor (HANDLE_FDK_BITSTREAM hBitStream, const UINT numberOfBits)
-{
- if ( (hBitStream->BitsInCache>numberOfBits) && (hBitStream->ConfigCache == BS_READER) ) {
- hBitStream->BitsInCache -= numberOfBits;
- }
- else {
- FDKsyncCache(hBitStream) ;
- FDK_pushForward(&hBitStream->hBitBuf,numberOfBits,hBitStream->ConfigCache);
- }
-}
-
-FDK_INLINE void FDKpushBiDirectional (HANDLE_FDK_BITSTREAM hBitStream, const INT numberOfBits)
-{
- if(numberOfBits>=0) FDKpushFor(hBitStream, numberOfBits) ;
- else FDKpushBack(hBitStream, -numberOfBits) ;
-}
-
-
-/**
- * \brief GetValidBits Function. Clear cache and return valid Bits from Bitbuffer.
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \return amount of valid bits that still can be read or were already written.
- *
- */
-FDK_INLINE UINT FDKgetValidBits (HANDLE_FDK_BITSTREAM hBitStream)
-{
- FDKsyncCache(hBitStream) ;
- return FDK_getValidBits(&hBitStream->hBitBuf) ;
-}
-
-
-/**
- * \brief return amount of unused Bits from Bitbuffer.
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \return amount of free bits that still can be written into the bitstream
- */
-FDK_INLINE INT FDKgetFreeBits (HANDLE_FDK_BITSTREAM hBitStream)
-{
- return FDK_getFreeBits (&hBitStream->hBitBuf) ;
-}
-
-/**
- * \brief reset bitcounter in bitBuffer to zero.
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \return void
- */
-FDK_INLINE void FDKresetBitCnt (HANDLE_FDK_BITSTREAM hBitStream)
-{
- FDKsyncCache (hBitStream) ;
- FDK_setBitCnt (&hBitStream->hBitBuf, 0) ;
-}
-
-/**
- * \brief set bitcoutner in bitBuffer to given value.
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param value new value to be assigned to the bit counter
- * \return void
- */
-FDK_INLINE void FDKsetBitCnt (HANDLE_FDK_BITSTREAM hBitStream, UINT value)
-{
- FDKsyncCache (hBitStream) ;
- FDK_setBitCnt (&hBitStream->hBitBuf, value) ;
-}
-
-/**
- * \brief get bitcounter state from bitBuffer.
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \return current bit counter value
- */
-FDK_INLINE INT FDKgetBitCnt (HANDLE_FDK_BITSTREAM hBitStream)
-{
- FDKsyncCache(hBitStream) ;
- return FDK_getBitCnt(&hBitStream->hBitBuf) ;
-}
-
-
-/**
- * \brief Fill the BitBuffer with a number of input bytes from external source.
- * The bytesValid variable returns the number of ramaining valid bytes in extern inputBuffer.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param inputBuffer Pointer to input buffer with bitstream data.
- * \param bufferSize Total size of inputBuffer array.
- * \param bytesValid Input: number of valid bytes in inputBuffer. Output: bytes still left unread in inputBuffer.
- * \return void
- */
-FDK_INLINE void FDKfeedBuffer (HANDLE_FDK_BITSTREAM hBitStream, const UCHAR inputBuffer [], const UINT bufferSize, UINT *bytesValid)
-{
- FDKsyncCache (hBitStream) ;
- FDK_Feed(&hBitStream->hBitBuf, (UCHAR*)inputBuffer, bufferSize, bytesValid ) ;
-}
-
-
-/**
- * \brief fill destination BitBuffer with a number of bytes from source BitBuffer. The
- * bytesValid variable returns the number of ramaining valid bytes in source BitBuffer.
- *
- * \param hBSDst HANDLE_FDK_BITSTREAM handle to write data into
- * \param hBSSrc HANDLE_FDK_BITSTREAM handle to read data from
- * \param bytesValid Input: number of valid bytes in inputBuffer. Output: bytes still left unread in inputBuffer.
- * \return void
- */
-FDK_INLINE void FDKcopyBuffer (HANDLE_FDK_BITSTREAM hBSDst, HANDLE_FDK_BITSTREAM hBSSrc, UINT *bytesValid)
-{
- FDKsyncCache (hBSSrc) ;
- FDK_Copy (&hBSDst->hBitBuf, &hBSSrc->hBitBuf, bytesValid) ;
-}
-
-
-/**
- * \brief fill the outputBuffer with all valid bytes hold in BitBuffer. The WriteBytes
- * variable returns the number of written Bytes.
- *
- * \param hBitStream HANDLE_FDK_BITSTREAM handle
- * \param outputBuffer Pointer to output buffer.
- * \param writeBytes Number of bytes write to output buffer.
- * \return void
- */
-FDK_INLINE void FDKfetchBuffer(HANDLE_FDK_BITSTREAM hBitStream, UCHAR *outputBuffer, UINT *writeBytes)
-{
- FDKsyncCache (hBitStream) ;
- FDK_Fetch(&hBitStream->hBitBuf, outputBuffer, writeBytes);
-}
-
-
-#endif
diff --git a/libFDK/include/FDK_core.h b/libFDK/include/FDK_core.h
deleted file mode 100644
index 10a6a8e..0000000
--- a/libFDK/include/FDK_core.h
+++ /dev/null
@@ -1,109 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools ***********************
-
- Author(s): Manuel Jander
- Description: FDK tools versioning support
-
-******************************************************************************/
-
-#ifndef FDK_CORE_H
-#define FDK_CORE_H
-
-#include "FDK_audio.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** @brief Get FDK_tools library information.
- * @return Return 0 on success and a negative errorcode on failure (see errorcodes.h).
- */
-int FDK_toolsGetLibInfo(LIB_INFO *info);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/libFDK/include/FDK_crc.h b/libFDK/include/FDK_crc.h
deleted file mode 100644
index b1fed88..0000000
--- a/libFDK/include/FDK_crc.h
+++ /dev/null
@@ -1,231 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/******************************** MPEG Audio Encoder **************************
-
- Initial author:
- contents/description: CRC calculation
-
-******************************************************************************/
-
-#ifndef FDK_CRC_H
-#define FDK_CRC_H
-
-
-
-#include "FDK_bitstream.h"
-
-
-#define MAX_CRC_REGS 3 /*!< Maximal number of overlapping crc region in ADTS channel pair element is two.
- Select three independent regions preventively. */
-
-/**
- * This structure describes single crc region used for crc calculation.
- */
-typedef struct
-{
- UCHAR isActive;
- INT maxBits;
- UINT bitBufCntBits;
- UINT validBits;
-
-} CCrcRegData;
-
-/**
- * CRC info structure.
- */
-typedef struct
-{
- CCrcRegData crcRegData[MAX_CRC_REGS]; /*!< Multiple crc region description. */
- const USHORT *pCrcLookup; /*!< Pointer to lookup table filled in FDK_crcInit(). */
-
- USHORT crcPoly; /*!< CRC generator polynom. */
- USHORT crcMask; /*!< CRC mask. */
- USHORT startValue; /*!< CRC start value. */
- UCHAR crcLen; /*!< CRC length. */
-
- UINT regStart; /*!< Start region marker for synchronization. */
- UINT regStop; /*!< Stop region marker for synchronization. */
-
- USHORT crcValue; /*!< Crc value to be calculated. */
-
-} FDK_CRCINFO;
-
-/**
- * CRC info handle.
- */
-typedef FDK_CRCINFO* HANDLE_FDK_CRCINFO;
-
-
-/**
- * \brief Initialize CRC structure.
- *
- * The function initializes existing crc info structure with denoted configuration.
- *
- * \param hCrcInfo Pointer to an outlying allocated crc info structure.
- * \param crcPoly Configure crc polynom.
- * \param crcStartValue Configure crc start value.
- * \param crcLen Configure crc length.
- *
- * \return none
- */
-void FDKcrcInit(
- HANDLE_FDK_CRCINFO hCrcInfo,
- const UINT crcPoly,
- const UINT crcStartValue,
- const UINT crcLen
- );
-
-/**
- * \brief Reset CRC info structure.
- *
- * This function clears all intern states of the crc structure.
- *
- * \param hCrcInfo Pointer to crc info stucture.
- *
- * \return none
- */
-void FDKcrcReset(
- HANDLE_FDK_CRCINFO hCrcInfo
- );
-
-
-/**
- * \brief Start CRC region with maximum number of bits.
- *
- * This function marks position in bitstream to be used as start point for crc calculation.
- * Bitstream range for crc calculation can be limited or kept dynamic depending on mBits parameter.
- * The crc region has to be terminated with FDKcrcEndReg() in each case.
- *
- * \param hCrcInfo Pointer to crc info stucture.
- * \param hBs Pointer to current bit buffer structure.
- * \param mBits Number of bits in crc region to be calculated.
- * - mBits > 0: Zero padding will be used for CRC calculation, if there
- * are less than mBits bits available.
- * - mBits < 0: No zero padding is done.
- * - mBits = 0: The number of bits used in crc calculation is dynamically,
- * depending on bitstream position between FDKcrcStartReg() and
- * FDKcrcEndReg() call.
- *
- * \return ID for the created region, -1 in case of an error
- */
-INT FDKcrcStartReg(
- HANDLE_FDK_CRCINFO hCrcInfo,
- const HANDLE_FDK_BITSTREAM hBs,
- const INT mBits
- );
-
-
-/**
- * \brief Ends CRC region.
- *
- * This function terminates crc region specified with FDKcrcStartReg(). The number of bits in crc region depends
- * on mBits parameter of FDKcrcStartReg().
- * This function calculates and updates crc in info structure.
- *
- * \param hCrcInfo Pointer to crc info stucture.
- * \param hBs Pointer to current bit buffer structure.
- * \param reg Crc region ID created in FDKcrcStartReg().
- *
- * \return 0 on success
- */
-INT FDKcrcEndReg(
- HANDLE_FDK_CRCINFO hCrcInfo,
- const HANDLE_FDK_BITSTREAM hBs,
- const INT reg
- );
-
-
-/**
- * \brief This function returns crc value from info struct.
- *
- * \param hCrcInfo Pointer to crc info stucture.
- *
- * \return CRC value masked with crc length.
- */
-USHORT FDKcrcGetCRC(
- const HANDLE_FDK_CRCINFO hCrcInfo
- );
-
-
-#endif /* FDK_CRC_H */
diff --git a/libFDK/include/FDK_hybrid.h b/libFDK/include/FDK_hybrid.h
deleted file mode 100644
index 63f2d70..0000000
--- a/libFDK/include/FDK_hybrid.h
+++ /dev/null
@@ -1,273 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s): Markus Lohwasser
- Description: FDK Tools Hybrid Filterbank
-
-******************************************************************************/
-
-#ifndef __FDK_HYBRID_H
-#define __FDK_HYBRID_H
-
-
-
-#include "common_fix.h"
-
-/*--------------- enums -------------------------------*/
-
-/**
- * Hybrid Filterband modes.
- */
-typedef enum {
- THREE_TO_TEN,
- THREE_TO_TWELVE,
- THREE_TO_SIXTEEN
-
-} FDK_HYBRID_MODE;
-
-
-/*--------------- structure definitions ---------------*/
-typedef struct FDK_HYBRID_SETUP *HANDLE_FDK_HYBRID_SETUP;
-
-typedef struct
-{
- FIXP_DBL *bufferLFReal[3]; /*!< LF real filter states. */
- FIXP_DBL *bufferLFImag[3]; /*!< LF imag filter states. */
- FIXP_DBL *bufferHFReal[13]; /*!< HF real delay lines. */
- FIXP_DBL *bufferHFImag[13]; /*!< HF imag delay lines. */
-
- INT bufferLFpos; /*!< Position to write incoming data into ringbuffer. */
- INT bufferHFpos; /*!< Delay line positioning. */
- INT nrBands; /*!< Number of QMF bands. */
- INT cplxBands; /*!< Number of complex QMF bands.*/
- UCHAR hfMode; /*!< Flag signalizes treatment of HF bands. */
-
- FIXP_DBL *pLFmemory; /*!< Pointer to LF states buffer. */
- FIXP_DBL *pHFmemory; /*!< Pointer to HF states buffer. */
-
- UINT LFmemorySize; /*!< Size of LF states buffer. */
- UINT HFmemorySize; /*!< Size of HF states buffer. */
-
- HANDLE_FDK_HYBRID_SETUP pSetup; /*!< Pointer to filter setup. */
-
-} FDK_ANA_HYB_FILTER;
-
-
-typedef struct
-{
- INT nrBands; /*!< Number of QMF bands. */
- INT cplxBands; /*!< Number of complex QMF bands.*/
-
- HANDLE_FDK_HYBRID_SETUP pSetup; /*!< Pointer to filter setup. */
-
-} FDK_SYN_HYB_FILTER;
-
-typedef FDK_ANA_HYB_FILTER *HANDLE_FDK_ANA_HYB_FILTER;
-typedef FDK_SYN_HYB_FILTER *HANDLE_FDK_SYN_HYB_FILTER;
-
-
-/**
- * \brief Create one instance of Hybrid Analyis Filterbank.
- *
- * \param hAnalysisHybFilter Pointer to an outlying allocated Hybrid Analysis Filterbank structure.
- * \param pLFmemory Pointer to outlying buffer used LF filtering.
- * \param LFmemorySize Size of pLFmemory in bytes.
- * \param pHFmemory Pointer to outlying buffer used HF delay line.
- * \param HFmemorySize Size of pLFmemory in bytes.
- *
- * \return 0 on success.
- */
-INT FDKhybridAnalysisOpen(
- HANDLE_FDK_ANA_HYB_FILTER hAnalysisHybFilter,
- FIXP_DBL *const pLFmemory,
- const UINT LFmemorySize,
- FIXP_DBL *const pHFmemory,
- const UINT HFmemorySize
- );
-
-
-/**
- * \brief Initialize and configure Hybrdid Analysis Filterbank instance.
- *
- * \param hAnalysisHybFilter A Hybrid Analysis Filterbank handle.
- * \param mode Select hybrid filter configuration.
- * \param qmfBands Number of qmf bands to be processed.
- * \param cplxBands Number of complex qmf bands to be processed.
- * \param initStatesFlag Indicates whether the states buffer has to be cleared.
- *
- * \return 0 on success.
- */
-INT FDKhybridAnalysisInit(
- HANDLE_FDK_ANA_HYB_FILTER hAnalysisHybFilter,
- const FDK_HYBRID_MODE mode,
- const INT qmfBands,
- const INT cplxBands,
- const INT initStatesFlag
- );
-
-
-/**
- * \brief Adjust Hybrdid Analysis Filterbank states.
- *
- * \param hAnalysisHybFilter A Hybrid Analysis Filterbank handle.
- * \param scalingValue Scaling value to be applied on filter states.
- *
- * \return 0 on success.
- */
-INT FDKhybridAnalysisScaleStates(
- HANDLE_FDK_ANA_HYB_FILTER hAnalysisHybFilter,
- const INT scalingValue
- );
-
-
-/**
- * \brief Apply Hybrid Analysis Filterbank on Qmf input data.
- *
- * \param hAnalysisHybFilter A Hybrid Analysis Filterbank handle.
- * \param pQmfReal Qmf input data.
- * \param pQmfImag Qmf input data.
- * \param pHybridReal Hybrid output data.
- * \param pHybridImag Hybrid output data.
- *
- * \return 0 on success.
- */
-INT FDKhybridAnalysisApply(
- HANDLE_FDK_ANA_HYB_FILTER hAnalysisHybFilter,
- const FIXP_DBL *const pQmfReal,
- const FIXP_DBL *const pQmfImag,
- FIXP_DBL *const pHybridReal,
- FIXP_DBL *const pHybridImag
- );
-
-
-/**
- * \brief Close a Hybrid Analysis Filterbank instance.
- *
- * \param hAnalysisHybFilter Pointer to a Hybrid Analysis Filterbank instance.
- *
- * \return 0 on success.
- */
-INT FDKhybridAnalysisClose(
- HANDLE_FDK_ANA_HYB_FILTER hAnalysisHybFilter
- );
-
-/**
- * \brief Initialize and configure Hybrdid Synthesis Filterbank instance.
- *
- * \param hSynthesisHybFilter A Hybrid Synthesis Filterbank handle.
- * \param mode Select hybrid filter configuration.
- * \param qmfBands Number of qmf bands to be processed.
- * \param cplxBands Number of complex qmf bands to be processed.
- *
- * \return 0 on success.
- */
-INT FDKhybridSynthesisInit(
- HANDLE_FDK_SYN_HYB_FILTER hSynthesisHybFilter,
- const FDK_HYBRID_MODE mode,
- const INT qmfBands,
- const INT cplxBands
- );
-
-/**
- * \brief Apply Hybrid Analysis Filterbank on Hybrid data.
- *
- * \param hSynthesisHybFilter A Hybrid Analysis Filterbandk handle.
- * \param pHybridReal Hybrid input data.
- * \param pHybridImag Hybrid input data.
- * \param pQmfReal Qmf output data.
- * \param pQmfImag Qmf output data.
- *
- * \return 0 on success.
- */
-INT FDKhybridSynthesisApply(
- HANDLE_FDK_SYN_HYB_FILTER hSynthesisHybFilter,
- const FIXP_DBL *const pHybridReal,
- const FIXP_DBL *const pHybridImag,
- FIXP_DBL *const pQmfReal,
- FIXP_DBL *const pQmfImag
- );
-
-
-#endif /* __FDK_HYBRID_H */
diff --git a/libFDK/include/FDK_tools_rom.h b/libFDK/include/FDK_tools_rom.h
deleted file mode 100644
index 9361c81..0000000
--- a/libFDK/include/FDK_tools_rom.h
+++ /dev/null
@@ -1,270 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools ***********************
-
- Author(s): Oliver Moser
- Description: ROM tables used by FDK tools
-
-******************************************************************************/
-
-#ifndef __FDK_TOOLS_ROM_H__
-#define __FDK_TOOLS_ROM_H__
-
-#include "common_fix.h"
-#include "FDK_audio.h"
-
-
-/* None radix2 rotation vectors */
-extern const FIXP_STB RotVectorReal60[60];
-extern const FIXP_STB RotVectorImag60[60];
-extern const FIXP_STB RotVectorReal240[240];
-extern const FIXP_STB RotVectorImag240[240];
-extern const FIXP_STB RotVectorReal480[480];
-extern const FIXP_STB RotVectorImag480[480];
-
-
-/* Regular sine tables */
-extern const FIXP_STP SineTable512[];
-extern const FIXP_STP SineTable480[];
-
-/* AAC-LC windows */
-extern const FIXP_WTP SineWindow1024[];
-extern const FIXP_WTP KBDWindow1024[];
-extern const FIXP_WTP SineWindow128[];
-extern const FIXP_WTP KBDWindow128[];
-
-extern const FIXP_WTP SineWindow960[];
-extern const FIXP_WTP KBDWindow960[];
-extern const FIXP_WTP SineWindow120[];
-extern const FIXP_WTP KBDWindow120[];
-
-/* AAC-LD windows */
-extern const FIXP_WTP SineWindow512[];
-#define LowOverlapWindow512 SineWindow128
-extern const FIXP_WTP SineWindow480[];
-#define LowOverlapWindow480 SineWindow120
-
-
-
-extern const FIXP_WTP SineWindow64[];
-extern const FIXP_WTP SineWindow32[];
-
-/**
- * \brief Helper table for window slope mapping. You should prefer the usage of the
- * function FDKgetWindowSlope(), this table is only made public for some optimized
- * access inside dct.cpp.
- */
-extern const FIXP_WTP *const windowSlopes[2][3][9];
-
-/**
- * \brief Window slope access helper. Obtain a window of given length and shape.
- * \param length Length of the window slope.
- * \param shape Shape index of the window slope. 0: sine window, 1: Kaiser-Bessel. Any other
- * value is applied a mask of 1 to, mapping it to either 0 or 1.
- * \param Pointer to window slope or NULL if the requested window slope is not available.
- */
-const FIXP_WTP * FDKgetWindowSlope(int length, int shape);
-
-extern const FIXP_WTP sin_twiddle_L64[];
-
-/*
- * Filter coefficient type definition
- */
-
-#if defined(ARCH_PREFER_MULT_16x16) || defined(ARCH_PREFER_MULT_32x16)
- #define QMF_COEFF_16BIT
-#endif
-
-#define QMF_FILTER_PROTOTYPE_SIZE 640
-#define QMF_NO_POLY 5
-
-#ifdef QMF_COEFF_16BIT
- #define FIXP_PFT FIXP_SGL
- #define FIXP_QTW FIXP_SGL
-#else
- #define FIXP_PFT FIXP_DBL
- #define FIXP_QTW FIXP_DBL
-#endif
-
-#define QMF640_PFT_TABLE_SIZE (640/2 + QMF_NO_POLY)
-
-extern const FIXP_QTW qmf_phaseshift_cos32[32];
-extern const FIXP_QTW qmf_phaseshift_sin32[32];
-/* Adapted analysis post-twiddles for down-sampled HQ SBR */
-extern const FIXP_QTW qmf_phaseshift_cos_downsamp32[32];
-extern const FIXP_QTW qmf_phaseshift_sin_downsamp32[32];
-extern const FIXP_QTW qmf_phaseshift_cos64[64];
-extern const FIXP_QTW qmf_phaseshift_sin64[64];
-
-extern const FIXP_PFT qmf_64[QMF640_PFT_TABLE_SIZE+QMF_NO_POLY];
-
-
-
-
-
-#define QMF640_CLDFB_PFT_TABLE_SIZE (640)
-#define QMF320_CLDFB_PFT_TABLE_SIZE (320)
-#define QMF_CLDFB_PFT_SCALE 1
-
-extern const FIXP_QTW qmf_phaseshift_cos32_cldfb[32];
-extern const FIXP_QTW qmf_phaseshift_sin32_cldfb[32];
-extern const FIXP_QTW qmf_phaseshift_cos64_cldfb[64];
-extern const FIXP_QTW qmf_phaseshift_sin64_cldfb[64];
-
-extern const FIXP_PFT qmf_cldfb_640[QMF640_CLDFB_PFT_TABLE_SIZE];
-extern const FIXP_PFT qmf_cldfb_320[QMF320_CLDFB_PFT_TABLE_SIZE];
-
-
-
-
-
-/*
- * Raw Data Block list stuff.
- */
-typedef enum {
- element_instance_tag,
- common_window,
- global_gain,
- ics_info, /* ics_reserved_bit, window_sequence, window_shape, max_sfb, scale_factor_grouping, predictor_data_present, ltp_data_present, ltp_data */
- max_sfb,
- ms, /* ms_mask_present, ms_used */
- /*predictor_data_present,*/ /* part of ics_info */
- ltp_data_present,
- ltp_data,
- section_data,
- scale_factor_data,
- pulse, /* pulse_data_present, pulse_data */
- tns_data_present,
- tns_data,
- gain_control_data_present,
- gain_control_data,
- esc1_hcr,
- esc2_rvlc,
- spectral_data,
-
- scale_factor_data_usac,
- core_mode,
- common_tw,
- lpd_channel_stream,
- tw_data,
- noise,
- ac_spectral_data,
- fac_data,
- tns_active, /* introduced in MPEG-D usac CD */
- tns_data_present_usac,
- common_max_sfb,
-
-
- /* Non data list items */
- adtscrc_start_reg1,
- adtscrc_start_reg2,
- adtscrc_end_reg1,
- adtscrc_end_reg2,
- drmcrc_start_reg,
- drmcrc_end_reg,
- next_channel,
- next_channel_loop,
- link_sequence,
- end_of_sequence
-} rbd_id_t;
-
-struct element_list {
- const rbd_id_t *id;
- const struct element_list *next[2];
-};
-
-typedef struct element_list element_list_t;
-/**
- * \brief get elementary stream pieces list for given parameters.
- * \param aot audio object type
- * \param epConfig the epConfig value from the current Audio Specific Config
- * \param nChannels amount of channels contained in the current element.
- * \param layer the layer of the current element.
- * \return element_list_t parser guidance structure.
- */
-const element_list_t * getBitstreamElementList(AUDIO_OBJECT_TYPE aot, SCHAR epConfig, UCHAR nChannels, UCHAR layer);
-
-
-#endif
-
diff --git a/libFDK/include/FDK_trigFcts.h b/libFDK/include/FDK_trigFcts.h
deleted file mode 100644
index c32c0f2..0000000
--- a/libFDK/include/FDK_trigFcts.h
+++ /dev/null
@@ -1,229 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s): Haricharan Lakshman, Manuel Jander
- Description: Trigonometric functions fixed point fractional implementation.
-
-******************************************************************************/
-
-
-
-#include "common_fix.h"
-
-#include "FDK_tools_rom.h"
-
-/* Fixed point precision definitions */
-#define Q(format) ((FIXP_DBL)(((LONG)1) << (format)))
-
-#ifndef M_PI
-#define M_PI (3.14159265358979323846f)
-#endif
-
-/*!
- * Inverse tangent function.
- */
-
-// --- fixp_atan() ----
-#define Q_ATANINP (25) // Input in q25, Output in q30
-#define Q_ATANOUT (30)
-#define ATI_SF ((DFRACT_BITS-1)-Q_ATANINP) // 6
-#define ATI_SCALE ((float)(1<<ATI_SF)) //
-#define ATO_SF ((DFRACT_BITS-1)-Q_ATANOUT) // 1 ] -pi/2 .. pi/2 [
-#define ATO_SCALE ((float)(1<<ATO_SF)) //
-// --- fixp_atan2() ---
-#define Q_ATAN2OUT (29)
-#define AT2O_SF ((DFRACT_BITS-1)-Q_ATAN2OUT) // 2 ] -pi .. pi ]
-#define AT2O_SCALE ((float)(1<<AT2O_SF)) //
-// --------------------
-
-FIXP_DBL fixp_atan(FIXP_DBL x);
-FIXP_DBL fixp_atan2(FIXP_DBL y, FIXP_DBL x);
-
-FIXP_DBL fixp_cos(FIXP_DBL x, int scale);
-FIXP_DBL fixp_sin(FIXP_DBL x, int scale);
-
-#define FIXP_COS_SIN
-
-
-#include "FDK_tools_rom.h"
-
-#define SINETAB SineTable512
-#define LD 9
-
-
-#ifndef FUNCTION_inline_fixp_cos_sin
-
-#define FUNCTION_inline_fixp_cos_sin
-
-/*
- * Calculates coarse lookup index and sign for sine.
- * Returns delta x residual.
- */
-static inline FIXP_DBL fixp_sin_cos_residual_inline(FIXP_DBL x, int scale, FIXP_DBL *sine, FIXP_DBL *cosine)
-{
- FIXP_DBL residual;
- int s;
- int shift = (31-scale-LD-1);
- int ssign = 1;
- int csign = 1;
-
- residual = fMult(x, FL2FXCONST_DBL(1.0/M_PI));
- s = ((LONG)residual) >> shift;
-
- residual &= ( (1<<shift) - 1 );
- residual = fMult(residual, FL2FXCONST_DBL(M_PI/4.0)) << 2;
- residual <<= scale;
-
- /* Sine sign symmetry */
- if (s & ((1<<LD)<<1) ) {
- ssign = -ssign;
- }
- /* Cosine sign symmetry */
- if ( (s + (1<<LD)) & ((1<<LD)<<1) ) {
- csign = -csign;
- }
-
- s = fAbs(s);
-
- s &= (((1<<LD)<<1)-1); /* Modulo PI */
-
- if (s > (1<<LD)) {
- s = ((1<<LD)<<1) - s;
- }
-
- {
- LONG sl, cl;
- /* Because of packed table */
- if (s > (1<<(LD-1))) {
- FIXP_STP tmp;
- /* Cosine/Sine simetry for angles greater than PI/4 */
- s = (1<<LD)-s;
- tmp = SINETAB[s];
- sl = (LONG)tmp.v.re;
- cl = (LONG)tmp.v.im;
- } else {
- FIXP_STP tmp;
- tmp = SINETAB[s];
- sl = (LONG)tmp.v.im;
- cl = (LONG)tmp.v.re;
- }
-
-#ifdef SINETABLE_16BIT
- *sine = (FIXP_DBL)((sl * ssign) << (DFRACT_BITS-FRACT_BITS));
- *cosine = (FIXP_DBL)((cl * csign) << (DFRACT_BITS-FRACT_BITS));
-#else
- *sine = (FIXP_DBL)(sl * ssign);
- *cosine = (FIXP_DBL)(cl * csign);
-#endif
- }
-
- return residual;
-}
-
-/**
- * \brief Calculate cosine and sine value each of 2 angles different angle values.
- * \param x1 first angle value
- * \param x2 second angle value
- * \param scale exponent of x1 and x2
- * \param out pointer to 4 FIXP_DBL locations, were the values cos(x1), sin(x1), cos(x2), sin(x2)
- * will be stored into.
- */
-static inline void inline_fixp_cos_sin (FIXP_DBL x1, FIXP_DBL x2, const int scale, FIXP_DBL *out)
-{
- FIXP_DBL residual, error0, error1, sine, cosine;
- residual = fixp_sin_cos_residual_inline(x1, scale, &sine, &cosine);
- error0 = fMultDiv2(sine, residual);
- error1 = fMultDiv2(cosine, residual);
- *out++ = cosine - (error0<<1);
- *out++ = sine + (error1<<1);
-
- residual = fixp_sin_cos_residual_inline(x2, scale, &sine, &cosine);
- error0 = fMultDiv2(sine, residual);
- error1 = fMultDiv2(cosine, residual);
- *out++ = cosine - (error0<<1);
- *out++ = sine + (error1<<1);
-}
-#endif
-
diff --git a/libFDK/include/abs.h b/libFDK/include/abs.h
deleted file mode 100644
index 0837e3c..0000000
--- a/libFDK/include/abs.h
+++ /dev/null
@@ -1,121 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools ***********************
-
- Author(s): M. Lohwasser
- Description: fixed point abs definitions
-
-******************************************************************************/
-
-#if !defined(__ABS_H__)
-#define __ABS_H__
-
-
-#if defined(__mips__) /* cppp replaced: elif */
-#include "mips/abs_mips.h"
-
-#elif defined(__x86__) /* cppp replaced: elif */
-#include "x86/abs_x86.h"
-
-#endif /* all cores */
-
-/*************************************************************************
- *************************************************************************
- Software fallbacks for missing functions
-**************************************************************************
-**************************************************************************/
-
-#if !defined(FUNCTION_fixabs_D)
-inline FIXP_DBL fixabs_D(FIXP_DBL x) { return ((x) > (FIXP_DBL)(0)) ? (x) : -(x) ; }
-#endif
-
-#if !defined(FUNCTION_fixabs_I)
-inline INT fixabs_I(INT x) { return ((x) > (INT)(0)) ? (x) : -(x) ; }
-#endif
-
-#if !defined(FUNCTION_fixabs_S)
-inline FIXP_SGL fixabs_S(FIXP_SGL x) { return ((x) > (FIXP_SGL)(0)) ? (x) : -(x) ; }
-#endif
-
-#endif /* __ABS_H__ */
diff --git a/libFDK/include/arm/clz_arm.h b/libFDK/include/arm/clz_arm.h
deleted file mode 100644
index f43a7b1..0000000
--- a/libFDK/include/arm/clz_arm.h
+++ /dev/null
@@ -1,122 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if defined(__arm__)
-
-#if defined(__GNUC__) && defined(__ARM_ARCH_5TE__) /* cppp replaced: elif */
- /* ARM gcc*/
-
- #define FUNCTION_fixnormz_D
- #define FUNCTION_fixnorm_D
-
- inline INT fixnormz_D(LONG value)
- {
- INT result;
- asm("clz %0, %1 ": "=r"(result) : "r"(value) );
- return result;
- }
-
- inline INT fixnorm_D(LONG value)
- {
- INT result;
- if (value == 0) {
- return 0;
- }
- if (value < 0) {
- value = ~value;
- }
- result = fixnormz_D(value);
- return result - 1;
- }
-
-#endif /* arm toolchain */
-
-#endif /* __arm__ */
-
diff --git a/libFDK/include/arm/cplx_mul.h b/libFDK/include/arm/cplx_mul.h
deleted file mode 100644
index 8b48031..0000000
--- a/libFDK/include/arm/cplx_mul.h
+++ /dev/null
@@ -1,214 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if defined(__arm__) && defined(__GNUC__) /* cppp replaced: elif */
-
-#if defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_6__)
- #define FUNCTION_cplxMultDiv2_32x16
- #define FUNCTION_cplxMultDiv2_32x16X2
- //#define FUNCTION_cplxMult_32x16
- //#define FUNCTION_cplxMult_32x16X2
-#endif
-
-#define FUNCTION_cplxMultDiv2_32x32X2
-//#define FUNCTION_cplxMult_32x32X2
-
-#ifdef FUNCTION_cplxMultDiv2_32x16
-inline void cplxMultDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_SPK wpk )
-{
- LONG tmp1,tmp2;
- const LONG w = wpk.w;
-
- asm("smulwt %0, %3, %4;\n"
- "rsb %1,%0,#0;\n"
- "smlawb %0, %2, %4, %1;\n"
- "smulwt %1, %2, %4;\n"
- "smlawb %1, %3, %4, %1;\n"
- : "=&r"(tmp1), "=&r"(tmp2)
- : "r"(a_Re), "r"(a_Im), "r"(w)
- );
-
- *c_Re = tmp1;
- *c_Im = tmp2;
-}
-#endif /* FUNCTION_cplxMultDiv2_32x16 */
-
-#ifdef FUNCTION_cplxMultDiv2_32x16X2
-inline void cplxMultDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_SGL b_Re,
- const FIXP_SGL b_Im)
-{
- LONG tmp1, tmp2;
-
- asm("smulwb %0, %3, %5;\n" /* %7 = -a_Im * b_Im */
- "rsb %1,%0,#0;\n"
- "smlawb %0, %2, %4, %1;\n" /* tmp1 = a_Re * b_Re - a_Im * b_Im */
- "smulwb %1, %2, %5;\n" /* %7 = a_Re * b_Im */
- "smlawb %1, %3, %4, %1;\n" /* tmp2 = a_Im * b_Re + a_Re * b_Im */
- : "=&r"(tmp1), "=&r"(tmp2)
- : "r"(a_Re), "r"(a_Im), "r"(b_Re), "r"(b_Im)
- );
-
- *c_Re = tmp1;
- *c_Im = tmp2;
-}
-#endif /* FUNCTION_cplxMultDiv2_32x16X2 */
-
-#ifdef FUNCTION_cplxMultAddDiv2_32x16X2
-inline void cplxMultAddDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_SGL b_Re,
- const FIXP_SGL b_Im)
-{
- LONG tmp1, tmp2;
-
- asm("smulwb %0, %3, %5;\n"
- "rsb %1,%0,#0;\n"
- "smlawb %0, %2, %4, %1;\n"
- "smulwb %1, %2, %5;\n"
- "smlawb %1, %3, %4, %1;\n"
- : "=&r"(tmp1), "=&r"(tmp2)
- : "r"(a_Re), "r"(a_Im), "r"(b_Re), "r"(b_Im)
- );
-
- *c_Re += tmp1;
- *c_Im += tmp2;
-}
-#endif /* FUNCTION_cplxMultAddDiv2_32x16X2 */
-
-
-#ifdef FUNCTION_cplxMultDiv2_32x32X2
-inline void cplxMultDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_DBL b_Re,
- const FIXP_DBL b_Im)
-{
- LONG tmp1, tmp2;
-
-#ifdef __ARM_ARCH_6__
- asm(
- "smmul %0, %2, %4;\n" /* tmp1 = a_Re * b_Re */
- "smmls %0, %3, %5, %0;\n" /* tmp1 -= a_Im * b_Im */
- "smmul %1, %2, %5;\n" /* tmp2 = a_Re * b_Im */
- "smmla %1, %3, %4, %1;\n" /* tmp2 += a_Im * b_Re */
- : "=&r"(tmp1), "=&r"(tmp2)
- : "r"(a_Re), "r"(a_Im), "r"(b_Re), "r"(b_Im)
- : "r0"
- );
-#else
- LONG discard;
- asm(
- "smull %2, %0, %7, %6;\n" /* tmp1 = -a_Im * b_Im */
- "smlal %2, %0, %3, %5;\n" /* tmp1 += a_Re * b_Re */
- "smull %2, %1, %3, %6;\n" /* tmp2 = a_Re * b_Im */
- "smlal %2, %1, %4, %5;\n" /* tmp2 += a_Im * b_Re */
- : "=&r"(tmp1), "=&r"(tmp2), "=&r"(discard)
- : "r"(a_Re), "r"(a_Im), "r"(b_Re), "r"(b_Im), "r"(-a_Im)
- );
- #endif
- *c_Re = tmp1;
- *c_Im = tmp2;
-}
-#endif /* FUNCTION_cplxMultDiv2_32x32X2 */
-
-
-#endif
-
diff --git a/libFDK/include/arm/fixmadd_arm.h b/libFDK/include/arm/fixmadd_arm.h
deleted file mode 100644
index 111147b..0000000
--- a/libFDK/include/arm/fixmadd_arm.h
+++ /dev/null
@@ -1,160 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if defined(__arm__)
-
- /* ############################################################################# */
- #if defined(__GNUC__) && defined(__arm__) && !defined(__SYMBIAN32__) /* cppp replaced: elif */
- /* ############################################################################# */
- /* ARM GNU GCC */
-
- #define FUNCTION_fixmadddiv2_DD
-
- #ifdef __ARM_ARCH_6__
- inline FIXP_DBL fixmadddiv2_DD (FIXP_DBL x, const FIXP_DBL a, const FIXP_DBL b) {
- INT result;
- asm ("smmla %0, %1, %2, %3;\n"
- : "=r" (result)
- : "r" (a), "r" (b), "r"(x) );
- return result ;
- }
- #define FUNCTION_fixmsubdiv2_DD
- inline FIXP_DBL fixmsubdiv2_DD (FIXP_DBL x, const FIXP_DBL a, const FIXP_DBL b) {
- INT result;
- asm ("smmls %0, %1, %2, %3;\n"
- : "=r" (result)
- : "r" (a), "r" (b), "r"(x) );
- return result ;
- }
- #else /* __ARM_ARCH_6__ */
- inline FIXP_DBL fixmadddiv2_DD (FIXP_DBL x, const FIXP_DBL a, const FIXP_DBL b) {
- INT discard, result = x;
- asm ("smlal %0, %1, %2, %3;\n"
- : "=r" (discard), "+r" (result)
- : "r" (a), "r" (b) );
- return result ;
- }
- #endif /* __ARM_ARCH_6__ */
-
- #if defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_6__)
-
- #define FUNCTION_fixmadddiv2_DS
-
- inline FIXP_DBL fixmadddiv2_DS (FIXP_DBL x, const FIXP_DBL a, const FIXP_SGL b) {
- INT result;
- asm("smlawb %0, %1, %2, %3 "
- : "=r" (result)
- : "r" (a), "r" (b), "r" (x) );
- return result ;
- }
-
- #endif /* defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_6__) */
-
- #define FUNCTION_fixmadddiv2BitExact_DD
- #define fixmadddiv2BitExact_DD(a, b, c) fixmadddiv2_DD(a, b, c)
-
- #define FUNCTION_fixmsubdiv2BitExact_DD
- inline FIXP_DBL fixmsubdiv2BitExact_DD (FIXP_DBL x, const FIXP_DBL a, const FIXP_DBL b) {
- return x - fixmuldiv2BitExact_DD(a, b);
- }
-
- #define FUNCTION_fixmadddiv2BitExact_DS
- #define fixmadddiv2BitExact_DS(a, b, c) fixmadddiv2_DS(a, b, c)
-
- #define FUNCTION_fixmsubdiv2BitExact_DS
- inline FIXP_DBL fixmsubdiv2BitExact_DS (FIXP_DBL x, const FIXP_DBL a, const FIXP_SGL b) {
- return x - fixmuldiv2BitExact_DS(a, b);
- }
- /* ############################################################################# */
- #endif /* toolchain */
- /* ############################################################################# */
-
-#endif /* __arm__ */
-
diff --git a/libFDK/include/arm/fixmul_arm.h b/libFDK/include/arm/fixmul_arm.h
deleted file mode 100644
index 2f04705..0000000
--- a/libFDK/include/arm/fixmul_arm.h
+++ /dev/null
@@ -1,142 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if defined(__arm__)
-
-#if defined(__GNUC__) && defined(__arm__) /* cppp replaced: elif */
-/* ARM with GNU compiler */
-
-#define FUNCTION_fixmuldiv2_DD
-
-#define FUNCTION_fixmuldiv2BitExact_DD
-#define fixmuldiv2BitExact_DD(a,b) fixmuldiv2_DD(a,b)
-#define FUNCTION_fixmulBitExact_DD
-#define fixmulBitExact_DD(a,b) fixmul_DD(a,b)
-
-#define FUNCTION_fixmuldiv2BitExact_DS
-#define fixmuldiv2BitExact_DS(a,b) fixmuldiv2_DS(a,b)
-
-#define FUNCTION_fixmulBitExact_DS
-#define fixmulBitExact_DS(a,b) fixmul_DS(a,b)
-
-#if defined(__ARM_ARCH_6__) || defined(__TARGET_ARCH_7E_M)
-inline INT fixmuldiv2_DD (const INT a, const INT b)
-{
- INT result ;
- __asm__ ("smmul %0, %1, %2" : "=r" (result)
- : "r" (a), "r" (b)) ;
- return result ;
-}
-#else
-inline INT fixmuldiv2_DD (const INT a, const INT b)
-{
- INT discard, result ;
- __asm__ ("smull %0, %1, %2, %3" : "=&r" (discard), "=r" (result)
- : "r" (a), "r" (b)) ;
- return result ;
-}
-#endif
-
-#if defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_6__)
-#define FUNCTION_fixmuldiv2_SD
-inline INT fixmuldiv2_SD (const SHORT a, const INT b)
-{
- INT result ;
- __asm__ ("smulwb %0, %1, %2"
- : "=r" (result)
- : "r" (b), "r" (a)) ;
- return result ;
-}
-#endif
-
-#endif /* defined(__GNUC__) && defined(__arm__) */
-
-#endif /* __arm__ */
-
diff --git a/libFDK/include/arm/scale.h b/libFDK/include/arm/scale.h
deleted file mode 100644
index cbb81dc..0000000
--- a/libFDK/include/arm/scale.h
+++ /dev/null
@@ -1,152 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/******************************** Fraunhofer IIS ***************************
-
- Author(s):
- Description: ARM scaling operations
-
-******************************************************************************/
-
-#if defined(__GNUC__) /* GCC Compiler */ /* cppp replaced: elif */
-
-#if defined(__ARM_ARCH_6__)
-
-inline static INT shiftRightSat(INT src, int scale)
-{
- INT result;
- asm(
- "ssat %0,%2,%0;\n"
-
- : "=&r"(result)
- : "r"(src>>scale), "M"(SAMPLE_BITS)
- );
-
- return result;
-}
-
- #define SATURATE_INT_PCM_RIGHT_SHIFT(src, scale) shiftRightSat(src, scale)
-
-inline static INT shiftLeftSat(INT src, int scale)
-{
- INT result;
- asm(
- "ssat %0,%2,%0;\n"
-
- : "=&r"(result)
- : "r"(src<<scale), "M"(SAMPLE_BITS)
- );
-
- return result;
-}
-
- #define SATURATE_INT_PCM_LEFT_SHIFT(src, scale) shiftLeftSat(src, scale)
-
-#endif /* __ARM_ARCH_6__ */
-
-#endif /* compiler selection */
-
-#define FUNCTION_scaleValueInPlace
-inline
-void scaleValueInPlace(FIXP_DBL *value, /*!< Value */
- INT scalefactor /*!< Scalefactor */
- )
-{
- INT newscale;
- if ((newscale = scalefactor) >= 0)
- *value <<= newscale;
- else
- *value >>= -newscale;
-}
-
-
- #define SATURATE_RIGHT_SHIFT(src, scale, dBits) \
- ( (((LONG)(src) ^ ((LONG)(src) >> (DFRACT_BITS-1)))>>(scale)) > (LONG)(((1U)<<((dBits)-1))-1)) \
- ? ((LONG)(src) >> (DFRACT_BITS-1)) ^ (LONG)(((1U)<<((dBits)-1))-1) \
- : ((LONG)(src) >> (scale))
-
- #define SATURATE_LEFT_SHIFT(src, scale, dBits) \
- ( ((LONG)(src) ^ ((LONG)(src) >> (DFRACT_BITS-1))) > ((LONG)(((1U)<<((dBits)-1))-1) >> (scale)) ) \
- ? ((LONG)(src) >> (DFRACT_BITS-1)) ^ (LONG)(((1U)<<((dBits)-1))-1) \
- : ((LONG)(src) << (scale))
-
diff --git a/libFDK/include/arm/scramble.h b/libFDK/include/arm/scramble.h
deleted file mode 100644
index 82d0338..0000000
--- a/libFDK/include/arm/scramble.h
+++ /dev/null
@@ -1,158 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: bitreversal of input data
-
-******************************************************************************/
-
-#if defined(FUNCTION_scramble)
-#if defined(__GNUC__) /* cppp replaced: elif */
-
-#define FUNCTION_scramble
-
-#if defined(__ARM_ARCH_5TE__)
-#define USE_LDRD_STRD /* LDRD requires 8 byte data alignment. */
-#endif
-
-inline void scramble(FIXP_DBL x [], INT n) {
- FDK_ASSERT(!(((INT)x)&(ALIGNMENT_DEFAULT-1)));
- asm("mov r2, #1;\n" /* r2(m) = 1; */
- "sub r3, %1, #1;\n" /* r3 = n-1; */
- "mov r4, #0;\n" /* r4(j) = 0; */
-
-"scramble_m_loop%=:\n" /* { */
- "mov r5, %1;\n" /* r5(k) = 1; */
-
-"scramble_k_loop%=:\n" /* { */
- "mov r5, r5, lsr #1;\n" /* k >>= 1; */
- "eor r4, r4, r5;\n" /* j ^=k; */
- "ands r10, r4, r5;\n" /* r10 = r4 & r5; */
- "beq scramble_k_loop%=;\n" /* } while (r10 == 0); */
-
- "cmp r4, r2;\n" /* if (r4 < r2) break; */
- "bcc scramble_m_loop_end%=;\n"
-
-#ifdef USE_LDRD_STRD
- "mov r5, r2, lsl #3;\n" /* m(r5) = r2*4*2 */
- "ldrd r10, [%0, r5];\n" /* r10 = x[r5], x7 = x[r5+1] */
- "mov r6, r4, lsl #3;\n" /* j(r6) = r4*4*2 */
- "ldrd r8, [%0, r6];\n" /* r8 = x[r6], r9 = x[r6+1]; */
- "strd r10, [%0, r6];\n" /* x[r6,r6+1] = r10,r11; */
- "strd r8, [%0, r5];\n" /* x[r5,r5+1] = r8,r9; */
-#else
- "mov r5, r2, lsl #3;\n" /* m(r5) = r2*4*2 */
- "ldr r10, [%0, r5];\n"
- "mov r6, r4, lsl #3;\n" /* j(r6) = r4*4*2 */
- "ldr r11, [%0, r6];\n"
-
- "str r10, [%0, r6];\n"
- "str r11, [%0, r5];\n"
-
- "add r5, r5, #4;"
- "ldr r10, [%0, r5];\n"
- "add r6, r6, #4;"
- "ldr r11, [%0, r6];\n"
- "str r10, [%0, r6];\n"
- "str r11, [%0, r5];\n"
-#endif
-"scramble_m_loop_end%=:\n"
- "add r2, r2, #1;\n" /* r2++; */
- "cmp r2, r3;\n"
- "bcc scramble_m_loop%=;\n" /* } while (r2(m) < r3(n-1)); */
- :
- : "r"(x), "r"(n)
-#ifdef USE_LDRD_STRD
- : "r2","r3", "r4","r5", "r10","r11", "r8","r9", "r6" );
-#else
- : "r2","r3", "r4","r5", "r10","r11", "r6" );
-#endif
-}
-#else
-/* Force C implementation if no assembler version available. */
-#undef FUNCTION_scramble
-#endif /* Toolchain selection. */
-
-#endif /* defined(FUNCTION_scramble) */
diff --git a/libFDK/include/autocorr2nd.h b/libFDK/include/autocorr2nd.h
deleted file mode 100644
index c2e9595..0000000
--- a/libFDK/include/autocorr2nd.h
+++ /dev/null
@@ -1,128 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools ***********************
-
- Author(s): M. Lohwasser
- Description: fixed point abs definitions
-
-******************************************************************************/
-
-#ifndef _AUTOCORR_2ND_H
-#define _AUTOCORR_2ND_H
-
-
-
-#include "common_fix.h"
-
-typedef struct {
- FIXP_DBL r00r;
- FIXP_DBL r11r;
- FIXP_DBL r22r;
- FIXP_DBL r01r;
- FIXP_DBL r02r;
- FIXP_DBL r12r;
- FIXP_DBL r01i;
- FIXP_DBL r02i;
- FIXP_DBL r12i;
- FIXP_DBL det;
- int det_scale;
-} ACORR_COEFS;
-
-#define LPC_ORDER 2
-
-
-INT
-autoCorr2nd_real (ACORR_COEFS *ac, /*!< Pointer to autocorrelation coeffs */
- const FIXP_DBL *reBuffer, /*!< Pointer to to real part of spectrum */
- const int len /*!< Number of qmf slots */
- );
-INT
-autoCorr2nd_cplx (ACORR_COEFS *ac, /*!< Pointer to autocorrelation coeffs */
- const FIXP_DBL *reBuffer, /*!< Pointer to to real part of spectrum */
- const FIXP_DBL *imBuffer, /*!< Pointer to imag part of spectrum */
- const int len /*!< Number of qmf slots */
- );
-
-
-#endif /* _AUTOCORR_2ND_H */
diff --git a/libFDK/include/clz.h b/libFDK/include/clz.h
deleted file mode 100644
index fc612e1..0000000
--- a/libFDK/include/clz.h
+++ /dev/null
@@ -1,192 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s): Marc Gayer
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if !defined(__CLZ_H__)
-#define __CLZ_H__
-
-#include "FDK_archdef.h"
-#include "machine_type.h"
-
-#if defined(__arm__)
-#include "arm/clz_arm.h"
-
-#elif defined(__mips__) /* cppp replaced: elif */
-#include "mips/clz_mips.h"
-
-#elif defined(__x86__) /* cppp replaced: elif */
-#include "x86/clz_x86.h"
-
-#endif /* all cores */
-
-
-/*************************************************************************
- *************************************************************************
- Software fallbacks for missing functions.
-**************************************************************************
-**************************************************************************/
-
-#if !defined(FUNCTION_fixnormz_S)
-#ifdef FUNCTION_fixnormz_D
-inline INT fixnormz_S (SHORT a)
-{
- return fixnormz_D((INT)(a));
-}
-#else
-inline INT fixnormz_S (SHORT a)
-{
- int leadingBits = 0;
- a = ~a;
- while(a & 0x8000) {
- leadingBits++;
- a <<= 1;
- }
-
- return (leadingBits);
-}
-#endif
-#endif
-
-#if !defined(FUNCTION_fixnormz_D)
-inline INT fixnormz_D (LONG a)
-{
- INT leadingBits = 0;
- a = ~a;
- while(a & 0x80000000) {
- leadingBits++;
- a <<= 1;
- }
-
- return (leadingBits);
-}
-#endif
-
-
-/*****************************************************************************
-
- functionname: fixnorm_D
- description: Count leading ones or zeros of operand val for dfract/LONG INT values.
- Return this value minus 1. Return 0 if operand==0.
-*****************************************************************************/
-#if !defined(FUNCTION_fixnorm_S)
-#ifdef FUNCTION_fixnorm_D
-inline INT fixnorm_S(FIXP_SGL val)
-{
- return fixnorm_D((INT)(val));
-}
-#else
-inline INT fixnorm_S(FIXP_SGL val)
-{
- INT leadingBits = 0;
- if ( val != (FIXP_SGL)0 ) {
- if ( val < (FIXP_SGL)0 ) {
- val = ~val;
- }
- leadingBits = fixnormz_S(val) - 1;
- }
- return (leadingBits);
-}
-#endif
-#endif
-
-#if !defined(FUNCTION_fixnorm_D)
-inline INT fixnorm_D(FIXP_DBL val)
-{
- INT leadingBits = 0;
- if ( val != (FIXP_DBL)0 ) {
- if ( val < (FIXP_DBL)0 ) {
- val = ~val;
- }
- leadingBits = fixnormz_D(val) - 1;
- }
- return (leadingBits);
-}
-#endif
-
-#endif /* __CLZ_H__ */
diff --git a/libFDK/include/common_fix.h b/libFDK/include/common_fix.h
deleted file mode 100644
index 79c87ac..0000000
--- a/libFDK/include/common_fix.h
+++ /dev/null
@@ -1,378 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s): M. Lohwasser, M. Gayer
- Description: Flexible fixpoint library configuration
-
-******************************************************************************/
-
-#ifndef _COMMON_FIX_H
-#define _COMMON_FIX_H
-
-#include "FDK_archdef.h"
-#include "machine_type.h"
-
-/* ***** Start of former fix.h ****** */
-
-/* Configure fractional or integer arithmetic */
- #define FIX_FRACT 0 /* Define this to "1" to use fractional arithmetic simulation in class fract instead of integer arithmetic */
- /* 1 for debug with extra runtime overflow checking. */
-
-/* Define bit sizes of integer fixpoint fractional data types */
-#define FRACT_BITS 16 /* single precision */
-#define DFRACT_BITS 32 /* double precision */
-#define ACCU_BITS 40 /* double precision plus overflow */
-
-/* Fixpoint equivalent type fot PCM audio time domain data. */
-#if defined(SAMPLE_BITS)
-#if (SAMPLE_BITS == DFRACT_BITS)
- #define FIXP_PCM FIXP_DBL
- #define FX_PCM2FX_DBL(x) ((FIXP_DBL)(x))
- #define FX_DBL2FX_PCM(x) ((INT_PCM)(x))
-#elif (SAMPLE_BITS == FRACT_BITS)
- #define FIXP_PCM FIXP_SGL
- #define FX_PCM2FX_DBL(x) FX_SGL2FX_DBL((FIXP_SGL)(x))
- #define FX_DBL2FX_PCM(x) FX_DBL2FX_SGL(x)
-#else
- #error SAMPLE_BITS different from FRACT_BITS or DFRACT_BITS not implemented!
-#endif
-#endif
-
-/* ****** End of former fix.h ****** */
-
-#define SGL_MASK ((1UL<<FRACT_BITS)-1) /* 16bit: (2^16)-1 = 0xFFFF */
-
-#define MAX_SHIFT_SGL (FRACT_BITS-1) /* maximum possible shift for FIXP_SGL values */
-#define MAX_SHIFT_DBL (DFRACT_BITS-1) /* maximum possible shift for FIXP_DBL values */
-
-/* Scale factor from/to float/fixpoint values. DO NOT USE THESE VALUES AS SATURATION LIMITS !! */
-#define FRACT_FIX_SCALE ((INT64(1)<<(FRACT_BITS-1)))
-#define DFRACT_FIX_SCALE ((INT64(1)<<(DFRACT_BITS-1)))
-
-/* Max and Min values for saturation purposes. DO NOT USE THESE VALUES AS SCALE VALUES !! */
-#define MAXVAL_SGL ((signed)0x00007FFF) /* this has to be synchronized to FRACT_BITS */
-#define MINVAL_SGL ((signed)0xFFFF8000) /* this has to be synchronized to FRACT_BITS */
-#define MAXVAL_DBL ((signed)0x7FFFFFFF) /* this has to be synchronized to DFRACT_BITS */
-#define MINVAL_DBL ((signed)0x80000000) /* this has to be synchronized to DFRACT_BITS */
-
-
-#define FX_DBL2FXCONST_SGL(val) ( ( ((((val) >> (DFRACT_BITS-FRACT_BITS-1)) + 1) > (((LONG)1<<FRACT_BITS)-1)) && ((LONG)(val) > 0) ) ? \
- (FIXP_SGL)(SHORT)(((LONG)1<<(FRACT_BITS-1))-1):(FIXP_SGL)(SHORT)((((val) >> (DFRACT_BITS-FRACT_BITS-1)) + 1) >> 1) )
-
-
-
-#define shouldBeUnion union /* unions are possible */
-
- typedef SHORT FIXP_SGL;
- typedef LONG FIXP_DBL;
-
-/* macros for compile-time conversion of constant float values to fixedpoint */
-#define FL2FXCONST_SPC FL2FXCONST_DBL
-
-#define MINVAL_DBL_CONST MINVAL_DBL
-#define MINVAL_SGL_CONST MINVAL_SGL
-
-#define FL2FXCONST_SGL(val) \
-(FIXP_SGL)( ( (val) >= 0) ? \
-((( (double)(val) * (FRACT_FIX_SCALE) + 0.5 ) >= (double)(MAXVAL_SGL) ) ? (SHORT)(MAXVAL_SGL) : (SHORT)( (double)(val) * (double)(FRACT_FIX_SCALE) + 0.5)) : \
-((( (double)(val) * (FRACT_FIX_SCALE) - 0.5) <= (double)(MINVAL_SGL_CONST) ) ? (SHORT)(MINVAL_SGL_CONST) : (SHORT)( (double)(val) * (double)(FRACT_FIX_SCALE) - 0.5)) )
-
-#define FL2FXCONST_DBL(val) \
-(FIXP_DBL)( ( (val) >= 0) ? \
-((( (double)(val) * (DFRACT_FIX_SCALE) + 0.5 ) >= (double)(MAXVAL_DBL) ) ? (LONG)(MAXVAL_DBL) : (LONG)( (double)(val) * (double)(DFRACT_FIX_SCALE) + 0.5)) : \
-((( (double)(val) * (DFRACT_FIX_SCALE) - 0.5) <= (double)(MINVAL_DBL_CONST) ) ? (LONG)(MINVAL_DBL_CONST) : (LONG)( (double)(val) * (double)(DFRACT_FIX_SCALE) - 0.5)) )
-
-/* macros for runtime conversion of float values to integer fixedpoint. NO OVERFLOW CHECK!!! */
-#define FL2FX_SPC FL2FX_DBL
-#define FL2FX_SGL(val) ( (val)>0.0f ? (SHORT)( (val)*(float)(FRACT_FIX_SCALE)+0.5f ) : (SHORT)( (val)*(float)(FRACT_FIX_SCALE)-0.5f ) )
-#define FL2FX_DBL(val) ( (val)>0.0f ? (LONG)( (val)*(float)(DFRACT_FIX_SCALE)+0.5f ) : (LONG)( (val)*(float)(DFRACT_FIX_SCALE)-0.5f ) )
-
-/* macros for runtime conversion of fixedpoint values to other fixedpoint. NO ROUNDING!!! */
-#define FX_ACC2FX_SGL(val) ((FIXP_SGL)((val)>>(ACCU_BITS-FRACT_BITS)))
-#define FX_ACC2FX_DBL(val) ((FIXP_DBL)((val)>>(ACCU_BITS-DFRACT_BITS)))
-#define FX_SGL2FX_ACC(val) ((FIXP_ACC)((LONG)(val)<<(ACCU_BITS-FRACT_BITS)))
-#define FX_SGL2FX_DBL(val) ((FIXP_DBL)((LONG)(val)<<(DFRACT_BITS-FRACT_BITS)))
-#define FX_DBL2FX_SGL(val) ((FIXP_SGL)((val)>>(DFRACT_BITS-FRACT_BITS)))
-
-/* ############################################################# */
-
-/* macros for runtime conversion of integer fixedpoint values to float. */
-/* This is just for temporary use and should not be required in a final version! */
-
-/* #define FX_DBL2FL(val) ((float)(pow(2.,-31.)*(float)val)) */ /* version #1 */
-#define FX_DBL2FL(val) ((float)((double)(val)/(double)DFRACT_FIX_SCALE)) /* version #2 - identical to class dfract cast from dfract to float */
-
-/* ############################################################# */
-#include "fixmul.h"
-
-FDK_INLINE LONG fMult(SHORT a, SHORT b) { return fixmul_SS(a, b); }
-FDK_INLINE LONG fMult(SHORT a, LONG b) { return fixmul_SD(a, b); }
-FDK_INLINE LONG fMult(LONG a, SHORT b) { return fixmul_DS(a, b); }
-FDK_INLINE LONG fMult(LONG a, LONG b) { return fixmul_DD(a, b); }
-FDK_INLINE LONG fPow2(LONG a) { return fixpow2_D(a); }
-FDK_INLINE LONG fPow2(SHORT a) { return fixpow2_S(a); }
-
-FDK_INLINE INT fMultI(LONG a, SHORT b) { return ( (INT)(((1<<(FRACT_BITS-2)) +
- fixmuldiv2_DD(a,((INT)b<<FRACT_BITS)))>>(FRACT_BITS-1)) ); }
-
-FDK_INLINE INT fMultIfloor(LONG a, INT b) { return ( (INT)((1 +
- fixmuldiv2_DD(a,(b<<FRACT_BITS))) >> (FRACT_BITS-1)) ); }
-
-FDK_INLINE INT fMultIceil(LONG a, INT b) { return ( (INT)(((INT)0x7fff +
- fixmuldiv2_DD(a,(b<<FRACT_BITS))) >> (FRACT_BITS-1)) ); }
-
-FDK_INLINE LONG fMultDiv2(SHORT a, SHORT b) { return fixmuldiv2_SS(a, b); }
-FDK_INLINE LONG fMultDiv2(SHORT a, LONG b) { return fixmuldiv2_SD(a, b); }
-FDK_INLINE LONG fMultDiv2(LONG a, SHORT b) { return fixmuldiv2_DS(a, b); }
-FDK_INLINE LONG fMultDiv2(LONG a, LONG b) { return fixmuldiv2_DD(a, b); }
-FDK_INLINE LONG fPow2Div2(LONG a) { return fixpow2div2_D(a); }
-FDK_INLINE LONG fPow2Div2(SHORT a) { return fixpow2div2_S(a); }
-
-FDK_INLINE LONG fMultDiv2BitExact(LONG a, LONG b) { return fixmuldiv2BitExact_DD(a, b); }
-FDK_INLINE LONG fMultDiv2BitExact(SHORT a, LONG b) { return fixmuldiv2BitExact_SD(a, b); }
-FDK_INLINE LONG fMultDiv2BitExact(LONG a, SHORT b) { return fixmuldiv2BitExact_DS(a, b); }
-FDK_INLINE LONG fMultBitExact(LONG a, LONG b) { return fixmulBitExact_DD(a, b); }
-FDK_INLINE LONG fMultBitExact(SHORT a, LONG b) { return fixmulBitExact_SD(a, b); }
-FDK_INLINE LONG fMultBitExact(LONG a, SHORT b) { return fixmulBitExact_DS(a, b); }
-
-/* ******************************************************************************** */
-#include "abs.h"
-
-FDK_INLINE FIXP_DBL fAbs(FIXP_DBL x)
- { return fixabs_D(x); }
-FDK_INLINE FIXP_SGL fAbs(FIXP_SGL x)
- { return fixabs_S(x); }
-
-/* workaround for TI C6x compiler but not for TI ARM9E compiler */
-#if (!defined(__TI_COMPILER_VERSION__) || defined(__TI_TMS470_V5__)) && !defined(__x86_64__)
-FDK_INLINE INT fAbs(INT x)
- { return fixabs_I(x); }
-#endif
-
-/* ******************************************************************************** */
-
-#include "clz.h"
-
-FDK_INLINE INT fNormz(FIXP_DBL x)
- { return fixnormz_D(x); }
-FDK_INLINE INT fNormz(FIXP_SGL x)
- { return fixnormz_S(x); }
-FDK_INLINE INT fNorm(FIXP_DBL x)
- { return fixnorm_D(x); }
-FDK_INLINE INT fNorm(FIXP_SGL x)
- { return fixnorm_S(x); }
-
-
-/* ******************************************************************************** */
-/* ******************************************************************************** */
-/* ******************************************************************************** */
-
-#include "clz.h"
-#define fixp_abs(x) fAbs(x)
-#define fixMin(a,b) fMin(a,b)
-#define fixMax(a,b) fMax(a,b)
-#define CntLeadingZeros(x) fixnormz_D(x)
-#define CountLeadingBits(x) fixnorm_D(x)
-
-#include "fixmadd.h"
-
-/* y = (x+0.5*a*b) */
-FDK_INLINE FIXP_DBL fMultAddDiv2(FIXP_DBL x, FIXP_DBL a, FIXP_DBL b)
- { return fixmadddiv2_DD(x, a, b); }
-FDK_INLINE FIXP_DBL fMultAddDiv2(FIXP_DBL x, FIXP_SGL a, FIXP_DBL b)
- { return fixmadddiv2_SD(x, a, b); }
-FDK_INLINE FIXP_DBL fMultAddDiv2(FIXP_DBL x, FIXP_DBL a, FIXP_SGL b)
- { return fixmadddiv2_DS(x, a, b); }
-FDK_INLINE FIXP_DBL fMultAddDiv2(FIXP_DBL x, FIXP_SGL a, FIXP_SGL b)
- { return fixmadddiv2_SS(x, a, b); }
-
-FDK_INLINE FIXP_DBL fPow2AddDiv2(FIXP_DBL x, FIXP_DBL a)
- { return fixpadddiv2_D(x, a); }
-FDK_INLINE FIXP_DBL fPow2AddDiv2(FIXP_DBL x, FIXP_SGL a)
- { return fixpadddiv2_S(x, a); }
-
-
-/* y = 2*(x+0.5*a*b) = (2x+a*b) */
-FDK_INLINE FIXP_DBL fMultAdd(FIXP_DBL x, FIXP_DBL a, FIXP_DBL b)
- { return fixmadd_DD(x, a, b); }
-inline FIXP_DBL fMultAdd(FIXP_DBL x, FIXP_SGL a, FIXP_DBL b)
- { return fixmadd_SD(x, a, b); }
-inline FIXP_DBL fMultAdd(FIXP_DBL x, FIXP_DBL a, FIXP_SGL b)
- { return fixmadd_DS(x, a, b); }
-inline FIXP_DBL fMultAdd(FIXP_DBL x, FIXP_SGL a, FIXP_SGL b)
- { return fixmadd_SS(x, a, b); }
-
-inline FIXP_DBL fPow2Add(FIXP_DBL x, FIXP_DBL a)
- { return fixpadd_D(x, a); }
-inline FIXP_DBL fPow2Add(FIXP_DBL x, FIXP_SGL a)
- { return fixpadd_S(x, a); }
-
-
-/* y = (x-0.5*a*b) */
-inline FIXP_DBL fMultSubDiv2(FIXP_DBL x, FIXP_DBL a, FIXP_DBL b)
- { return fixmsubdiv2_DD(x, a, b); }
-inline FIXP_DBL fMultSubDiv2(FIXP_DBL x, FIXP_SGL a, FIXP_DBL b)
- { return fixmsubdiv2_SD(x, a, b); }
-inline FIXP_DBL fMultSubDiv2(FIXP_DBL x, FIXP_DBL a, FIXP_SGL b)
- { return fixmsubdiv2_DS(x, a, b); }
-inline FIXP_DBL fMultSubDiv2(FIXP_DBL x, FIXP_SGL a, FIXP_SGL b)
- { return fixmsubdiv2_SS(x, a, b); }
-
-/* y = 2*(x-0.5*a*b) = (2*x-a*b) */
-FDK_INLINE FIXP_DBL fMultSub(FIXP_DBL x, FIXP_DBL a, FIXP_DBL b)
- { return fixmsub_DD(x, a, b); }
-inline FIXP_DBL fMultSub(FIXP_DBL x, FIXP_SGL a, FIXP_DBL b)
- { return fixmsub_SD(x, a, b); }
-inline FIXP_DBL fMultSub(FIXP_DBL x, FIXP_DBL a, FIXP_SGL b)
- { return fixmsub_DS(x, a, b); }
-inline FIXP_DBL fMultSub(FIXP_DBL x, FIXP_SGL a, FIXP_SGL b)
- { return fixmsub_SS(x, a, b); }
-
-FDK_INLINE FIXP_DBL fMultAddDiv2BitExact(FIXP_DBL x, FIXP_DBL a, FIXP_DBL b)
- { return fixmadddiv2BitExact_DD(x, a, b); }
-FDK_INLINE FIXP_DBL fMultAddDiv2BitExact(FIXP_DBL x, FIXP_SGL a, FIXP_DBL b)
- { return fixmadddiv2BitExact_SD(x, a, b); }
-FDK_INLINE FIXP_DBL fMultAddDiv2BitExact(FIXP_DBL x, FIXP_DBL a, FIXP_SGL b)
- { return fixmadddiv2BitExact_DS(x, a, b); }
-FDK_INLINE FIXP_DBL fMultSubDiv2BitExact(FIXP_DBL x, FIXP_DBL a, FIXP_DBL b)
- { return fixmsubdiv2BitExact_DD(x, a, b); }
-FDK_INLINE FIXP_DBL fMultSubDiv2BitExact(FIXP_DBL x, FIXP_SGL a, FIXP_DBL b)
- { return fixmsubdiv2BitExact_SD(x, a, b); }
-FDK_INLINE FIXP_DBL fMultSubDiv2BitExact(FIXP_DBL x, FIXP_DBL a, FIXP_SGL b)
- { return fixmsubdiv2BitExact_DS(x, a, b); }
-
-#include "fixminmax.h"
-
-FDK_INLINE FIXP_DBL fMin(FIXP_DBL a, FIXP_DBL b)
- { return fixmin_D(a,b); }
-FDK_INLINE FIXP_DBL fMax(FIXP_DBL a, FIXP_DBL b)
- { return fixmax_D(a,b); }
-
-FDK_INLINE FIXP_SGL fMin(FIXP_SGL a, FIXP_SGL b)
- { return fixmin_S(a,b); }
-FDK_INLINE FIXP_SGL fMax(FIXP_SGL a, FIXP_SGL b)
- { return fixmax_S(a,b); }
-
-/* workaround for TI C6x compiler but not for TI ARM9E */
-#if ((!defined(__TI_COMPILER_VERSION__) || defined(__TI_TMS470_V5__)) && !defined(__x86_64__)) || (FIX_FRACT == 1)
-FDK_INLINE INT fMax(INT a, INT b)
- { return fixmax_I(a,b); }
-FDK_INLINE INT fMin(INT a, INT b)
- { return fixmin_I(a,b); }
-#endif
-
-inline UINT fMax(UINT a, UINT b)
- { return fixmax_UI(a,b); }
-inline UINT fMin(UINT a, UINT b)
- { return fixmin_UI(a,b); }
-
-/* Complex data types */
-typedef shouldBeUnion {
- /* vector representation for arithmetic */
- struct {
- FIXP_SGL re;
- FIXP_SGL im;
- } v;
- /* word representation for memory move */
- LONG w;
-} FIXP_SPK;
-
-typedef shouldBeUnion {
- /* vector representation for arithmetic */
- struct {
- FIXP_DBL re;
- FIXP_DBL im;
- } v;
- /* word representation for memory move */
- INT64 w;
-} FIXP_DPK;
-
-#include "fixmul.h"
-#include "fixmadd.h"
-#include "cplx_mul.h"
-#include "scale.h"
-#include "fixpoint_math.h"
-
-#endif
diff --git a/libFDK/include/cplx_mul.h b/libFDK/include/cplx_mul.h
deleted file mode 100644
index 093ffa6..0000000
--- a/libFDK/include/cplx_mul.h
+++ /dev/null
@@ -1,269 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#include "common_fix.h"
-
-#if !defined(__CPLX_Mult_H__)
-#define __CPLX_Mult_H__
-
-#if defined(__CC_ARM) || defined(__arm__) || defined(_M_ARM) /* cppp replaced: elif */
-#include "arm/cplx_mul.h"
-
-#elif defined(__GNUC__) && defined(__mips__) /* cppp replaced: elif */
-#include "mips/cplx_mul.h"
-
-#endif /* #if defined all cores: bfin, arm, etc. */
-
-/* ############################################################################# */
-
-/* Fallback generic implementations */
-
-#if !defined(FUNCTION_cplxMultDiv2_32x16X2)
-#define FUNCTION_cplxMultDiv2_32x16X2
-
-inline void cplxMultDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_SGL b_Re,
- const FIXP_SGL b_Im)
-{
- *c_Re = fMultDiv2(a_Re,b_Re) - fMultDiv2(a_Im,b_Im);
- *c_Im = fMultDiv2(a_Re,b_Im) + fMultDiv2(a_Im,b_Re);
-}
-#endif
-
-#if !defined(FUNCTION_cplxMultDiv2_32x16)
-#define FUNCTION_cplxMultDiv2_32x16
-
-inline void cplxMultDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_SPK w )
-{
- cplxMultDiv2(c_Re, c_Im, a_Re, a_Im, w.v.re, w.v.im);
-}
-#endif
-
-#if !defined(FUNCTION_cplxMultAddDiv2_32x16X2)
-#define FUNCTION_cplxMultAddDiv2_32x16X2
-
-inline void cplxMultAddDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_SGL b_Re,
- const FIXP_SGL b_Im)
-{
- *c_Re += fMultDiv2(a_Re,b_Re) - fMultDiv2(a_Im,b_Im);
- *c_Im += fMultDiv2(a_Re,b_Im) + fMultDiv2(a_Im,b_Re);
-}
-#endif
-
-#if !defined(FUNCTION_cplxMultSubDiv2_32x16X2)
-#define FUNCTION_cplxMultSubDiv2_32x16X2
-
-inline void cplxMultSubDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_SGL b_Re,
- const FIXP_SGL b_Im)
-{
- *c_Re -= fMultDiv2(a_Re,b_Re) - fMultDiv2(a_Im,b_Im);
- *c_Im -= fMultDiv2(a_Re,b_Im) + fMultDiv2(a_Im,b_Re);
-}
-#endif
-
-#if !defined(FUNCTION_cplxMultDiv2_32x32X2)
-#define FUNCTION_cplxMultDiv2_32x32X2
-
-inline void cplxMultDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_DBL b_Re,
- const FIXP_DBL b_Im)
-{
- *c_Re = fMultDiv2(a_Re,b_Re) - fMultDiv2(a_Im,b_Im);
- *c_Im = fMultDiv2(a_Re,b_Im) + fMultDiv2(a_Im,b_Re);
-}
-#endif
-
-#if !defined(FUNCTION_cplxMultDiv2_32x32)
-#define FUNCTION_cplxMultDiv2_32x32
-
-inline void cplxMultDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_DPK w)
-{
- cplxMultDiv2(c_Re, c_Im, a_Re, a_Im, w.v.re, w.v.im);
-}
-#endif
-
-#if !defined(FUNCTION_cplxMultSubDiv2_32x32X2)
-#define FUNCTION_cplxMultSubDiv2_32x32X2
-
-inline void cplxMultSubDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_DBL b_Re,
- const FIXP_DBL b_Im)
-{
- *c_Re -= fMultDiv2(a_Re,b_Re) - fMultDiv2(a_Im,b_Im);
- *c_Im -= fMultDiv2(a_Re,b_Im) + fMultDiv2(a_Im,b_Re);
-}
-#endif
-
-/* ############################################################################# */
-
-#if !defined(FUNCTION_cplxMult_32x16X2)
-#define FUNCTION_cplxMult_32x16X2
-
-inline void cplxMult( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_SGL b_Re,
- const FIXP_SGL b_Im)
-{
- *c_Re = fMult(a_Re,b_Re) - fMult(a_Im,b_Im);
- *c_Im = fMult(a_Re,b_Im) + fMult(a_Im,b_Re);
-}
-#endif
-
-#if !defined(FUNCTION_cplxMult_32x16)
-#define FUNCTION_cplxMult_32x16
-
-inline void cplxMult( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_SPK w )
-{
- cplxMult(c_Re, c_Im, a_Re, a_Im, w.v.re, w.v.im);
-}
-#endif
-
-#if !defined(FUNCTION_cplxMult_32x32X2)
-#define FUNCTION_cplxMult_32x32X2
-
-inline void cplxMult( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_DBL b_Re,
- const FIXP_DBL b_Im)
-{
- *c_Re = fMult(a_Re,b_Re) - fMult(a_Im,b_Im);
- *c_Im = fMult(a_Re,b_Im) + fMult(a_Im,b_Re);
-}
-#endif
-
-#if !defined(FUNCTION_cplxMult_32x32)
-#define FUNCTION_cplxMult_32x32
-inline void cplxMult( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- const FIXP_DBL a_Re,
- const FIXP_DBL a_Im,
- const FIXP_DPK w)
-{
- cplxMult(c_Re, c_Im, a_Re, a_Im, w.v.re, w.v.im);
-}
-#endif
-
-/* ############################################################################# */
-
-#endif /* __CPLX_Mult_H__ */
-
diff --git a/libFDK/include/dct.h b/libFDK/include/dct.h
deleted file mode 100644
index af1edd3..0000000
--- a/libFDK/include/dct.h
+++ /dev/null
@@ -1,147 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: Library functions to calculate standard DCTs. This will most
- likely be replaced by hand-optimized functions for the specific
- target processor.
-
-******************************************************************************/
-
-#ifndef __dct_H
-#define __dct_H
-
-
-
-#include "common_fix.h"
-
-/**
- * \brief Calculate DCT type II of given length. The DCT IV is
- * calculated by a complex FFT, with some pre and post twiddeling.
- * A factor of sqrt(2/(N-1)) is NOT applied.
- * \param pDat pointer to input/output data (in place processing).
- * \param size size of pDat.
- * \param pDat_e pointer to an integer containing the exponent of the data
- * referenced by pDat. The exponent is updated accordingly.
- */
-void dct_II(FIXP_DBL *pDat, FIXP_DBL *tmp, int size, int *pDat_e);
-
-/**
- * \brief Calculate DCT type III of given length. The DCT IV is
- * calculated by a complex FFT, with some pre and post twiddeling.
- * Note that the factor 0.5 for the sum term x[0] is 1.0 instead of 0.5.
- * A factor of sqrt(2/N) is NOT applied.
- * \param pDat pointer to input/output data (in place processing).
- * \param size size of pDat.
- * \param pDat_e pointer to an integer containing the exponent of the data
- * referenced by pDat. The exponent is updated accordingly.
- */
-void dct_III(FIXP_DBL *pDat, FIXP_DBL *tmp, int size, int *pDat_e);
-
-/**
- * \brief Calculate DCT type IV of given length. The DCT IV is
- * calculated by a complex FFT, with some pre and post twiddeling.
- * A factor of sqrt(2/N) is NOT applied.
- * \param pDat pointer to input/output data (in place processing).
- * \param size size of pDat.
- * \param pDat_e pointer to an integer containing the exponent of the data
- * referenced by pDat. The exponent is updated accordingly.
- */
-void dct_IV(FIXP_DBL *pDat,int size, int *pDat_e);
-
-/**
- * \brief Calculate DST type IV of given length. The DST IV is
- * calculated by a complex FFT, with some pre and post twiddeling.
- * A factor of sqrt(2/N) is NOT applied.
- * \param pDat pointer to input/output data (in place processing).
- * \param size size of pDat.
- * \param pDat_e pointer to an integer containing the exponent of the data
- * referenced by pDat. The exponent is updated accordingly.
- */
-void dst_IV(FIXP_DBL *pDat,int size, int *pDat_e);
-
-
-
-#endif
diff --git a/libFDK/include/fft.h b/libFDK/include/fft.h
deleted file mode 100644
index 616f350..0000000
--- a/libFDK/include/fft.h
+++ /dev/null
@@ -1,253 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s): Josef Hoepfl, DSP Solutions
- Description: Fix point FFT
-
-******************************************************************************/
-
-#ifndef __FFT_H__
-#define __FFT_H__
-
-#include "common_fix.h"
-
-/**
- * \brief Perform an inplace complex valued FFT of length 2^n
- *
- * \param length Length of the FFT to be calculated.
- * \param pInput Input/Output data buffer. The input data must have at least 1 bit scale headroom.
- * The values are interleaved, real/imag pairs.
- * \param scalefactor Pointer to an INT, which contains the current scale of the input data,
- * which is updated according to the FFT scale.
- */
-void fft(int length, FIXP_DBL *pInput, INT *scalefactor);
-
-/**
- * \brief Perform an inplace complex valued IFFT of length 2^n
- *
- * \param length Length of the FFT to be calculated.
- * \param pInput Input/Output data buffer. The input data must have at least 1 bit scale headroom.
- * The values are interleaved, real/imag pairs.
- * \param scalefactor Pointer to an INT, which contains the current scale of the input data,
- * which is updated according to the IFFT scale.
- */
-void ifft(int length, FIXP_DBL *pInput, INT *scalefactor);
-
-
-/*
- * Frequently used and fixed short length FFTs.
- */
-
-LNK_SECTION_CODE_L1
-static void FORCEINLINE fft_4(FIXP_DBL *x)
-{
- FIXP_DBL a00, a10, a20, a30, tmp0, tmp1;
-
- a00 = (x[0] + x[4])>>1; /* Re A + Re B */
- a10 = (x[2] + x[6])>>1; /* Re C + Re D */
- a20 = (x[1] + x[5])>>1; /* Im A + Im B */
- a30 = (x[3] + x[7])>>1; /* Im C + Im D */
-
- x[0] = a00 + a10; /* Re A' = Re A + Re B + Re C + Re D */
- x[1] = a20 + a30; /* Im A' = Im A + Im B + Im C + Im D */
-
- tmp0 = a00 - x[4]; /* Re A - Re B */
- tmp1 = a20 - x[5]; /* Im A - Im B */
-
- x[4] = a00 - a10; /* Re C' = Re A + Re B - Re C - Re D */
- x[5] = a20 - a30; /* Im C' = Im A + Im B - Im C - Im D */
-
- a10 = a10 - x[6]; /* Re C - Re D */
- a30 = a30 - x[7]; /* Im C - Im D */
-
- x[2] = tmp0 + a30; /* Re B' = Re A - Re B + Im C - Im D */
- x[6] = tmp0 - a30; /* Re D' = Re A - Re B - Im C + Im D */
- x[3] = tmp1 - a10; /* Im B' = Im A - Im B - Re C + Re D */
- x[7] = tmp1 + a10; /* Im D' = Im A - Im B + Re C - Re D */
-}
-
-LNK_SECTION_CODE_L1
-static void FORCEINLINE fft_8(FIXP_DBL *x)
-{
- #define W_PiFOURTH STC(0x5a82799a)
-
- FIXP_DBL a00, a10, a20, a30;
- FIXP_DBL y[16];
-
- a00 = (x[0] + x[8])>>1;
- a10 = x[4] + x[12];
- a20 = (x[1] + x[9])>>1;
- a30 = x[5] + x[13];
-
- y[0] = a00 + (a10>>1);
- y[4] = a00 - (a10>>1);
- y[1] = a20 + (a30>>1);
- y[5] = a20 - (a30>>1);
-
- a00 = a00 - x[8];
- a10 = (a10>>1) - x[12];
- a20 = a20 - x[9];
- a30 = (a30>>1) - x[13];
-
- y[2] = a00 + a30;
- y[6] = a00 - a30;
- y[3] = a20 - a10;
- y[7] = a20 + a10;
-
- a00 = (x[2] + x[10])>>1;
- a10 = x[6] + x[14];
- a20 = (x[3] + x[11])>>1;
- a30 = x[7] + x[15];
-
- y[8] = a00 + (a10>>1);
- y[12] = a00 - (a10>>1);
- y[9] = a20 + (a30>>1);
- y[13] = a20 - (a30>>1);
-
- a00 = a00 - x[10];
- a10 = (a10>>1) - x[14];
- a20 = a20 - x[11];
- a30 = (a30>>1) - x[15];
-
- y[10] = a00 + a30;
- y[14] = a00 - a30;
- y[11] = a20 - a10;
- y[15] = a20 + a10;
-
- FIXP_DBL vr, vi, ur, ui;
-
- ur = y[0]>>1;
- ui = y[1]>>1;
- vr = y[8];
- vi = y[9];
- x[0] = ur + (vr>>1);
- x[1] = ui + (vi>>1);
- x[8] = ur - (vr>>1);
- x[9] = ui - (vi>>1);
-
- ur = y[4]>>1;
- ui = y[5]>>1;
- vi = y[12];
- vr = y[13];
- x[4] = ur + (vr>>1);
- x[5] = ui - (vi>>1);
- x[12] = ur - (vr>>1);
- x[13] = ui + (vi>>1);
-
- ur = y[10];
- ui = y[11];
- vr = fMultDiv2(ui+ur,W_PiFOURTH);
- vi = fMultDiv2(ui-ur,W_PiFOURTH);
- ur = y[2];
- ui = y[3];
- x[2] = (ur>>1) + vr;
- x[3] = (ui>>1) + vi;
- x[10] = (ur>>1) - vr;
- x[11] = (ui>>1) - vi;
-
- ur = y[14];
- ui = y[15];
- vr = fMultDiv2(ui-ur,W_PiFOURTH);
- vi = fMultDiv2(ui+ur,W_PiFOURTH);
- ur = y[6];
- ui = y[7];
- x[6] = (ur>>1) + vr;
- x[7] = (ui>>1) - vi;
- x[14] = (ur>>1) - vr;
- x[15] = (ui>>1) + vi;
-}
-
-/**
- * \brief FFT of fixed length 16
- */
-inline void fft_16(FIXP_DBL *x);
-
-/**
- * \brief FFT of fixed length 32
- */
-inline void fft_32(FIXP_DBL *x);
-
-
-#endif
diff --git a/libFDK/include/fft_rad2.h b/libFDK/include/fft_rad2.h
deleted file mode 100644
index 90d14da..0000000
--- a/libFDK/include/fft_rad2.h
+++ /dev/null
@@ -1,134 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s): M. Lohwasser, M. Gayer
- Description:
-
-******************************************************************************/
-
-#ifndef _FFT_RAD2_H
-#define _FFT_RAD2_H
-
-
-#include "common_fix.h"
-
-/**
- * \brief Performe an inplace complex valued FFT of 2^n length
- *
- * \param x Input/Output data buffer. The input data must have at least 1 bit scale headroom.
- * The values are interleaved, real/imag pairs.
- * \param ldn log2 of FFT length
- * \param trigdata Pointer to a sinetable of a length of at least (2^ldn)/2 sine values.
- * \param trigDataSize length of the sinetable "trigdata".
- */
-void dit_fft(FIXP_DBL *x, const INT ldn, const FIXP_STP *trigdata, const INT trigDataSize) ;
-
-/**
- * \brief Performe an inplace complex valued inverse FFT of 2^n length
- *
- * \param x Input/Output data buffer. The input data must have at least 1 bit scale headroom.
- * The values are interleaved, real/imag pairs.
- * \param ldn log2 of FFT length
- * \param trigdata Pointer to a sinetable of a length of at least (2^ldn)/2 sine values.
- * \param trigDataSize length of the sinetable "trigdata".
- */
-void dit_ifft(FIXP_DBL *x, const INT ldn, const FIXP_STP *trigdata, const INT trigDataSize) ;
-
-/* Rest of the world. */
-
-#define SCALEFACTOR2048 10
-#define SCALEFACTOR1024 9
-#define SCALEFACTOR512 8
-#define SCALEFACTOR256 7
-#define SCALEFACTOR128 6
-#define SCALEFACTOR64 5
-#define SCALEFACTOR32 4
-#define SCALEFACTOR16 3
-#define SCALEFACTOR8 2
-#define SCALEFACTOR4 1
-#define SCALEFACTOR2 1
-
-#endif /* _FFT_RAD2_H */
-
diff --git a/libFDK/include/fixmadd.h b/libFDK/include/fixmadd.h
deleted file mode 100644
index 851b7a2..0000000
--- a/libFDK/include/fixmadd.h
+++ /dev/null
@@ -1,306 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s): M. Lohwasser, M. Gayer
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if !defined(__FIXMADD_H__)
-#define __FIXMADD_H__
-
-#include "FDK_archdef.h"
-#include "machine_type.h"
-#include "fixmul.h"
-
-#if defined(__arm__)
-#include "arm/fixmadd_arm.h"
-
-#elif defined(__mips__) /* cppp replaced: elif */
-#include "mips/fixmadd_mips.h"
-
-#endif /* all cores */
-
-/*************************************************************************
- *************************************************************************
- Software fallbacks for missing functions.
-**************************************************************************
-**************************************************************************/
-
-/* Divide by two versions. */
-
-#if !defined(FUNCTION_fixmadddiv2_DD)
-inline FIXP_DBL fixmadddiv2_DD (FIXP_DBL x, const FIXP_DBL a, const FIXP_DBL b)
- { return (x + fMultDiv2 (a, b)); }
-#endif
-
-#if !defined(FUNCTION_fixmadddiv2_SD)
-inline FIXP_DBL fixmadddiv2_SD (FIXP_DBL x, const FIXP_SGL a, const FIXP_DBL b) {
-#ifdef FUNCTION_fixmadddiv2_DS
- return fixmadddiv2_DS(x, b, a);
-#else
- return fixmadddiv2_DD(x, FX_SGL2FX_DBL(a), b);
-#endif
-}
-#endif
-
-#if !defined(FUNCTION_fixmadddiv2_DS)
-inline FIXP_DBL fixmadddiv2_DS (FIXP_DBL x, const FIXP_DBL a, const FIXP_SGL b) {
-#ifdef FUNCTION_fixmadddiv2_SD
- return fixmadddiv2_SD(x, b, a);
-#else
- return fixmadddiv2_DD(x, a, FX_SGL2FX_DBL(b));
-#endif
-}
-#endif
-
-#if !defined(FUNCTION_fixmadddiv2_SS)
-inline FIXP_DBL fixmadddiv2_SS (FIXP_DBL x, const FIXP_SGL a, const FIXP_SGL b)
- { return x + fMultDiv2(a,b); }
-#endif
-
-#if !defined(FUNCTION_fixmsubdiv2_DD)
-inline FIXP_DBL fixmsubdiv2_DD (FIXP_DBL x, const FIXP_DBL a, const FIXP_DBL b)
- { return (x - fMultDiv2 (a, b)); }
-#endif
-
-#if !defined(FUNCTION_fixmsubdiv2_SD)
-inline FIXP_DBL fixmsubdiv2_SD (FIXP_DBL x, const FIXP_SGL a, const FIXP_DBL b) {
-#ifdef FUNCTION_fixmsubdiv2_DS
- return fixmsubdiv2_DS(x, b, a);
-#else
- return fixmsubdiv2_DD(x, FX_SGL2FX_DBL(a), b);
-#endif
-}
-#endif
-
-#if !defined(FUNCTION_fixmsubdiv2_DS)
-inline FIXP_DBL fixmsubdiv2_DS (FIXP_DBL x, const FIXP_DBL a, const FIXP_SGL b) {
-#ifdef FUNCTION_fixmsubdiv2_SD
- return fixmsubdiv2_SD(x, b, a);
-#else
- return fixmsubdiv2_DD(x, a, FX_SGL2FX_DBL(b));
-#endif
-}
-#endif
-
-#if !defined(FUNCTION_fixmsubdiv2_SS)
-inline FIXP_DBL fixmsubdiv2_SS (FIXP_DBL x, const FIXP_SGL a, const FIXP_SGL b)
- { return x - fMultDiv2(a,b); }
-#endif
-
-
-#if !defined(FUNCTION_fixmadddiv2BitExact_DD)
-#define FUNCTION_fixmadddiv2BitExact_DD
-inline FIXP_DBL fixmadddiv2BitExact_DD (FIXP_DBL x, const FIXP_DBL a, const FIXP_DBL b) {
- return x + fMultDiv2BitExact(a, b);
-}
-#endif
-#if !defined(FUNCTION_fixmadddiv2BitExact_SD)
-#define FUNCTION_fixmadddiv2BitExact_SD
-inline FIXP_DBL fixmadddiv2BitExact_SD (FIXP_DBL x, const FIXP_SGL a, const FIXP_DBL b) {
-#ifdef FUNCTION_fixmadddiv2BitExact_DS
- return fixmadddiv2BitExact_DS(x, b, a);
-#else
- return x + fMultDiv2BitExact(a, b);
-#endif
-}
-#endif
-#if !defined(FUNCTION_fixmadddiv2BitExact_DS)
-#define FUNCTION_fixmadddiv2BitExact_DS
-inline FIXP_DBL fixmadddiv2BitExact_DS (FIXP_DBL x, const FIXP_DBL a, const FIXP_SGL b) {
-#ifdef FUNCTION_fixmadddiv2BitExact_SD
- return fixmadddiv2BitExact_SD(x, b, a);
-#else
- return x + fMultDiv2BitExact(a, b);
-#endif
-}
-#endif
-
-#if !defined(FUNCTION_fixmsubdiv2BitExact_DD)
-#define FUNCTION_fixmsubdiv2BitExact_DD
-inline FIXP_DBL fixmsubdiv2BitExact_DD (FIXP_DBL x, const FIXP_DBL a, const FIXP_DBL b) {
- return x - fMultDiv2BitExact(a, b);
-}
-#endif
-#if !defined(FUNCTION_fixmsubdiv2BitExact_SD)
-#define FUNCTION_fixmsubdiv2BitExact_SD
-inline FIXP_DBL fixmsubdiv2BitExact_SD (FIXP_DBL x, const FIXP_SGL a, const FIXP_DBL b) {
-#ifdef FUNCTION_fixmsubdiv2BitExact_DS
- return fixmsubdiv2BitExact_DS(x, b, a);
-#else
- return x - fMultDiv2BitExact(a, b);
-#endif
-}
-#endif
-#if !defined(FUNCTION_fixmsubdiv2BitExact_DS)
-#define FUNCTION_fixmsubdiv2BitExact_DS
-inline FIXP_DBL fixmsubdiv2BitExact_DS (FIXP_DBL x, const FIXP_DBL a, const FIXP_SGL b) {
-#ifdef FUNCTION_fixmsubdiv2BitExact_SD
- return fixmsubdiv2BitExact_SD(x, b, a);
-#else
- return x - fMultDiv2BitExact(a, b);
-#endif
-}
-#endif
-
-/* Normal versions */
-
-#if !defined(FUNCTION_fixmadd_DD)
-inline FIXP_DBL fixmadd_DD (FIXP_DBL x, const FIXP_DBL a, const FIXP_DBL b)
- { return fixmadddiv2_DD(x,a,b)<<1; }
-#endif
-#if !defined(FUNCTION_fixmadd_SD)
-inline FIXP_DBL fixmadd_SD (FIXP_DBL x, const FIXP_SGL a, const FIXP_DBL b) {
-#ifdef FUNCTION_fixmadd_DS
- return fixmadd_DS(x, b, a);
-#else
- return fixmadd_DD(x, FX_SGL2FX_DBL(a), b);
-#endif
-}
-#endif
-#if !defined(FUNCTION_fixmadd_DS)
-inline FIXP_DBL fixmadd_DS (FIXP_DBL x, const FIXP_DBL a, const FIXP_SGL b) {
-#ifdef FUNCTION_fixmadd_SD
- return fixmadd_SD(x, b, a);
-#else
- return fixmadd_DD(x, a, FX_SGL2FX_DBL(b));
-#endif
-}
-#endif
-#if !defined(FUNCTION_fixmadd_SS)
-inline FIXP_DBL fixmadd_SS (FIXP_DBL x, const FIXP_SGL a, const FIXP_SGL b)
- { return (x + fMultDiv2(a,b))<<1; }
-#endif
-
-#if !defined(FUNCTION_fixmsub_DD)
-inline FIXP_DBL fixmsub_DD (FIXP_DBL x, const FIXP_DBL a, const FIXP_DBL b)
- { return fixmsubdiv2_DD(x,a,b)<<1; }
-#endif
-#if !defined(FUNCTION_fixmsub_SD)
-inline FIXP_DBL fixmsub_SD (FIXP_DBL x, const FIXP_SGL a, const FIXP_DBL b) {
-#ifdef FUNCTION_fixmsub_DS
- return fixmsub_DS(x, b, a);
-#else
- return fixmsub_DD(x, FX_SGL2FX_DBL(a), b);
-#endif
-}
-#endif
-#if !defined(FUNCTION_fixmsub_DS)
-inline FIXP_DBL fixmsub_DS (FIXP_DBL x, const FIXP_DBL a, const FIXP_SGL b) {
-#ifdef FUNCTION_fixmsub_SD
- return fixmsub_SD(x, b, a);
-#else
- return fixmsub_DD(x, a, FX_SGL2FX_DBL(b));
-#endif
-}
-#endif
-#if !defined(FUNCTION_fixmsub_SS)
-inline FIXP_DBL fixmsub_SS (FIXP_DBL x, const FIXP_SGL a, const FIXP_SGL b)
- { return (x - fMultDiv2(a,b))<<1; }
-#endif
-
-#if !defined(FUNCTION_fixpow2adddiv2_D)
-inline INT fixpadddiv2_D (FIXP_DBL x, const FIXP_DBL a)
- { return (x + fPow2Div2(a)); }
-#endif
-#if !defined(FUNCTION_fixpow2add_D)
-inline INT fixpadd_D (FIXP_DBL x, const FIXP_DBL a)
- { return (x + fPow2(a)); }
-#endif
-
-#if !defined(FUNCTION_fixpow2adddiv2_S)
-inline INT fixpadddiv2_S (FIXP_DBL x, const FIXP_SGL a)
- { return (x + fPow2Div2(a)); }
-#endif
-#if !defined(FUNCTION_fixpow2add_S)
-inline INT fixpadd_S (FIXP_DBL x, const FIXP_SGL a)
- { return (x + fPow2(a)); }
-#endif
-
-
-
-#endif // __FIXMADD_H__
-
diff --git a/libFDK/include/fixminmax.h b/libFDK/include/fixminmax.h
deleted file mode 100644
index 5a52824..0000000
--- a/libFDK/include/fixminmax.h
+++ /dev/null
@@ -1,120 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s): M. Lohwasser, M. Gayer
- Description: min/max inline functions and defines
-
-******************************************************************************/
-
-#ifndef FIXMINMAX__H
-#define FIXMINMAX__H
-
-#include "FDK_archdef.h"
-#include "machine_type.h"
-
-/* Inline Function to determine the smaller/bigger value of two values with same type. */
-
-
-template <class T> inline T fixmin (T a, T b)
-{
- return (a < b ? a : b);
-}
-
-template <class T> inline T fixmax (T a, T b)
-{
- return (a > b ? a : b);
-}
-
-#define fixmax_D(a,b) fixmax(a,b)
-#define fixmin_D(a,b) fixmin(a,b)
-#define fixmax_S(a,b) fixmax(a,b)
-#define fixmin_S(a,b) fixmin(a,b)
-#define fixmax_I(a,b) fixmax(a,b)
-#define fixmin_I(a,b) fixmin(a,b)
-#define fixmax_UI(a,b) fixmax(a,b)
-#define fixmin_UI(a,b) fixmin(a,b)
-
-
-#endif
diff --git a/libFDK/include/fixmul.h b/libFDK/include/fixmul.h
deleted file mode 100644
index ea4bc6c..0000000
--- a/libFDK/include/fixmul.h
+++ /dev/null
@@ -1,286 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s): Stefan Gewinner
- Description: fixed point multiplication
-
-******************************************************************************/
-
-#if !defined(__FIXMUL_H__)
-#define __FIXMUL_H__
-
-#include "FDK_archdef.h"
-#include "machine_type.h"
-
-
-#if defined(__arm__)
-#include "arm/fixmul_arm.h"
-
-#elif defined(__mips__) /* cppp replaced: elif */
-#include "mips/fixmul_mips.h"
-
-#elif defined(__x86__) /* cppp replaced: elif */
-#include "x86/fixmul_x86.h"
-
-#endif /* all cores */
-
-/*************************************************************************
- *************************************************************************
- Software fallbacks for missing functions
-**************************************************************************
-**************************************************************************/
-
-#if !defined(FUNCTION_fixmuldiv2_DD)
-#define FUNCTION_fixmuldiv2_DD
-#if defined(_MSC_VER) || defined(__CC_ARM) || defined(__ANALOG_EXTENSIONS__) || defined(__TI_COMPILER_VERSION__)
-#pragma message ("Extremely slow implementation of fixmuldiv2_DD !!")
-#else
-#warning Extremely slow implementation of fixmuldiv2_DD !!
-#endif
-inline LONG fixmuldiv2_DD (const LONG a, const LONG b)
-{
- return (LONG) ((((INT64)a) * b) >> 32) ;
-}
-#endif
-
-#if !defined(FUNCTION_fixmuldiv2BitExact_DD)
-#define FUNCTION_fixmuldiv2BitExact_DD
-#if defined(_MSC_VER) || defined(__CC_ARM) || defined(__ANALOG_EXTENSIONS__) || defined(__TI_COMPILER_VERSION__)
-#pragma message ("Extremely slow implementation of fixmuldiv2BitExact_DD !!")
-#else
-#warning Extremely slow implementation of fixmuldiv2BitExact_DD !!
-#endif
-inline LONG fixmuldiv2BitExact_DD (const LONG a, const LONG b)
-{
- return (LONG) ((((INT64)a) * b) >> 32) ;
-}
-#endif
-
-#if !defined(FUNCTION_fixmul_DD)
-#define FUNCTION_fixmul_DD
-inline LONG fixmul_DD (const LONG a, const LONG b)
- { return fixmuldiv2_DD (a, b) << 1 ; }
-#endif
-
-#if !defined(FUNCTION_fixmulBitExact_DD)
-#define FUNCTION_fixmulBitExact_DD
-#if defined(_MSC_VER) || defined(__CC_ARM) || defined(__ANALOG_EXTENSIONS__) || defined(__TI_COMPILER_VERSION__) || defined(__XTENSA__)
-#pragma message ("Extremely slow implementation of fixmulBitExact_DD !!")
-#else
-#warning Extremely slow implementation of fixmulBitExact_DD !!
-#endif
-inline LONG fixmulBitExact_DD (const LONG a, const LONG b)
-{
- return ( (LONG) ((((INT64)a) * b) >> 32) ) << 1;
-}
-#endif
-
-#if !defined(FUNCTION_fixmuldiv2_SS)
-#define FUNCTION_fixmuldiv2_SS
-inline LONG fixmuldiv2_SS (const SHORT a, const SHORT b)
- { return ((LONG)a*b); }
-#endif
-
-#if !defined(FUNCTION_fixmul_SS)
-#define FUNCTION_fixmul_SS
-inline LONG fixmul_SS (const SHORT a, const SHORT b)
- { return (a*b) <<1; }
-#endif
-
-#if !defined(FUNCTION_fixmuldiv2_SD)
-#define FUNCTION_fixmuldiv2_SD
-inline LONG fixmuldiv2_SD (const SHORT a, const LONG b)
-#ifdef FUNCTION_fixmuldiv2_DS
- { return fixmuldiv2_DS(b, a); }
-#else
- { return fixmuldiv2_DD(FX_SGL2FX_DBL(a), b); }
-#endif
-#endif
-
-#if !defined(FUNCTION_fixmuldiv2_DS)
-#define FUNCTION_fixmuldiv2_DS
-inline LONG fixmuldiv2_DS (const LONG a, const SHORT b)
-#ifdef FUNCTION_fixmuldiv2_SD
- { return fixmuldiv2_SD(b, a); }
-#else
- { return fixmuldiv2_DD(a, FX_SGL2FX_DBL(b)); }
-#endif
-#endif
-
-#if !defined(FUNCTION_fixmuldiv2BitExact_SD)
-#define FUNCTION_fixmuldiv2BitExact_SD
-inline LONG fixmuldiv2BitExact_SD (const SHORT a, const LONG b)
-#ifdef FUNCTION_fixmuldiv2BitExact_DS
- { return fixmuldiv2BitExact_DS(b, a); }
-#else
- { return (LONG) ((((INT64)a) * b) >> 16) ; }
-#endif
-#endif
-
-#if !defined(FUNCTION_fixmuldiv2BitExact_DS)
-#define FUNCTION_fixmuldiv2BitExact_DS
-inline LONG fixmuldiv2BitExact_DS (const LONG a, const SHORT b)
-#ifdef FUNCTION_fixmuldiv2BitExact_SD
- { return fixmuldiv2BitExact_SD(b, a); }
-#else
- { return (LONG) ((((INT64)a) * b) >> 16) ; }
-#endif
-#endif
-
-#if !defined(FUNCTION_fixmul_SD)
-#define FUNCTION_fixmul_SD
-inline LONG fixmul_SD (const SHORT a, const LONG b) {
-#ifdef FUNCTION_fixmul_DS
- return fixmul_SD(b, a);
-#else
- return fixmuldiv2_SD (a, b) << 1 ;
-#endif
-}
-#endif
-
-#if !defined(FUNCTION_fixmul_DS)
-#define FUNCTION_fixmul_DS
-inline LONG fixmul_DS (const LONG a, const SHORT b) {
-#ifdef FUNCTION_fixmul_SD
- return fixmul_SD(b, a);
-#else
- return fixmuldiv2_DS(a, b) << 1 ;
-#endif
-}
-#endif
-
-#if !defined(FUNCTION_fixmulBitExact_SD)
-#define FUNCTION_fixmulBitExact_SD
-inline LONG fixmulBitExact_SD (const SHORT a, const LONG b)
-#ifdef FUNCTION_fixmulBitExact_DS
- { return fixmulBitExact_DS(b, a); }
-#else
- { return (LONG) (((((INT64)a) * b) >> 16) << 1); }
-#endif
-#endif
-
-#if !defined(FUNCTION_fixmulBitExact_DS)
-#define FUNCTION_fixmulBitExact_DS
-inline LONG fixmulBitExact_DS (const LONG a, const SHORT b)
-#ifdef FUNCTION_fixmulBitExact_SD
- { return fixmulBitExact_SD(b, a); }
-#else
- { return (LONG) (((((INT64)a) * b) >> 16) << 1); }
-#endif
-#endif
-
-
-#if !defined(FUNCTION_fixpow2div2_D)
-#ifdef ARCH_WA_16BITMULT
-#error Fallback for fixpow2div2_D is not 16 bit safe !
-#endif
-#define FUNCTION_fixpow2div2_D
-inline LONG fixpow2div2_D (const LONG a)
- { return fixmuldiv2_DD(a, a); }
-#endif
-
-#if !defined(FUNCTION_fixpow2_D)
-#ifdef ARCH_WA_16BITMULT
-#error Fallback for fixpow2_D is not 16 bit safe !
-#endif
-#define FUNCTION_fixpow2_D
-inline LONG fixpow2_D (const LONG a)
- { return fixpow2div2_D(a)<<1; }
-#endif
-
-#if !defined(FUNCTION_fixpow2div2_S)
-#define FUNCTION_fixpow2div2_S
-inline LONG fixpow2div2_S (const SHORT a)
- { return fixmuldiv2_SS(a, a); }
-#endif
-
-#if !defined(FUNCTION_fixpow2_S)
-#define FUNCTION_fixpow2_S
-inline LONG fixpow2_S (const SHORT a)
- { return fixpow2div2_S(a)<<1; }
-#endif
-
-
-#endif /* __FIXMUL_H__ */
diff --git a/libFDK/include/fixpoint_math.h b/libFDK/include/fixpoint_math.h
deleted file mode 100644
index df141d3..0000000
--- a/libFDK/include/fixpoint_math.h
+++ /dev/null
@@ -1,466 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s): M. Gayer
- Description: Fixed point specific mathematical functions
-
-******************************************************************************/
-
-#ifndef __fixpoint_math_H
-#define __fixpoint_math_H
-
-
-#include "common_fix.h"
-
-
-#define LD_DATA_SCALING (64.0f)
-#define LD_DATA_SHIFT 6 /* pow(2, LD_DATA_SHIFT) = LD_DATA_SCALING */
-
-/**
- * \brief deprecated. Use fLog2() instead.
- */
-FIXP_DBL CalcLdData(FIXP_DBL op);
-
-void LdDataVector(FIXP_DBL *srcVector, FIXP_DBL *destVector, INT number);
-
-FIXP_DBL CalcInvLdData(FIXP_DBL op);
-
-
-void InitLdInt();
-FIXP_DBL CalcLdInt(INT i);
-
-extern const USHORT sqrt_tab[49];
-
-inline FIXP_DBL sqrtFixp_lookup(FIXP_DBL x)
-{
- UINT y = (INT)x;
- UCHAR is_zero=(y==0);
- INT zeros=fixnormz_D(y) & 0x1e;
- y<<=zeros;
- UINT idx=(y>>26)-16;
- USHORT frac=(y>>10)&0xffff;
- USHORT nfrac=0xffff^frac;
- UINT t=nfrac*sqrt_tab[idx]+frac*sqrt_tab[idx+1];
- t=t>>(zeros>>1);
- return(is_zero ? 0 : t);
-}
-
-inline FIXP_DBL sqrtFixp_lookup(FIXP_DBL x, INT *x_e)
-{
- UINT y = (INT)x;
- INT e;
-
- if (x == (FIXP_DBL)0) {
- return x;
- }
-
- /* Normalize */
- e=fixnormz_D(y);
- y<<=e;
- e = *x_e - e + 2;
-
- /* Correct odd exponent. */
- if (e & 1) {
- y >>= 1;
- e ++;
- }
- /* Get square root */
- UINT idx=(y>>26)-16;
- USHORT frac=(y>>10)&0xffff;
- USHORT nfrac=0xffff^frac;
- UINT t=nfrac*sqrt_tab[idx]+frac*sqrt_tab[idx+1];
-
- /* Write back exponent */
- *x_e = e >> 1;
- return (FIXP_DBL)(LONG)(t>>1);
-}
-
-
-
-FIXP_DBL sqrtFixp(FIXP_DBL op);
-
-void InitInvSqrtTab();
-
-FIXP_DBL invSqrtNorm2(FIXP_DBL op, INT *shift);
-
-/*****************************************************************************
-
- functionname: invFixp
- description: delivers 1/(op)
-
-*****************************************************************************/
-inline FIXP_DBL invFixp(FIXP_DBL op)
-{
- INT tmp_exp ;
- FIXP_DBL tmp_inv = invSqrtNorm2(op, &tmp_exp) ;
- FDK_ASSERT((31-(2*tmp_exp+1))>=0) ;
- return ( fPow2Div2( (FIXP_DBL)tmp_inv ) >> (31-(2*tmp_exp+1)) ) ;
-}
-
-
-
-#if defined(__mips__) && (__GNUC__==2)
-
-#define FUNCTION_schur_div
-inline FIXP_DBL schur_div(FIXP_DBL num,FIXP_DBL denum, INT count)
-{
- INT result, tmp ;
- __asm__ ("srl %1, %2, 15\n"
- "div %3, %1\n" : "=lo" (result)
- : "%d" (tmp), "d" (denum) , "d" (num)
- : "hi" ) ;
- return result<<16 ;
-}
-
-/*###########################################################################################*/
-#elif defined(__mips__) && (__GNUC__==3)
-
-#define FUNCTION_schur_div
-inline FIXP_DBL schur_div(FIXP_DBL num,FIXP_DBL denum, INT count)
-{
- INT result, tmp;
-
- __asm__ ("srl %[tmp], %[denum], 15\n"
- "div %[result], %[num], %[tmp]\n"
- : [tmp] "+r" (tmp), [result]"=r"(result)
- : [denum]"r"(denum), [num]"r"(num)
- : "hi", "lo");
- return result << (DFRACT_BITS-16);
-}
-
-/*###########################################################################################*/
-#elif defined(SIMULATE_MIPS_DIV)
-
-#define FUNCTION_schur_div
-inline FIXP_DBL schur_div(FIXP_DBL num, FIXP_DBL denum, INT count)
-{
- FDK_ASSERT (count<=DFRACT_BITS-1);
- FDK_ASSERT (num>=(FIXP_DBL)0);
- FDK_ASSERT (denum>(FIXP_DBL)0);
- FDK_ASSERT (num <= denum);
-
- INT tmp = denum >> (count-1);
- INT result = 0;
-
- while (num > tmp)
- {
- num -= tmp;
- result++;
- }
-
- return result << (DFRACT_BITS-count);
-}
-
-/*###########################################################################################*/
-#endif /* target architecture selector */
-
-#if !defined(FUNCTION_schur_div)
-/**
- * \brief Divide two FIXP_DBL values with given precision.
- * \param num dividend
- * \param denum divisor
- * \param count amount of significant bits of the result (starting to the MSB)
- * \return num/divisor
- */
-FIXP_DBL schur_div(FIXP_DBL num,FIXP_DBL denum, INT count);
-#endif
-
-
-
-FIXP_DBL mul_dbl_sgl_rnd (const FIXP_DBL op1,
- const FIXP_SGL op2);
-
-/**
- * \brief multiply two values with normalization, thus max precision.
- * Author: Robert Weidner
- *
- * \param f1 first factor
- * \param f2 secod factor
- * \param result_e pointer to an INT where the exponent of the result is stored into
- * \return mantissa of the product f1*f2
- */
-FIXP_DBL fMultNorm(
- FIXP_DBL f1,
- FIXP_DBL f2,
- INT *result_e
- );
-
-inline FIXP_DBL fMultNorm(FIXP_DBL f1, FIXP_DBL f2)
-{
- FIXP_DBL m;
- INT e;
-
- m = fMultNorm(f1, f2, &e);
-
- m = scaleValueSaturate(m, e);
-
- return m;
-}
-
-/**
- * \brief Divide 2 FIXP_DBL values with normalization of input values.
- * \param num numerator
- * \param denum denomintator
- * \return num/denum with exponent = 0
- */
-FIXP_DBL fDivNorm(FIXP_DBL num, FIXP_DBL denom, INT *result_e);
-
-/**
- * \brief Divide 2 FIXP_DBL values with normalization of input values.
- * \param num numerator
- * \param denum denomintator
- * \param result_e pointer to an INT where the exponent of the result is stored into
- * \return num/denum with exponent = *result_e
- */
-FIXP_DBL fDivNorm(FIXP_DBL num, FIXP_DBL denom);
-
-/**
- * \brief Divide 2 FIXP_DBL values with normalization of input values.
- * \param num numerator
- * \param denum denomintator
- * \return num/denum with exponent = 0
- */
-FIXP_DBL fDivNormHighPrec(FIXP_DBL L_num, FIXP_DBL L_denum, INT *result_e);
-
-/**
- * \brief Calculate log(argument)/log(2) (logarithm with base 2). deprecated. Use fLog2() instead.
- * \param arg mantissa of the argument
- * \param arg_e exponent of the argument
- * \param result_e pointer to an INT to store the exponent of the result
- * \return the mantissa of the result.
- * \param
- */
-FIXP_DBL CalcLog2(FIXP_DBL arg, INT arg_e, INT *result_e);
-
-/**
- * \brief return 2 ^ (exp * 2^exp_e)
- * \param exp_m mantissa of the exponent to 2.0f
- * \param exp_e exponent of the exponent to 2.0f
- * \param result_e pointer to a INT where the exponent of the result will be stored into
- * \return mantissa of the result
- */
-FIXP_DBL f2Pow(const FIXP_DBL exp_m, const INT exp_e, INT *result_e);
-
-/**
- * \brief return 2 ^ (exp_m * 2^exp_e). This version returns only the mantissa with implicit exponent of zero.
- * \param exp_m mantissa of the exponent to 2.0f
- * \param exp_e exponent of the exponent to 2.0f
- * \return mantissa of the result
- */
-FIXP_DBL f2Pow(const FIXP_DBL exp_m, const INT exp_e);
-
-/**
- * \brief return x ^ (exp * 2^exp_e), where log2(x) = baseLd_m * 2^(baseLd_e). This saves
- * the need to compute log2() of constant values (when x is a constant).
- * \param ldx_m mantissa of log2() of x.
- * \param ldx_e exponent of log2() of x.
- * \param exp_m mantissa of the exponent to 2.0f
- * \param exp_e exponent of the exponent to 2.0f
- * \param result_e pointer to a INT where the exponent of the result will be stored into
- * \return mantissa of the result
- */
-FIXP_DBL fLdPow(
- FIXP_DBL baseLd_m,
- INT baseLd_e,
- FIXP_DBL exp_m, INT exp_e,
- INT *result_e
- );
-
-/**
- * \brief return x ^ (exp * 2^exp_e), where log2(x) = baseLd_m * 2^(baseLd_e). This saves
- * the need to compute log2() of constant values (when x is a constant). This version
- * does not return an exponent, which is implicitly 0.
- * \param ldx_m mantissa of log2() of x.
- * \param ldx_e exponent of log2() of x.
- * \param exp_m mantissa of the exponent to 2.0f
- * \param exp_e exponent of the exponent to 2.0f
- * \return mantissa of the result
- */
-FIXP_DBL fLdPow(
- FIXP_DBL baseLd_m, INT baseLd_e,
- FIXP_DBL exp_m, INT exp_e
- );
-
-/**
- * \brief return (base * 2^base_e) ^ (exp * 2^exp_e). Use fLdPow() instead whenever possible.
- * \param base_m mantissa of the base.
- * \param base_e exponent of the base.
- * \param exp_m mantissa of power to be calculated of the base.
- * \param exp_e exponent of power to be calculated of the base.
- * \param result_e pointer to a INT where the exponent of the result will be stored into.
- * \return mantissa of the result.
- */
-FIXP_DBL fPow(FIXP_DBL base_m, INT base_e, FIXP_DBL exp_m, INT exp_e, INT *result_e);
-
-/**
- * \brief return (base * 2^base_e) ^ N
- * \param base mantissa of the base
- * \param base_e exponent of the base
- * \param power to be calculated of the base
- * \param result_e pointer to a INT where the exponent of the result will be stored into
- * \return mantissa of the result
- */
-FIXP_DBL fPowInt(FIXP_DBL base_m, INT base_e, INT N, INT *result_e);
-
-/**
- * \brief calculate logarithm of base 2 of x_m * 2^(x_e)
- * \param x_m mantissa of the input value.
- * \param x_e exponent of the input value.
- * \param pointer to an INT where the exponent of the result is returned into.
- * \return mantissa of the result.
- */
-FIXP_DBL fLog2(FIXP_DBL x_m, INT x_e, INT *result_e);
-
-/**
- * \brief calculate logarithm of base 2 of x_m * 2^(x_e)
- * \param x_m mantissa of the input value.
- * \param x_e exponent of the input value.
- * \return mantissa of the result with implicit exponent of LD_DATA_SHIFT.
- */
-FIXP_DBL fLog2(FIXP_DBL x_m, INT x_e);
-
-/**
- * \brief Add with saturation of the result.
- * \param a first summand
- * \param b second summand
- * \return saturated sum of a and b.
- */
-inline FIXP_SGL fAddSaturate(const FIXP_SGL a, const FIXP_SGL b)
-{
- LONG sum;
-
- sum = (LONG)(SHORT)a + (LONG)(SHORT)b;
- sum = fMax(fMin((INT)sum, (INT)MAXVAL_SGL), (INT)MINVAL_SGL);
- return (FIXP_SGL)(SHORT)sum;
-}
-
-/**
- * \brief Add with saturation of the result.
- * \param a first summand
- * \param b second summand
- * \return saturated sum of a and b.
- */
-inline FIXP_DBL fAddSaturate(const FIXP_DBL a, const FIXP_DBL b)
-{
- LONG sum;
-
- sum = (LONG)(a>>1) + (LONG)(b>>1);
- sum = fMax(fMin((INT)sum, (INT)(MAXVAL_DBL>>1)), (INT)(MINVAL_DBL>>1));
- return (FIXP_DBL)(LONG)(sum<<1);
-}
-
-//#define TEST_ROUNDING
-
-
-
-
-/*****************************************************************************
-
- array for 1/n, n=1..50
-
-****************************************************************************/
-
- extern const FIXP_DBL invCount[50];
-
- LNK_SECTION_INITCODE
- inline void InitInvInt(void) {}
-
-
-/**
- * \brief Calculate the value of 1/i where i is a integer value. It supports
- * input values from 1 upto 50.
- * \param intValue Integer input value.
- * \param FIXP_DBL representation of 1/intValue
- */
-inline FIXP_DBL GetInvInt(int intValue)
-{
- FDK_ASSERT((intValue > 0) && (intValue < 50));
- FDK_ASSERT(intValue<50);
- return invCount[intValue];
-}
-
-
-#endif
-
diff --git a/libFDK/include/mdct.h b/libFDK/include/mdct.h
deleted file mode 100644
index e1c2d74..0000000
--- a/libFDK/include/mdct.h
+++ /dev/null
@@ -1,243 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s): Manuel Jander, Josef Hoepfl
- Description: MDCT routines
-
-******************************************************************************/
-
-#ifndef __MDCT_H__
-#define __MDCT_H__
-
-
-
-#include "common_fix.h"
-
-#define MDCT_OUT_HEADROOM 2 /* Output additional headroom */
-#define MDCT_OUTPUT_SCALE (DFRACT_BITS-SAMPLE_BITS-MDCT_OUT_HEADROOM)
-/* Refer to "Output word length" in ISO/IEC 14496-3:2008(E) 23.2.3.6 */
-#define MDCT_OUTPUT_GAIN 16
-
-#if (SAMPLE_BITS == DFRACT_BITS)
-#define IMDCT_SCALE(x) (INT_PCM)SATURATE_LEFT_SHIFT(x, -MDCT_OUTPUT_SCALE, SAMPLE_BITS)
-#else
-#define IMDCT_SCALE(x) (INT_PCM)SATURATE_RIGHT_SHIFT(x, MDCT_OUTPUT_SCALE, SAMPLE_BITS)
-#endif
-#define IMDCT_SCALE_DBL(x) (FIXP_DBL)(x)
-
-/**
- * \brief MDCT persistent data
- */
-typedef struct {
- union {
- FIXP_DBL *freq;
- FIXP_DBL *time;
- } overlap; /**< Pointer to overlap memory */
-
- const FIXP_WTP *prev_wrs; /**< pointer to previous right window slope */
- int prev_tl; /**< previous tranform length */
- int prev_nr; /**< previous right window offset */
- int prev_fr; /**< previous right window slope length */
- int ov_offset; /**< overlap time data fill level */
- int ov_size; /**< Overlap buffer size in words */
-
-} mdct_t;
-
-typedef mdct_t* H_MDCT;
-
-/**
- * \brief Initialize as valid MDCT handle
- *
- * \param hMdct handle of an allocated MDCT handle.
- * \param overlap pointer to FIXP_DBL overlap buffer.
- * \param overlapBufferSize size in FIXP_DBLs of the given overlap buffer.
- * \return void
- */
-void mdct_init( H_MDCT hMdct,
- FIXP_DBL *overlap,
- INT overlapBufferSize );
-
-/**
- * \brief perform MDCT transform (time domain to frequency domain) with given parameters.
- *
- * \param hMdct handle of an allocated MDCT handle.
- * \param spectrum pointer to where the resulting MDCT spectrum will be stored into.
- * \param scalefactor pointer to the input scale shift value. Updated accordingly on return.
- * \param input pointer to input time domain signal
- * \param tl transformation length.
- * \param nr right window slope offset (amount of window coefficients assumed to be 1.0)
- * \param fr right overlap window slope length
- * \param wrs pointer to the right side overlap window coefficients.
- * \return number of input samples processed.
- */
-INT mdct_block(
- H_MDCT hMdct,
- FIXP_DBL *spectrum,
- INT *scalefactor,
- INT_PCM *input,
- INT tl,
- INT nr,
- INT fr,
- const FIXP_WTB *wrs );
-
-
-/**
- * \brief add/multiply 2/N transform gain and MPEG4 part 3 defined output gain (see definition
- * of MDCT_OUTPUT_GAIN) to given mantissa factor and exponent.
- * \param pGain pointer to the mantissa of a gain factor to be applied to IMDCT data.
- * \param pExponent pointer to the exponent of a gain factor to be applied to IMDCT data.
- * \param tl length of the IMDCT where the gain *pGain * (2 ^ *pExponent) will be applied to.
- */
-void imdct_gain(
- FIXP_DBL *pGain,
- int *pExponent,
- int tl
- );
-
-/**
- * \brief drain buffered output samples into given buffer. Changes the MDCT state.
- */
-INT imdct_drain(
- H_MDCT hMdct,
- FIXP_DBL * pTimeData,
- INT nrSamplesRoom
- );
-
-
-/**
- * \brief Copy overlap time domain data to given buffer. Does not change the MDCT state.
- * \return number of actually copied samples (ov + nr).
- */
-INT imdct_copy_ov_and_nr(
- H_MDCT hMdct,
- FIXP_DBL * pTimeData,
- INT nrSamples
- );
-
-/**
- * \brief Adapt MDCT parameters for non-matching window slopes.
- * \param hMdct handle of an allocated MDCT handle.
- * \param pfl pointer to left overlap window side length.
- * \param pnl pointer to length of the left n part of the window.
- * \param tl transform length.
- * \param wls pointer to the left side overlap window coefficients.
- * \param noOutSamples desired number of output samples.
- */
-void imdct_adapt_parameters(H_MDCT hMdct, int *pfl, int *pnl, int tl, const FIXP_WTP *wls, int noOutSamples);
-
-/**
- * \brief perform several inverse MDCT transforms (frequency domain to time domain) with given parameters.
- *
- * \param hMdct handle of an allocated MDCT handle.
- * \param output pointer to where the output time domain signal will be stored into.
- * \param stride the stride factor for accessing time domain samples in output.
- * \param spectrum pointer to the input MDCT spectra.
- * \param scalefactors scale shift values of the input spectrum.
- * \param nSpec number of MDCT spectrums.
- * \param noOutSamples desired number of output samples.
- * \param tl transform length.
- * \param wls pointer to the left side overlap window coefficients.
- * \param fl left overlap window side length.
- * \param wrs pointer to the right side overlap window coefficients of all individual IMDCTs.
- * \param fr right overlap window side length of all individual IMDCTs.
- * \param gain factor to apply to output samples (if != 0).
- * \return number of output samples returned.
- */
-INT imdct_block(
- H_MDCT hMdct,
- FIXP_DBL *output,
- FIXP_DBL *spectrum,
- const SHORT scalefactor[],
- const INT nSpec,
- const INT noOutSamples,
- const INT tl,
- const FIXP_WTP *wls,
- INT fl,
- const FIXP_WTP *wrs,
- const INT fr,
- FIXP_DBL gain );
-
-
-#endif /* __MDCT_H__ */
diff --git a/libFDK/include/mips/abs_mips.h b/libFDK/include/mips/abs_mips.h
deleted file mode 100644
index 3b9f876..0000000
--- a/libFDK/include/mips/abs_mips.h
+++ /dev/null
@@ -1,107 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if defined(__mips__)
-
-#if defined(__GNUC__) && defined(__mips__)
-
- #if defined(__mips_dsp)
- #define FUNCTION_fixabs_D
- #define FUNCTION_fixabs_I
- #define FUNCTION_fixabs_S
- inline FIXP_DBL fixabs_D(FIXP_DBL x) { return __builtin_mips_absq_s_w(x); }
- inline FIXP_SGL fixabs_S(FIXP_SGL x) { return ((x) > (FIXP_SGL)(0)) ? (x) : -(x) ; }
- inline INT fixabs_I(INT x) { return __builtin_mips_absq_s_w(x); }
- #endif /* __mips_dsp */
-
-#endif /* defined(__GNUC__) && defined(__mips__) */
-
-#endif /*__mips__ */
-
diff --git a/libFDK/include/mips/clz_mips.h b/libFDK/include/mips/clz_mips.h
deleted file mode 100644
index ff40a09..0000000
--- a/libFDK/include/mips/clz_mips.h
+++ /dev/null
@@ -1,118 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if defined(__mips__)
-
-#if defined(__mips__) && (__GNUC__==2) && (mips>=32)
-
- #define FUNCTION_fixnormz_D
- inline INT fixnormz_D(LONG value)
- {
- INT result;
- __asm__ ("clz %0,%1" : "=d" (result) : "d" (value));
-
- return result;
- }
-
-#elif defined(__mips__) && (__GNUC__==3) && (__mips>=32)
-
- #define FUNCTION_fixnormz_D
- INT inline fixnormz_D(LONG value)
- {
- INT result;
- __asm__ ("clz %[result], %[value]" : [result] "=r" (result) : [value] "r" (value)) ;
-
- return result;
- }
-
-#endif
-
-#endif /* __mips__ */
-
diff --git a/libFDK/include/mips/cplx_mul.h b/libFDK/include/mips/cplx_mul.h
deleted file mode 100644
index e05d2b6..0000000
--- a/libFDK/include/mips/cplx_mul.h
+++ /dev/null
@@ -1,162 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-
-#if defined(__GNUC__) && defined(__mips__)
-
-
-//#define FUNCTION_cplxMultDiv2_32x16
-//#define FUNCTION_cplxMultDiv2_32x16X2
-#define FUNCTION_cplxMultDiv2_32x32X2
-//#define FUNCTION_cplxMult_32x16
-//#define FUNCTION_cplxMult_32x16X2
-#define FUNCTION_cplxMult_32x32X2
-
-#if defined(FUNCTION_cplxMultDiv2_32x32X2)
-inline void cplxMultDiv2( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- FIXP_DBL a_Re,
- FIXP_DBL a_Im,
- FIXP_DBL b_Re,
- FIXP_DBL b_Im)
-{
- INT result;
-
- __asm__ ("mult %[a_Re], %[b_Re];\n"
- "msub %[a_Im], %[b_Im];\n"
- "mfhi %[result];\n"
- : [result]"=r"(result)
- : [a_Re]"d"(a_Re), [b_Re]"d"(b_Re), [a_Im]"d"(a_Im), [b_Im]"d"(b_Im)
- : "lo");
-
- *c_Re = result;
-
- __asm__ ("mult %[a_Re], %[b_Im];\n"
- "madd %[a_Im], %[b_Re];\n"
- "mfhi %[result];\n"
- : [result]"=r"(result)
- : [a_Re]"r"(a_Re), [b_Im]"r"(b_Im), [a_Im]"r"(a_Im), [b_Re]"r"(b_Re)
- : "lo");
- *c_Im = result;
-}
-#endif
-
-#if defined(FUNCTION_cplxMult_32x32X2)
-inline void cplxMult( FIXP_DBL *c_Re,
- FIXP_DBL *c_Im,
- FIXP_DBL a_Re,
- FIXP_DBL a_Im,
- FIXP_DBL b_Re,
- FIXP_DBL b_Im)
-{
- INT result;
-
- __asm__ ("mult %[a_Re], %[b_Re];\n"
- "msub %[a_Im], %[b_Im];\n"
- "mfhi %[result];\n"
- //"extr_w %[result], 31;\n"
- : [result]"=r"(result)
- : [a_Re]"r"(a_Re), [b_Re]"r"(b_Re), [a_Im]"r"(a_Im), [b_Im]"r"(b_Im)
- : "lo");
- *c_Re = result<<1;
-
- __asm__ ("mult %[a_Re], %[b_Im];\n"
- "madd %[a_Im], %[b_Re];\n"
- "mfhi %[result];\n"
- //"extr_w %[result], 31;\n"
- : [result]"=r"(result)
- : [a_Re]"r"(a_Re), [b_Im]"r"(b_Im), [a_Im]"r"(a_Im), [b_Re]"r"(b_Re)
- : "lo");
- *c_Im = result<<1;
-}
-#endif
-
-#endif /* defined(__GNUC__) && defined(__mips__) */
-
diff --git a/libFDK/include/mips/fixmadd_mips.h b/libFDK/include/mips/fixmadd_mips.h
deleted file mode 100644
index a9575fb..0000000
--- a/libFDK/include/mips/fixmadd_mips.h
+++ /dev/null
@@ -1,95 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if defined(__mips__)
-
-
-#endif /* __mips__ */
-
diff --git a/libFDK/include/mips/fixmul_mips.h b/libFDK/include/mips/fixmul_mips.h
deleted file mode 100644
index 73693e2..0000000
--- a/libFDK/include/mips/fixmul_mips.h
+++ /dev/null
@@ -1,113 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if defined(__mips__)
-
-#if (__GNUC__) && defined(__mips__) /* cppp replaced: elif */
-/* MIPS GCC based compiler */
-
-#define FUNCTION_fixmuldiv2_DD
-
-#define FUNCTION_fixmuldiv2BitExact_DD
-#define fixmuldiv2BitExact_DD(a,b) fixmuldiv2_DD(a,b)
-
-inline INT fixmuldiv2_DD (const INT a, const INT b)
-{
- INT result ;
- result = ((long long)a * b)>>32;
- return result ;
-}
-
-#endif /* (__GNUC__) && defined(__mips__) */
-
-#endif /* __mips__ */
-
-#define FUNCTION_fixmulBitExact_DD
-#define fixmulBitExact_DD fixmul_DD
diff --git a/libFDK/include/mips/scale.h b/libFDK/include/mips/scale.h
deleted file mode 100644
index edf29da..0000000
--- a/libFDK/include/mips/scale.h
+++ /dev/null
@@ -1,110 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description:
-
-******************************************************************************/
-
-#ifndef MIPS_SCALE_H
-#define MIPS_SCALE_H
-
-#if defined(__mips_dsp)
-
-/*!
-*
-* \brief Scale input value by 2^{scale} and saturate output to 2^{dBits-1}
-* \return scaled and saturated value
-*
-* This macro scales src value right or left and applies saturation to (2^dBits)-1
-* maxima output.
-*/
-#define SATURATE_RIGHT_SHIFT(src, scale, dBits) \
- (__builtin_mips_shll_s_w((src)>>scale,(DFRACT_BITS-(dBits)))>>(DFRACT_BITS-(dBits)))
-
-
-#endif /*__mips_dsp */
-
-#endif /* MIPS_SCALE_H */
diff --git a/libFDK/include/mips/scramble.h b/libFDK/include/mips/scramble.h
deleted file mode 100644
index 3f2fe6e..0000000
--- a/libFDK/include/mips/scramble.h
+++ /dev/null
@@ -1,121 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description:
-
-******************************************************************************/
-
-#ifndef MIPS_SCRAMBLE_H
-#define MIPS_SCRAMBLE_H
-
-#define FUNCTION_scramble
-
-#if defined(FUNCTION_scramble)
-inline void scramble(FIXP_DBL *x, INT n) {
- INT m,j;
- int ldn=1;
- do {ldn++;} while((1<<ldn)<n);
-
- for (m=1,j=0; m<n-1; m++)
- {
- j = __builtin_mips_bitrev(m) >> (16-ldn);
-
- if (j>m)
- {
- FIXP_DBL tmp;
- tmp=x[2*m];
- x[2*m]=x[2*j];
- x[2*j]=tmp;
-
- tmp=x[2*m+1];
- x[2*m+1]=x[2*j+1];
- x[2*j+1]=tmp;
- }
- }
-}
-#endif
-
-#endif /* MIPS_SCRAMBLE_H */
diff --git a/libFDK/include/qmf.h b/libFDK/include/qmf.h
deleted file mode 100644
index be69477..0000000
--- a/libFDK/include/qmf.h
+++ /dev/null
@@ -1,248 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*!
- \file qmf.h
- \brief Complex qmf analysis/synthesis
- \author Markus Werner
-
-*/
-#ifndef __QMF_H
-#define __QMF_H
-
-
-
-#include "common_fix.h"
-#include "FDK_tools_rom.h"
-#include "dct.h"
-
-/*
- * Filter coefficient type definition
- */
-#ifdef QMF_DATA_16BIT
-#define FIXP_QMF FIXP_SGL
-#define FX_DBL2FX_QMF FX_DBL2FX_SGL
-#define FX_QMF2FX_DBL FX_SGL2FX_DBL
-#define QFRACT_BITS FRACT_BITS
-#else
-#define FIXP_QMF FIXP_DBL
-#define FX_DBL2FX_QMF
-#define FX_QMF2FX_DBL
-#define QFRACT_BITS DFRACT_BITS
-#endif
-
-/* ARM neon optimized QMF analysis filter requires 32 bit input.
- Implemented for RVCT only, currently disabled. See src/arm/qmf_arm.cpp:45 */
-#define FIXP_QAS FIXP_PCM
-#define QAS_BITS SAMPLE_BITS
-
-#ifdef QMFSYN_STATES_16BIT
-#define FIXP_QSS FIXP_SGL
-#define QSS_BITS FRACT_BITS
-#else
-#define FIXP_QSS FIXP_DBL
-#define QSS_BITS DFRACT_BITS
-#endif
-
-/* Flags for QMF intialization */
-/* Low Power mode flag */
-#define QMF_FLAG_LP 1
-/* Filter is not symetric. This flag is set internally in the QMF initialization as required. */
-#define QMF_FLAG_NONSYMMETRIC 2
-/* Complex Low Delay Filter Bank (or std symmetric filter bank) */
-#define QMF_FLAG_CLDFB 4
-/* Flag indicating that the states should be kept. */
-#define QMF_FLAG_KEEP_STATES 8
-/* Complex Low Delay Filter Bank used in MPEG Surround Encoder */
-#define QMF_FLAG_MPSLDFB 16
-/* Complex Low Delay Filter Bank used in MPEG Surround Encoder allows a optimized calculation of the modulation in qmfForwardModulationHQ() */
-#define QMF_FLAG_MPSLDFB_OPTIMIZE_MODULATION 32
-/* Flag to indicate HE-AAC down-sampled SBR mode (decoder) -> adapt analysis post twiddling */
-#define QMF_FLAG_DOWNSAMPLED 64
-
-
-typedef struct
-{
- int lb_scale; /*!< Scale of low band area */
- int ov_lb_scale; /*!< Scale of adjusted overlap low band area */
- int hb_scale; /*!< Scale of high band area */
- int ov_hb_scale; /*!< Scale of adjusted overlap high band area */
-} QMF_SCALE_FACTOR;
-
-struct QMF_FILTER_BANK
-{
- const FIXP_PFT *p_filter; /*!< Pointer to filter coefficients */
-
- void *FilterStates; /*!< Pointer to buffer of filter states
- FIXP_PCM in analyse and
- FIXP_DBL in synthesis filter */
- int FilterSize; /*!< Size of prototype filter. */
- const FIXP_QTW *t_cos; /*!< Modulation tables. */
- const FIXP_QTW *t_sin;
- int filterScale; /*!< filter scale */
-
- int no_channels; /*!< Total number of channels (subbands) */
- int no_col; /*!< Number of time slots */
- int lsb; /*!< Top of low subbands */
- int usb; /*!< Top of high subbands */
-
- int outScalefactor; /*!< Scale factor of output data (syn only) */
- FIXP_DBL outGain; /*!< Gain output data (syn only) (init with 0x80000000 to ignore) */
-
- UINT flags; /*!< flags */
- UCHAR p_stride; /*!< Stride Factor of polyphase filters */
-
-};
-
-typedef struct QMF_FILTER_BANK *HANDLE_QMF_FILTER_BANK;
-
-void
-qmfAnalysisFiltering( HANDLE_QMF_FILTER_BANK anaQmf, /*!< Handle of Qmf Analysis Bank */
- FIXP_QMF **qmfReal, /*!< Pointer to real subband slots */
- FIXP_QMF **qmfImag, /*!< Pointer to imag subband slots */
- QMF_SCALE_FACTOR *scaleFactor, /*!< Scale factors of QMF data */
- const INT_PCM *timeIn, /*!< Time signal */
- const int stride, /*!< Stride factor of audio data */
- FIXP_QMF *pWorkBuffer /*!< pointer to temporal working buffer */
- );
-
-void
-qmfSynthesisFiltering( HANDLE_QMF_FILTER_BANK synQmf, /*!< Handle of Qmf Synthesis Bank */
- FIXP_QMF **QmfBufferReal, /*!< Pointer to real subband slots */
- FIXP_QMF **QmfBufferImag, /*!< Pointer to imag subband slots */
- const QMF_SCALE_FACTOR *scaleFactor, /*!< Scale factors of QMF data */
- const int ov_len, /*!< Length of band overlap */
- INT_PCM *timeOut, /*!< Time signal */
- const int stride, /*!< Stride factor of audio data */
- FIXP_QMF *pWorkBuffer /*!< pointer to temporal working buffer */
- );
-
-int
-qmfInitAnalysisFilterBank( HANDLE_QMF_FILTER_BANK h_Qmf, /*!< QMF Handle */
- FIXP_QAS *pFilterStates, /*!< Pointer to filter state buffer */
- int noCols, /*!< Number of time slots */
- int lsb, /*!< Number of lower bands */
- int usb, /*!< Number of upper bands */
- int no_channels, /*!< Number of critically sampled bands */
- int flags); /*!< Flags */
-
-void
-qmfAnalysisFilteringSlot( HANDLE_QMF_FILTER_BANK anaQmf, /*!< Handle of Qmf Synthesis Bank */
- FIXP_QMF *qmfReal, /*!< Low and High band, real */
- FIXP_QMF *qmfImag, /*!< Low and High band, imag */
- const INT_PCM *timeIn, /*!< Pointer to input */
- const int stride, /*!< stride factor of input */
- FIXP_QMF *pWorkBuffer /*!< pointer to temporal working buffer */
- );
-
-int
-qmfInitSynthesisFilterBank( HANDLE_QMF_FILTER_BANK h_Qmf, /*!< QMF Handle */
- FIXP_QSS *pFilterStates, /*!< Pointer to filter state buffer */
- int noCols, /*!< Number of time slots */
- int lsb, /*!< Number of lower bands */
- int usb, /*!< Number of upper bands */
- int no_channels, /*!< Number of critically sampled bands */
- int flags); /*!< Flags */
-
-void qmfSynthesisFilteringSlot( HANDLE_QMF_FILTER_BANK synQmf,
- const FIXP_QMF *realSlot,
- const FIXP_QMF *imagSlot,
- const int scaleFactorLowBand,
- const int scaleFactorHighBand,
- INT_PCM *timeOut,
- const int stride,
- FIXP_QMF *pWorkBuffer);
-
-void
-qmfChangeOutScalefactor (HANDLE_QMF_FILTER_BANK synQmf, /*!< Handle of Qmf Synthesis Bank */
- int outScalefactor /*!< New scaling factor for output data */
- );
-
-void
-qmfChangeOutGain (HANDLE_QMF_FILTER_BANK synQmf, /*!< Handle of Qmf Synthesis Bank */
- FIXP_DBL outputGain /*!< New gain for output data */
- );
-
-
-
-#endif /* __QMF_H */
diff --git a/libFDK/include/scale.h b/libFDK/include/scale.h
deleted file mode 100644
index 1587f9f..0000000
--- a/libFDK/include/scale.h
+++ /dev/null
@@ -1,250 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: Scaling operations
-
-******************************************************************************/
-
-#ifndef SCALE_H
-#define SCALE_H
-
-#include "common_fix.h"
-#include "genericStds.h"
-#include "fixminmax.h"
-
- #define SCALE_INLINE inline
-
-
-#if defined(__arm__) /* cppp replaced: elif */
-#include "arm/scale.h"
-
-#elif defined(__mips__) /* cppp replaced: elif */
-#include "mips/scale.h"
-
-#endif
-
-
-#include "../src/scale.cpp"
-
-#ifndef FUNCTION_scaleValue
-/*!
- *
- * \brief Multiply input by \f$ 2^{scalefactor} \f$
- *
- * \return Scaled input
- *
- */
-#define FUNCTION_scaleValue
-inline
-FIXP_DBL scaleValue(const FIXP_DBL value, /*!< Value */
- INT scalefactor /*!< Scalefactor */
- )
-{
- if(scalefactor > 0)
- return (value<<scalefactor);
- else
- return (value>>(-scalefactor));
-}
-#endif
-
-#ifndef FUNCTION_scaleValueSaturate
-/*!
- *
- * \brief Multiply input by \f$ 2^{scalefactor} \f$
- * \param value The value to be scaled.
- * \param the shift amount
- * \return \f$ value * 2^scalefactor \f$
- *
- */
-#define FUNCTION_scaleValueSaturate
-inline
-FIXP_DBL scaleValueSaturate(
- const FIXP_DBL value,
- INT scalefactor
- )
-{
- if(scalefactor > 0) {
- if (fNorm(value) < scalefactor && value != (FIXP_DBL)0) {
- if (value > (FIXP_DBL)0) {
- return (FIXP_DBL)MAXVAL_DBL;
- } else {
- return (FIXP_DBL)MINVAL_DBL;
- }
- } else {
- return (value<<scalefactor);
- }
- } else {
- if (-(DFRACT_BITS-1) > scalefactor) {
- return (FIXP_DBL)0;
- } else {
- return (value>>(-scalefactor));
- }
- }
-}
-#endif
-
-#ifndef FUNCTION_scaleValueInPlace
-/*!
- *
- * \brief Multiply input by \f$ 2^{scalefactor} \f$ in place
- *
- * \return void
- *
- */
-#define FUNCTION_scaleValueInPlace
-inline
-void scaleValueInPlace(
- FIXP_DBL *value, /*!< Value */
- INT scalefactor /*!< Scalefactor */
- )
-{
- INT newscale;
- /* Note: The assignment inside the if conditional allows combining a load with the compare to zero (on ARM and maybe others) */
- if ((newscale = (scalefactor)) >= 0) {
- *(value) <<= newscale;
- } else {
- *(value) >>= -newscale;
- }
-}
-#endif
-
-/*!
- *
- * \brief Scale input value by 2^{scale} and saturate output to 2^{dBits-1}
- * \return scaled and saturated value
- *
- * This macro scales src value right or left and applies saturation to (2^dBits)-1
- * maxima output.
- */
-
-#ifndef SATURATE_RIGHT_SHIFT
- #define SATURATE_RIGHT_SHIFT(src, scale, dBits) \
- ( (((LONG)(src)>>(scale)) > (LONG)(((1U)<<((dBits)-1))-1)) ? (LONG)(((1U)<<((dBits)-1))-1) \
- : (((LONG)(src)>>(scale)) < ~((LONG)(((1U)<<((dBits)-1))-1))) ? ~((LONG)(((1U)<<((dBits)-1))-1)) \
- : ((LONG)(src) >> (scale)) )
-#endif
-
-#ifndef SATURATE_LEFT_SHIFT
- #define SATURATE_LEFT_SHIFT(src, scale, dBits) \
- ( ((LONG)(src) > ((LONG)(((1U)<<((dBits)-1))-1)>>(scale))) ? (LONG)(((1U)<<((dBits)-1))-1) \
- : ((LONG)(src) < ~((LONG)(((1U)<<((dBits)-1))-1)>>(scale))) ? ~((LONG)(((1U)<<((dBits)-1))-1)) \
- : ((LONG)(src) << (scale)) )
-#endif
-
-#ifndef SATURATE_SHIFT
-#define SATURATE_SHIFT(src, scale, dBits) \
- ( ((scale) < 0) \
- ? SATURATE_LEFT_SHIFT((src), -(scale), (dBits)) \
- : SATURATE_RIGHT_SHIFT((src), (scale), (dBits)) )
-#endif
-
-/*
- * Alternative shift and saturate left, saturates to -0.99999 instead of -1.0000
- * to avoid problems when inverting the sign of the result.
- */
-#ifndef SATURATE_LEFT_SHIFT_ALT
-#define SATURATE_LEFT_SHIFT_ALT(src, scale, dBits) \
- ( ((LONG)(src) > ((LONG)(((1U)<<((dBits)-1))-1)>>(scale))) ? (LONG)(((1U)<<((dBits)-1))-1) \
- : ((LONG)(src) < ~((LONG)(((1U)<<((dBits)-1))-2)>>(scale))) ? ~((LONG)(((1U)<<((dBits)-1))-2)) \
- : ((LONG)(src) << (scale)) )
-#endif
-
-#ifndef SATURATE_RIGHT_SHIFT_ALT
- #define SATURATE_RIGHT_SHIFT_ALT(src, scale, dBits) \
- ( (((LONG)(src)>>(scale)) > (LONG)(((1U)<<((dBits)-1))-1)) ? (LONG)(((1U)<<((dBits)-1))-1) \
- : (((LONG)(src)>>(scale)) < ~((LONG)(((1U)<<((dBits)-1))-2))) ? ~((LONG)(((1U)<<((dBits)-1))-2)) \
- : ((LONG)(src) >> (scale)) )
-#endif
-
-#ifndef SATURATE_INT_PCM_RIGHT_SHIFT
-#define SATURATE_INT_PCM_RIGHT_SHIFT(src, scale) SATURATE_RIGHT_SHIFT(src, scale, SAMPLE_BITS)
-#endif
-
-#ifndef SATURATE_INT_PCM_LEFT_SHIFT
-#define SATURATE_INT_PCM_LEFT_SHIFT(src, scale) SATURATE_LEFT_SHIFT(src, scale, SAMPLE_BITS)
-#endif
-
-#endif /* #ifndef SCALE_H */
diff --git a/libFDK/include/scramble.h b/libFDK/include/scramble.h
deleted file mode 100644
index ceaf527..0000000
--- a/libFDK/include/scramble.h
+++ /dev/null
@@ -1,165 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description:
-
-******************************************************************************/
-
-#ifndef SCRAMBLE_H
-#define SCRAMBLE_H
-
-#include "common_fix.h"
-
-#if defined(__arm__)
-#include "arm/scramble.h"
-
-#elif defined(__mips__) && defined(__mips_dsp) /* cppp replaced: elif */
-#include "mips/scramble.h"
-
-#endif
-
-/*****************************************************************************
-
- functionname: scramble
- description: bitreversal of input data
- returns:
- input:
- output:
-
-*****************************************************************************/
-#if !defined(FUNCTION_scramble_sgl)
-
-inline void scramble_sgl(FIXP_SGL *x, INT n)
-{
- INT m,k,j;
-
- for (m=1,j=0; m<n-1; m++)
- {
- {for(k=n>>1; (!((j^=k)&k)); k>>=1);}
-
- if (j>m)
- {
- FIXP_SGL tmp;
- tmp=x[2*m];
- x[2*m]=x[2*j];
- x[2*j]=tmp;
-
- tmp=x[2*m+1];
- x[2*m+1]=x[2*j+1];
- x[2*j+1]=tmp;
- }
- }
-}
-#endif
-
-#if !defined(FUNCTION_scramble)
-
-/* default scramble functionality */
-inline void scramble(FIXP_DBL *x, INT n)
-{
- INT m,k,j;
- FDK_ASSERT(!(((UINT64)x)&(ALIGNMENT_DEFAULT-1)));
-
- for (m=1,j=0; m<n-1; m++)
- {
- {for(k=n>>1; (!((j^=k)&k)); k>>=1);}
-
- if (j>m)
- {
- FIXP_DBL tmp;
- tmp=x[2*m];
- x[2*m]=x[2*j];
- x[2*j]=tmp;
-
- tmp=x[2*m+1];
- x[2*m+1]=x[2*j+1];
- x[2*j+1]=tmp;
- }
- }
-}
-#endif /* !defined(FUNCTION_scramble) */
-
-#endif /* SCRAMBLE_H */
diff --git a/libFDK/include/x86/abs_x86.h b/libFDK/include/x86/abs_x86.h
deleted file mode 100644
index 96374ec..0000000
--- a/libFDK/include/x86/abs_x86.h
+++ /dev/null
@@ -1,106 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-#if defined(__x86__)
-
- #if defined(__x86_64__)
-
- inline INT fixabs_D(INT x) { return ((x) > (INT)(0)) ? (x) : -(x) ; }
- inline INT fixabs_S(INT x) { return ((x) > (INT)(0)) ? (x) : -(x) ; }
-
- #define fixabs_I(x) fixabs_D(x)
-
- #define FUNCTION_fixabs_S
- #define FUNCTION_fixabs_D
- #define FUNCTION_fixabs_I
-
- #endif /* __x86_64__ */
-
-#endif /*__x86__ */
-
diff --git a/libFDK/include/x86/clz_x86.h b/libFDK/include/x86/clz_x86.h
deleted file mode 100644
index 1bc43e5..0000000
--- a/libFDK/include/x86/clz_x86.h
+++ /dev/null
@@ -1,154 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if defined(__GNUC__) && (defined(__x86__) || defined(__x86_64__))
-
- #define FUNCTION_fixnormz_D
- #define FUNCTION_fixnorm_D
-
- inline INT fixnormz_D(LONG value)
- {
- INT result;
-
- if (value != 0) {
- result = __builtin_clz(value);
- } else {
- result = 32;
- }
- return result;
- }
-
- inline INT fixnorm_D(LONG value)
- {
- INT result;
- if (value == 0) {
- return 0;
- }
- if (value < 0) {
- value = ~value;
- }
- result = fixnormz_D(value);
- return result - 1;
- }
-
-
-#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64))
-
-#include <intrin.h>
-
- #define FUNCTION_fixnormz_D
- #define FUNCTION_fixnorm_D
-
- inline INT fixnormz_D(LONG value)
- {
- unsigned long result = 0;
- unsigned char err;
- err = _BitScanReverse(&result, value);
- if (err) {
- return 31 - result;
- } else {
- return 32;
- }
- }
-
- inline INT fixnorm_D(LONG value)
- {
- INT result;
- if (value == 0) {
- return 0;
- }
- if (value < 0) {
- value = ~value;
- }
- result = fixnormz_D(value);
- return result - 1;
- }
-
-#endif /* toolchain */
diff --git a/libFDK/include/x86/fixmul_x86.h b/libFDK/include/x86/fixmul_x86.h
deleted file mode 100644
index 7b74cc7..0000000
--- a/libFDK/include/x86/fixmul_x86.h
+++ /dev/null
@@ -1,178 +0,0 @@
-
-/* -----------------------------------------------------------------------------------------------------------
-Software License for The Fraunhofer FDK AAC Codec Library for Android
-
-© Copyright 1995 - 2013 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
- All rights reserved.
-
- 1. INTRODUCTION
-The Fraunhofer FDK AAC Codec Library for Android ("FDK AAC Codec") is software that implements
-the MPEG Advanced Audio Coding ("AAC") encoding and decoding scheme for digital audio.
-This FDK AAC Codec software is intended to be used on a wide variety of Android devices.
-
-AAC's HE-AAC and HE-AAC v2 versions are regarded as today's most efficient general perceptual
-audio codecs. AAC-ELD is considered the best-performing full-bandwidth communications codec by
-independent studies and is widely deployed. AAC has been standardized by ISO and IEC as part
-of the MPEG specifications.
-
-Patent licenses for necessary patent claims for the FDK AAC Codec (including those of Fraunhofer)
-may be obtained through Via Licensing (www.vialicensing.com) or through the respective patent owners
-individually for the purpose of encoding or decoding bit streams in products that are compliant with
-the ISO/IEC MPEG audio standards. Please note that most manufacturers of Android devices already license
-these patent claims through Via Licensing or directly from the patent owners, and therefore FDK AAC Codec
-software may already be covered under those patent licenses when it is used for those licensed purposes only.
-
-Commercially-licensed AAC software libraries, including floating-point versions with enhanced sound quality,
-are also available from Fraunhofer. Users are encouraged to check the Fraunhofer website for additional
-applications information and documentation.
-
-2. COPYRIGHT LICENSE
-
-Redistribution and use in source and binary forms, with or without modification, are permitted without
-payment of copyright license fees provided that you satisfy the following conditions:
-
-You must retain the complete text of this software license in redistributions of the FDK AAC Codec or
-your modifications thereto in source code form.
-
-You must retain the complete text of this software license in the documentation and/or other materials
-provided with redistributions of the FDK AAC Codec or your modifications thereto in binary form.
-You must make available free of charge copies of the complete source code of the FDK AAC Codec and your
-modifications thereto to recipients of copies in binary form.
-
-The name of Fraunhofer may not be used to endorse or promote products derived from this library without
-prior written permission.
-
-You may not charge copyright license fees for anyone to use, copy or distribute the FDK AAC Codec
-software or your modifications thereto.
-
-Your modified versions of the FDK AAC Codec must carry prominent notices stating that you changed the software
-and the date of any change. For modified versions of the FDK AAC Codec, the term
-"Fraunhofer FDK AAC Codec Library for Android" must be replaced by the term
-"Third-Party Modified Version of the Fraunhofer FDK AAC Codec Library for Android."
-
-3. NO PATENT LICENSE
-
-NO EXPRESS OR IMPLIED LICENSES TO ANY PATENT CLAIMS, including without limitation the patents of Fraunhofer,
-ARE GRANTED BY THIS SOFTWARE LICENSE. Fraunhofer provides no warranty of patent non-infringement with
-respect to this software.
-
-You may use this FDK AAC Codec software or modifications thereto only for purposes that are authorized
-by appropriate patent licenses.
-
-4. DISCLAIMER
-
-This FDK AAC Codec software is provided by Fraunhofer on behalf of the copyright holders and contributors
-"AS IS" and WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, including but not limited to the implied warranties
-of merchantability and fitness for a particular purpose. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE for any direct, indirect, incidental, special, exemplary, or consequential damages,
-including but not limited to procurement of substitute goods or services; loss of use, data, or profits,
-or business interruption, however caused and on any theory of liability, whether in contract, strict
-liability, or tort (including negligence), arising in any way out of the use of this software, even if
-advised of the possibility of such damage.
-
-5. CONTACT INFORMATION
-
-Fraunhofer Institute for Integrated Circuits IIS
-Attention: Audio and Multimedia Departments - FDK AAC LL
-Am Wolfsmantel 33
-91058 Erlangen, Germany
-
-www.iis.fraunhofer.de/amm
-amm-info@iis.fraunhofer.de
------------------------------------------------------------------------------------------------------------ */
-
-/*************************** Fraunhofer IIS FDK Tools **********************
-
- Author(s):
- Description: fixed point intrinsics
-
-******************************************************************************/
-
-#if defined(__x86__)
-
-#if defined(_MSC_VER) && defined(_M_IX86)
-/* Intel x86 */
-
-#define FUNCTION_fixmul_DD
-#define FUNCTION_fixmuldiv2_DD
-#define FUNCTION_fixmuldiv2BitExact_DD
-#define fixmuldiv2BitExact_DD(a,b) fixmuldiv2_DD(a,b)
-#define FUNCTION_fixmulBitExact_DD
-#define fixmulBitExact_DD(a,b) fixmul_DD(a,b)
-
-#define FUNCTION_fixmuldiv2BitExact_DS
-#define fixmuldiv2BitExact_DS(a,b) fixmuldiv2_DS(a,b)
-
-#define FUNCTION_fixmulBitExact_DS
-#define fixmulBitExact_DS(a,b) fixmul_DS(a,b)
-
-inline INT fixmul_DD (INT a, const INT b)
-{
- __asm
- {
- mov eax, a
- imul b
- shl edx, 1
- mov a, edx
- }
- return a ;
-}
-
-
-inline INT fixmuldiv2_DD (INT a, const INT b)
-{
- __asm
- {
- mov eax, a
- imul b
- mov a, edx
- }
- return a ;
-}
-
-/* ############################################################################# */
-#elif (defined(__GNUC__)||defined(__gnu_linux__)) && defined(__x86__)
-
-#define FUNCTION_fixmul_DD
-#define FUNCTION_fixmuldiv2_DD
-
-#define FUNCTION_fixmuldiv2BitExact_DD
-#define fixmuldiv2BitExact_DD(a,b) fixmuldiv2_DD(a,b)
-
-#define FUNCTION_fixmulBitExact_DD
-#define fixmulBitExact_DD(a,b) fixmul_DD(a,b)
-
-#define FUNCTION_fixmuldiv2BitExact_DS
-#define fixmuldiv2BitExact_DS(a,b) fixmuldiv2_DS(a,b)
-
-#define FUNCTION_fixmulBitExact_DS
-#define fixmulBitExact_DS(a,b) fixmul_DS(a,b)
-
-inline INT fixmul_DD (INT a, const INT b)
-{
- INT result;
-
- asm( "imul %2;\n"
- "shl $1, %0;\n"
- : "=d"(result), "+a"(a)
- : "r"(b) );
-
- return result;
-}
-
-
-inline INT fixmuldiv2_DD (INT a, const INT b)
-{
- INT result;
-
- asm ( "imul %2;"
- : "=d"(result), "+a"(a)
- : "r"(b) );
-
- return result;
-}
-
-#endif /* (defined(__GNUC__)||defined(__gnu_linux__)) && defined(__x86__) */
-
-#endif /* __x86__ */
-