1
0
mirror of https://github.com/mstorsjo/fdk-aac.git synced 2025-03-18 16:40:03 +01:00

1158 Commits

Author SHA1 Message Date
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
Treehugger Robot
2ee2fa993b Merge "aac_enc_fuzzer: Improve code coverage" am: fbed528d62 am: 118aad7689
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1566866

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I4a552820e12c26f42486d2c5be088b46c03e47b0
2021-02-14 04:27:41 +00:00
Treehugger Robot
118aad7689 Merge "aac_enc_fuzzer: Improve code coverage" am: fbed528d62
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1566866

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic9e8b3426ba251349474e101fa5038172de4ad70
2021-02-14 04:00:31 +00:00
Treehugger Robot
fbed528d62 Merge "aac_enc_fuzzer: Improve code coverage" 2021-02-14 03:24:05 +00:00
Anuj Joshi
d3c11e097b aac_enc_fuzzer: Improve code coverage
Test: ./aac_enc_fuzzer
Bug: 172429950

Change-Id: Id8c5c6351627ba09d6b0f8eeb81ad81003eba0c5
2021-02-01 10:30:22 +05:30
Cindy Zhou
8aa9b563bd Merge "aac remove diag" am: f13c7a4054 am: 2b3a48d3b7
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1549588

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I6b976c7c29a345e632d25f2e6ac1c2e5ea631b9f
2021-01-20 23:43:35 +00:00
Cindy Zhou
2b3a48d3b7 Merge "aac remove diag" am: f13c7a4054
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1549588

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I228ca5c02b5284a17e96c2f09adc27848d364703
2021-01-20 23:40:09 +00:00
Cindy Zhou
f13c7a4054 Merge "aac remove diag" 2021-01-20 23:11:07 +00:00
Cindy Zhou
5e70d8a295 aac remove diag
Removing diag mode since it's only required for debugging purposes.
Bug: 158010610
Test: n/a

Change-Id: I597880ef5b63d12d2971237d02406faceda7e623
2021-01-13 12:28:12 -08:00
Kris Alder
c46a377538 Merge "Added aac_enc_fuzzer" am: 093573a634 am: a85ab74b62
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1527719

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If878046841ee4408530b47a76cb829b8b2c3c80a
2021-01-13 01:49:03 +00:00
Kris Alder
a85ab74b62 Merge "Added aac_enc_fuzzer" am: 093573a634
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1527719

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib3295eaed1814e256668526f4ea9c41743dd4431
2021-01-13 01:33:01 +00:00
Kris Alder
093573a634 Merge "Added aac_enc_fuzzer" 2021-01-13 01:03:20 +00:00
Cindy Zhou
524e89257c Merge "Enable cfi for aac" am: 5690f9c39f am: 738df3d018
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1518238

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ib5d834ad315cad4006cb839776dd03d795fdc27e
2021-01-08 19:07:00 +00:00
Cindy Zhou
738df3d018 Merge "Enable cfi for aac" am: 5690f9c39f
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1518238

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I3b4ff4c9a2e1ccd1139a37ac2a537467efee9583
2021-01-08 18:17:46 +00:00
Cindy Zhou
5690f9c39f Merge "Enable cfi for aac" 2021-01-08 17:47:26 +00:00
Treehugger Robot
a108a6cafa Merge "Adjust VBR mode depending on given peak bitrate and fix crash 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
2021-01-08 16:25:06 +00:00
Treehugger Robot
3152997588 Merge "Adjust VBR mode depending on given peak bitrate and fix crash 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
2021-01-08 16:10:59 +00:00
Treehugger Robot
5d8224586c Merge "Adjust VBR mode depending on given peak bitrate and fix crash recovery usage." 2021-01-08 15:47:48 +00:00
Fraunhofer IIS FDK
e499f9485e Adjust VBR mode depending on given peak bitrate and fix crash recovery usage.
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
2021-01-08 10:52:53 +08:00
Anuj Joshi
ec3d6d9f0e Added aac_enc_fuzzer
Test: ./aac_enc_fuzzer
Bug: 172429950

Change-Id: Ia84f85425f6df10b13a3d045472f7f684f27eb8a
2020-12-28 10:33:12 +05:30
Cindy Zhou
c93fff6784 Enable cfi for aac
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
2020-12-17 07:45:11 -08:00
Xin Li
a5f0e4af6d Mark ab/6881855 as merged am: b831187d3a
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13112547

Change-Id: Id04d2590c249cad13da8dd8975d0a12ce96a9597
2020-11-24 00:10:16 +00:00
Xin Li
b831187d3a Mark ab/6881855 as merged
Bug: 172690556
Change-Id: I4edc064b9a87da525672e61919ec8fb59a70202e
2020-11-23 11:29:57 -08:00
Bill Yi
de35b0d3cc [automerger skipped] Merge "Merge rvc-release RP1A.201105.002 to aosp-master - 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
2020-11-05 04:21:11 +00:00
Bill Yi
700bc783fb [automerger skipped] Merge rvc-release RP1A.201105.002 to aosp-master - DO NOT MERGE am: 5b4265a02a am: 8b4e287ff6 -s ours am: 51ff3aa199 -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: Ifc66ac802e4e6eec723e5e762cf94f107f5f7ba6
2020-11-05 04:21:02 +00:00
Bill Yi
dd90d1595f [automerger skipped] Merge "Merge rvc-release RP1A.201105.002 to aosp-master - 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
2020-11-05 04:01:22 +00:00
Bill Yi
51ff3aa199 [automerger skipped] Merge rvc-release RP1A.201105.002 to aosp-master - DO NOT MERGE am: 5b4265a02a am: 8b4e287ff6 -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: Ia3fae7d8939333684ff3ea15081ac69624d58873
2020-11-05 04:01:14 +00:00
Bill Yi
0834f1a0b8 Merge "Merge rvc-release RP1A.201105.002 to aosp-master - DO NOT MERGE" am: f4adff7fbb
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1486978

Change-Id: Ied811f647e67defe1286b9a8e4a0bdc2c89da3c2
2020-11-05 03:01:21 +00:00
Bill Yi
8b4e287ff6 Merge rvc-release RP1A.201105.002 to aosp-master - DO NOT MERGE am: 5b4265a02a
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1486978

Change-Id: Ifc71d75171dfbc250f59774aea3ddb950e70d356
2020-11-05 03:01:13 +00:00
Bill Yi
f4adff7fbb Merge "Merge rvc-release RP1A.201105.002 to aosp-master - DO NOT MERGE" 2020-11-05 01:06:54 +00:00
Bill Yi
5b4265a02a Merge rvc-release RP1A.201105.002 to aosp-master - DO NOT MERGE
Merged-In: I44e842648acbceb02bbc28cf2ad729a0caddf60d
Change-Id: Iead5cf2ca1c993da0844a11d1e64bf3cc86ed5dd
2020-11-04 13:57:54 -08:00
Bill Yi
092c1fb7fb [automerger skipped] Merge rvc-release RP1A.201105.002 to stage-aosp-master - DO NOT MERGE am: 4c3407e563 -s ours am: 1f2e0ecb62 -s ours
am skip reason: Change-Id I31fe9fe1e8dd7e919848be94dd73dfb779e7065d with SHA-1 aacea3ffc5 is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/12984835

Change-Id: Ib5460d11c6484d4794e75fcd4c9ba48a4b57a472
2020-11-04 19:06:22 +00:00
Bill Yi
1f2e0ecb62 [automerger skipped] Merge rvc-release RP1A.201105.002 to stage-aosp-master - DO NOT MERGE am: 4c3407e563 -s ours
am skip reason: Change-Id I31fe9fe1e8dd7e919848be94dd73dfb779e7065d with SHA-1 aacea3ffc5 is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/12984835

Change-Id: I44e842648acbceb02bbc28cf2ad729a0caddf60d
2020-11-04 18:34:36 +00:00
Bill Yi
4c3407e563 Merge rvc-release RP1A.201105.002 to stage-aosp-master - DO NOT MERGE
Merged-In: I31fe9fe1e8dd7e919848be94dd73dfb779e7065d
Change-Id: I462d697908f9803317f038c916d5942967efa28a
2020-11-03 22:27:17 -08:00
Xin Li
c0e0f2885b [automerger skipped] Skip ab/6749736 in stage. am: f473247482 -s ours am: aacea3ffc5 -s ours
am skip reason: Change-Id Icfe1613791fb53502d99e3030dd9e9baa3fa5c33 with SHA-1 73da86e336 is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/12795744

Change-Id: Ideafc491bc2347878d68eb5c50389169382cc35c
2020-10-09 02:35:07 +00:00
Xin Li
aacea3ffc5 [automerger skipped] Skip ab/6749736 in stage. am: f473247482 -s ours
am skip reason: Change-Id Icfe1613791fb53502d99e3030dd9e9baa3fa5c33 with SHA-1 73da86e336 is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/12795744

Change-Id: I31fe9fe1e8dd7e919848be94dd73dfb779e7065d
2020-10-09 02:10:07 +00:00
Xin Li
f473247482 Skip ab/6749736 in stage.
Merged-In: Icfe1613791fb53502d99e3030dd9e9baa3fa5c33
Change-Id: I7d1c753bfa3343d5931058143dc016c3a0861700
2020-10-08 16:52:22 -07:00
android-build-team Robot
0e9a1509b5 Merge cherrypicks of [12620612, 12620613, 12620936, 12620457, 12616684, 12621005, 12620883, 12620884, 12620846, 12620847, 12620869, 12620848, 12620849, 12620961, 12620962, 12620827, 12620614, 12620197, 12620885, 12620198, 12621039, 12621040, 12621041, 12620937, 12620615, 12620886] into rvc-release
Change-Id: If3dab82f5ef50b669aa488a49aebe27bb6070079
2020-09-16 23:30:07 +00:00
Fraunhofer IIS FDK
ffff95538e Fix heap buffer overflow in sbrDecoder_AssignQmfChannels2SbrChannels().
In the bug the SBR decoder has already set up 9 channels and tries to
allocate one more channel. The assignment of the QMF channels to SBR
channels fails since the QMF domain manages only 8+1 channels instead
of 10 channels as reqeusted by SBR.
Here we have added a check in sbrDecoder_InitElement() which will
return with a parse error in case additional SBR channels would exceed
the maximum number of SBR channels. This solves the potential heap
buffer overflow.

Bug: 158762825
Test: atest DecoderTestAacDrc DecoderTestAacFormat DecoderTestXheAac
Change-Id: I0150ac6d5a47ffce883010f531928656eebc619e
Merged-In: I0150ac6d5a47ffce883010f531928656eebc619e
(cherry picked from commit bb8f983bf36ee2ad8af6acebf4823a58060004ab)
2020-09-16 23:28:22 +00:00
Xin Li
a222880e9b [automerger skipped] Merge "Merge Android R" am: 89b6626d5d -s ours am: 26a0396347 -s ours am: c0dbde6b33 -s ours am: ec717def34 -s ours
am skip reason: Change-Id Idcdb13a8c37b0b4b5446169c3e80dfe55586bc77 with SHA-1 7a0dde5d5d is in history

Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1421866

Change-Id: I33abaa1c2d16e2b0b93b33e942c1e315fd1f29aa
2020-09-11 03:59:15 +00:00
Xin Li
ec717def34 [automerger skipped] Merge "Merge Android R" am: 89b6626d5d -s ours am: 26a0396347 -s ours am: c0dbde6b33 -s ours
am skip reason: Change-Id Idcdb13a8c37b0b4b5446169c3e80dfe55586bc77 with SHA-1 7a0dde5d5d is in history

Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1421866

Change-Id: I5b8161f44651f40c168a81ba535e8c26ad5b533e
2020-09-11 03:33:44 +00:00
Xin Li
c0dbde6b33 [automerger skipped] Merge "Merge Android R" am: 89b6626d5d -s ours am: 26a0396347 -s ours
am skip reason: Change-Id Idcdb13a8c37b0b4b5446169c3e80dfe55586bc77 with SHA-1 7a0dde5d5d is in history

Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1421866

Change-Id: I1713993ae0e8fb75c4e27fdad6c8e263b7391a03
2020-09-11 02:02:53 +00:00
Xin Li
26a0396347 [automerger skipped] Merge "Merge Android R" am: 89b6626d5d -s ours
am skip reason: Change-Id Idcdb13a8c37b0b4b5446169c3e80dfe55586bc77 with SHA-1 7a0dde5d5d is in history

Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1421866

Change-Id: I6d537ca8862ea4f0409b2f173ab9d7e9cafc70ae
2020-09-11 00:40:34 +00:00
Xin Li
89b6626d5d Merge "Merge Android R" 2020-09-10 17:22:12 +00:00
Fraunhofer IIS FDK
543db9d0bd [automerger skipped] [DO NOT MERGE] Fix heap buffer overflow in sbrDecoder_AssignQmfChannels2SbrChannels(). am: 50aa5be388 am: 0468e02e5b am: d20df7ee14 -s ours am: 80ebc985fb -s ours am: 035cf671b8 am: ce38f54339 -s ours am: a3d45a6804 am: aa6329fb90 am: 8ad12f29d8
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/12088847

Change-Id: Iefa0bc6d2f856953743b58518ce85ecc9d268428
2020-09-10 00:00:19 +00:00
Fraunhofer IIS FDK
098059f5bb [automerger skipped] [DO NOT MERGE] Fix heap buffer overflow in sbrDecoder_AssignQmfChannels2SbrChannels(). am: 50aa5be388 am: 0468e02e5b am: d20df7ee14 -s ours am: 80ebc985fb -s ours am: 035cf671b8 am: ce38f54339 -s ours am: a3d45a6804 am: 846f899a2f am: 7b0e1e7056
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/12088847

Change-Id: I6c6b66c316ec178db6d1e17712c07fe7819c9a10
2020-09-09 23:58:02 +00:00
Fraunhofer IIS FDK
fd762222af [automerger skipped] Fix heap buffer overflow in sbrDecoder_AssignQmfChannels2SbrChannels(). am: c516539a20 am: 17dd8dfad9 am: 8336b89345 -s ours am: 971b630c47 -s ours am: e82257ae36 -s ours am: 1935ab0459 -s ours
am skip reason: Change-Id I0150ac6d5a47ffce883010f531928656eebc619e with SHA-1 bb8f983bf3 is in history

Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/12091300

Change-Id: I040218276ea001057c4caf0174917b6d4019a77b
2020-09-09 23:57:55 +00:00