Commit Graph

1301 Commits

Author SHA1 Message Date
Fraunhofer IIS FDK 0527875be6 Follow-up on: Improve decoder robustness by storing flags and elFlags temporarily.
Bug: 186777497
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I2aef40ef1868832cd00e4d761b060aa41b1b7efa
2021-04-29 12:57:20 -07:00
Anuj Joshi 5f80d21a8a Stop using __DATE__/__TIME__ on all builds am: edbf93589b
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893670

Change-Id: Iaef3e0e1066e8e352b9ce3849bbce9fdc79d9d6d
2021-03-19 02:51:38 +00:00
Fraunhofer IIS FDK 830d2d033c Solve issue regarding config changes between Loudness-only vs. Loudness+DRC. am: a4695298d6
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893669

Change-Id: Iacec8ed463772b387d576bbd00efe9c110ee775a
2021-03-19 02:51:36 +00:00
Fraunhofer IIS FDK 67bd65ae2b Overcome SBR encoder coupling quality issue in ELD. am: edab3e30d6
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893668

Change-Id: Ifb69e3d270de293c728bdc01b1e813bcc0209e3f
2021-03-19 02:51:34 +00:00
Fraunhofer IIS FDK 1e6b9e0283 Fix input buffer flushing for PS encoder. am: 4fbc97cc47
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893667

Change-Id: Ib70ddabdd291ac167f1150c1d9b3038499268b01
2021-03-19 02:51:32 +00:00
Fraunhofer IIS FDK c66c41726b Fix wrong input buffer feed for PS encoder at less input samples than framesize. am: bd021e7fb4
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893666

Change-Id: Ibd0e9ca582177906d113b536a5c9851aa9c0c8c4
2021-03-19 02:51:30 +00:00
Fraunhofer IIS FDK d3ade3d525 Read uniDrcGainExtension element only if all DRC gain sequences are parsed correctly. am: 0c2c08aef6
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893665

Change-Id: I998dd24e53e8a17f41301b44576fa91d5d9f5a40
2021-03-19 02:51:28 +00:00
Fraunhofer IIS FDK dd435f98de Consider TNS headroom for complex prediction. am: 5e031b67ba
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893584

Change-Id: I8882d378afec8b7d2e683346c271c062aac21791
2021-03-19 02:51:25 +00:00
Fraunhofer IIS FDK 0b8dc7f5ac Fix USAC time domain limiter latency at config change. am: 09e7c40a3a
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893583

Change-Id: I3d4c661ab94d6b1783e33b01d1c3573578b91b15
2021-03-19 02:51:23 +00:00
Fraunhofer IIS FDK ac4a9990b8 Introduce additional sanity checks to validate program config element. am: 82f6f3dac6
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893582

Change-Id: If93b7326cc0418a1e649989b91298c65b53c2c48
2021-03-19 02:51:21 +00:00
Fraunhofer IIS FDK d6b2fee1a4 Validate DRC compression factor and DRC boost factor value range in aacDecoder_SetParam(). am: baa3203971
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893581

Change-Id: I02c726264c22ec1f7e1169d457ac0848c77e89ca
2021-03-19 02:51:19 +00:00
Fraunhofer IIS FDK 8d150d51be Fix unsigned integer overflow in Hcr_State_BODY_SIGN_ESC__ESC_WORD(). am: a7c64ff42f
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893580

Change-Id: Iee18084b10e8063c77d7cd18180dd68b62cd5124
2021-03-19 02:51:17 +00:00
Fraunhofer IIS FDK 3634d2026c Make sure that alphaValue is correctly initialized in sbrDecoder_drcApplySlot(). am: 150febcc65
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893579

Change-Id: Ibc4b1a850bd68399610ccf4984b7423f119258f8
2021-03-19 02:51:15 +00:00
Fraunhofer IIS FDK b29e70b86c Introduce aacDecoder_drcDisable() and always disable legacy DRC for USAC. am: 3ebe6ffe95
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893578

Change-Id: Ibe9ac12e3339569f502ba29cff3ae2828543405b
2021-03-19 02:51:13 +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 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 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
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
Anuj Joshi edbf93589b Stop using __DATE__/__TIME__ on all builds
Test: mmma external/libaac
Bug: 151595970

Change-Id: Icd937cad3e4e2f70a5486cca424544eb410be26f
2021-02-14 12:27:47 -08:00
Fraunhofer IIS FDK a4695298d6 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-02-14 12:23:46 -08:00
Fraunhofer IIS FDK edab3e30d6 Overcome SBR encoder coupling quality issue in ELD.
Bug 177604812
Test: see SBR/PS encoder

Change-Id: Ie7b9f8d1dec3708557d1e1189d45bc0e3bf5444c
2021-02-14 12:23:38 -08:00
Fraunhofer IIS FDK 4fbc97cc47 Fix input buffer flushing for PS encoder.
Bug 177604812
Test: see PS/SBR encoder

Change-Id: I3152bd7db5e039ecc54885e5b58c1cf6cb598b28
2021-02-14 12:23:29 -08:00
Fraunhofer IIS FDK bd021e7fb4 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-02-14 12:23:20 -08:00
Fraunhofer IIS FDK 0c2c08aef6 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-02-14 12:23:12 -08:00
Fraunhofer IIS FDK 5e031b67ba 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-02-14 12:23:02 -08:00
Fraunhofer IIS FDK 09e7c40a3a 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-02-14 12:22:54 -08:00
Fraunhofer IIS FDK 82f6f3dac6 Introduce additional sanity checks to validate program config element.
Bug: 176246647
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I3e04480ab5a74da1a9d09af5da95afb2000b3117
2021-02-14 12:22:46 -08:00
Fraunhofer IIS FDK baa3203971 Validate DRC compression factor and DRC boost factor value range in aacDecoder_SetParam().
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I1d8534145bcf400c5da58d64d3b7e73a87cb43be
2021-02-14 12:22:34 -08:00
Fraunhofer IIS FDK a7c64ff42f Fix unsigned integer overflow in Hcr_State_BODY_SIGN_ESC__ESC_WORD().
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I5eb0f88a55e856c427f9e4647332070f66e673c5
2021-02-14 12:22:15 -08:00
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