mirror of https://github.com/mstorsjo/fdk-aac.git
Merge "Extend PS concealment/error treatment"
This commit is contained in:
commit
58221178cc
|
@ -312,6 +312,7 @@ int DecodePs(struct PS_DEC *h_ps_d, /*!< PS handle */
|
||||||
|
|
||||||
if (pBsData->bEnableIid) {
|
if (pBsData->bEnableIid) {
|
||||||
pBsData->bFineIidQ = h_ps_d->specificTo.mpeg.bPrevFrameFineIidQ;
|
pBsData->bFineIidQ = h_ps_d->specificTo.mpeg.bPrevFrameFineIidQ;
|
||||||
|
pBsData->freqResIid = h_ps_d->specificTo.mpeg.prevFreqResIid;
|
||||||
for (gr = 0; gr < NO_HI_RES_IID_BINS; gr++) {
|
for (gr = 0; gr < NO_HI_RES_IID_BINS; gr++) {
|
||||||
pBsData->aaIidIndex[pBsData->noEnv - 1][gr] =
|
pBsData->aaIidIndex[pBsData->noEnv - 1][gr] =
|
||||||
h_ps_d->specificTo.mpeg.aIidPrevFrameIndex[gr];
|
h_ps_d->specificTo.mpeg.aIidPrevFrameIndex[gr];
|
||||||
|
@ -323,6 +324,7 @@ int DecodePs(struct PS_DEC *h_ps_d, /*!< PS handle */
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pBsData->bEnableIcc) {
|
if (pBsData->bEnableIcc) {
|
||||||
|
pBsData->freqResIcc = h_ps_d->specificTo.mpeg.prevFreqResIcc;
|
||||||
for (gr = 0; gr < NO_HI_RES_ICC_BINS; gr++) {
|
for (gr = 0; gr < NO_HI_RES_ICC_BINS; gr++) {
|
||||||
pBsData->aaIccIndex[pBsData->noEnv - 1][gr] =
|
pBsData->aaIccIndex[pBsData->noEnv - 1][gr] =
|
||||||
h_ps_d->specificTo.mpeg.aIccPrevFrameIndex[gr];
|
h_ps_d->specificTo.mpeg.aIccPrevFrameIndex[gr];
|
||||||
|
@ -337,6 +339,12 @@ int DecodePs(struct PS_DEC *h_ps_d, /*!< PS handle */
|
||||||
/* Update previous frame Iid quantization */
|
/* Update previous frame Iid quantization */
|
||||||
h_ps_d->specificTo.mpeg.bPrevFrameFineIidQ = pBsData->bFineIidQ;
|
h_ps_d->specificTo.mpeg.bPrevFrameFineIidQ = pBsData->bFineIidQ;
|
||||||
|
|
||||||
|
/* Update previous frequency resolution for IID */
|
||||||
|
h_ps_d->specificTo.mpeg.prevFreqResIid = pBsData->freqResIid;
|
||||||
|
|
||||||
|
/* Update previous frequency resolution for ICC */
|
||||||
|
h_ps_d->specificTo.mpeg.prevFreqResIcc = pBsData->freqResIcc;
|
||||||
|
|
||||||
/* Update previous frame index buffers */
|
/* Update previous frame index buffers */
|
||||||
for (gr = 0; gr < NO_HI_RES_IID_BINS; gr++) {
|
for (gr = 0; gr < NO_HI_RES_IID_BINS; gr++) {
|
||||||
h_ps_d->specificTo.mpeg.aIidPrevFrameIndex[gr] =
|
h_ps_d->specificTo.mpeg.aIidPrevFrameIndex[gr] =
|
||||||
|
|
|
@ -275,7 +275,11 @@ struct PS_DEC {
|
||||||
SCHAR aIccPrevFrameIndex[NO_HI_RES_ICC_BINS]; /*!< The ICC index for
|
SCHAR aIccPrevFrameIndex[NO_HI_RES_ICC_BINS]; /*!< The ICC index for
|
||||||
previous frame */
|
previous frame */
|
||||||
UCHAR
|
UCHAR
|
||||||
bPrevFrameFineIidQ; /*!< The IID quantization of the previous frame */
|
bPrevFrameFineIidQ; /*!< The IID quantization of the previous frame */
|
||||||
|
UCHAR prevFreqResIid; /*!< Frequency resolution for IID of the previous
|
||||||
|
frame */
|
||||||
|
UCHAR prevFreqResIcc; /*!< Frequency resolution for ICC of the previous
|
||||||
|
frame */
|
||||||
UCHAR lastUsb; /*!< uppermost WMF delay band of last frame */
|
UCHAR lastUsb; /*!< uppermost WMF delay band of last frame */
|
||||||
|
|
||||||
FIXP_DBL pHybridAnaStatesLFdmx
|
FIXP_DBL pHybridAnaStatesLFdmx
|
||||||
|
|
Loading…
Reference in New Issue