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

1019 Commits

Author SHA1 Message Date
Fraunhofer IIS FDK
ba00378577 Add sampling rate sanity check
Bug: 112661641
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc
Change-Id: I8e416fb1501dabda20babd4a28a99ab06950b221
2018-09-05 14:05:32 -07:00
Chih-hung Hsieh
1a7b548917 Merge "Suppress -Wimplicit-fallthrough." am: 8704782ffd am: fa1ce53961
am: 5caf4ae2e9

Change-Id: I4cb5ea83912112ed458d538997a0e70ad967673b
2018-09-05 10:11:59 -07:00
Chih-hung Hsieh
5caf4ae2e9 Merge "Suppress -Wimplicit-fallthrough." am: 8704782ffd
am: fa1ce53961

Change-Id: I17099cda4a919b28aab856fffbb843609bf56cf9
2018-09-05 09:50:56 -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
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
Fraunhofer IIS FDK
15292f7e96 Prevent bit buffer counter overflow.
While long-term test we discovered a bit counter overflow in the bit buffer.
The bit buffer state was only used by HCR and RVLC tool and can easily be substituted with FDKgetValidBits() call.
The following patch completely removes the bit counter and all its obsolete functions.

Bug: 112662184
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Change-Id: Icee0519d26a2aa62367d2dece59cd3d60ffcade7
2018-08-17 16:36:07 -07:00
Fraunhofer IIS FDK
62623d8d79 FDK sanitization fixes
Bug: 110641440
Bug: 109936783
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc

Prevent bit buffer counter overflow.

While long-term test we discovered a bit counter overflow in the bit buffer.
The bit buffer state was only used by HCR and RVLC tool and can easily be substituted with FDKgetValidBits() call.
The following patch completely removes the bit counter and all its obsolete functions.

Change-Id: Icee0519d26a2aa62367d2dece59cd3d60ffcade7

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.

Change-Id: Id224de22beaf2eb9631babd838c4c3ceae0a801e

Fix huffman decoder escape sequence length limitation.

Change-Id: Ib05cc2c065739c27b9720a24f90d0ce4d15bf601

Prevent overflow in MPEG-D DRC _setSelectionDataInfo().

Change-Id: I3b90ef7a5168e20766a2574d57d81bb39d2a5fb9

Add sanity check for allowed LPD sampling rate.

Change-Id: I0702024adc07ed463db795dd48f4efd3de1d7896

Always check whether given channel config is supported.

Change-Id: I169161dd31bc624f2cab6be2b4c6518946ed32ba

Unsigned Integer Overflow in aacDecoder_DecodeFrame().

Change-Id: I617dd545f9ea0aca5a5e7d214bbc35f089bc355d

Unsigned Integer Overflow in SpatialDecParseSpecificConfigHeader().

Change-Id: I5994a55f993835fa511ff61a337726b3e51aed5d

Unsigned Integer Overflows in mpegSurroundDecoder_Parse().

Change-Id: I3714e88d7a9a866297bb2e93571804665a97773f

Unsigned Integer Overflow in transportDec_AdjustEndOfAccessUnit().

Change-Id: Ie4924460d30ea4ef76917704ded809d04db78993

Unsigned Integer Overflow in transportDec_readHeader().

Change-Id: I0beedab38175fc57e5bd9eb5700a3850ef2bebf7

UBSAN overflow in FFT

An overflow in the fft was observed for certain configurations. The root cause was in the scaling of the fft input data in dct_IV and dst_IV.
The following patch revises the scaling in dct and removes the unused arm implementation.

Change-Id: Idc9c44a9755b8151d5c7d8107696f43ac592413b
2018-08-14 16:56:02 +00:00
Xin Li
e2fc820df9 Merge "Merge Android Pie into master" am: 7027cd8748 am: 6acb615429 am: c382b2dd60
am: fa9b252972

Change-Id: I98fd754133700f09c85e6800dcc279194cad12d5
2018-08-08 01:18:26 -07:00
Xin Li
fa9b252972 Merge "Merge Android Pie into master" am: 7027cd8748 am: 6acb615429
am: c382b2dd60

Change-Id: If019fd3b379287c9beb8e4e1419e5a2ec530c160
2018-08-07 20:45:13 -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
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
b7e817fcac Merge pi-dev-plus-aosp-without-vendor into stage-aosp-master am: 6a79fb47e4
am: 506b9834d6

Change-Id: If07c10bbca64e8dd34451b8527df49157bf49a4d
2018-06-09 05:22:18 -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
c2a874bf86 Fix unsigned integer overflow in aacDecoder_UpdateBitStreamCounters() am: f19e863cce
am: 1f93990cfc

Change-Id: Ia29d1f4c6b384d6ddd3319378cbf402c2838b557
2018-05-25 19:12:04 -07: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
a2d2e68442 FDKv2 ubsan patches am: a4d1f0ad52
am: 634d4f789c

Change-Id: I821ae5ab71e3d77260af76a4fc3e625dc0141fd5
2018-05-24 10:28:30 -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
3727e8927f FDK patches: fix overflows in decoder out-of-band config am: 44ac411683
am: 57d474b424

Change-Id: I88183937af5edfb0430f64618b8c25f066f698de
2018-05-09 17:26:58 -07: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 9ab67882eca7454dc001e158bc1e6e2219d6650b to pi-release
Change-Id: Iecf0e5905c400a1b43555619b5bf7e1823f15f48
2018-05-06 07:23:21 +00:00
Fraunhofer IIS FDK
b2ce5c82bd FDKv2 additional fixes am: 9ab67882ec
am: 259a3c5bd5

Change-Id: Iac5c03364819ea0ef7a91cccfc0b62af0b19b612
2018-05-04 17:41:40 -07: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
android-build-team Robot
fa5ad13b37 Snap for 4754571 from 6cfabd35363c3ef5e3b209b867169a500b3ccc3c to pi-release
Change-Id: I130760e1e9a6c00340ae89ffd327f340c236716e
2018-05-01 07:21:40 +00:00
Fraunhofer IIS FDK
2ef3dc81e5 Upgrade to FDKv2 am: 6cfabd3536
am: df390e3492

Change-Id: I85b3d72305a60cadb1071e26f50f36ed2c04b1dd
2018-04-30 17:31:40 -07:00