mirror of https://github.com/mstorsjo/fdk-aac.git
Fix potential invalid memory access for concealment in decodeEnvelope()
Test: atest DecoderTestXheAac ; atest DecoderTestAacDrc Change-Id: I916a24c000ef792aa3d5befa02a6b6f673161844
This commit is contained in:
parent
5cb1030d72
commit
82383e3212
|
@ -506,15 +506,20 @@ static void decodeEnvelope(
|
|||
*/
|
||||
for (i = 0; i < hHeaderData->freqBandData.nSfb[1]; i++) {
|
||||
/* Former Level-Channel will be used for both channels */
|
||||
if (h_prev_data->coupling == COUPLING_BAL)
|
||||
h_prev_data->sfb_nrg_prev[i] = otherChannel->sfb_nrg_prev[i];
|
||||
if (h_prev_data->coupling == COUPLING_BAL) {
|
||||
h_prev_data->sfb_nrg_prev[i] =
|
||||
(otherChannel != NULL) ? otherChannel->sfb_nrg_prev[i]
|
||||
: (FIXP_SGL)SBR_ENERGY_PAN_OFFSET;
|
||||
}
|
||||
/* Former L/R will be combined as the new Level-Channel */
|
||||
else if (h_sbr_data->coupling == COUPLING_LEVEL)
|
||||
else if (h_sbr_data->coupling == COUPLING_LEVEL &&
|
||||
otherChannel != NULL) {
|
||||
h_prev_data->sfb_nrg_prev[i] = (h_prev_data->sfb_nrg_prev[i] +
|
||||
otherChannel->sfb_nrg_prev[i]) >>
|
||||
1;
|
||||
else if (h_sbr_data->coupling == COUPLING_BAL)
|
||||
} else if (h_sbr_data->coupling == COUPLING_BAL) {
|
||||
h_prev_data->sfb_nrg_prev[i] = (FIXP_SGL)SBR_ENERGY_PAN_OFFSET;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue