mirror of
https://github.com/xiph/opus.git
synced 2025-05-29 14:49:14 +00:00
Fixes the transient detector on silence
Previously silence would cause the divide approximation on 0/0 to return a very large value, which would be interpreted as a transient
This commit is contained in:
parent
60fcfd5954
commit
eda57aa386
1 changed files with 2 additions and 2 deletions
|
@ -343,9 +343,9 @@ static int transient_analysis(const opus_val32 * OPUS_RESTRICT in, int len, int
|
|||
{
|
||||
int id;
|
||||
#ifdef FIXED_POINT
|
||||
id = IMAX(0,IMIN(127,MULT16_32_Q15(tmp[i],norm))); /* Do not round to nearest */
|
||||
id = MAX32(0,MIN32(127,MULT16_32_Q15(tmp[i]+EPSILON,norm))); /* Do not round to nearest */
|
||||
#else
|
||||
id = IMAX(0,IMIN(127,(int)floor(64*norm*tmp[i]))); /* Do not round to nearest */
|
||||
id = (int)MAX32(0,MIN32(127,floor(64*norm*(tmp[i]+EPSILON)))); /* Do not round to nearest */
|
||||
#endif
|
||||
unmask += inv_table[id];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue