aboutsummaryrefslogtreecommitdiffstats
path: root/libFDK/include
Commit message (Collapse)AuthorAgeFilesLines
* libFDK/include/mips/cplx_mul.h: use C code instead of ASMVicente Olivert Riera2015-09-211-38/+5
| | | | | | | | Replace the assembler code by the equivalent in C. This way it will work for every MIPS ISA. Now the check for __mips_isa_rev < 6 is no longer necessary, so remove it. Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
* Fix the preprocessor statements controlling the use of mips{32,64}r1 ↵Jasper Lievisse Adriaanse2015-08-131-1/+1
| | | | | | | | instructions. Only enable code using mips32/mips64 instructions if the compiler is targetting this ISA. (integer madd and msub instructions aren't available in the ``canonical'' mips ISAs)
* Merge remote-tracking branch 'aosp/master'Martin Storsjo2014-11-073-3/+3
|\
| * [MIPSR6] Skip assembler code using MFHI/MFLO on mips32r6Duane Sand2014-07-312-2/+2
| | | | | | | | Change-Id: I3dacd96cf9d5cf9c3d34d612ebb0456d64bc23bc
| * Merge "AArch64: Make LONG 4 bytes"Glenn Kasten2014-04-091-2/+2
| |\
| | * AArch64: Make LONG 4 bytesMarcus Oakland2014-03-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The libSYS/include/machine_type.h header file states LONG should be "Data type representing 4 byte signed integer on all supported platforms" but only provided for defining LONG as INT and ULONG as UINT when __x86_64__ was defined. This has been changed to when __LP64__ is defined, so that it also applies to AArch64. The change to libFDK/include/common_fix.h is then needed to get the project to compile. Change-Id: Iea42d7eca97dcc9da772a05b207d134cb999a72a Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
| * | Temporary workaround for 64-bit build errorGlenn Kasten2014-03-121-1/+1
| |/ | | | | | | | | | | Replace #error by #warning so we can build 64-bit Change-Id: Ib52fbfb0e5e945ff04ba51ae06b4e3393886d7b7
* | Extend the GetInvInt table to 80 elementsMartin Storsjo2014-08-011-6/+6
| | | | | | | | | | | | | | | | | | | | This is a bug fix patch from Fraunhofer, amending/replacing/extending the previous commit which only extended the table to 55 elements. (In my previous fix, 55 seemed to be enough for the issue at hand at least. A few of the coefficients had slightly different rounding than what Fraunhofer had used though). This will show up in AOSP in the next code drop as well.
* | Extend GetInvInt to support values up to 54Martin Storsjo2014-07-291-4/+4
| | | | | | | | | | | | | | | | | | For sample rates >= 64 kHz with short blocks, the largest sfb width is 36, which after grouping can be multiplied with 3, ending up as 108. GetInvInt needs to be able to support the largest grouped sfb width, divided by two (3 * 36 / 2 = 54). This fixes VBR encoding with sample rates >= 64 kHz.
* | Add ppc optimization for clz and fixmulMark Harris2014-05-265-1/+232
| | | | | | | | | | Optimize ppc/ppc64 similar to i386/x86_64, approximately doubling encoding speed on a Power Mac G5 running OS X 10.5.8.
* | Make LONG 32 bits for ppc64 as it is for x86_64Mark Harris2014-05-261-2/+2
| |
* | Fix PowerPC Mac buildMark Harris2014-05-261-0/+4
|/
* FDK update for downsampled SBRJean-Michel Trivi2013-08-272-0/+5
| | | | | | | | Add missing support for downsampled SBR in libFDK Bug 9428126 Change-Id: Idb732f8d31a115d36dd4b22916599db7fab98cae
* Disclaimer update, lib version incrementJean-Michel Trivi2013-08-2040-40/+40
| | | | | | | | | - Update disclaimer in all source files. - Increment library version in each FDK sub-module. Bug 9428126 Change-Id: I490b96d4ee472246b01483202b0bb4f1e9c2a5d7
* Bug 7170947 Update AAC codecJean-Michel Trivi2012-10-025-9/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From Fraunhofer: * AAC Decoder - Stick to the written MPEG standard instead of the MPEG reference software in terms of reference level normalization. Always set the program reference level equal to the target level. This disables level normalization using a default level for streams without embedded metadata. Modified file(s): libAACdec\src\aacdec_drc.cpp - Fix downmix channel assignment when using a WAV output channel ordering. Modified file(s): libPCMutils\src\pcmutils_lib.cpp - Retain signal accuracy and prevent LSB alteration when no level correction needs to be done. Modified file(s): libAACdec\src\aacdec_drc.h libAACdec\src\aacdec_drc.cpp libSBRdec\src\sbrdecoder.cpp libSBRdec\src\sbr_dec.cpp libSBRdec\src\sbrdec_drc.cpp - Align metadata processing with reference implementation. Modified file(s): libAACdec\src\aacdec_drc.h libAACdec\src\aacdecoder.cpp * AAC-Encoder - Prevent potential overflow in energy calculation after TNS processing. Modified file(s): libAACenc\src\band_nrg.cpp - Added saturation for number of relevant lines which are used in pe calculation. Modified file(s): libAACenc\src\line_pe.cpp - Removed obsolete files. Deleded file(s): libAACenc\src\tns_param.h libAACenc\src\tns_param.cpp * FDK-Library - Added x86 Count Leading Zeros intrinsic. Modified file(s): libFDK\include\clz.h Added file(s): libFDK\include\x86\clz_x86.h - Fixed compilation for MIPS GCC-4.4 and higher. Modified file(s): libFDK\include\mips\cplx_mul.h libFDK\include\mips\fixmul_mips.h Change-Id: I4be65f07f88d412224c7fddc3f054e8f451176cc
* fix mips build by reverting files backKeun young Park2012-09-112-31/+5
| | | | | | - MIPS still needs the work-around Change-Id: If68b2028bd2779ada79020bb333ec8817abe9429
* Bug fixes in AAC decoder, AAC encoder, FDK libraryJean-Michel Trivi2012-09-094-8/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Latest code drop from Fraunhofer: * AAC-Decoder - Expanded AAC-LD/ELD decoder TNS max band tables to avoid wrong data access for sampling rates <22kHz and >48kHz. Modified file(s): libAACdec\src\aacdec_tns.cpp libAACdec\src\aac_rom.h libAACdec\src\aac_rom.cpp - Fixed ELD synthesis QMF filterbank scaling for downsampled SBR. Modified file(s): libFDK\src\qmf.cpp * AAC-Encoder - Fixed bit rate limiting for lower limit as introduced in the Delivery 2012-05-11. Modified file(s): libAACenc\include\aacenc_lib.h libAACenc\src\aacenc.h libAACenc\src\aacenc.cpp libSBRenc\src\sbr_rom.h libSBRenc\src\sbr_rom.cpp - Allow negative prediction gain as meaning that there is no coding gain. Make use of scaleValueSaturate in gauss window calculation. Modified file(s): libAACenc\src\aacenc_tns.cpp - Added energy saturation to prevent overflow in short blocks. Modified file(s): libAACenc\src\grp_data.cpp - Perform scalefactor adaption in case quantized lines are out of valid range. Modified file(s): libAACenc\src\quantize.cpp - Interrupt quantization loop when no spectral data is available. Adjustments in bitreservoir adaption. Modified file(s): libAACenc\src\qc_main.cpp - Indroduced dynamic scaling in none missing harmonic energy lowering compensation. Modified file(s): libSBRenc\src\env_est.cpp * FDK-Library - Fixed saturation for negative values in scaleValueSaturate. Modified file(s): libFDK\include\scale.h Change-Id: If830ea65caef6b5554281e4b7a77a8b2e08825ce
* GCC 4.4 and later cannot handle h constructs. Fix to replace the assembly ↵Raghu Gandham2012-08-092-31/+5
| | | | | | constructs. Change-Id: I47509c20ee32f04ce42105563d2d4013910da531
* Snapshot 2bda038c163298531d47394bc2c09e1409c5d0dbThe Android Open Source Project2012-07-1139-0/+7888
Change-Id: If584e579464f28b97d50e51fc76ba654a5536c54