Commit Graph

1289 Commits

Author SHA1 Message Date
Fraunhofer IIS FDK d9e31b0700 Evaluate and return StoreConfigAsBitstream() error state. am: 702d914e1a am: 87ec9dc4b9
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893577

Change-Id: Ic6f76d8631656088034e07e1573a49e6bd6df35a
2021-03-19 03:25:39 +00:00
Fraunhofer IIS FDK 52a206c940 Check transportDec_OutOfBandConfig() input buffer size parameter. am: ef5f44c760 am: 4ee3d5e502
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893576

Change-Id: I50fe4fe54c4204e4b3a0461d583190b57c4f0cfd
2021-03-19 03:25:36 +00:00
Fraunhofer IIS FDK 28d4ee7c57 ELD downscale factor 3 is only allowed for framesize 480. am: 18758b9fe1 am: a98b84dad0
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893575

Change-Id: Ic8c1d24c19f3d74a5b309394a3ce999f2f20c6b0
2021-03-19 03:25:34 +00:00
Fraunhofer IIS FDK f7fe3b9b18 Improve decoder robustness by storing flags and elFlags temporarily. am: b93f896f37 am: bdf161824b
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893574

Change-Id: I7838577da3ccfeaae426703b7ef1b1d3411647d1
2021-03-19 03:25:32 +00:00
Fraunhofer IIS FDK cd6f2b27e6 Revise bypass mode in SpatialDecApplyParameterSets() to prevent an assert in fDivNorm(). am: a1a8f69b14 am: 1e1d714dd1
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893573

Change-Id: Ic6160d133e8230e8315667f98e55403a3b7a30aa
2021-03-19 03:25:30 +00:00
Fraunhofer IIS FDK 0e247f183d Check number of core channels and SAC decoder input channels to avoid a channel mismatch. am: 87e01ef1e7 am: c7f9c11adf
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893572

Change-Id: Ida44b892a90c804eb20dde496b8d22a20ac01a25
2021-03-19 03:25:28 +00:00
Fraunhofer IIS FDK c419180e46 Prevent integer overflow in subbandTPApply() energy update. am: e916be37f2 am: 1f9f6958c3
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893571

Change-Id: I42f40b379ae405dcd4a87ed0d3185dc590460030
2021-03-19 03:25:26 +00:00
Fraunhofer IIS FDK 98b9c134a5 Limit smoothedNoise values to avoid integer overflows in adjustTimeSlotHQ() and adjustTimeSlotHQ_GainAndNoise(). am: ba54a5c040 am: d40cec83ed
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893570

Change-Id: I08ae5cbc12f285250afcf8a5db623d81ec5c7daf
2021-03-19 03:25:25 +00:00
Fraunhofer IIS FDK 7c6b987fc0 Avoid integer overflow in dct_II(). am: 19c8cc495e am: 7f707f8057
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893569

Change-Id: I9d30b004a103014e61a2881df7dc5ded1e3b2dde
2021-03-19 03:25:23 +00:00
Fraunhofer IIS FDK eac65eded1 Prevent integer overflows in dualChannelFiltering() and eightChannelFiltering(). am: 614b9f005a am: a948ff1cd4
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893568

Change-Id: Ied51faf01028a95104a479754dc2454204cfa5ff
2021-03-19 03:25:21 +00:00
Fraunhofer IIS FDK 678582779c Adjust VBR mode depending on given peak bitrate and fix crash recovery usage. am: f89d1d0a4e am: f04901b42a
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893567

Change-Id: I09a8ea695781097f9f56433eb6e7870913cf6616
2021-03-19 03:25:19 +00:00
Fraunhofer IIS FDK 87ec9dc4b9 Evaluate and return StoreConfigAsBitstream() error state. am: 702d914e1a
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893577

Change-Id: I4c50ac58579ba0ab0efa1efec8cd84579003cb45
2021-03-19 02:51:11 +00:00
Fraunhofer IIS FDK 4ee3d5e502 Check transportDec_OutOfBandConfig() input buffer size parameter. am: ef5f44c760
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893576

Change-Id: I3774fc7e9af8e3ae2df9533625a82ae5072f3494
2021-03-19 02:51:09 +00:00
Fraunhofer IIS FDK a98b84dad0 ELD downscale factor 3 is only allowed for framesize 480. am: 18758b9fe1
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893575

Change-Id: I7ad315dd40ec894650808503136b1e223df38fc6
2021-03-19 02:51:07 +00:00
Fraunhofer IIS FDK bdf161824b Improve decoder robustness by storing flags and elFlags temporarily. am: b93f896f37
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893574

Change-Id: Id0cce2d6202fa4aca32bfab283317793a84195e4
2021-03-19 02:51:05 +00:00
Fraunhofer IIS FDK 1e1d714dd1 Revise bypass mode in SpatialDecApplyParameterSets() to prevent an assert in fDivNorm(). am: a1a8f69b14
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893573

Change-Id: I9bba810c814f2d68710a1d94df680e714241dbc4
2021-03-19 02:51:03 +00:00
Fraunhofer IIS FDK c7f9c11adf Check number of core channels and SAC decoder input channels to avoid a channel mismatch. am: 87e01ef1e7
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893572

Change-Id: I307d428eb2801a8a10b8aa4519979db550f1d688
2021-03-19 02:51:01 +00:00
Fraunhofer IIS FDK 1f9f6958c3 Prevent integer overflow in subbandTPApply() energy update. am: e916be37f2
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893571

Change-Id: I738274cd97a1c24d635d5c7f6a8efee8efc62e5c
2021-03-19 02:50:59 +00:00
Fraunhofer IIS FDK d40cec83ed Limit smoothedNoise values to avoid integer overflows in adjustTimeSlotHQ() and adjustTimeSlotHQ_GainAndNoise(). am: ba54a5c040
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893570

Change-Id: I84f177df0aaa55929682b56a7bf2902c4f5fb9e7
2021-03-19 02:50:57 +00:00
Fraunhofer IIS FDK 7f707f8057 Avoid integer overflow in dct_II(). am: 19c8cc495e
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893569

Change-Id: I806a23071a940dbdb74d0e921c2b7312ae7c856b
2021-03-19 02:50:55 +00:00
Fraunhofer IIS FDK a948ff1cd4 Prevent integer overflows in dualChannelFiltering() and eightChannelFiltering(). am: 614b9f005a
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893568

Change-Id: Ibcb7694e41a6836f5c46901cce534ea3d8813ab2
2021-03-19 02:50:53 +00:00
Fraunhofer IIS FDK f04901b42a Adjust VBR mode depending on given peak bitrate and fix crash recovery usage. am: f89d1d0a4e
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893567

Change-Id: I45a95e5562b8e7b8fef1e27d5e1aa28df1f1325f
2021-03-19 02:50:51 +00:00
Xin Li 27a2f364cb [automerger skipped] Mark ab/7061308 as merged in stage. am: 6d10f91a77 -s ours am: 10a3289cdd -s ours am: c726622078 -s ours
am skip reason: Change-Id Id04d2590c249cad13da8dd8975d0a12ce96a9597 with SHA-1 a5f0e4af6d is in history

Original change: undetermined

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia59fdb0a73c7f0a6957d93b06ed59156a706aeed
2021-02-20 16:40:18 +00:00
Xin Li c726622078 [automerger skipped] Mark ab/7061308 as merged in stage. am: 6d10f91a77 -s ours am: 10a3289cdd -s ours
am skip reason: Change-Id Id04d2590c249cad13da8dd8975d0a12ce96a9597 with SHA-1 a5f0e4af6d is in history

Original change: undetermined

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I351222fa379905cfb22d3d4a5c9022dda52a07cd
2021-02-20 15:36:48 +00:00
Xin Li 10a3289cdd [automerger skipped] Mark ab/7061308 as merged in stage. am: 6d10f91a77 -s ours
am skip reason: Change-Id Id04d2590c249cad13da8dd8975d0a12ce96a9597 with SHA-1 a5f0e4af6d is in history

Original change: undetermined

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ia658697341d335415b30e7c47015c78cbc308c34
2021-02-20 14:53:59 +00:00
Xin Li 6d10f91a77 Mark ab/7061308 as merged in stage.
Bug: 180401296
Merged-In: Id04d2590c249cad13da8dd8975d0a12ce96a9597
Change-Id: I4da99b78b01817308d8572d3c0d5b224b7d36a73
2021-02-20 00:24:02 -08:00
Bob Badour 69179af1ee Merge "[LSC] Add LOCAL_LICENSE_KINDS to external/aac" am: 9f1be9d06f am: 7ad87e81d7 am: 2020366ce7 am: 24a33f559c
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1588770

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I8b242f3f29aaba1a2b75deddf80c1caf967181b8
2021-02-17 20:28:37 +00:00
Bob Badour 24a33f559c Merge "[LSC] Add LOCAL_LICENSE_KINDS to external/aac" am: 9f1be9d06f am: 7ad87e81d7 am: 2020366ce7
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1588770

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I889815ab215531c3f2cd8a166c257ab9d00dbe8f
2021-02-17 19:43:57 +00:00
Bob Badour 2020366ce7 Merge "[LSC] Add LOCAL_LICENSE_KINDS to external/aac" am: 9f1be9d06f am: 7ad87e81d7
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1588770

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I12c397ed7120bed1014941d0b1413d2bf9c29bb5
2021-02-17 18:48:56 +00:00
Treehugger Robot 7fb40a5fbe Merge "Fix improper assignment in aac_enc_fuzzer" am: dde78303e8 am: b3ae2fd27f am: 80ccc5df59 am: 80ec04f39f
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1592151

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I23c603170477f2afaa2b0bf7c4718c89775beecf
2021-02-17 18:22:12 +00:00
Bob Badour 7ad87e81d7 Merge "[LSC] Add LOCAL_LICENSE_KINDS to external/aac" am: 9f1be9d06f
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1588770

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I37a9304f439a0ed700126de649a37378d03ce6bc
2021-02-17 18:07:22 +00:00
Treehugger Robot 80ec04f39f Merge "Fix improper assignment in aac_enc_fuzzer" am: dde78303e8 am: b3ae2fd27f am: 80ccc5df59
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1592151

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I95a53a55339caf67184bb3c8fc8c562c634bb159
2021-02-17 17:37:17 +00:00
Bob Badour 9f1be9d06f Merge "[LSC] Add LOCAL_LICENSE_KINDS to external/aac" 2021-02-17 17:32:45 +00:00
Treehugger Robot 80ccc5df59 Merge "Fix improper assignment in aac_enc_fuzzer" am: dde78303e8 am: b3ae2fd27f
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1592151

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I5758ea2841ee0323b20459e0a2dabacd509c14ca
2021-02-17 17:01:02 +00:00
Treehugger Robot b3ae2fd27f Merge "Fix improper assignment in aac_enc_fuzzer" am: dde78303e8
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1592151

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib28a2522296895dec1d6a5cc465a7427e19ab93a
2021-02-17 16:22:30 +00:00
Treehugger Robot dde78303e8 Merge "Fix improper assignment in aac_enc_fuzzer" 2021-02-17 15:54:03 +00:00
Anuj Joshi b50bd1751d Fix improper assignment in aac_enc_fuzzer
This commit updates the fuzzer to use correct value of
kSignalingModesSize and prevent OOB access on kSignalingModes

Test: ./aac_enc_fuzzer
Bug: 180220144

Change-Id: Ic9d01c5c166f2291d8d8ffacaa7813fb1560322b
2021-02-17 17:01:03 +05:30
Fraunhofer IIS FDK 702d914e1a Evaluate and return StoreConfigAsBitstream() error state.
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I025e943e91f9be1a5259a761a8ff88defd8babea
2021-02-14 12:21:52 -08:00
Fraunhofer IIS FDK ef5f44c760 Check transportDec_OutOfBandConfig() input buffer size parameter.
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I60ac86f09a5652c820d60dfdc12212637f888164
2021-02-14 12:21:44 -08:00
Fraunhofer IIS FDK 18758b9fe1 ELD downscale factor 3 is only allowed for framesize 480.
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I9681942ba39761e4f1d66236ad80c2420ca5abe9
2021-02-14 12:21:33 -08:00
Fraunhofer IIS FDK b93f896f37 Improve decoder robustness by storing flags and elFlags temporarily.
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I6aaeef87e1f2ce5d5031f088b8c57e6f5806929d
2021-02-14 12:21:24 -08:00
Fraunhofer IIS FDK a1a8f69b14 Revise bypass mode in SpatialDecApplyParameterSets() to prevent an assert in fDivNorm().
Bug: 176246647
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I198747688f1677b82f27a17a2fcf40229c92b1da
2021-02-14 12:21:14 -08:00
Fraunhofer IIS FDK 87e01ef1e7 Check number of core channels and SAC decoder input channels to avoid a channel mismatch.
Bug: 176246647
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: Ib8b6973e9c29e13b8ef33d7736be2b977928face
2021-02-14 12:21:04 -08:00
Fraunhofer IIS FDK e916be37f2 Prevent integer overflow in subbandTPApply() energy update.
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I9ed8b33414907706808956cffad252052928c799
2021-02-14 12:20:56 -08:00
Fraunhofer IIS FDK ba54a5c040 Limit smoothedNoise values to avoid integer overflows in adjustTimeSlotHQ() and adjustTimeSlotHQ_GainAndNoise().
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: Ib630d56a626ddd59a9155df38cda2011c3165346
2021-02-14 12:20:35 -08:00
Fraunhofer IIS FDK 19c8cc495e Avoid integer overflow in dct_II().
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I6c30c4dec3f85410c2748eb42d38f5eb72521ec5
2021-02-14 12:20:21 -08:00
Fraunhofer IIS FDK 614b9f005a Prevent integer overflows in dualChannelFiltering() and eightChannelFiltering().
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: Ic9217bbb3980807036ae6ae121e6ddb7cc1bce35
2021-02-14 12:20:13 -08:00
Fraunhofer IIS FDK f89d1d0a4e Adjust VBR mode depending on given peak bitrate and fix crash recovery usage.
Operating the FDK encoder in A2DP with variable bitrate mode
configuration resulted in unexpected encoder return value AACENC_ENCODE_ERROR.

Due to peak bitrate restriction the encoder quite often runs into requantization.
In case the bitrate constraint is not fulfilled, the so-called crash recovery is
used as final emergency step. The crash recovery reduces the overall bit
consumption considering the given number of bits to be saved. The bit difference
is extracted from audio element structures. In VBR mode the element wise bit
consumption state was not updated since there is typically no bitrate limitation
required.

The patch solves the choppy audio problems and increases audio quality for
AAC VBR encoding.

The changes in FDKaacEnc_QCMain() ensure that audio element bit info is always
updated. This is achieved by always calling FDKaacEnc_BitResRedistribution()
and FDKaacEnc_prepareBitDistribution() with maxBitsPerFrame variable as total
bits parameter.
Furthermore, VBR assumes a certain target bitrate which is used for internal
configuration and limitations. In case the peak bitrate parameter is less than
the VBR mode target bitrate the maximum of both bitrate configurations was used.

The function FDKaacEnc_AdjustVBRBitrateMode() is added to adjust the encoder
internal VBR mode to a desired target bitrate less than given peak bitrate.
It is possible that the peak bitrate is very close to the desired target bitrate.
The virtual available bitreservoir is quite low and the encoder would run quite
often into requantization with needless audio quality reduction. In such a
configuration, it is a better choice to use the CBR targeted threshold adaption
to avoid audio quality reduction.

In FDKaacEnc_Initialize(), there was already a bitResMode selection depending
on available bitreservoir for CBR. This selection will now also be used for VBR.
In case the bitResMode is AACENC_BR_MODE_FULL and VBR mode is selected, the VBR
threshold adaption is used. Otherwise, CBR threshold adaption strategy is used
and therefore, no unnecessary fill bits are written.

Bug: 161400526
Test: see bug
Change-Id: I1865f817180150da6add2623a64f1a102622784a
2021-02-14 12:20:02 -08:00
Bob Badour 176eed73f1 [LSC] Add LOCAL_LICENSE_KINDS to external/aac
Added SPDX-license-identifier-Apache-2.0 to:
  fuzzer/Android.bp

Added SPDX-license-identifier-Apache-2.0 legacy_by_exception_only to:
  Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I518bcad1cb91b80b2bcce1726f53aadf9afc749e
2021-02-14 10:37:21 -08:00
Treehugger Robot dcf386247c Merge "aac_enc_fuzzer: Improve code coverage" am: fbed528d62 am: 118aad7689 am: 2ee2fa993b am: 8105418c36
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1566866

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I53a3f33a95b2ac0f654dac6452be1720ab36ccfa
2021-02-14 05:22:34 +00:00