Fraunhofer IIS FDK
150febcc65
Make sure that alphaValue is correctly initialized in sbrDecoder_drcApplySlot().
...
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I5bded2e3d29278bb5df561eaa2a46d963ee21df8
2021-02-14 12:22:09 -08:00
Fraunhofer IIS FDK
3ebe6ffe95
Introduce aacDecoder_drcDisable() and always disable legacy DRC for USAC.
...
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I75edf24b18e1f5392b6eb179d5574cb93fcbc7c2
2021-02-14 12:22:00 -08:00
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
8105418c36
Merge "aac_enc_fuzzer: Improve code coverage" am: fbed528d62
am: 118aad7689
am: 2ee2fa993b
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1566866
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I8283ef52ab3e1bfe2d15bb2181ff91d55f8887c7
2021-02-14 04:55:15 +00:00
Treehugger Robot
2ee2fa993b
Merge "aac_enc_fuzzer: Improve code coverage" am: fbed528d62
am: 118aad7689
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1566866
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I4a552820e12c26f42486d2c5be088b46c03e47b0
2021-02-14 04:27:41 +00:00
Treehugger Robot
118aad7689
Merge "aac_enc_fuzzer: Improve code coverage" am: fbed528d62
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1566866
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ic9e8b3426ba251349474e101fa5038172de4ad70
2021-02-14 04:00:31 +00:00
Treehugger Robot
fbed528d62
Merge "aac_enc_fuzzer: Improve code coverage"
2021-02-14 03:24:05 +00:00
Anuj Joshi
d3c11e097b
aac_enc_fuzzer: Improve code coverage
...
Test: ./aac_enc_fuzzer
Bug: 172429950
Change-Id: Id8c5c6351627ba09d6b0f8eeb81ad81003eba0c5
2021-02-01 10:30:22 +05:30
Cindy Zhou
0046a43b8b
Merge "aac remove diag" am: f13c7a4054
am: 2b3a48d3b7
am: 8aa9b563bd
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1549588
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I3a49851a5dbdb4487083d20661c7825378a11424
2021-01-21 00:02:06 +00:00
Cindy Zhou
8aa9b563bd
Merge "aac remove diag" am: f13c7a4054
am: 2b3a48d3b7
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1549588
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I6b976c7c29a345e632d25f2e6ac1c2e5ea631b9f
2021-01-20 23:43:35 +00:00
Cindy Zhou
2b3a48d3b7
Merge "aac remove diag" am: f13c7a4054
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1549588
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I228ca5c02b5284a17e96c2f09adc27848d364703
2021-01-20 23:40:09 +00:00
Cindy Zhou
f13c7a4054
Merge "aac remove diag"
2021-01-20 23:11:07 +00:00
Jean-Michel Trivi
cc9b0a4702
Merge "Solve issue regarding config changes between Loudness-only vs. Loudness+DRC."
2021-01-19 16:41:26 +00:00
TreeHugger Robot
a3e14fef36
Merge "Overcome SBR encoder coupling quality issue in ELD."
2021-01-18 17:36:37 +00:00
TreeHugger Robot
a6f058fbac
Merge "Fix input buffer flushing for PS encoder."
2021-01-18 17:36:32 +00:00
TreeHugger Robot
0af61b88ed
Merge "Fix wrong input buffer feed for PS encoder at less input samples than framesize."
2021-01-18 17:36:28 +00:00
Fraunhofer IIS FDK
4204c46665
Overcome SBR encoder coupling quality issue in ELD.
...
Bug 177604812
Test: see SBR/PS encoder
Change-Id: Ie7b9f8d1dec3708557d1e1189d45bc0e3bf5444c
2021-01-14 17:33:03 -08:00
Fraunhofer IIS FDK
91ec65f7c8
Fix input buffer flushing for PS encoder.
...
Bug 177604812
Test: see PS/SBR encoder
Change-Id: I3152bd7db5e039ecc54885e5b58c1cf6cb598b28
2021-01-14 17:30:22 -08:00
Fraunhofer IIS FDK
a7c36cc207
Fix wrong input buffer feed for PS encoder at less input samples than framesize.
...
Bug 177604812
Test: see PS/SBR encoder
Change-Id: I08a20209bcb83784fda5c14584b6e99c65672545
2021-01-14 17:28:11 -08:00
TreeHugger Robot
d99aadd0d7
Merge "Read uniDrcGainExtension element only if all DRC gain sequences are parsed correctly."
2021-01-15 00:47:26 +00:00
TreeHugger Robot
eb8e26e019
Merge "Fix USAC time domain limiter latency at config change."
2021-01-15 00:47:10 +00:00
TreeHugger Robot
8cc30d9c62
Merge "Consider TNS headroom for complex prediction."
2021-01-15 00:25:38 +00:00
Fraunhofer IIS FDK
af0c91e7b8
Solve issue regarding config changes between Loudness-only vs. Loudness+DRC.
...
Fix config changes from Loudness+DRC to Loudness-only configurations by clearing the DRC configuration
Bug: 176246647
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I7afef848308478c29a82b13f24ba8c2a9760fd45
2021-01-14 15:41:58 -08:00
Fraunhofer IIS FDK
67cae74f74
Read uniDrcGainExtension element only if all DRC gain sequences are parsed correctly.
...
Prevent error return during parsing of incomplete uniDrcGain() element. This fixes unnecessary concealment of frames for AAC in case a uniDrcGain() is provided, but the uniDrcConfig() element is not available.
Bug: 176246647
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I5ae343eaea481774c53240dbce4da0f4ff06cd1d
2021-01-14 15:32:32 -08:00
Fraunhofer IIS FDK
3495808c83
Fix USAC time domain limiter latency at config change.
...
We have observed quality problems regarding config switching for USAC streams. Crossfading did not consider the USAC time domain limiter latency correctly. The limiter memory still contained the last part of the frame before the config change.
With this patch we were able to improve the quality by moving the limiter processing to the end of the processing chain (crossfade -> DRC -> limiter). By that we don't have to consider the limiter latency at the crossfader anymore and can resolve the quality issue.
Bug: 176246647
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I0dfd3b76ff2b0daf495ad406283f56a39982ad8f
Change-Id: I26f5da65ef8344602007e180e837820c6a25f173
2021-01-14 15:26:24 -08:00
Fraunhofer IIS FDK
9a48d47998
Consider TNS headroom for complex prediction.
...
Bug: 176246647
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I8261106b98d7e7c5a8a2af38585c726285ea8623
2021-01-14 15:13:58 -08:00
Cindy Zhou
5e70d8a295
aac remove diag
...
Removing diag mode since it's only required for debugging purposes.
Bug: 158010610
Test: n/a
Change-Id: I597880ef5b63d12d2971237d02406faceda7e623
2021-01-13 12:28:12 -08:00
Kris Alder
9ee8fd5559
Merge "Added aac_enc_fuzzer" am: 093573a634
am: a85ab74b62
am: c46a377538
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1527719
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ib842fadf4278b74faa59e83ef8401b154ec487d0
2021-01-13 02:09:37 +00:00
Kris Alder
c46a377538
Merge "Added aac_enc_fuzzer" am: 093573a634
am: a85ab74b62
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1527719
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: If878046841ee4408530b47a76cb829b8b2c3c80a
2021-01-13 01:49:03 +00:00
Kris Alder
a85ab74b62
Merge "Added aac_enc_fuzzer" am: 093573a634
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1527719
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ib3295eaed1814e256668526f4ea9c41743dd4431
2021-01-13 01:33:01 +00:00
Kris Alder
093573a634
Merge "Added aac_enc_fuzzer"
2021-01-13 01:03:20 +00:00
Cindy Zhou
57c3244459
Merge "Enable cfi for aac" am: 5690f9c39f
am: 738df3d018
am: 524e89257c
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1518238
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ifa9c52a5ca9ddc6ca5edc35166afdc4a1f5b5788
2021-01-08 19:25:02 +00:00
Cindy Zhou
524e89257c
Merge "Enable cfi for aac" am: 5690f9c39f
am: 738df3d018
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1518238
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ib5d834ad315cad4006cb839776dd03d795fdc27e
2021-01-08 19:07:00 +00:00
Cindy Zhou
738df3d018
Merge "Enable cfi for aac" am: 5690f9c39f
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1518238
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I3b4ff4c9a2e1ccd1139a37ac2a537467efee9583
2021-01-08 18:17:46 +00:00
Cindy Zhou
5690f9c39f
Merge "Enable cfi for aac"
2021-01-08 17:47:26 +00:00
Treehugger Robot
b0872f98d3
Merge "Adjust VBR mode depending on given peak bitrate and fix crash recovery usage." am: 5d8224586c
am: 3152997588
am: a108a6cafa
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1542709
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I53fc9b09bc32fef1563294c1a6277fd599952cc3
2021-01-08 16:38:11 +00:00
Treehugger Robot
a108a6cafa
Merge "Adjust VBR mode depending on given peak bitrate and fix crash recovery usage." am: 5d8224586c
am: 3152997588
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1542709
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Id89e1389e52aaf7ed338f7cf431ed5e9d1fba9f8
2021-01-08 16:25:06 +00:00
Treehugger Robot
3152997588
Merge "Adjust VBR mode depending on given peak bitrate and fix crash recovery usage." am: 5d8224586c
...
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1542709
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I676c98594c21af87992da5e4286d8c83f6a11098
2021-01-08 16:10:59 +00:00
Treehugger Robot
5d8224586c
Merge "Adjust VBR mode depending on given peak bitrate and fix crash recovery usage."
2021-01-08 15:47:48 +00:00