| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\| |
|
| |
| |
| |
| |
| |
| | |
Bug: 176246647
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I8261106b98d7e7c5a8a2af38585c726285ea8623
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1527719
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ib842fadf4278b74faa59e83ef8401b154ec487d0
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1527719
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: If878046841ee4408530b47a76cb829b8b2c3c80a
|
| | |\ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1527719
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ib3295eaed1814e256668526f4ea9c41743dd4431
|
| | | |\ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Test: ./aac_enc_fuzzer
Bug: 172429950
Change-Id: Ia84f85425f6df10b13a3d045472f7f684f27eb8a
|
|\| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1518238
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ifa9c52a5ca9ddc6ca5edc35166afdc4a1f5b5788
|
| |\| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1518238
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: Ib5d834ad315cad4006cb839776dd03d795fdc27e
|
| | |\| | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Original change: https://android-review.googlesource.com/c/platform/external/aac/+/1518238
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I3b4ff4c9a2e1ccd1139a37ac2a537467efee9583
|
| | | |\ \ \ |
|
| | | | |/ /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
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
|
|\| | | | |
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| |\| | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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
|
| | |\| |
| | | |/
| | |/|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | |/|
| | | |
| | | |
| | | | |
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
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 176246647
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I3e04480ab5a74da1a9d09af5da95afb2000b3117
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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().
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
channel mismatch.
Bug: 176246647
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: Ib8b6973e9c29e13b8ef33d7736be2b977928face
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
fDivNorm().
Bug: 176246647
Test: atest android.media.cts.DecoderTestAacFormat android.media.cts.DecoderTestXheAac android.media.cts.DecoderTestAacDrc
Change-Id: I198747688f1677b82f27a17a2fcf40229c92b1da
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I6aaeef87e1f2ce5d5031f088b8c57e6f5806929d
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I9681942ba39761e4f1d66236ad80c2420ca5abe9
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I60ac86f09a5652c820d60dfdc12212637f888164
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I025e943e91f9be1a5259a761a8ff88defd8babea
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I75edf24b18e1f5392b6eb179d5574cb93fcbc7c2
|
|\| | |
| | | |
| | | |
| | | | |
sbrDecoder_drcApplySlot()."
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I5bded2e3d29278bb5df561eaa2a46d963ee21df8
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* 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().
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I5eb0f88a55e856c427f9e4647332070f66e673c5
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
aacDecoder_SetParam().
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I1d8534145bcf400c5da58d64d3b7e73a87cb43be
|
|\| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I9ed8b33414907706808956cffad252052928c799
|
|\| | |
| | | |
| | | |
| | | | |
adjustTimeSlotHQ() and adjustTimeSlotHQ_GainAndNoise()."
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
and adjustTimeSlotHQ_GainAndNoise().
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: Ib630d56a626ddd59a9155df38cda2011c3165346
|
|\| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: I6c30c4dec3f85410c2748eb42d38f5eb72521ec5
|
|\| | |
| | | |
| | | |
| | | | |
eightChannelFiltering()."
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug: 176246647
Test: atest DecoderTestXheAac DecoderTestAacDrc
Change-Id: Ic9217bbb3980807036ae6ae121e6ddb7cc1bce35
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\| |
| | |
| | |
| | |
| | |
| | | |
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13112547
Change-Id: I9243e7da297d69b2bcb1f2d87a4b7a36c961e063
|
| |\|
| | |
| | |
| | |
| | |
| | | |
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/aac/+/13112547
Change-Id: Id04d2590c249cad13da8dd8975d0a12ce96a9597
|
| | |\
| | | |
| | | |
| | | |
| | | | |
Bug: 172690556
Change-Id: I4edc064b9a87da525672e61919ec8fb59a70202e
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- 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
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- 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
|
| | |\| |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- 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
|