1
0
mirror of https://github.com/mstorsjo/fdk-aac.git synced 2025-02-15 02:40:46 +01:00

1664 Commits

Author SHA1 Message Date
Fraunhofer IIS FDK
14db264786 Avoid integer overflows in CLatmDemux_ReadAuChunkLengthInfo() and FDK_get32() to prevent endless loop.
Bug: 186777497
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: Icaedd341f4602882f72ff5e7be71d99ce08f3bec
2021-04-29 13:08:13 -07:00
Fraunhofer IIS FDK
27c3a2bd1c Check the number of available escapes in rvlcDecodeBackward() to avoid out-of-bounds access.
Bug: 186777497
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I42956a9fd7a8e78c3c0f4f553370ac5a9f1ac2ca
2021-04-29 13:04:17 -07:00
Fraunhofer IIS FDK
a1edc32174 Sbr syncstate may only be set to upsampling if the sbr decoder was sucessfully initialized.
Bug: 186777497
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I92f7c559af961ec063bfea74353f11092dcda653
2021-04-29 13:02:01 -07:00
Fraunhofer IIS FDK
cab99f4b6a Perform parameter check before parameter assignment to avoid incorrect initialization in resetFreqBandTables().
Bug: 186777497
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I5af625905b1e4365fa84423d186c227a49707f72
2021-04-29 13:00:19 -07:00
Fraunhofer IIS FDK
e15d049ded Use local variables for sbr and mps state in CAacDecoder_Init() to avoid inconsistencies in case of failing initialization.
Bug: 186777497
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: Ic767aeb63cdc7d4556bc68cee0c4f7aeba05d12f
2021-04-29 12:59:09 -07:00
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
Fraunhofer IIS FDK
d8515f231f Use dynamic scaling depending on autocorr length to avoid signed integer overflow.
Bug: 186706541
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: Ibc035ce2eafe4b0d98377d090adad77bbf5cbb5c
2021-04-29 19:13:22 +00:00
Fraunhofer IIS FDK
5a83a8e5e1 Avoid signed integer overflow in pcmLimiter_Apply().
Bug: 186706541
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I89f5206053926cb2f8726e4bc1ffb9fc88371edb
2021-04-29 19:12:14 +00:00
Anuj Joshi
45c56d041b Stop using __DATE__/__TIME__ on all builds am: edbf93589b am: 5f80d21a8a
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893670

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

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

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

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

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

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

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

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

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

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

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

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

Change-Id: I3a5bb7a14bf0f3066822ae92d419ce326cfaad27
2021-03-19 03:26:19 +00:00
Fraunhofer IIS FDK
fa6aba363d 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: I2686674890cda03234dbaf954cf576657e21008a
2021-03-19 03:26:17 +00:00
Fraunhofer IIS FDK
e2ebbcd4c7 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: I44b080cdce04ccf7899884c2d4cfd3362b2bd50b
2021-03-19 03:26:15 +00:00
Fraunhofer IIS FDK
299b5cfd7c 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: Ia736223ff975b702d63aba06db12cabb1fe1a00e
2021-03-19 03:26:13 +00:00
Fraunhofer IIS FDK
4dd6948876 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: I6904208dfaf8c158d33237c860942cb4e312ffea
2021-03-19 03:26:11 +00:00
Fraunhofer IIS FDK
e9396621d3 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: I13f43344216b3d953a39200e2565a0b4409575cd
2021-03-19 03:26:09 +00:00
Fraunhofer IIS FDK
aabad641bc 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: I0910b1fa2a5bf1153333b01bf4a214baeeab9a0c
2021-03-19 03:26:06 +00:00
Anuj Joshi
e6f17b3e72 Stop using __DATE__/__TIME__ on all builds am: edbf93589b am: 5f80d21a8a
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893670

Change-Id: I6fc207a9adab75841dbff7aa2bc0a33f6bee788e
2021-03-19 03:26:05 +00:00
Fraunhofer IIS FDK
473403d571 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: Ibd97bb78f1e3d42a210edf4a5a8ff639daa6479e
2021-03-19 03:26:04 +00:00
Fraunhofer IIS FDK
df2cddfdb3 Solve issue regarding config changes between Loudness-only vs. Loudness+DRC. am: a4695298d6 am: 830d2d033c
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893669

Change-Id: I4241fc52c87b1d933813c22880166b7cf79fca1b
2021-03-19 03:26:03 +00:00
Fraunhofer IIS FDK
af40b10e95 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: I293c2bcb4de6aaf609ba067688f8574f732be6e8
2021-03-19 03:26:02 +00:00
Fraunhofer IIS FDK
2475df28c2 Overcome SBR encoder coupling quality issue in ELD. am: edab3e30d6 am: 67bd65ae2b
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893668

Change-Id: I34cd4823c2a8af78710e32681385ea1be24515ca
2021-03-19 03:26:01 +00:00
Fraunhofer IIS FDK
9542492f21 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: I9b2e017443215c646b67471a5c5babb4886b2a49
2021-03-19 03:26:00 +00:00
Fraunhofer IIS FDK
9f6f300dff Fix input buffer flushing for PS encoder. am: 4fbc97cc47 am: 1e6b9e0283
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893667

Change-Id: If22aadf77a0c60c6e4f6dbb5b3bb5a5878c3a488
2021-03-19 03:25:59 +00:00
Fraunhofer IIS FDK
cd4b6095c3 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: Ie1b7ec7af6e41e095d93253c8ecc4eb63d50d295
2021-03-19 03:25:58 +00:00
Fraunhofer IIS FDK
fd82cc8924 Fix wrong input buffer feed for PS encoder at less input samples than framesize. am: bd021e7fb4 am: c66c41726b
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893666

Change-Id: I0e37033545f624ae71bf20c9aef77b5585a7537b
2021-03-19 03:25:57 +00:00
Fraunhofer IIS FDK
3ec23a0ac3 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: Icbb5dab11813dda07c2bf945781ef2b3e720e002
2021-03-19 03:25:56 +00:00
Fraunhofer IIS FDK
4e95049d6e Read uniDrcGainExtension element only if all DRC gain sequences are parsed correctly. am: 0c2c08aef6 am: d3ade3d525
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13893665

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

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

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

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

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

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

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

Change-Id: I90d8c6325ecaf3c1c1c797780eeea41775996593
2021-03-19 03:25:41 +00:00
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