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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 pNLSFW_QW[ i ] = silk_ADD16( silk_RSHIFT( pNLSFW_QW[ i ], 1 ), silk_
RSHIFT( | 82 pNLSFW_QW[ i ] = silk_ADD16( silk_RSHIFT( pNLSFW_QW[ i ], 1 ), silk_
RSHIFT( |
83 silk_SMULBB( pNLSFW0_temp_QW[ i ], i_sqr_Q15 ), 16) ); | 83 silk_SMULBB( pNLSFW0_temp_QW[ i ], i_sqr_Q15 ), 16) ); |
84 silk_assert( pNLSFW_QW[ i ] >= 1 ); | 84 silk_assert( pNLSFW_QW[ i ] >= 1 ); |
85 } | 85 } |
86 } | 86 } |
87 | 87 |
88 silk_NLSF_encode( psEncC->indices.NLSFIndices, pNLSF_Q15, psEncC->psNLSF_CB,
pNLSFW_QW, | 88 silk_NLSF_encode( psEncC->indices.NLSFIndices, pNLSF_Q15, psEncC->psNLSF_CB,
pNLSFW_QW, |
89 NLSF_mu_Q20, psEncC->NLSF_MSVQ_Survivors, psEncC->indices.signalType ); | 89 NLSF_mu_Q20, psEncC->NLSF_MSVQ_Survivors, psEncC->indices.signalType ); |
90 | 90 |
91 /* Convert quantized NLSFs back to LPC coefficients */ | 91 /* Convert quantized NLSFs back to LPC coefficients */ |
92 silk_NLSF2A( PredCoef_Q12[ 1 ], pNLSF_Q15, psEncC->predictLPCOrder ); | 92 silk_NLSF2A( PredCoef_Q12[ 1 ], pNLSF_Q15, psEncC->predictLPCOrder, psEncC->
arch ); |
93 | 93 |
94 if( doInterpolate ) { | 94 if( doInterpolate ) { |
95 /* Calculate the interpolated, quantized LSF vector for the first half *
/ | 95 /* Calculate the interpolated, quantized LSF vector for the first half *
/ |
96 silk_interpolate( pNLSF0_temp_Q15, prev_NLSFq_Q15, pNLSF_Q15, | 96 silk_interpolate( pNLSF0_temp_Q15, prev_NLSFq_Q15, pNLSF_Q15, |
97 psEncC->indices.NLSFInterpCoef_Q2, psEncC->predictLPCOrder ); | 97 psEncC->indices.NLSFInterpCoef_Q2, psEncC->predictLPCOrder ); |
98 | 98 |
99 /* Convert back to LPC coefficients */ | 99 /* Convert back to LPC coefficients */ |
100 silk_NLSF2A( PredCoef_Q12[ 0 ], pNLSF0_temp_Q15, psEncC->predictLPCOrder
); | 100 silk_NLSF2A( PredCoef_Q12[ 0 ], pNLSF0_temp_Q15, psEncC->predictLPCOrder
, psEncC->arch ); |
101 | 101 |
102 } else { | 102 } else { |
103 /* Copy LPC coefficients for first half from second half */ | 103 /* Copy LPC coefficients for first half from second half */ |
104 silk_assert( psEncC->predictLPCOrder <= MAX_LPC_ORDER ); | 104 silk_assert( psEncC->predictLPCOrder <= MAX_LPC_ORDER ); |
105 silk_memcpy( PredCoef_Q12[ 0 ], PredCoef_Q12[ 1 ], psEncC->predictLPCOrd
er * sizeof( opus_int16 ) ); | 105 silk_memcpy( PredCoef_Q12[ 0 ], PredCoef_Q12[ 1 ], psEncC->predictLPCOrd
er * sizeof( opus_int16 ) ); |
106 } | 106 } |
107 } | 107 } |
OLD | NEW |