aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Fix USAC time domain limiter latency at config change."TreeHugger Robot2021-01-155-141/+156
|\
| * Fix USAC time domain limiter latency at config change.Fraunhofer IIS FDK2021-01-145-141/+156
| | | | | | | | | | | | | | | | | | | | 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
* | Merge "Consider TNS headroom for complex prediction."TreeHugger Robot2021-01-151-2/+4
|\|
| * Consider TNS headroom for complex prediction.Fraunhofer IIS FDK2021-01-141-2/+4
| | | | | | | | | | | | Bug: 176246647 Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc Change-Id: I8261106b98d7e7c5a8a2af38585c726285ea8623
* | Merge "Added aac_enc_fuzzer" am: 093573a634 am: a85ab74b62 am: c46a377538Kris Alder2021-01-133-9/+484
|\ \ | | | | | | | | | | | | | | | | | | | | | Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1527719 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Ib842fadf4278b74faa59e83ef8401b154ec487d0
| * \ Merge "Added aac_enc_fuzzer" am: 093573a634 am: a85ab74b62Kris Alder2021-01-133-9/+484
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1527719 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: If878046841ee4408530b47a76cb829b8b2c3c80a
| | * \ Merge "Added aac_enc_fuzzer" am: 093573a634Kris Alder2021-01-133-9/+484
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1527719 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Ib3295eaed1814e256668526f4ea9c41743dd4431
| | | * \ Merge "Added aac_enc_fuzzer"Kris Alder2021-01-133-9/+484
| | | |\ \
| | | | * | Added aac_enc_fuzzerAnuj Joshi2020-12-283-9/+484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test: ./aac_enc_fuzzer Bug: 172429950 Change-Id: Ia84f85425f6df10b13a3d045472f7f684f27eb8a
* | | | | | Merge "Enable cfi for aac" am: 5690f9c39f am: 738df3d018 am: 524e89257cCindy Zhou2021-01-081-2/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1518238 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Ifa9c52a5ca9ddc6ca5edc35166afdc4a1f5b5788
| * | | | | Merge "Enable cfi for aac" am: 5690f9c39f am: 738df3d018Cindy Zhou2021-01-081-2/+8
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1518238 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Ib5d834ad315cad4006cb839776dd03d795fdc27e
| | * | | | Merge "Enable cfi for aac" am: 5690f9c39fCindy Zhou2021-01-081-2/+8
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1518238 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I3b4ff4c9a2e1ccd1139a37ac2a537467efee9583
| | | * | | Merge "Enable cfi for aac"Cindy Zhou2021-01-081-2/+8
| | | |\ \ \
| | | | * | | Enable cfi for aacCindy Zhou2020-12-171-2/+8
| | | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 158010610 Bug: 173497308 Test: ran atest DecoderConformanceTest, ImageReaderDecoderTest, VideoDecoderPerfTest, VideoEncoderTest. Compare the before and after enabling CFI results since there was a number of tests that were initially failing. Change-Id: I0d0d2a76512dc909a67f34adacff9ffbf536dbe7
* | | | | / Merge "Adjust VBR mode depending on given peak bitrate and fix crash ↵Treehugger Robot2021-01-080-0/+0
|\| | | | | | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | | Merge "Adjust VBR mode depending on given peak bitrate and fix crash ↵Treehugger Robot2021-01-084-36/+83
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * | | Merge "Adjust VBR mode depending on given peak bitrate and fix crash ↵Treehugger Robot2021-01-084-36/+83
| | |\| | | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | | * Merge "Adjust VBR mode depending on given peak bitrate and fix crash ↵Treehugger Robot2021-01-084-36/+83
| | |/| | | | | | | | | | | | | recovery usage."
| | | * Adjust VBR mode depending on given peak bitrate and fix crash recovery usage.Fraunhofer IIS FDK2021-01-084-36/+83
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge "Introduce additional sanity checks to validate program config element."Jean-Michel Trivi2020-12-281-11/+156
|\ \ \
| * | | Introduce additional sanity checks to validate program config element.Fraunhofer IIS FDK2020-12-281-11/+156
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 176246647 Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc Change-Id: I3e04480ab5a74da1a9d09af5da95afb2000b3117
* | | | Merge changes Ib8b6973e,I19874768TreeHugger Robot2020-12-289-49/+95
|\| | | | | | | | | | | | | | | | | | | | | | | * changes: Check number of core channels and SAC decoder input channels to avoid a channel mismatch. Revise bypass mode in SpatialDecApplyParameterSets() to prevent an assert in fDivNorm().
| * | | Check number of core channels and SAC decoder input channels to avoid a ↵Fraunhofer IIS FDK2020-12-289-32/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | channel mismatch. Bug: 176246647 Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc Change-Id: Ib8b6973e9c29e13b8ef33d7736be2b977928face
| * | | Revise bypass mode in SpatialDecApplyParameterSets() to prevent an assert in ↵Fraunhofer IIS FDK2020-12-281-17/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fDivNorm(). Bug: 176246647 Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc Change-Id: I198747688f1677b82f27a17a2fcf40229c92b1da
* | | | Merge changes I6aaeef87,I9681942b,I60ac86f0,I025e943e,I75edf24bTreeHugger Robot2020-12-285-71/+130
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * changes: Improve decoder robustness by storing flags and elFlags temporarily. ELD downscale factor 3 is only allowed for framesize 480. Check transportDec_OutOfBandConfig() input buffer size parameter. Evaluate and return StoreConfigAsBitstream() error state. Introduce aacDecoder_drcDisable() and always disable legacy DRC for USAC.
| * | | Improve decoder robustness by storing flags and elFlags temporarily.Fraunhofer IIS FDK2020-12-281-53/+82
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: I6aaeef87e1f2ce5d5031f088b8c57e6f5806929d
| * | | ELD downscale factor 3 is only allowed for framesize 480.Fraunhofer IIS FDK2020-12-281-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: I9681942ba39761e4f1d66236ad80c2420ca5abe9
| * | | Check transportDec_OutOfBandConfig() input buffer size parameter.Fraunhofer IIS FDK2020-12-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: I60ac86f09a5652c820d60dfdc12212637f888164
| * | | Evaluate and return StoreConfigAsBitstream() error state.Fraunhofer IIS FDK2020-12-281-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: I025e943e91f9be1a5259a761a8ff88defd8babea
| * | | Introduce aacDecoder_drcDisable() and always disable legacy DRC for USAC.Fraunhofer IIS FDK2020-12-283-8/+24
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: I75edf24b18e1f5392b6eb179d5574cb93fcbc7c2
* | | | Merge "Make sure that alphaValue is correctly initialized in ↵TreeHugger Robot2020-12-281-19/+34
|\| | | | | | | | | | | | | | | sbrDecoder_drcApplySlot()."
| * | | Make sure that alphaValue is correctly initialized in sbrDecoder_drcApplySlot().Fraunhofer IIS FDK2020-12-281-19/+34
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: I5bded2e3d29278bb5df561eaa2a46d963ee21df8
* | | | Merge changes I5eb0f88a,I1d853414TreeHugger Robot2020-12-282-1/+9
|\| | | | | | | | | | | | | | | | | | | | | | | * changes: Fix unsigned integer overflow in Hcr_State_BODY_SIGN_ESC__ESC_WORD(). Validate DRC compression factor and DRC boost factor value range in aacDecoder_SetParam().
| * | | Fix unsigned integer overflow in Hcr_State_BODY_SIGN_ESC__ESC_WORD().Fraunhofer IIS FDK2020-12-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: I5eb0f88a55e856c427f9e4647332070f66e673c5
| * | | Validate DRC compression factor and DRC boost factor value range in ↵Fraunhofer IIS FDK2020-12-231-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | aacDecoder_SetParam(). Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: I1d8534145bcf400c5da58d64d3b7e73a87cb43be
* | | | Merge "Prevent integer overflow in subbandTPApply() energy update."Jean-Michel Trivi2020-12-281-4/+4
|\| | |
| * | | Prevent integer overflow in subbandTPApply() energy update.Fraunhofer IIS FDK2020-12-231-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: I9ed8b33414907706808956cffad252052928c799
* | | | Merge "Limit smoothedNoise values to avoid integer overflows in ↵Jean-Michel Trivi2020-12-281-1/+18
|\| | | | | | | | | | | | | | | adjustTimeSlotHQ() and adjustTimeSlotHQ_GainAndNoise()."
| * | | Limit smoothedNoise values to avoid integer overflows in adjustTimeSlotHQ() ↵Fraunhofer IIS FDK2020-12-231-1/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and adjustTimeSlotHQ_GainAndNoise(). Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: Ib630d56a626ddd59a9155df38cda2011c3165346
* | | | Merge "Avoid integer overflow in dct_II()."Jean-Michel Trivi2020-12-281-15/+13
|\| | |
| * | | Avoid integer overflow in dct_II().Fraunhofer IIS FDK2020-12-231-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: I6c30c4dec3f85410c2748eb42d38f5eb72521ec5
* | | | Merge "Prevent integer overflows in dualChannelFiltering() and ↵TreeHugger Robot2020-12-271-13/+13
|\| | | | | | | | | | | | | | | eightChannelFiltering()."
| * | | Prevent integer overflows in dualChannelFiltering() and eightChannelFiltering().Fraunhofer IIS FDK2020-12-231-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: Ic9217bbb3980807036ae6ae121e6ddb7cc1bce35
* | | | Adjust VBR mode depending on given peak bitrate and fix crash recovery usage.Fraunhofer IIS FDK2020-12-234-36/+83
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Mark ab/6881855 as merged am: b831187d3a am: a5f0e4af6dXin Li2020-11-240-0/+0
|\| | | | | | | | | | | | | | | | | Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13112547 Change-Id: I9243e7da297d69b2bcb1f2d87a4b7a36c961e063
| * | Mark ab/6881855 as merged am: b831187d3aXin Li2020-11-240-0/+0
| |\| | | | | | | | | | | | | | | | Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13112547 Change-Id: Id04d2590c249cad13da8dd8975d0a12ce96a9597
| | * Mark ab/6881855 as mergedXin Li2020-11-230-0/+0
| | |\ | | | | | | | | | | | | | | | | Bug: 172690556 Change-Id: I4edc064b9a87da525672e61919ec8fb59a70202e
* | | | [automerger skipped] Merge "Merge rvc-release RP1A.201105.002 to aosp-master ↵Bill Yi2020-11-050-0/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - DO NOT MERGE" am: f4adff7fbb am: 0834f1a0b8 -s ours am: dd90d1595f -s ours am: de35b0d3cc -s ours am skip reason: subject contains skip directive Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1486978 Change-Id: I01e518ed4a6d04fd21c673bd6fbf7c6739d21320
| * | | [automerger skipped] Merge "Merge rvc-release RP1A.201105.002 to aosp-master ↵Bill Yi2020-11-050-0/+0
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - DO NOT MERGE" am: f4adff7fbb am: 0834f1a0b8 -s ours am: dd90d1595f -s ours am skip reason: Change-Id I44e842648acbceb02bbc28cf2ad729a0caddf60d with SHA-1 1f2e0ecb62 is in history Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1486978 Change-Id: I9d8f11842a7d222ff9eaf50be2e44f1507c4bb49
| | * | | [automerger skipped] Merge "Merge rvc-release RP1A.201105.002 to aosp-master ↵Bill Yi2020-11-050-0/+0
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - DO NOT MERGE" am: f4adff7fbb am: 0834f1a0b8 -s ours am skip reason: Change-Id I44e842648acbceb02bbc28cf2ad729a0caddf60d with SHA-1 1f2e0ecb62 is in history Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1486978 Change-Id: Ic6a0942fdd1af69a14653a456accfd76e9361bf1