1
0
mirror of https://github.com/mstorsjo/fdk-aac.git synced 2025-02-21 13:20:36 +01:00

437 Commits

Author SHA1 Message Date
Martin Storsjo
36a85bf987 Saturate additions in spectralChange
This fixes a crash.
2018-11-06 09:43:04 +02:00
Martin Storsjo
ec01f65d98 TESTING: Convert aac-dec.c to feed bytes blindly 2018-11-06 09:43:04 +02:00
Martin Storsjo
4e24c5956a Add an example of decoding from an ADTS file 2018-11-06 09:43:04 +02:00
Martin Storsjo
27de781e71 Add wav writer functions, for use with a decoder example 2018-11-06 09:43:04 +02:00
Martin Storsjo
35d6f66c58 Saturate additions in FDKaacEnc_IntensityStereoProcessing
This fixes a crash when encoding a sample from github issue #98.
2018-11-06 09:03:34 +02:00
Martin Storsjo
2df66985b5 Reapply: Avoid reading out of bounds due to too large aaIidIndexMapped
Fixes: 10726/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_LIBFDK_AAC_fuzzer-5167035365982208

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2018-11-06 09:03:34 +02:00
Martin Storsjo
bcfdf45d12 Reapply: Avoid reading out of bounds due to negative aaIccIndexMapped
Fixes: 10325/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_LIBFDK_AAC_fuzzer-5740113355603968

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2018-11-06 09:03:34 +02:00
Martin Storsjo
1a9100c1b7 Remove a duplicate definition of fMax/fMin for x86_64 mingw
FIXP_SGL is a typedef for SHORT, so these extra definitions (which
only were enabled on x86_64 mingw) were duplicates with the fMin/fMax
functions defined for FIXP_SGL right above.
2018-11-06 09:03:34 +02:00
Martin Storsjo
9cd3040ff9 Initialize the transport decoder library with TPDEC_PARAM_IGNORE_BUFFERFULLNESS
Prior to FDKv2, this was what the library used to do.

This makes sure that the decoder actually decodes ADTS frames directly
if feeding full ADTS frames to the decoder. Previously after FDKv2,
the decoder would only start decoding ADTS frames after feeding a few
frames.
2018-11-06 09:03:14 +02:00
Doug Benedict
944114bb04 Make sure there are enough bits when reading ADTS header. 2018-11-06 09:03:14 +02:00
Martin Storsjo
b51c73991c Recognize the MSVC ARM64 compiler arch identification 2018-11-06 09:03:14 +02:00
Martin Storsjo
4cdeed63b4 Replace __attribute__((always_inline)) with FDK_FORCEINLINE
This fixes compilation for ARM with MSVC.
2018-11-06 09:03:14 +02:00
Martin Storsjo
d058692675 Add an fdk_ prefix to t_qua_gain7b
This fixes symbol collisions, if libfdk-aac and libopencore-amr are
statically linked into the same binary.
2018-11-06 09:03:14 +02:00
Martin Storsjo
b69a012832 Fix building with MSVC for ARM
cmnintrin.h only existed for Windows CE, and doesn't seem to actually
be necessary for building this.
2018-11-06 09:03:14 +02:00
opcodevoid
f2b77f8100 Windows MSVC Makefile 2018-11-06 09:03:14 +02:00
Guillaume Smaha
77fbe5d3e0 Invert inline and void to be compatible with gcc 3.3.4 2018-11-06 09:03:14 +02:00
Vicente Olivert Riera
6eb248d1a4 libFDK/include/mips/cplx_mul.h: use C code instead of ASM
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>
2018-11-06 09:03:14 +02:00
Jasper Lievisse Adriaanse
89dd198533 Fix the preprocessor statements controlling the use of mips{32,64}r1 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)
2018-11-06 09:03:14 +02:00
Mark Harris
6c533b8a8e Add ppc optimization for clz and fixmul
Optimize ppc/ppc64 similar to i386/x86_64, approximately doubling
encoding speed on a Power Mac G5 running OS X 10.5.8.
2018-11-06 09:03:14 +02:00
Mark Harris
c3769df14c Fix PowerPC Mac build 2018-11-06 09:03:14 +02:00
Martin Storsjo
68e7a95519 Include the library versions in the publicly installed headers
This allows callers to conditionally use new API features without
breaking compatibility with the earlier versions of the library.
2018-11-06 09:03:14 +02:00
Martin Storsjo
1e1eca7c3f Add automake/autoconf source files
Also add examples.
2018-11-06 09:03:14 +02:00
Sergio Ammirata
661e20600f Add support for Workgroup 4 (WG4) channel mapping
This is the channel ordering used in DVD Audio, and is the standard
used internally in the VLC media player.
2018-11-06 09:03:14 +02:00
Treehugger Robot
a4d6ca7b07 Merge "Fix huffman decoder escape sequence length limitation." 2018-11-05 22:58:33 +00:00
Fraunhofer IIS FDK
f90be06503 Fix huffman decoder escape sequence length limitation.
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Bug: 112661753

Change-Id: Ib05cc2c065739c27b9720a24f90d0ce4d15bf601
Merged-In: 62623d8d797a3d7314834c59ebc785e738965635
2018-11-05 14:43:14 -05:00
Bill Yi
a1c3f92674 Merge pie-platform-release to aosp-master - DO NOT MERGE
Change-Id: Iccc6a8552f6ae249487f8fc9dcee8b193327c6f3
2018-10-24 14:45:34 -07:00
Jean-Michel Trivi
40676e7cba Merge "Fix call to function sbrDecoder_Header() through pointer to incorrect function type."
am: fb65c0c24b

Change-Id: I0fcbaf9d5b03272b1a8c4872e6ac02f7c6dc2c3a
2018-10-12 11:57:26 -07:00
Jean-Michel Trivi
fb65c0c24b Merge "Fix call to function sbrDecoder_Header() through pointer to incorrect function type." 2018-10-12 18:33:22 +00:00
Fraunhofer IIS FDK
9db742a7d3 Fix call to function sbrDecoder_Header() through pointer to incorrect function type.
While testing FDK in Android P DP3 x86 64bit emulator we observed a runtime error.
The function parameter of the callback didn't use a typeless pointer.
Following patch contains a revised sbr decoder callback function with explicit data type cast to be inline with all other callbacks in FDK.

Bug: 112662306
Bug: 116075869
Test: on x86: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: Id224de22beaf2eb9631babd838c4c3ceae0a801e
Merged-In: Idc9c44a9755b8151d5c7d8107696f43ac592413b
2018-10-12 12:02:30 -04:00
Jean-Michel Trivi
efe7d49245 Merge "Signed Integer Overflow in DuckerCalcEnergy()"
am: 78f80da872

Change-Id: If4010115866eeb52033fa361aafdb6665c824471
2018-10-04 17:15:49 -07:00
Jean-Michel Trivi
78f80da872 Merge "Signed Integer Overflow in DuckerCalcEnergy()" 2018-10-04 23:59:49 +00:00
Fraunhofer IIS FDK
b4e3109937 Signed Integer Overflow in DuckerCalcEnergy()
Bug: 112122038
Bug: 112891546
Test: see b/112122038 for repro stream
Change-Id: I7542e2a9033c2e97bf32e0be3bbc6f48746d28f0
2018-10-04 14:50:18 -07:00
Chih-hung Hsieh
fa1ce53961 Merge "Suppress -Wimplicit-fallthrough."
am: 8704782ffd

Change-Id: I4712438bc10c81df6fef4d3a8ea6efeae483a6fe
2018-09-05 09:42:47 -07:00
Chih-hung Hsieh
8704782ffd Merge "Suppress -Wimplicit-fallthrough." 2018-09-05 16:30:42 +00:00
Chih-Hung Hsieh
96ed252649 Suppress -Wimplicit-fallthrough.
-Wimplicit-fallthrough will be enabled globally.

Test: build with global -Wimplicit-fallthrough.
Change-Id: I13b4402d9df23a888bdc80be4ce39cd5cd4cff7f
2018-09-04 14:20:04 -07:00
Xin Li
c382b2dd60 Merge "Merge Android Pie into master" am: 7027cd8748
am: 6acb615429

Change-Id: I1e133a180eccad7a726a4f37ebbf378a5f15c7a4
2018-08-07 17:03:12 -07:00
Xin Li
6acb615429 Merge "Merge Android Pie into master"
am: 7027cd8748

Change-Id: I8af7f0e7c9e5527c66d4f2d75a3e70f620a5ccee
2018-08-07 13:25:27 -07:00
Xin Li
7027cd8748 Merge "Merge Android Pie into master" 2018-08-07 16:51:25 +00:00
Xin Li
0757f38b01 Merge Android Pie into master
Bug: 112104996
Change-Id: I110b508de124016501bc62120163c58633857438
2018-08-06 16:50:14 -07:00
Xin Li
506b9834d6 Merge pi-dev-plus-aosp-without-vendor into stage-aosp-master
am: 6a79fb47e4

Change-Id: Ib9c8ca0370bee684b8b6ae903325ea8f1f1b34d3
2018-06-09 01:50:13 -07:00
Xin Li
6a79fb47e4 Merge pi-dev-plus-aosp-without-vendor into stage-aosp-master
Bug: 79597307
Change-Id: Ia98e005208999b395595ef647902768a1199eaa4
2018-06-08 11:06:57 -07:00
android-build-team Robot
f76ceebf7a Snap for 4807121 from f19e863cce96cc1e5f4ad7ce512810d5a2843ea6 to pi-release
Change-Id: I8797944fb72a1182a059e75425a8b54b4e8abf51
2018-05-27 07:25:24 +00:00
Fraunhofer IIS FDK
1f93990cfc Fix unsigned integer overflow in aacDecoder_UpdateBitStreamCounters()
am: f19e863cce

Change-Id: I0e8a97a690f959840fbb3a249e41b260ac87d922
2018-05-25 19:06:33 -07:00
Fraunhofer IIS FDK
f19e863cce Fix unsigned integer overflow in aacDecoder_UpdateBitStreamCounters()
Bug: 80314771
Test: play AAC content over 2GB
Change-Id: If791305bf95680b945971f9dc5f58495cbf6c8cd
2018-05-25 15:38:52 -07:00
Fraunhofer IIS FDK
634d4f789c FDKv2 ubsan patches
am: a4d1f0ad52

Change-Id: Ic489768836aae6a9b9cab9e866ecc8b21d819368
2018-05-24 07:24:02 -07:00
android-build-team Robot
c85b838a65 Snap for 4801384 from a4d1f0ad52e2cf6f168d2193216602f52033fc27 to pi-release
Change-Id: Iab0959417db83cdeb3af7ce59ef4d8584a96b8be
2018-05-24 07:24:38 +00:00
Fraunhofer IIS FDK
a4d1f0ad52 FDKv2 ubsan patches
Bug: 80053205
Test: see bug for repro with FB "wow"
   atest DecoderTestAacDrc

Fix signed integer overflows in CLpc_SynthesisLattice()

Change-Id: Icbddfcc8c5fc73382ae5bf8c2a7703802c688e06

Fix signed integer overflows in imlt

Change-Id: I687834fca2f1aab6210ed9862576b4f38fcdeb24

Fix overflow in addLowbandEnergies()

Change-Id: Iaa9fdf9deb49c33ec6ca7ed3081c4ddaa920e9aa

Concealment fix for audio frames containing acelp components

Change-Id: Ibe5e83a6efa75a48f729984a161a76b826878f4e

Fix out-of-bounds access in PS concealment

Change-Id: I08809a03a40d1feaf00e41278db314d67e1efe88

Fix potential memory leak in setup of qmf domain

Change-Id: Id9fc2448354dc7f1b439469128407305efa3def2

Reject channel config 13

Change-Id: Idf5236f6cd054df994e69c9c972c97f6768cf9e5

Fix unsigned integer overflow in configExtension()

Change-Id: I8a1668810b85e6237c3892891444ff08f04b019b

Fix unsigned integer overflow in CAacDecoder_DecodeFrame()

Change-Id: I79678c571690178e6c37680f70a9b94dd3cbc439

Fix unsigned integer overflow in aacDecoder_UpdateBitStreamCounters()

Change-Id: I3bff959da9f53fabb18cd0ae6c260e6256194526

Fix unsigned integer overflow in transportDec_readStream()

Change-Id: I6a6f9f4acaa32fae0b5de9641f8787bbc7f8286b
2018-05-23 12:19:40 -07:00
android-build-team Robot
e30420c551 Snap for 4773106 from 44ac411683e7cfbfdb1f58e02d54377d709c8dd4 to pi-release
Change-Id: I5a98f52a42445a8a9cbd9e582612a57d1e277f5d
2018-05-10 07:21:32 +00:00
Fraunhofer IIS FDK
57d474b424 FDK patches: fix overflows in decoder out-of-band config
am: 44ac411683

Change-Id: I8b82f2a074eac9906d6e7badaf1cbb449ad13bdf
2018-05-09 17:14:10 -07:00
Fraunhofer IIS FDK
44ac411683 FDK patches: fix overflows in decoder out-of-band config
Bug: 71430241
Bug: 79220129
Test: cts-tradefed run commandAndExit cts-dev -m CtsMediaTestCases -t android.media.cts.DecoderTestXheAac
      cts-tradefed run commandAndExit cts-dev -m CtsMediaTestCases -t android.media.cts.DecoderTestAacDrc

Unsigned Integer Overflows in CDataStreamElement_Read()

Change-Id: Ic2f5b3ae111bf984d4d0db664823798957b0a979

Unsigned Integer Overflow in CProgramConfig_ReadHeightExt()

Change-Id: Iaebc458bb59504203e604a28ed6d5cecaa875c42

Unsigned Integer Overflow in transportDec_OutOfBandConfig()

Change-Id: I24a4b32d736f28c55147f0e2ca06fe5537da19c2

Unsigned Integer Overflows in CDKcrcEndReg() & crcCalc()

Change-Id: I6ebbe541a4d3b6bacbd5ace17264972951de7ca8

Unsigned Integer Overflows in ReadPsData()

Change-Id: Id36576fe545236860a06f17971494ecd4484c494

Unsigned Integer Overflow in SpatialDecParseSpecificConfig()

Change-Id: Ib468f129a951c69776b88468407f008ab4cfd2c7

Unsigned Integer Overflows in _readUniDrcConfigExtension() & _readLoudnessInfoSetExtension()

Change-Id: Ibcf7c6a23af49239206ea9301c58adac36e3ceba
2018-05-09 15:15:28 -07:00