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

1428 Commits

Author SHA1 Message Date
TreeHugger Robot
a8f6f5847e Merge "Prevent signed integer overflow in complex path of calc_qmfBuffer()." into sc-dev am: dff30034b9
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14387482

Change-Id: Idb4db4cce456c61c64fbd0885678414bf7d0ea45
2021-04-30 22:20:57 +00:00
TreeHugger Robot
9b9f051c92 Merge "Adjust data types to prevent load of invalid value" into sc-dev 2021-04-30 22:07:16 +00:00
TreeHugger Robot
427912f659 Merge "Avoid load of undefined SPATIALDEC_TREE_CONFIG enum value." into sc-dev 2021-04-30 22:06:24 +00:00
TreeHugger Robot
af61f20a8d Merge "Prevent undefined values for CODING_SCHEME type in huff_decode()." into sc-dev 2021-04-30 22:05:35 +00:00
TreeHugger Robot
c0c3096100 Merge "Revise synthesis QMF scaling for PS to avoid integer overflow in qmfSynPrototypeFirSlot()." into sc-dev 2021-04-30 22:04:24 +00:00
TreeHugger Robot
b0a46baf90 Merge "Prevent signed integer overflow in calc_qmfBufferReal()." into sc-dev 2021-04-30 22:04:04 +00:00
TreeHugger Robot
dff30034b9 Merge "Prevent signed integer overflow in complex path of calc_qmfBuffer()." into sc-dev 2021-04-30 22:03:58 +00:00
Fraunhofer IIS FDK
9ed084750d Improve validation of channel indices in pcmDmx.
Bug: 186777497
Bug: 170374298
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: If4d6f5fec266244b496c6ea08cd411badd9a31cf
2021-04-30 21:56:12 +00:00
Fraunhofer IIS FDK
5141e516de Fix stack buffer overflow in Pred_lt4(). am: 22e70729b4
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14387483

Change-Id: Idd1012d6e024903e71e60e8b29820f484d431792
2021-04-30 19:14:12 +00:00
Fraunhofer IIS FDK
22e70729b4 Fix stack buffer overflow in Pred_lt4().
Bug: 186706541
Bug: 160187491
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I3b8d9326319cca21145cc246588b01c5bf29a9a0
2021-04-30 17:56:52 +00:00
Fraunhofer IIS FDK
ef864daeea Prevent signed integer overflow in complex path of calc_qmfBuffer().
Bug: 186706541
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: Iae0581ea983912bcf1bc6b3bdc2c0d8ee2f6248e
2021-04-30 15:38:00 +00:00
Fraunhofer IIS FDK
5522e52e5a Prevent signed integer overflow in calc_qmfBufferReal().
Bug: 186706541
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I6d12fba9d958280ead368fcc4c6c5c79dc0111e2
2021-04-30 15:29:59 +00:00
Fraunhofer IIS FDK
0e0a2f66d6 Revise synthesis QMF scaling for PS to avoid integer overflow in qmfSynPrototypeFirSlot().
Bug: 186706541
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I23ff345a1b1d0a8d125d49164fbd020387a37901
2021-04-30 15:26:58 +00:00
Fraunhofer IIS FDK
ecc0e33206 Avoid signed integer overflow in combineSignalCplxScale2().
Bug: 186706541
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: Ie35e34d982c99f0e328f8f9251bba32c7da8518c
2021-04-30 15:24:51 +00:00
Fraunhofer IIS FDK
a43c9f8822 Prevent undefined values for CODING_SCHEME type in huff_decode().
Bug: 186706541
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I82da4a5660289d1c96888d48c315f96a4a5c1c2a
2021-04-30 15:00:27 +00:00
Fraunhofer IIS FDK
de5b6b5def Avoid load of undefined SPATIALDEC_TREE_CONFIG enum value.
Bug: 186706541
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: Ibf8dbc1e61ff0453ac905efc88892d39c84fece6
2021-04-30 14:59:12 +00:00
Fraunhofer IIS FDK
b8242b65ac Avoid signed integer overflow in pcmLimiter_Apply(). am: 5a83a8e5e1
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14355877

Change-Id: I2a97958a7c0e20f6ca2f7880b430d932ae5a1c9b
2021-04-30 14:57:37 +00:00
Fraunhofer IIS FDK
1f5fac767a Adjust data types to prevent load of invalid value
Adjust usacExtElementType data type to prevent load of invalid
value in extElementConfig().

Adjust usacConfigExtType data type to prevent load of invalid
value in configExtension().

Bug: 186706541
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: Ide15daa73c084c4a2cfc9d0f36bd7666fa6bac7a
2021-04-30 14:44:19 +00:00
Fraunhofer IIS FDK
76104a5431 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
(cherry picked from commit 5a83a8e5e1cafceba6bef7ac61e68a57cc93d786)
2021-04-30 14:31:01 +00:00
Fraunhofer IIS FDK
9a9d260375 Validate whether all PCE listed element instance tags are present in raw_data_block.
Bug: 186777497
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I299d3c11ffa65a7c09c437cd114d62b8d3013e2f
2021-04-29 17:55:41 -07:00
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
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