mirror of https://github.com/mstorsjo/fdk-aac.git
Introduce aacDecoder_drcDisable() and always disable legacy DRC for USAC.
Bug: 176246647 Test: atest DecoderTestXheAac DecoderTestAacDrc Change-Id: I75edf24b18e1f5392b6eb179d5574cb93fcbc7c2
This commit is contained in:
parent
702d914e1a
commit
3ebe6ffe95
|
@ -1,7 +1,7 @@
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
Software License for The Fraunhofer FDK AAC Codec Library for Android
|
Software License for The Fraunhofer FDK AAC Codec Library for Android
|
||||||
|
|
||||||
© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
|
© Copyright 1995 - 2020 Fraunhofer-Gesellschaft zur Förderung der angewandten
|
||||||
Forschung e.V. All rights reserved.
|
Forschung e.V. All rights reserved.
|
||||||
|
|
||||||
1. INTRODUCTION
|
1. INTRODUCTION
|
||||||
|
@ -149,6 +149,19 @@ static INT convert_drcParam(FIXP_DBL param_dbl) {
|
||||||
return (INT)param_long;
|
return (INT)param_long;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\brief Disable DRC
|
||||||
|
|
||||||
|
\self Handle of DRC info
|
||||||
|
|
||||||
|
\return none
|
||||||
|
*/
|
||||||
|
void aacDecoder_drcDisable(HANDLE_AAC_DRC self) {
|
||||||
|
self->enable = 0;
|
||||||
|
self->applyExtGain = 0;
|
||||||
|
self->progRefLevelPresent = 0;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Reset DRC information
|
\brief Reset DRC information
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* -----------------------------------------------------------------------------
|
/* -----------------------------------------------------------------------------
|
||||||
Software License for The Fraunhofer FDK AAC Codec Library for Android
|
Software License for The Fraunhofer FDK AAC Codec Library for Android
|
||||||
|
|
||||||
© Copyright 1995 - 2019 Fraunhofer-Gesellschaft zur Förderung der angewandten
|
© Copyright 1995 - 2020 Fraunhofer-Gesellschaft zur Förderung der angewandten
|
||||||
Forschung e.V. All rights reserved.
|
Forschung e.V. All rights reserved.
|
||||||
|
|
||||||
1. INTRODUCTION
|
1. INTRODUCTION
|
||||||
|
@ -140,6 +140,8 @@ typedef enum {
|
||||||
/**
|
/**
|
||||||
* \brief DRC module interface functions
|
* \brief DRC module interface functions
|
||||||
*/
|
*/
|
||||||
|
void aacDecoder_drcDisable(HANDLE_AAC_DRC self);
|
||||||
|
|
||||||
void aacDecoder_drcReset(HANDLE_AAC_DRC self);
|
void aacDecoder_drcReset(HANDLE_AAC_DRC self);
|
||||||
|
|
||||||
void aacDecoder_drcInit(HANDLE_AAC_DRC self);
|
void aacDecoder_drcInit(HANDLE_AAC_DRC self);
|
||||||
|
|
|
@ -2414,8 +2414,7 @@ CAacDecoder_Init(HANDLE_AACDECODER self, const CSAudioSpecificConfig *asc,
|
||||||
|
|
||||||
if (*configChanged) {
|
if (*configChanged) {
|
||||||
if (asc->m_aot == AOT_USAC) {
|
if (asc->m_aot == AOT_USAC) {
|
||||||
self->hDrcInfo->enable = 0;
|
aacDecoder_drcDisable(self->hDrcInfo);
|
||||||
self->hDrcInfo->progRefLevelPresent = 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3231,11 +3230,12 @@ LINKSPEC_CPP AAC_DECODER_ERROR CAacDecoder_DecodeFrame(
|
||||||
* data in the bitstream. */
|
* data in the bitstream. */
|
||||||
self->flags[streamIndex] |= AC_DRC_PRESENT;
|
self->flags[streamIndex] |= AC_DRC_PRESENT;
|
||||||
} else {
|
} else {
|
||||||
self->hDrcInfo->enable = 0;
|
|
||||||
self->hDrcInfo->progRefLevelPresent = 0;
|
|
||||||
ErrorStatus = AAC_DEC_UNSUPPORTED_FORMAT;
|
ErrorStatus = AAC_DEC_UNSUPPORTED_FORMAT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (self->flags[streamIndex] & (AC_USAC | AC_RSV603DA)) {
|
||||||
|
aacDecoder_drcDisable(self->hDrcInfo);
|
||||||
|
}
|
||||||
|
|
||||||
/* Create a reverse mapping table */
|
/* Create a reverse mapping table */
|
||||||
UCHAR Reverse_chMapping[((8) * 2)];
|
UCHAR Reverse_chMapping[((8) * 2)];
|
||||||
|
@ -3478,11 +3478,12 @@ LINKSPEC_CPP AAC_DECODER_ERROR CAacDecoder_DecodeFrame(
|
||||||
* data in the bitstream. */
|
* data in the bitstream. */
|
||||||
self->flags[streamIndex] |= AC_DRC_PRESENT;
|
self->flags[streamIndex] |= AC_DRC_PRESENT;
|
||||||
} else {
|
} else {
|
||||||
self->hDrcInfo->enable = 0;
|
|
||||||
self->hDrcInfo->progRefLevelPresent = 0;
|
|
||||||
ErrorStatus = AAC_DEC_UNSUPPORTED_FORMAT;
|
ErrorStatus = AAC_DEC_UNSUPPORTED_FORMAT;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (self->flags[streamIndex] & (AC_USAC | AC_RSV603DA)) {
|
||||||
|
aacDecoder_drcDisable(self->hDrcInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add additional concealment delay */
|
/* Add additional concealment delay */
|
||||||
|
|
Loading…
Reference in New Issue