FreeCalypso > hg > gsm-codec-lib
comparison libgsmefr/dtx_common.c @ 191:7bc011aceb7f
libgsmefr/dtx_common.c: perf opt
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 03 Jan 2023 04:31:11 +0000 |
parents | c1d53064b410 |
children |
comparison
equal
deleted
inserted
replaced
190:f387ee919f2c | 191:7bc011aceb7f |
---|---|
171 } | 171 } |
172 | 172 |
173 for (k = 0; k < NB_PULSE; k++) | 173 for (k = 0; k < NB_PULSE; k++) |
174 { | 174 { |
175 i = pseudonoise (seed, 2); /* generate pulse position */ | 175 i = pseudonoise (seed, 2); /* generate pulse position */ |
176 i = shr (extract_l (L_mult (i, 10)), 1); | 176 i *= 10; |
177 i = add (i, k); | 177 i += k; |
178 | 178 |
179 j = pseudonoise (seed, 1); /* generate sign */ | 179 j = pseudonoise (seed, 1); /* generate sign */ |
180 | 180 |
181 test (); | 181 test (); |
182 if (j > 0) | 182 if (j > 0) |
239 else | 239 else |
240 { | 240 { |
241 Sn = Sn ^ 0; logic16 (); | 241 Sn = Sn ^ 0; logic16 (); |
242 } | 242 } |
243 | 243 |
244 noise_bits = shl (noise_bits, 1); | 244 noise_bits <<= 1; |
245 noise_bits = noise_bits | (extract_l (*shift_reg) & 1); | 245 noise_bits |= *shift_reg & 1; |
246 logic16 (); logic16 (); | |
247 | 246 |
248 *shift_reg = L_shr (*shift_reg, 1); move32 (); | 247 *shift_reg = L_shr (*shift_reg, 1); move32 (); |
249 test (); logic16 (); | |
250 if (Sn & 1) | 248 if (Sn & 1) |
251 { | 249 { |
252 *shift_reg = *shift_reg | 0x40000000L; move32 (); logic32 (); | 250 *shift_reg = *shift_reg | 0x40000000L; move32 (); logic32 (); |
253 } | 251 } |
254 } | 252 } |