forked from len0rd/rockbox
Fix bug in libatrac which lead to playback errors and/or distortions with some atrac3 files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28642 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
6695226331
commit
dedffd3f40
1 changed files with 4 additions and 4 deletions
|
|
@ -666,7 +666,7 @@ static void applyFixGain (int32_t *pIn, int32_t *pPrev, int32_t *pOut,
|
||||||
if (ONE_16 == gain) {
|
if (ONE_16 == gain) {
|
||||||
/* gain1 = 1.0 -> no multiplication needed, just adding */
|
/* gain1 = 1.0 -> no multiplication needed, just adding */
|
||||||
/* Remark: This path is called >90%. */
|
/* Remark: This path is called >90%. */
|
||||||
do {
|
while (i<256) {
|
||||||
pOut[i] = pIn[i] + pPrev[i]; i++;
|
pOut[i] = pIn[i] + pPrev[i]; i++;
|
||||||
pOut[i] = pIn[i] + pPrev[i]; i++;
|
pOut[i] = pIn[i] + pPrev[i]; i++;
|
||||||
pOut[i] = pIn[i] + pPrev[i]; i++;
|
pOut[i] = pIn[i] + pPrev[i]; i++;
|
||||||
|
|
@ -675,11 +675,11 @@ static void applyFixGain (int32_t *pIn, int32_t *pPrev, int32_t *pOut,
|
||||||
pOut[i] = pIn[i] + pPrev[i]; i++;
|
pOut[i] = pIn[i] + pPrev[i]; i++;
|
||||||
pOut[i] = pIn[i] + pPrev[i]; i++;
|
pOut[i] = pIn[i] + pPrev[i]; i++;
|
||||||
pOut[i] = pIn[i] + pPrev[i]; i++;
|
pOut[i] = pIn[i] + pPrev[i]; i++;
|
||||||
} while (i<256);
|
};
|
||||||
} else {
|
} else {
|
||||||
/* gain1 != 1.0 -> we need to do a multiplication */
|
/* gain1 != 1.0 -> we need to do a multiplication */
|
||||||
/* Remark: This path is called seldom. */
|
/* Remark: This path is called seldom. */
|
||||||
do {
|
while (i<256) {
|
||||||
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
||||||
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
||||||
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
||||||
|
|
@ -688,7 +688,7 @@ static void applyFixGain (int32_t *pIn, int32_t *pPrev, int32_t *pOut,
|
||||||
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
||||||
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
||||||
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
pOut[i] = fixmul16(pIn[i], gain) + pPrev[i]; i++;
|
||||||
} while (i<256);
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue