Commit Graph

570 Commits

Author SHA1 Message Date
Martin Storsjo 2326faaf8f Merge remote-tracking branch 'aosp/master' 2018-11-06 09:03:05 +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: 62623d8d79
2018-11-05 14:43:14 -05:00
Martin Storsjo 4d4845e1db Saturate additions in FDKaacEnc_IntensityStereoProcessing
This fixes a crash when encoding a sample from github issue #98.
2018-11-05 11:29:37 +02: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
Martin Storsjo 69a9b1a051 Merge remote-tracking branch 'aosp/master' 2018-10-16 09:45:37 +03:00
Martin Storsjo 28fdc28ec4 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-10-16 09:38:33 +03: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
Martin Storsjo e6bb256130 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-09-26 14:24:43 +03: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
Martin Storsjo 651ff34d8d 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-09-03 10:45:44 +03:00
Martin Storsjo 9b47a5e569 Add tighter sanity checks in CBlock_GetEscape
We can't read 31 bits of value here, since that would place the
topmost bit in the sign bit.

Fixes: 3480/clusterfuzz-testcase-4573445423628288

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
2018-09-03 10:10:12 +03:00
Martin Storsjo 99c95ca3ea 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-09-03 09:57:53 +03:00
Doug Benedict 2e23af940d Make sure there are enough bits when reading ADTS header. 2018-09-03 09:57:46 +03:00
Martin Storsjo 574bd5e407 Recognize the MSVC ARM64 compiler arch identification 2018-09-02 23:27:57 +03:00
Martin Storsjo 99e092f47b Replace __attribute__((always_inline)) with FDK_FORCEINLINE
This fixes compilation for ARM with MSVC.
2018-09-02 23:26:56 +03:00
Martin Storsjo 5d116645cb Update Makefile.vc for the new upstream version 2018-09-02 23:26:16 +03:00
Martin Storsjo ab052fada0 Adjust the aac-enc.c encoding example to fix flushing the encoder with FDKv2
Even with numInSamples == -1, all the buffer pointers need to be non-null.
2018-09-02 23:25:42 +03:00
Martin Storsjo e646f07dbb Bump the version for the project to 2.0.0
Bump the major version all the way to 2, skipping 1, to sync the
major version with what the upstream seems to be using (commit logs
talk about "FDKv2").
2018-09-02 23:24:42 +03:00
Martin Storsjo 59995402a5 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-09-02 23:18:06 +03:00
Martin Storsjo 44f8845eb6 Reorder source file lists in Makefile.am into alphabetical order 2018-09-02 23:17:33 +03:00
Martin Storsjo 0c1a0694d6 Update Makefile.am after the upstream source update 2018-09-02 23:17:27 +03:00
Martin Storsjo b95b15e51d Merge remote-tracking branch 'aosp/master' 2018-09-02 23:16:58 +03: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
Martin Storsjo e45ae429b9 Use TT_MP4_ADTS instead of a literal number in the encoder example 2018-07-05 23:01:56 +03: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 f19e863cce 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 a4d1f0ad52 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 44ac411683 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
android-build-team Robot 2fd44f2027 Snap for 4765094 from 9ab67882ec to pi-release
Change-Id: Iecf0e5905c400a1b43555619b5bf7e1823f15f48
2018-05-06 07:23:21 +00:00
Fraunhofer IIS FDK 259a3c5bd5 FDKv2 additional fixes
am: 9ab67882ec

Change-Id: Ia2ecfc503d1c2a429ad1c7dd5103263c02691a56
2018-05-04 17:25:53 -07:00
Fraunhofer IIS FDK 9ab67882ec FDKv2 additional fixes
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

Add restriction to call intensity stereo tool only for applicable configurations

Change-Id: I30ec6640bd484c56cc9d5b8b35186fc1c875e021

Fix high band energy calculation in sbr encoder

Change-Id: I964dd46fab2ed797c440a983512bbab7e1aff98a

Fix out-of-bounds read access in noiseless coder

Change-Id: I9a669435dbdca421ff9e4affec57811002d75b3b

Use temporary buffer for dummy parsing to check presence of audioPreroll data

Change-Id: I2d42c5c8deddde34351c3d2858b9fe196b3a0906

Set applyAsc to 1 in case that the ASC parsing fails

Change-Id: I552a8b960270bc18cae459ad28a3ba241035668e

Parametric stereo together with mps not supported

Change-Id: Icde14a2774a4303bb0c41046861a59d04b624365

Align ssc callback error path for drm

Change-Id: Ie8ecbfa42c702e6df81c1aec532a9ff1e653dac9

Ensure that the bit counter starts at a multiple of TPDEC_SYNCSKIP

Change-Id: I08d69ec361b2e2ed800282e333fd248b4b3ca245

Allow flushing only when audioPreroll is enabled in current and new config

Change-Id: I52e95d75de4bbed692be922a59a23bda58870625

Omit reverse channel mapping in pass through mode

Change-Id: I335e209c29a700cc091be069f1d08e4288b40793
2018-05-04 11:05:58 -07:00
Martin Storsjo a50eecf65b Fix overflows in accumulation, fixing crashes
This fixes github issue #83.
2018-05-04 12:47:17 +03:00