Commit Graph

1636 Commits

Author SHA1 Message Date
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 6edbc9a7e8 Fix stack buffer overflow in Pred_lt4(). am: 22e70729b4 am: d2aca9e020
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14387483

Change-Id: Ie51264d592a1a2b6afbdf347b05ac5260e9ef1d0
2021-04-30 19:30:10 +00:00
Fraunhofer IIS FDK d2aca9e020 Fix stack buffer overflow in Pred_lt4(). am: 22e70729b4
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14387483

Change-Id: Ied81b3004086b8bb5e58bb94e7600293e21ee553
2021-04-30 19:16:11 +00:00
Fraunhofer IIS FDK 63bc562431 Fix stack buffer overflow in Pred_lt4(). am: 22e70729b4
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14387483

Change-Id: Ia6a25fd44b97252815232a48e043da744fee3376
2021-04-30 19:14:29 +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 5ba6f60265 Fix stack buffer overflow in Pred_lt4(). am: 22e70729b4
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14387483

Change-Id: If2e081e0eefc058afdbeb658de1d3eef0e877ee2
2021-04-30 19:14:08 +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 7997eb4a73 Avoid signed integer overflow in pcmLimiter_Apply(). am: 5a83a8e5e1 am: b7aee93697
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14355877

Change-Id: I8fa97fd0acad276f8e6c26f153027f4ace636f5a
2021-04-30 15:22:05 +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 b7aee93697 Avoid signed integer overflow in pcmLimiter_Apply(). am: 5a83a8e5e1
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14355877

Change-Id: I88a7881171286fdaa438a3c2aad49f3f9822b1e4
2021-04-30 15:00:09 +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 e249d56343 Avoid signed integer overflow in pcmLimiter_Apply(). am: 5a83a8e5e1
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14355877

Change-Id: I798d862bd7532eb5c4c11789358389ce81eb1d1f
2021-04-30 14:58:36 +00:00
Fraunhofer IIS FDK 68bb047e95 Avoid signed integer overflow in pcmLimiter_Apply(). am: 5a83a8e5e1
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/14355877

Change-Id: Ic1ce11ac8b83e5dcf891239648dfc2979e6a8748
2021-04-30 14:58:15 +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 5a83a8e5e1)
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 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