diff options
author | Koen Vos <koenvos74@gmail.com> | 2013-11-20 08:32:32 -0500 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2013-11-20 08:32:32 -0500 |
commit | c63fb978be59fd09179abe9d714ee598d888e789 (patch) | |
tree | 36deeaa6440ff80c943e19d6ab4016e29dd4ccbc /silk/log2lin.c | |
parent | ac31a0af4ace081404de39342eed41cf59f91e2d (diff) | |
download | opus-c63fb978be59fd09179abe9d714ee598d888e789.tar.gz |
Constrains accumulated pitch gain to avoid potential instability.
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
Diffstat (limited to 'silk/log2lin.c')
-rw-r--r-- | silk/log2lin.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/silk/log2lin.c b/silk/log2lin.c index 07d97a95..a692e009 100644 --- a/silk/log2lin.c +++ b/silk/log2lin.c @@ -41,7 +41,9 @@ opus_int32 silk_log2lin( if( inLog_Q7 < 0 ) { return 0; - } + } else if ( inLog_Q7 >= 3967 ) { + return silk_int32_MAX; + } out = silk_LSHIFT( 1, silk_RSHIFT( inLog_Q7, 7 ) ); frac_Q7 = inLog_Q7 & 0x7F; |