| OLD | NEW |
| 1 /*********************************************************************** | 1 /*********************************************************************** |
| 2 Copyright (c) 2006-2011, Skype Limited. All rights reserved. | 2 Copyright (c) 2006-2011, Skype Limited. All rights reserved. |
| 3 Redistribution and use in source and binary forms, with or without | 3 Redistribution and use in source and binary forms, with or without |
| 4 modification, are permitted provided that the following conditions | 4 modification, are permitted provided that the following conditions |
| 5 are met: | 5 are met: |
| 6 - Redistributions of source code must retain the above copyright notice, | 6 - Redistributions of source code must retain the above copyright notice, |
| 7 this list of conditions and the following disclaimer. | 7 this list of conditions and the following disclaimer. |
| 8 - Redistributions in binary form must reproduce the above copyright | 8 - Redistributions in binary form must reproduce the above copyright |
| 9 notice, this list of conditions and the following disclaimer in the | 9 notice, this list of conditions and the following disclaimer in the |
| 10 documentation and/or other materials provided with the distribution. | 10 documentation and/or other materials provided with the distribution. |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 | 31 |
| 32 /* | 32 /* |
| 33 Elliptic/Cauer filters designed with 0.1 dB passband ripple, | 33 Elliptic/Cauer filters designed with 0.1 dB passband ripple, |
| 34 80 dB minimum stopband attenuation, and | 34 80 dB minimum stopband attenuation, and |
| 35 [0.95 : 0.15 : 0.35] normalized cut off frequencies. | 35 [0.95 : 0.15 : 0.35] normalized cut off frequencies. |
| 36 */ | 36 */ |
| 37 | 37 |
| 38 #include "main.h" | 38 #include "main.h" |
| 39 | 39 |
| 40 /* Helper function, interpolates the filter taps */ | 40 /* Helper function, interpolates the filter taps */ |
| 41 static inline void silk_LP_interpolate_filter_taps( | 41 static OPUS_INLINE void silk_LP_interpolate_filter_taps( |
| 42 opus_int32 B_Q28[ TRANSITION_NB ], | 42 opus_int32 B_Q28[ TRANSITION_NB ], |
| 43 opus_int32 A_Q28[ TRANSITION_NA ], | 43 opus_int32 A_Q28[ TRANSITION_NA ], |
| 44 const opus_int ind, | 44 const opus_int ind, |
| 45 const opus_int32 fac_Q16 | 45 const opus_int32 fac_Q16 |
| 46 ) | 46 ) |
| 47 { | 47 { |
| 48 opus_int nb, na; | 48 opus_int nb, na; |
| 49 | 49 |
| 50 if( ind < TRANSITION_INT_NUM - 1 ) { | 50 if( ind < TRANSITION_INT_NUM - 1 ) { |
| 51 if( fac_Q16 > 0 ) { | 51 if( fac_Q16 > 0 ) { |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 silk_LP_interpolate_filter_taps( B_Q28, A_Q28, ind, fac_Q16 ); | 126 silk_LP_interpolate_filter_taps( B_Q28, A_Q28, ind, fac_Q16 ); |
| 127 | 127 |
| 128 /* Update transition frame number for next frame */ | 128 /* Update transition frame number for next frame */ |
| 129 psLP->transition_frame_no = silk_LIMIT( psLP->transition_frame_no + psLP
->mode, 0, TRANSITION_FRAMES ); | 129 psLP->transition_frame_no = silk_LIMIT( psLP->transition_frame_no + psLP
->mode, 0, TRANSITION_FRAMES ); |
| 130 | 130 |
| 131 /* ARMA low-pass filtering */ | 131 /* ARMA low-pass filtering */ |
| 132 silk_assert( TRANSITION_NB == 3 && TRANSITION_NA == 2 ); | 132 silk_assert( TRANSITION_NB == 3 && TRANSITION_NA == 2 ); |
| 133 silk_biquad_alt( frame, B_Q28, A_Q28, psLP->In_LP_State, frame, frame_le
ngth, 1); | 133 silk_biquad_alt( frame, B_Q28, A_Q28, psLP->In_LP_State, frame, frame_le
ngth, 1); |
| 134 } | 134 } |
| 135 } | 135 } |
| OLD | NEW |