Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(571)

Side by Side Diff: silk/NLSF_del_dec_quant.c

Issue 107243004: Updating Opus to release 1.1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/opus
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « silk/NLSF_decode.c ('k') | silk/NSQ.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 rate0_Q5 = rates_Q5[ ind_tmp + NLSF_QUANT_MAX_AMPLITUDE ]; 114 rate0_Q5 = rates_Q5[ ind_tmp + NLSF_QUANT_MAX_AMPLITUDE ];
115 rate1_Q5 = rates_Q5[ ind_tmp + 1 + NLSF_QUANT_MAX_AMPLITUDE ]; 115 rate1_Q5 = rates_Q5[ ind_tmp + 1 + NLSF_QUANT_MAX_AMPLITUDE ];
116 } 116 }
117 RD_tmp_Q25 = RD_Q25[ j ]; 117 RD_tmp_Q25 = RD_Q25[ j ];
118 diff_Q10 = silk_SUB16( in_Q10, out0_Q10 ); 118 diff_Q10 = silk_SUB16( in_Q10, out0_Q10 );
119 RD_Q25[ j ] = silk_SMLABB( silk_MLA( RD_tmp_Q25, silk_SMUL BB( diff_Q10, diff_Q10 ), w_Q5[ i ] ), mu_Q20, rate0_Q5 ); 119 RD_Q25[ j ] = silk_SMLABB( silk_MLA( RD_tmp_Q25, silk_SMUL BB( diff_Q10, diff_Q10 ), w_Q5[ i ] ), mu_Q20, rate0_Q5 );
120 diff_Q10 = silk_SUB16( in_Q10, out1_Q10 ); 120 diff_Q10 = silk_SUB16( in_Q10, out1_Q10 );
121 RD_Q25[ j + nStates ] = silk_SMLABB( silk_MLA( RD_tmp_Q25, silk_SMUL BB( diff_Q10, diff_Q10 ), w_Q5[ i ] ), mu_Q20, rate1_Q5 ); 121 RD_Q25[ j + nStates ] = silk_SMLABB( silk_MLA( RD_tmp_Q25, silk_SMUL BB( diff_Q10, diff_Q10 ), w_Q5[ i ] ), mu_Q20, rate1_Q5 );
122 } 122 }
123 123
124 if( nStates < NLSF_QUANT_DEL_DEC_STATES ) { 124 if( nStates <= ( NLSF_QUANT_DEL_DEC_STATES >> 1 ) ) {
125 /* double number of states and copy */ 125 /* double number of states and copy */
126 for( j = 0; j < nStates; j++ ) { 126 for( j = 0; j < nStates; j++ ) {
127 ind[ j + nStates ][ i ] = ind[ j ][ i ] + 1; 127 ind[ j + nStates ][ i ] = ind[ j ][ i ] + 1;
128 } 128 }
129 nStates = silk_LSHIFT( nStates, 1 ); 129 nStates = silk_LSHIFT( nStates, 1 );
130 for( j = nStates; j < NLSF_QUANT_DEL_DEC_STATES; j++ ) { 130 for( j = nStates; j < NLSF_QUANT_DEL_DEC_STATES; j++ ) {
131 ind[ j ][ i ] = ind[ j - nStates ][ i ]; 131 ind[ j ][ i ] = ind[ j - nStates ][ i ];
132 } 132 }
133 } else if( i > 0 ) { 133 } else if( i > 0 ) {
134 /* sort lower and upper half of RD_Q25, pairwise */ 134 /* sort lower and upper half of RD_Q25, pairwise */
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 for( j = 0; j < order; j++ ) { 198 for( j = 0; j < order; j++ ) {
199 indices[ j ] = ind[ ind_tmp & ( NLSF_QUANT_DEL_DEC_STATES - 1 ) ][ j ]; 199 indices[ j ] = ind[ ind_tmp & ( NLSF_QUANT_DEL_DEC_STATES - 1 ) ][ j ];
200 silk_assert( indices[ j ] >= -NLSF_QUANT_MAX_AMPLITUDE_EXT ); 200 silk_assert( indices[ j ] >= -NLSF_QUANT_MAX_AMPLITUDE_EXT );
201 silk_assert( indices[ j ] <= NLSF_QUANT_MAX_AMPLITUDE_EXT ); 201 silk_assert( indices[ j ] <= NLSF_QUANT_MAX_AMPLITUDE_EXT );
202 } 202 }
203 indices[ 0 ] += silk_RSHIFT( ind_tmp, NLSF_QUANT_DEL_DEC_STATES_LOG2 ); 203 indices[ 0 ] += silk_RSHIFT( ind_tmp, NLSF_QUANT_DEL_DEC_STATES_LOG2 );
204 silk_assert( indices[ 0 ] <= NLSF_QUANT_MAX_AMPLITUDE_EXT ); 204 silk_assert( indices[ 0 ] <= NLSF_QUANT_MAX_AMPLITUDE_EXT );
205 silk_assert( min_Q25 >= 0 ); 205 silk_assert( min_Q25 >= 0 );
206 return min_Q25; 206 return min_Q25;
207 } 207 }
OLDNEW
« no previous file with comments | « silk/NLSF_decode.c ('k') | silk/NSQ.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698