/src/opus/silk/SigProc_FIX.h
Line | Count | Source |
1 | | /*********************************************************************** |
2 | | Copyright (c) 2006-2011, Skype Limited. All rights reserved. |
3 | | Redistribution and use in source and binary forms, with or without |
4 | | modification, are permitted provided that the following conditions |
5 | | are met: |
6 | | - Redistributions of source code must retain the above copyright notice, |
7 | | this list of conditions and the following disclaimer. |
8 | | - Redistributions in binary form must reproduce the above copyright |
9 | | notice, this list of conditions and the following disclaimer in the |
10 | | documentation and/or other materials provided with the distribution. |
11 | | - Neither the name of Internet Society, IETF or IETF Trust, nor the |
12 | | names of specific contributors, may be used to endorse or promote |
13 | | products derived from this software without specific prior written |
14 | | permission. |
15 | | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
16 | | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
17 | | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
18 | | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
19 | | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
20 | | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
21 | | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
22 | | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
23 | | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
24 | | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
25 | | POSSIBILITY OF SUCH DAMAGE. |
26 | | ***********************************************************************/ |
27 | | |
28 | | #ifndef SILK_SIGPROC_FIX_H |
29 | | #define SILK_SIGPROC_FIX_H |
30 | | |
31 | | |
32 | | /*#define silk_MACRO_COUNT */ /* Used to enable WMOPS counting */ |
33 | | |
34 | | #define SILK_MAX_ORDER_LPC 24 /* max order of the LPC analysis in schur() and k2a() */ |
35 | | |
36 | | #include <string.h> /* for memset(), memcpy(), memmove() */ |
37 | | #include "typedef.h" |
38 | | #include "resampler_structs.h" |
39 | | #include "macros.h" |
40 | | #include "cpu_support.h" |
41 | | |
42 | | #if defined(OPUS_X86_MAY_HAVE_SSE4_1) |
43 | | #include "x86/SigProc_FIX_sse.h" |
44 | | #endif |
45 | | |
46 | | #if (defined(OPUS_ARM_ASM) || defined(OPUS_ARM_MAY_HAVE_NEON_INTR)) |
47 | | #include "arm/biquad_alt_arm.h" |
48 | | #include "arm/LPC_inv_pred_gain_arm.h" |
49 | | #endif |
50 | | |
51 | | /********************************************************************/ |
52 | | /* SIGNAL PROCESSING FUNCTIONS */ |
53 | | /********************************************************************/ |
54 | | |
55 | | /*! |
56 | | * Initialize/reset the resampler state for a given pair of input/output sampling rates |
57 | | */ |
58 | | opus_int silk_resampler_init( |
59 | | silk_resampler_state_struct *S, /* I/O Resampler state */ |
60 | | opus_int32 Fs_Hz_in, /* I Input sampling rate (Hz) */ |
61 | | opus_int32 Fs_Hz_out, /* I Output sampling rate (Hz) */ |
62 | | opus_int forEnc /* I If 1: encoder; if 0: decoder */ |
63 | | ); |
64 | | |
65 | | /*! |
66 | | * Resampler: convert from one sampling rate to another |
67 | | */ |
68 | | opus_int silk_resampler( |
69 | | silk_resampler_state_struct *S, /* I/O Resampler state */ |
70 | | opus_int16 out[], /* O Output signal */ |
71 | | const opus_int16 in[], /* I Input signal */ |
72 | | opus_int32 inLen /* I Number of input samples */ |
73 | | ); |
74 | | |
75 | | /*! |
76 | | * Downsample 2x, mediocre quality |
77 | | */ |
78 | | void silk_resampler_down2( |
79 | | opus_int32 *S, /* I/O State vector [ 2 ] */ |
80 | | opus_int16 *out, /* O Output signal [ len ] */ |
81 | | const opus_int16 *in, /* I Input signal [ floor(len/2) ] */ |
82 | | opus_int32 inLen /* I Number of input samples */ |
83 | | ); |
84 | | |
85 | | /*! |
86 | | * Downsample by a factor 2/3, low quality |
87 | | */ |
88 | | void silk_resampler_down2_3( |
89 | | opus_int32 *S, /* I/O State vector [ 6 ] */ |
90 | | opus_int16 *out, /* O Output signal [ floor(2*inLen/3) ] */ |
91 | | const opus_int16 *in, /* I Input signal [ inLen ] */ |
92 | | opus_int32 inLen /* I Number of input samples */ |
93 | | ); |
94 | | |
95 | | /*! |
96 | | * second order ARMA filter; |
97 | | * slower than biquad() but uses more precise coefficients |
98 | | * can handle (slowly) varying coefficients |
99 | | */ |
100 | | void silk_biquad_alt_stride1( |
101 | | const opus_int16 *in, /* I input signal */ |
102 | | const opus_int32 *B_Q28, /* I MA coefficients [3] */ |
103 | | const opus_int32 *A_Q28, /* I AR coefficients [2] */ |
104 | | opus_int32 *S, /* I/O State vector [2] */ |
105 | | opus_int16 *out, /* O output signal */ |
106 | | const opus_int32 len /* I signal length (must be even) */ |
107 | | ); |
108 | | |
109 | | void silk_biquad_alt_stride2_c( |
110 | | const opus_int16 *in, /* I input signal */ |
111 | | const opus_int32 *B_Q28, /* I MA coefficients [3] */ |
112 | | const opus_int32 *A_Q28, /* I AR coefficients [2] */ |
113 | | opus_int32 *S, /* I/O State vector [4] */ |
114 | | opus_int16 *out, /* O output signal */ |
115 | | const opus_int32 len /* I signal length (must be even) */ |
116 | | ); |
117 | | |
118 | | /* Variable order MA prediction error filter. */ |
119 | | void silk_LPC_analysis_filter( |
120 | | opus_int16 *out, /* O Output signal */ |
121 | | const opus_int16 *in, /* I Input signal */ |
122 | | const opus_int16 *B, /* I MA prediction coefficients, Q12 [order] */ |
123 | | const opus_int32 len, /* I Signal length */ |
124 | | const opus_int32 d, /* I Filter order */ |
125 | | int arch /* I Run-time architecture */ |
126 | | ); |
127 | | |
128 | | /* Chirp (bandwidth expand) LP AR filter */ |
129 | | void silk_bwexpander( |
130 | | opus_int16 *ar, /* I/O AR filter to be expanded (without leading 1) */ |
131 | | const opus_int d, /* I Length of ar */ |
132 | | opus_int32 chirp_Q16 /* I Chirp factor (typically in the range 0 to 1) */ |
133 | | ); |
134 | | |
135 | | /* Chirp (bandwidth expand) LP AR filter */ |
136 | | void silk_bwexpander_32( |
137 | | opus_int32 *ar, /* I/O AR filter to be expanded (without leading 1) */ |
138 | | const opus_int d, /* I Length of ar */ |
139 | | opus_int32 chirp_Q16 /* I Chirp factor in Q16 */ |
140 | | ); |
141 | | |
142 | | /* Compute inverse of LPC prediction gain, and */ |
143 | | /* test if LPC coefficients are stable (all poles within unit circle) */ |
144 | | opus_int32 silk_LPC_inverse_pred_gain_c( /* O Returns inverse prediction gain in energy domain, Q30 */ |
145 | | const opus_int16 *A_Q12, /* I Prediction coefficients, Q12 [order] */ |
146 | | const opus_int order /* I Prediction order */ |
147 | | ); |
148 | | |
149 | | /* Split signal in two decimated bands using first-order allpass filters */ |
150 | | void silk_ana_filt_bank_1( |
151 | | const opus_int16 *in, /* I Input signal [N] */ |
152 | | opus_int32 *S, /* I/O State vector [2] */ |
153 | | opus_int16 *outL, /* O Low band [N/2] */ |
154 | | opus_int16 *outH, /* O High band [N/2] */ |
155 | | const opus_int32 N /* I Number of input samples */ |
156 | | ); |
157 | | |
158 | | #if !defined(OVERRIDE_silk_biquad_alt_stride2) |
159 | | #define silk_biquad_alt_stride2(in, B_Q28, A_Q28, S, out, len, arch) ((void)(arch), silk_biquad_alt_stride2_c(in, B_Q28, A_Q28, S, out, len)) |
160 | | #endif |
161 | | |
162 | | #if !defined(OVERRIDE_silk_LPC_inverse_pred_gain) |
163 | 551k | #define silk_LPC_inverse_pred_gain(A_Q12, order, arch) ((void)(arch), silk_LPC_inverse_pred_gain_c(A_Q12, order)) |
164 | | #endif |
165 | | |
166 | | /********************************************************************/ |
167 | | /* SCALAR FUNCTIONS */ |
168 | | /********************************************************************/ |
169 | | |
170 | | /* Approximation of 128 * log2() (exact inverse of approx 2^() below) */ |
171 | | /* Convert input to a log scale */ |
172 | | opus_int32 silk_lin2log( |
173 | | const opus_int32 inLin /* I input in linear scale */ |
174 | | ); |
175 | | |
176 | | /* Approximation of a sigmoid function */ |
177 | | opus_int silk_sigm_Q15( |
178 | | opus_int in_Q5 /* I */ |
179 | | ); |
180 | | |
181 | | /* Approximation of 2^() (exact inverse of approx log2() above) */ |
182 | | /* Convert input to a linear scale */ |
183 | | opus_int32 silk_log2lin( |
184 | | const opus_int32 inLog_Q7 /* I input on log scale */ |
185 | | ); |
186 | | |
187 | | /* Compute number of bits to right shift the sum of squares of a vector */ |
188 | | /* of int16s to make it fit in an int32 */ |
189 | | void silk_sum_sqr_shift( |
190 | | opus_int32 *energy, /* O Energy of x, after shifting to the right */ |
191 | | opus_int *shift, /* O Number of bits right shift applied to energy */ |
192 | | const opus_int16 *x, /* I Input vector */ |
193 | | opus_int len /* I Length of input vector */ |
194 | | ); |
195 | | |
196 | | /* Calculates the reflection coefficients from the correlation sequence */ |
197 | | /* Faster than schur64(), but much less accurate. */ |
198 | | /* uses SMLAWB(), requiring armv5E and higher. */ |
199 | | opus_int32 silk_schur( /* O Returns residual energy */ |
200 | | opus_int16 *rc_Q15, /* O reflection coefficients [order] Q15 */ |
201 | | const opus_int32 *c, /* I correlations [order+1] */ |
202 | | const opus_int32 order /* I prediction order */ |
203 | | ); |
204 | | |
205 | | /* Calculates the reflection coefficients from the correlation sequence */ |
206 | | /* Slower than schur(), but more accurate. */ |
207 | | /* Uses SMULL(), available on armv4 */ |
208 | | opus_int32 silk_schur64( /* O returns residual energy */ |
209 | | opus_int32 rc_Q16[], /* O Reflection coefficients [order] Q16 */ |
210 | | const opus_int32 c[], /* I Correlations [order+1] */ |
211 | | opus_int32 order /* I Prediction order */ |
212 | | ); |
213 | | |
214 | | /* Step up function, converts reflection coefficients to prediction coefficients */ |
215 | | void silk_k2a( |
216 | | opus_int32 *A_Q24, /* O Prediction coefficients [order] Q24 */ |
217 | | const opus_int16 *rc_Q15, /* I Reflection coefficients [order] Q15 */ |
218 | | const opus_int32 order /* I Prediction order */ |
219 | | ); |
220 | | |
221 | | /* Step up function, converts reflection coefficients to prediction coefficients */ |
222 | | void silk_k2a_Q16( |
223 | | opus_int32 *A_Q24, /* O Prediction coefficients [order] Q24 */ |
224 | | const opus_int32 *rc_Q16, /* I Reflection coefficients [order] Q16 */ |
225 | | const opus_int32 order /* I Prediction order */ |
226 | | ); |
227 | | |
228 | | /* Apply sine window to signal vector. */ |
229 | | /* Window types: */ |
230 | | /* 1 -> sine window from 0 to pi/2 */ |
231 | | /* 2 -> sine window from pi/2 to pi */ |
232 | | /* every other sample of window is linearly interpolated, for speed */ |
233 | | void silk_apply_sine_window( |
234 | | opus_int16 px_win[], /* O Pointer to windowed signal */ |
235 | | const opus_int16 px[], /* I Pointer to input signal */ |
236 | | const opus_int win_type, /* I Selects a window type */ |
237 | | const opus_int length /* I Window length, multiple of 4 */ |
238 | | ); |
239 | | |
240 | | /* Compute autocorrelation */ |
241 | | void silk_autocorr( |
242 | | opus_int32 *results, /* O Result (length correlationCount) */ |
243 | | opus_int *scale, /* O Scaling of the correlation vector */ |
244 | | const opus_int16 *inputData, /* I Input data to correlate */ |
245 | | const opus_int inputDataSize, /* I Length of input */ |
246 | | const opus_int correlationCount, /* I Number of correlation taps to compute */ |
247 | | int arch /* I Run-time architecture */ |
248 | | ); |
249 | | |
250 | | void silk_decode_pitch( |
251 | | opus_int16 lagIndex, /* I */ |
252 | | opus_int8 contourIndex, /* O */ |
253 | | opus_int pitch_lags[], /* O 4 pitch values */ |
254 | | const opus_int Fs_kHz, /* I sampling frequency (kHz) */ |
255 | | const opus_int nb_subfr /* I number of sub frames */ |
256 | | ); |
257 | | |
258 | | opus_int silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unvoiced */ |
259 | | const opus_int16 *frame, /* I Signal of length PE_FRAME_LENGTH_MS*Fs_kHz */ |
260 | | opus_int *pitch_out, /* O 4 pitch lag values */ |
261 | | opus_int16 *lagIndex, /* O Lag Index */ |
262 | | opus_int8 *contourIndex, /* O Pitch contour Index */ |
263 | | opus_int *LTPCorr_Q15, /* I/O Normalized correlation; input: value from previous frame */ |
264 | | opus_int prevLag, /* I Last lag of previous frame; set to zero is unvoiced */ |
265 | | const opus_int32 search_thres1_Q16, /* I First stage threshold for lag candidates 0 - 1 */ |
266 | | const opus_int search_thres2_Q13, /* I Final threshold for lag candidates 0 - 1 */ |
267 | | const opus_int Fs_kHz, /* I Sample frequency (kHz) */ |
268 | | const opus_int complexity, /* I Complexity setting, 0-2, where 2 is highest */ |
269 | | const opus_int nb_subfr, /* I number of 5 ms subframes */ |
270 | | int arch /* I Run-time architecture */ |
271 | | ); |
272 | | |
273 | | /* Compute Normalized Line Spectral Frequencies (NLSFs) from whitening filter coefficients */ |
274 | | /* If not all roots are found, the a_Q16 coefficients are bandwidth expanded until convergence. */ |
275 | | void silk_A2NLSF( |
276 | | opus_int16 *NLSF, /* O Normalized Line Spectral Frequencies in Q15 (0..2^15-1) [d] */ |
277 | | opus_int32 *a_Q16, /* I/O Monic whitening filter coefficients in Q16 [d] */ |
278 | | const opus_int d /* I Filter order (must be even) */ |
279 | | ); |
280 | | |
281 | | /* compute whitening filter coefficients from normalized line spectral frequencies */ |
282 | | void silk_NLSF2A( |
283 | | opus_int16 *a_Q12, /* O monic whitening filter coefficients in Q12, [ d ] */ |
284 | | const opus_int16 *NLSF, /* I normalized line spectral frequencies in Q15, [ d ] */ |
285 | | const opus_int d, /* I filter order (should be even) */ |
286 | | int arch /* I Run-time architecture */ |
287 | | ); |
288 | | |
289 | | /* Convert int32 coefficients to int16 coefs and make sure there's no wrap-around */ |
290 | | void silk_LPC_fit( |
291 | | opus_int16 *a_QOUT, /* O Output signal */ |
292 | | opus_int32 *a_QIN, /* I/O Input signal */ |
293 | | const opus_int QOUT, /* I Input Q domain */ |
294 | | const opus_int QIN, /* I Input Q domain */ |
295 | | const opus_int d /* I Filter order */ |
296 | | ); |
297 | | |
298 | | void silk_insertion_sort_increasing( |
299 | | opus_int32 *a, /* I/O Unsorted / Sorted vector */ |
300 | | opus_int *idx, /* O Index vector for the sorted elements */ |
301 | | const opus_int L, /* I Vector length */ |
302 | | const opus_int K /* I Number of correctly sorted positions */ |
303 | | ); |
304 | | |
305 | | void silk_insertion_sort_decreasing_int16( |
306 | | opus_int16 *a, /* I/O Unsorted / Sorted vector */ |
307 | | opus_int *idx, /* O Index vector for the sorted elements */ |
308 | | const opus_int L, /* I Vector length */ |
309 | | const opus_int K /* I Number of correctly sorted positions */ |
310 | | ); |
311 | | |
312 | | void silk_insertion_sort_increasing_all_values_int16( |
313 | | opus_int16 *a, /* I/O Unsorted / Sorted vector */ |
314 | | const opus_int L /* I Vector length */ |
315 | | ); |
316 | | |
317 | | /* NLSF stabilizer, for a single input data vector */ |
318 | | void silk_NLSF_stabilize( |
319 | | opus_int16 *NLSF_Q15, /* I/O Unstable/stabilized normalized LSF vector in Q15 [L] */ |
320 | | const opus_int16 *NDeltaMin_Q15, /* I Min distance vector, NDeltaMin_Q15[L] must be >= 1 [L+1] */ |
321 | | const opus_int L /* I Number of NLSF parameters in the input vector */ |
322 | | ); |
323 | | |
324 | | /* Laroia low complexity NLSF weights */ |
325 | | void silk_NLSF_VQ_weights_laroia( |
326 | | opus_int16 *pNLSFW_Q_OUT, /* O Pointer to input vector weights [D] */ |
327 | | const opus_int16 *pNLSF_Q15, /* I Pointer to input vector [D] */ |
328 | | const opus_int D /* I Input vector dimension (even) */ |
329 | | ); |
330 | | |
331 | | /* Compute reflection coefficients from input signal */ |
332 | | void silk_burg_modified_c( |
333 | | opus_int32 *res_nrg, /* O Residual energy */ |
334 | | opus_int *res_nrg_Q, /* O Residual energy Q value */ |
335 | | opus_int32 A_Q16[], /* O Prediction coefficients (length order) */ |
336 | | const opus_int16 x[], /* I Input signal, length: nb_subfr * ( D + subfr_length ) */ |
337 | | const opus_int32 minInvGain_Q30, /* I Inverse of max prediction gain */ |
338 | | const opus_int subfr_length, /* I Input signal subframe length (incl. D preceding samples) */ |
339 | | const opus_int nb_subfr, /* I Number of subframes stacked in x */ |
340 | | const opus_int D, /* I Order */ |
341 | | int arch /* I Run-time architecture */ |
342 | | ); |
343 | | |
344 | | /* Copy and multiply a vector by a constant */ |
345 | | void silk_scale_copy_vector16( |
346 | | opus_int16 *data_out, |
347 | | const opus_int16 *data_in, |
348 | | opus_int32 gain_Q16, /* I Gain in Q16 */ |
349 | | const opus_int dataSize /* I Length */ |
350 | | ); |
351 | | |
352 | | /* Some for the LTP related function requires Q26 to work.*/ |
353 | | void silk_scale_vector32_Q26_lshift_18( |
354 | | opus_int32 *data1, /* I/O Q0/Q18 */ |
355 | | opus_int32 gain_Q26, /* I Q26 */ |
356 | | opus_int dataSize /* I length */ |
357 | | ); |
358 | | |
359 | | /********************************************************************/ |
360 | | /* INLINE ARM MATH */ |
361 | | /********************************************************************/ |
362 | | |
363 | | /* return sum( inVec1[i] * inVec2[i] ) */ |
364 | | |
365 | | opus_int32 silk_inner_prod_aligned( |
366 | | const opus_int16 *const inVec1, /* I input vector 1 */ |
367 | | const opus_int16 *const inVec2, /* I input vector 2 */ |
368 | | const opus_int len, /* I vector lengths */ |
369 | | int arch /* I Run-time architecture */ |
370 | | ); |
371 | | |
372 | | |
373 | | opus_int32 silk_inner_prod_aligned_scale( |
374 | | const opus_int16 *const inVec1, /* I input vector 1 */ |
375 | | const opus_int16 *const inVec2, /* I input vector 2 */ |
376 | | const opus_int scale, /* I number of bits to shift */ |
377 | | const opus_int len /* I vector lengths */ |
378 | | ); |
379 | | |
380 | | opus_int64 silk_inner_prod16_c( |
381 | | const opus_int16 *inVec1, /* I input vector 1 */ |
382 | | const opus_int16 *inVec2, /* I input vector 2 */ |
383 | | const opus_int len /* I vector lengths */ |
384 | | ); |
385 | | |
386 | | /********************************************************************/ |
387 | | /* MACROS */ |
388 | | /********************************************************************/ |
389 | | |
390 | | /* Rotate a32 right by 'rot' bits. Negative rot values result in rotating |
391 | | left. Output is 32bit int. |
392 | | Note: contemporary compilers recognize the C expression below and |
393 | | compile it into a 'ror' instruction if available. No need for OPUS_INLINE ASM! */ |
394 | | static OPUS_INLINE opus_int32 silk_ROR32( opus_int32 a32, opus_int rot ) |
395 | 114k | { |
396 | 114k | opus_uint32 x = (opus_uint32) a32; |
397 | 114k | opus_uint32 r = (opus_uint32) rot; |
398 | 114k | opus_uint32 m = (opus_uint32) -rot; |
399 | 114k | if( rot == 0 ) { |
400 | 1.11k | return a32; |
401 | 113k | } else if( rot < 0 ) { |
402 | 3.32k | return (opus_int32) ((x << m) | (x >> (32 - m))); |
403 | 109k | } else { |
404 | 109k | return (opus_int32) ((x << (32 - r)) | (x >> r)); |
405 | 109k | } |
406 | 114k | } Unexecuted instantiation: opus_decoder.c:silk_ROR32 Unexecuted instantiation: vq.c:silk_ROR32 Unexecuted instantiation: x86cpu.c:silk_ROR32 Unexecuted instantiation: dec_API.c:silk_ROR32 Unexecuted instantiation: tables_other.c:silk_ROR32 Unexecuted instantiation: stereo_MS_to_LR.c:silk_ROR32 Unexecuted instantiation: resampler.c:silk_ROR32 Unexecuted instantiation: resampler_private_down_FIR.c:silk_ROR32 Unexecuted instantiation: resampler_private_IIR_FIR.c:silk_ROR32 Unexecuted instantiation: resampler_private_up2_HQ.c:silk_ROR32 Unexecuted instantiation: resampler_rom.c:silk_ROR32 Unexecuted instantiation: stereo_decode_pred.c:silk_ROR32 Unexecuted instantiation: init_decoder.c:silk_ROR32 Unexecuted instantiation: decode_frame.c:silk_ROR32 Unexecuted instantiation: decode_parameters.c:silk_ROR32 Unexecuted instantiation: decode_indices.c:silk_ROR32 Unexecuted instantiation: decode_pulses.c:silk_ROR32 Unexecuted instantiation: decoder_set_fs.c:silk_ROR32 Unexecuted instantiation: gain_quant.c:silk_ROR32 Unexecuted instantiation: NLSF_decode.c:silk_ROR32 Line | Count | Source | 395 | 12.5k | { | 396 | 12.5k | opus_uint32 x = (opus_uint32) a32; | 397 | 12.5k | opus_uint32 r = (opus_uint32) rot; | 398 | 12.5k | opus_uint32 m = (opus_uint32) -rot; | 399 | 12.5k | if( rot == 0 ) { | 400 | 818 | return a32; | 401 | 11.6k | } else if( rot < 0 ) { | 402 | 2.26k | return (opus_int32) ((x << m) | (x >> (32 - m))); | 403 | 9.41k | } else { | 404 | 9.41k | return (opus_int32) ((x << (32 - r)) | (x >> r)); | 405 | 9.41k | } | 406 | 12.5k | } |
Unexecuted instantiation: shell_coder.c:silk_ROR32 Unexecuted instantiation: tables_gain.c:silk_ROR32 Unexecuted instantiation: tables_LTP.c:silk_ROR32 Unexecuted instantiation: tables_NLSF_CB_NB_MB.c:silk_ROR32 Unexecuted instantiation: tables_NLSF_CB_WB.c:silk_ROR32 Unexecuted instantiation: tables_pitch_lag.c:silk_ROR32 Unexecuted instantiation: tables_pulses_per_block.c:silk_ROR32 Unexecuted instantiation: NLSF_unpack.c:silk_ROR32 Unexecuted instantiation: bwexpander.c:silk_ROR32 Unexecuted instantiation: decode_pitch.c:silk_ROR32 Unexecuted instantiation: lin2log.c:silk_ROR32 Unexecuted instantiation: log2lin.c:silk_ROR32 Unexecuted instantiation: LPC_analysis_filter.c:silk_ROR32 Unexecuted instantiation: LPC_inv_pred_gain.c:silk_ROR32 Unexecuted instantiation: NLSF2A.c:silk_ROR32 Unexecuted instantiation: NLSF_stabilize.c:silk_ROR32 Unexecuted instantiation: pitch_est_tables.c:silk_ROR32 Unexecuted instantiation: resampler_private_AR2.c:silk_ROR32 Unexecuted instantiation: sort.c:silk_ROR32 Unexecuted instantiation: sum_sqr_shift.c:silk_ROR32 Unexecuted instantiation: LPC_fit.c:silk_ROR32 Line | Count | Source | 395 | 101k | { | 396 | 101k | opus_uint32 x = (opus_uint32) a32; | 397 | 101k | opus_uint32 r = (opus_uint32) rot; | 398 | 101k | opus_uint32 m = (opus_uint32) -rot; | 399 | 101k | if( rot == 0 ) { | 400 | 293 | return a32; | 401 | 101k | } else if( rot < 0 ) { | 402 | 1.05k | return (opus_int32) ((x << m) | (x >> (32 - m))); | 403 | 100k | } else { | 404 | 100k | return (opus_int32) ((x << (32 - r)) | (x >> r)); | 405 | 100k | } | 406 | 101k | } |
Unexecuted instantiation: code_signs.c:silk_ROR32 Unexecuted instantiation: decode_core.c:silk_ROR32 Unexecuted instantiation: bwexpander_32.c:silk_ROR32 Unexecuted instantiation: table_LSF_cos.c:silk_ROR32 Unexecuted instantiation: opus_encoder.c:silk_ROR32 Unexecuted instantiation: enc_API.c:silk_ROR32 Unexecuted instantiation: encode_indices.c:silk_ROR32 Unexecuted instantiation: encode_pulses.c:silk_ROR32 Unexecuted instantiation: HP_variable_cutoff.c:silk_ROR32 Unexecuted instantiation: stereo_LR_to_MS.c:silk_ROR32 Unexecuted instantiation: check_control_input.c:silk_ROR32 Unexecuted instantiation: control_SNR.c:silk_ROR32 Unexecuted instantiation: init_encoder.c:silk_ROR32 Unexecuted instantiation: control_codec.c:silk_ROR32 Unexecuted instantiation: stereo_encode_pred.c:silk_ROR32 Unexecuted instantiation: stereo_find_predictor.c:silk_ROR32 Unexecuted instantiation: stereo_quant_pred.c:silk_ROR32 Unexecuted instantiation: encode_frame_FLP.c:silk_ROR32 Unexecuted instantiation: find_pitch_lags_FLP.c:silk_ROR32 Unexecuted instantiation: find_pred_coefs_FLP.c:silk_ROR32 Unexecuted instantiation: LPC_analysis_filter_FLP.c:silk_ROR32 Unexecuted instantiation: LTP_analysis_filter_FLP.c:silk_ROR32 Unexecuted instantiation: LTP_scale_ctrl_FLP.c:silk_ROR32 Unexecuted instantiation: noise_shape_analysis_FLP.c:silk_ROR32 Unexecuted instantiation: process_gains_FLP.c:silk_ROR32 Unexecuted instantiation: residual_energy_FLP.c:silk_ROR32 Unexecuted instantiation: warped_autocorrelation_FLP.c:silk_ROR32 Unexecuted instantiation: wrappers_FLP.c:silk_ROR32 Unexecuted instantiation: autocorrelation_FLP.c:silk_ROR32 Unexecuted instantiation: bwexpander_FLP.c:silk_ROR32 Unexecuted instantiation: energy_FLP.c:silk_ROR32 Unexecuted instantiation: k2a_FLP.c:silk_ROR32 Unexecuted instantiation: pitch_analysis_core_FLP.c:silk_ROR32 Unexecuted instantiation: scale_copy_vector_FLP.c:silk_ROR32 Unexecuted instantiation: schur_FLP.c:silk_ROR32 Unexecuted instantiation: sort_FLP.c:silk_ROR32 Unexecuted instantiation: x86_silk_map.c:silk_ROR32 Unexecuted instantiation: NSQ_del_dec_avx2.c:silk_ROR32 Unexecuted instantiation: LP_variable_cutoff.c:silk_ROR32 Unexecuted instantiation: NSQ.c:silk_ROR32 Unexecuted instantiation: NSQ_del_dec.c:silk_ROR32 Unexecuted instantiation: VAD.c:silk_ROR32 Unexecuted instantiation: control_audio_bandwidth.c:silk_ROR32 Unexecuted instantiation: quant_LTP_gains.c:silk_ROR32 Unexecuted instantiation: VQ_WMat_EC.c:silk_ROR32 Unexecuted instantiation: process_NLSFs.c:silk_ROR32 Unexecuted instantiation: A2NLSF.c:silk_ROR32 Unexecuted instantiation: ana_filt_bank_1.c:silk_ROR32 Unexecuted instantiation: biquad_alt.c:silk_ROR32 Unexecuted instantiation: inner_prod_aligned.c:silk_ROR32 Unexecuted instantiation: NLSF_VQ_weights_laroia.c:silk_ROR32 Unexecuted instantiation: resampler_down2_3.c:silk_ROR32 Unexecuted instantiation: resampler_down2.c:silk_ROR32 Unexecuted instantiation: sigm_Q15.c:silk_ROR32 Unexecuted instantiation: apply_sine_window_FLP.c:silk_ROR32 Unexecuted instantiation: find_LPC_FLP.c:silk_ROR32 Unexecuted instantiation: find_LTP_FLP.c:silk_ROR32 Unexecuted instantiation: burg_modified_FLP.c:silk_ROR32 Unexecuted instantiation: inner_product_FLP.c:silk_ROR32 Unexecuted instantiation: scale_vector_FLP.c:silk_ROR32 Unexecuted instantiation: NSQ_sse4_1.c:silk_ROR32 Unexecuted instantiation: NSQ_del_dec_sse4_1.c:silk_ROR32 Unexecuted instantiation: VAD_sse4_1.c:silk_ROR32 Unexecuted instantiation: VQ_WMat_EC_sse4_1.c:silk_ROR32 Unexecuted instantiation: inner_product_FLP_avx2.c:silk_ROR32 Unexecuted instantiation: interpolate.c:silk_ROR32 Unexecuted instantiation: NLSF_encode.c:silk_ROR32 Unexecuted instantiation: NLSF_VQ.c:silk_ROR32 Unexecuted instantiation: NLSF_del_dec_quant.c:silk_ROR32 Unexecuted instantiation: corrMatrix_FLP.c:silk_ROR32 |
407 | | |
408 | | /* Allocate opus_int16 aligned to 4-byte memory address */ |
409 | | #if EMBEDDED_ARM |
410 | | #define silk_DWORD_ALIGN __attribute__((aligned(4))) |
411 | | #else |
412 | | #define silk_DWORD_ALIGN |
413 | | #endif |
414 | | |
415 | | /* Useful Macros that can be adjusted to other platforms */ |
416 | 7.40M | #define silk_memcpy(dest, src, size) memcpy((dest), (src), (size)) |
417 | 9.53M | #define silk_memset(dest, src, size) memset((dest), (src), (size)) |
418 | 561k | #define silk_memmove(dest, src, size) memmove((dest), (src), (size)) |
419 | | |
420 | | /* Fixed point macros */ |
421 | | |
422 | | /* (a32 * b32) output have to be 32bit int */ |
423 | 93.9k | #define silk_MUL(a32, b32) ((a32) * (b32)) |
424 | | |
425 | | /* (a32 * b32) output have to be 32bit uint */ |
426 | | #define silk_MUL_uint(a32, b32) silk_MUL(a32, b32) |
427 | | |
428 | | /* a32 + (b32 * c32) output have to be 32bit int */ |
429 | 682k | #define silk_MLA(a32, b32, c32) silk_ADD32((a32),((b32) * (c32))) |
430 | | |
431 | | /* a32 + (b32 * c32) output have to be 32bit uint */ |
432 | | #define silk_MLA_uint(a32, b32, c32) silk_MLA(a32, b32, c32) |
433 | | |
434 | | /* ((a32 >> 16) * (b32 >> 16)) output have to be 32bit int */ |
435 | 37.3k | #define silk_SMULTT(a32, b32) (((a32) >> 16) * ((b32) >> 16)) |
436 | | |
437 | | /* a32 + ((a32 >> 16) * (b32 >> 16)) output have to be 32bit int */ |
438 | | #define silk_SMLATT(a32, b32, c32) silk_ADD32((a32),((b32) >> 16) * ((c32) >> 16)) |
439 | | |
440 | | #define silk_SMLALBB(a64, b16, c16) silk_ADD64((a64),(opus_int64)((opus_int32)(b16) * (opus_int32)(c16))) |
441 | | |
442 | | /* (a32 * b32) */ |
443 | | #define silk_SMULL(a32, b32) ((opus_int64)(a32) * /*(opus_int64)*/(b32)) |
444 | | |
445 | | /* Adds two signed 32-bit values in a way that can overflow, while not relying on undefined behaviour |
446 | | (just standard two's complement implementation-specific behaviour) */ |
447 | 514M | #define silk_ADD32_ovflw(a, b) ((opus_int32)((opus_uint32)(a) + (opus_uint32)(b))) |
448 | | /* Subtractss two signed 32-bit values in a way that can overflow, while not relying on undefined behaviour |
449 | | (just standard two's complement implementation-specific behaviour) */ |
450 | 31.5M | #define silk_SUB32_ovflw(a, b) ((opus_int32)((opus_uint32)(a) - (opus_uint32)(b))) |
451 | | |
452 | | /* Multiply-accumulate macros that allow overflow in the addition (ie, no asserts in debug mode) */ |
453 | 80.2M | #define silk_MLA_ovflw(a32, b32, c32) silk_ADD32_ovflw((a32), (opus_uint32)(b32) * (opus_uint32)(c32)) |
454 | 398M | #define silk_SMLABB_ovflw(a32, b32, c32) (silk_ADD32_ovflw((a32) , ((opus_int32)((opus_int16)(b32))) * (opus_int32)((opus_int16)(c32)))) |
455 | | |
456 | 12.3M | #define silk_DIV32_16(a32, b16) ((opus_int32)((a32) / (b16))) |
457 | 415k | #define silk_DIV32(a32, b32) ((opus_int32)((a32) / (b32))) |
458 | | |
459 | | /* These macros enables checking for overflow in silk_API_Debug.h*/ |
460 | 616k | #define silk_ADD16(a, b) ((a) + (b)) |
461 | 722M | #define silk_ADD32(a, b) ((a) + (b)) |
462 | | #define silk_ADD64(a, b) ((a) + (b)) |
463 | | |
464 | 545k | #define silk_SUB16(a, b) ((a) - (b)) |
465 | 362M | #define silk_SUB32(a, b) ((a) - (b)) |
466 | | #define silk_SUB64(a, b) ((a) - (b)) |
467 | | |
468 | | #define silk_SAT8(a) ((a) > silk_int8_MAX ? silk_int8_MAX : \ |
469 | | ((a) < silk_int8_MIN ? silk_int8_MIN : (a))) |
470 | 1.33G | #define silk_SAT16(a) ((a) > silk_int16_MAX ? silk_int16_MAX : \ |
471 | 1.32G | ((a) < silk_int16_MIN ? silk_int16_MIN : (a))) |
472 | | #define silk_SAT32(a) ((a) > silk_int32_MAX ? silk_int32_MAX : \ |
473 | | ((a) < silk_int32_MIN ? silk_int32_MIN : (a))) |
474 | | |
475 | | #define silk_CHECK_FIT8(a) (a) |
476 | | #define silk_CHECK_FIT16(a) (a) |
477 | | #define silk_CHECK_FIT32(a) (a) |
478 | | |
479 | 22.3M | #define silk_ADD_SAT16(a, b) (opus_int16)silk_SAT16( silk_ADD32( (opus_int32)(a), (b) ) ) |
480 | | #define silk_ADD_SAT64(a, b) ((((a) + (b)) & 0x8000000000000000LL) == 0 ? \ |
481 | | ((((a) & (b)) & 0x8000000000000000LL) != 0 ? silk_int64_MIN : (a)+(b)) : \ |
482 | | ((((a) | (b)) & 0x8000000000000000LL) == 0 ? silk_int64_MAX : (a)+(b)) ) |
483 | | |
484 | | #define silk_SUB_SAT16(a, b) (opus_int16)silk_SAT16( silk_SUB32( (opus_int32)(a), (b) ) ) |
485 | | #define silk_SUB_SAT64(a, b) ((((a)-(b)) & 0x8000000000000000LL) == 0 ? \ |
486 | | (( (a) & ((b)^0x8000000000000000LL) & 0x8000000000000000LL) ? silk_int64_MIN : (a)-(b)) : \ |
487 | | ((((a)^0x8000000000000000LL) & (b) & 0x8000000000000000LL) ? silk_int64_MAX : (a)-(b)) ) |
488 | | |
489 | | /* Saturation for positive input values */ |
490 | | #define silk_POS_SAT32(a) ((a) > silk_int32_MAX ? silk_int32_MAX : (a)) |
491 | | |
492 | | /* Add with saturation for positive input values */ |
493 | | #define silk_ADD_POS_SAT8(a, b) ((((a)+(b)) & 0x80) ? silk_int8_MAX : ((a)+(b))) |
494 | | #define silk_ADD_POS_SAT16(a, b) ((((a)+(b)) & 0x8000) ? silk_int16_MAX : ((a)+(b))) |
495 | 0 | #define silk_ADD_POS_SAT32(a, b) ((((opus_uint32)(a)+(opus_uint32)(b)) & 0x80000000) ? silk_int32_MAX : ((a)+(b))) |
496 | | |
497 | | #define silk_LSHIFT8(a, shift) ((opus_int8)((opus_uint8)(a)<<(shift))) /* shift >= 0, shift < 8 */ |
498 | 0 | #define silk_LSHIFT16(a, shift) ((opus_int16)((opus_uint16)(a)<<(shift))) /* shift >= 0, shift < 16 */ |
499 | 218M | #define silk_LSHIFT32(a, shift) ((opus_int32)((opus_uint32)(a)<<(shift))) /* shift >= 0, shift < 32 */ |
500 | | #define silk_LSHIFT64(a, shift) ((opus_int64)((opus_uint64)(a)<<(shift))) /* shift >= 0, shift < 64 */ |
501 | 182M | #define silk_LSHIFT(a, shift) silk_LSHIFT32(a, shift) /* shift >= 0, shift < 32 */ |
502 | | |
503 | | #define silk_RSHIFT8(a, shift) ((a)>>(shift)) /* shift >= 0, shift < 8 */ |
504 | | #define silk_RSHIFT16(a, shift) ((a)>>(shift)) /* shift >= 0, shift < 16 */ |
505 | 143M | #define silk_RSHIFT32(a, shift) ((a)>>(shift)) /* shift >= 0, shift < 32 */ |
506 | | #define silk_RSHIFT64(a, shift) ((a)>>(shift)) /* shift >= 0, shift < 64 */ |
507 | 143M | #define silk_RSHIFT(a, shift) silk_RSHIFT32(a, shift) /* shift >= 0, shift < 32 */ |
508 | | |
509 | | /* saturates before shifting */ |
510 | 5.84M | #define silk_LSHIFT_SAT32(a, shift) (silk_LSHIFT32( silk_LIMIT( (a), silk_RSHIFT32( silk_int32_MIN, (shift) ), \ |
511 | 5.84M | silk_RSHIFT32( silk_int32_MAX, (shift) ) ), (shift) )) |
512 | | |
513 | | #define silk_LSHIFT_ovflw(a, shift) ((opus_int32)((opus_uint32)(a) << (shift))) /* shift >= 0, allowed to overflow */ |
514 | | #define silk_LSHIFT_uint(a, shift) ((a) << (shift)) /* shift >= 0 */ |
515 | 43.1M | #define silk_RSHIFT_uint(a, shift) ((a) >> (shift)) /* shift >= 0 */ |
516 | | |
517 | | #define silk_ADD_LSHIFT(a, b, shift) ((a) + silk_LSHIFT((b), (shift))) /* shift >= 0 */ |
518 | 9.41M | #define silk_ADD_LSHIFT32(a, b, shift) silk_ADD32((a), silk_LSHIFT32((b), (shift))) /* shift >= 0 */ |
519 | | #define silk_ADD_LSHIFT_uint(a, b, shift) ((a) + silk_LSHIFT_uint((b), (shift))) /* shift >= 0 */ |
520 | 0 | #define silk_ADD_RSHIFT(a, b, shift) ((a) + silk_RSHIFT((b), (shift))) /* shift >= 0 */ |
521 | 0 | #define silk_ADD_RSHIFT32(a, b, shift) silk_ADD32((a), silk_RSHIFT32((b), (shift))) /* shift >= 0 */ |
522 | 43.1M | #define silk_ADD_RSHIFT_uint(a, b, shift) ((a) + silk_RSHIFT_uint((b), (shift))) /* shift >= 0 */ |
523 | 158k | #define silk_SUB_LSHIFT32(a, b, shift) silk_SUB32((a), silk_LSHIFT32((b), (shift))) /* shift >= 0 */ |
524 | 0 | #define silk_SUB_RSHIFT32(a, b, shift) silk_SUB32((a), silk_RSHIFT32((b), (shift))) /* shift >= 0 */ |
525 | | |
526 | | /* Requires that shift > 0 */ |
527 | 50.5M | #define silk_RSHIFT_ROUND(a, shift) ((shift) == 1 ? ((a) >> 1) + ((a) & 1) : (((a) >> ((shift) - 1)) + 1) >> 1) |
528 | 388M | #define silk_RSHIFT_ROUND64(a, shift) ((shift) == 1 ? ((a) >> 1) + ((a) & 1) : (((a) >> ((shift) - 1)) + 1) >> 1) |
529 | | |
530 | | /* Number of rightshift required to fit the multiplication */ |
531 | | #define silk_NSHIFT_MUL_32_32(a, b) ( -(31- (32-silk_CLZ32(silk_abs(a)) + (32-silk_CLZ32(silk_abs(b))))) ) |
532 | | #define silk_NSHIFT_MUL_16_16(a, b) ( -(15- (16-silk_CLZ16(silk_abs(a)) + (16-silk_CLZ16(silk_abs(b))))) ) |
533 | | |
534 | | |
535 | 4.45M | #define silk_min(a, b) (((a) < (b)) ? (a) : (b)) |
536 | 0 | #define silk_max(a, b) (((a) > (b)) ? (a) : (b)) |
537 | | |
538 | | /* Macro to convert floating-point constants to fixed-point */ |
539 | 29.5M | #define SILK_FIX_CONST( C, Q ) ((opus_int32)((C) * ((opus_int64)1 << (Q)) + 0.5)) |
540 | | |
541 | | /* silk_min() versions with typecast in the function call */ |
542 | | static OPUS_INLINE opus_int silk_min_int(opus_int a, opus_int b) |
543 | 363k | { |
544 | 363k | return (((a) < (b)) ? (a) : (b)); |
545 | 363k | } Unexecuted instantiation: opus_decoder.c:silk_min_int Unexecuted instantiation: vq.c:silk_min_int Unexecuted instantiation: x86cpu.c:silk_min_int Unexecuted instantiation: dec_API.c:silk_min_int Unexecuted instantiation: tables_other.c:silk_min_int Unexecuted instantiation: stereo_MS_to_LR.c:silk_min_int Unexecuted instantiation: resampler.c:silk_min_int Unexecuted instantiation: resampler_private_down_FIR.c:silk_min_int Unexecuted instantiation: resampler_private_IIR_FIR.c:silk_min_int Unexecuted instantiation: resampler_private_up2_HQ.c:silk_min_int Unexecuted instantiation: resampler_rom.c:silk_min_int Unexecuted instantiation: stereo_decode_pred.c:silk_min_int Unexecuted instantiation: init_decoder.c:silk_min_int Unexecuted instantiation: decode_frame.c:silk_min_int Unexecuted instantiation: decode_parameters.c:silk_min_int Unexecuted instantiation: decode_indices.c:silk_min_int Unexecuted instantiation: decode_pulses.c:silk_min_int Unexecuted instantiation: decoder_set_fs.c:silk_min_int Unexecuted instantiation: gain_quant.c:silk_min_int Unexecuted instantiation: NLSF_decode.c:silk_min_int Line | Count | Source | 543 | 316k | { | 544 | 316k | return (((a) < (b)) ? (a) : (b)); | 545 | 316k | } |
Unexecuted instantiation: shell_coder.c:silk_min_int Unexecuted instantiation: tables_gain.c:silk_min_int Unexecuted instantiation: tables_LTP.c:silk_min_int Unexecuted instantiation: tables_NLSF_CB_NB_MB.c:silk_min_int Unexecuted instantiation: tables_NLSF_CB_WB.c:silk_min_int Unexecuted instantiation: tables_pitch_lag.c:silk_min_int Unexecuted instantiation: tables_pulses_per_block.c:silk_min_int Unexecuted instantiation: NLSF_unpack.c:silk_min_int Unexecuted instantiation: bwexpander.c:silk_min_int Unexecuted instantiation: decode_pitch.c:silk_min_int Unexecuted instantiation: lin2log.c:silk_min_int Unexecuted instantiation: log2lin.c:silk_min_int Unexecuted instantiation: LPC_analysis_filter.c:silk_min_int Unexecuted instantiation: LPC_inv_pred_gain.c:silk_min_int Unexecuted instantiation: NLSF2A.c:silk_min_int NLSF_stabilize.c:silk_min_int Line | Count | Source | 543 | 47.5k | { | 544 | 47.5k | return (((a) < (b)) ? (a) : (b)); | 545 | 47.5k | } |
Unexecuted instantiation: pitch_est_tables.c:silk_min_int Unexecuted instantiation: resampler_private_AR2.c:silk_min_int Unexecuted instantiation: sort.c:silk_min_int Unexecuted instantiation: sum_sqr_shift.c:silk_min_int Unexecuted instantiation: LPC_fit.c:silk_min_int Unexecuted instantiation: CNG.c:silk_min_int Unexecuted instantiation: code_signs.c:silk_min_int Unexecuted instantiation: decode_core.c:silk_min_int Unexecuted instantiation: bwexpander_32.c:silk_min_int Unexecuted instantiation: table_LSF_cos.c:silk_min_int Unexecuted instantiation: opus_encoder.c:silk_min_int Unexecuted instantiation: enc_API.c:silk_min_int Unexecuted instantiation: encode_indices.c:silk_min_int Unexecuted instantiation: encode_pulses.c:silk_min_int Unexecuted instantiation: HP_variable_cutoff.c:silk_min_int Unexecuted instantiation: stereo_LR_to_MS.c:silk_min_int Unexecuted instantiation: check_control_input.c:silk_min_int Unexecuted instantiation: control_SNR.c:silk_min_int Unexecuted instantiation: init_encoder.c:silk_min_int Unexecuted instantiation: control_codec.c:silk_min_int Unexecuted instantiation: stereo_encode_pred.c:silk_min_int Unexecuted instantiation: stereo_find_predictor.c:silk_min_int Unexecuted instantiation: stereo_quant_pred.c:silk_min_int Unexecuted instantiation: encode_frame_FLP.c:silk_min_int Unexecuted instantiation: find_pitch_lags_FLP.c:silk_min_int Unexecuted instantiation: find_pred_coefs_FLP.c:silk_min_int Unexecuted instantiation: LPC_analysis_filter_FLP.c:silk_min_int Unexecuted instantiation: LTP_analysis_filter_FLP.c:silk_min_int Unexecuted instantiation: LTP_scale_ctrl_FLP.c:silk_min_int Unexecuted instantiation: noise_shape_analysis_FLP.c:silk_min_int Unexecuted instantiation: process_gains_FLP.c:silk_min_int Unexecuted instantiation: residual_energy_FLP.c:silk_min_int Unexecuted instantiation: warped_autocorrelation_FLP.c:silk_min_int Unexecuted instantiation: wrappers_FLP.c:silk_min_int Unexecuted instantiation: autocorrelation_FLP.c:silk_min_int Unexecuted instantiation: bwexpander_FLP.c:silk_min_int Unexecuted instantiation: energy_FLP.c:silk_min_int Unexecuted instantiation: k2a_FLP.c:silk_min_int Unexecuted instantiation: pitch_analysis_core_FLP.c:silk_min_int Unexecuted instantiation: scale_copy_vector_FLP.c:silk_min_int Unexecuted instantiation: schur_FLP.c:silk_min_int Unexecuted instantiation: sort_FLP.c:silk_min_int Unexecuted instantiation: x86_silk_map.c:silk_min_int Unexecuted instantiation: NSQ_del_dec_avx2.c:silk_min_int Unexecuted instantiation: LP_variable_cutoff.c:silk_min_int Unexecuted instantiation: NSQ.c:silk_min_int Unexecuted instantiation: NSQ_del_dec.c:silk_min_int Unexecuted instantiation: VAD.c:silk_min_int Unexecuted instantiation: control_audio_bandwidth.c:silk_min_int Unexecuted instantiation: quant_LTP_gains.c:silk_min_int Unexecuted instantiation: VQ_WMat_EC.c:silk_min_int Unexecuted instantiation: process_NLSFs.c:silk_min_int Unexecuted instantiation: A2NLSF.c:silk_min_int Unexecuted instantiation: ana_filt_bank_1.c:silk_min_int Unexecuted instantiation: biquad_alt.c:silk_min_int Unexecuted instantiation: inner_prod_aligned.c:silk_min_int Unexecuted instantiation: NLSF_VQ_weights_laroia.c:silk_min_int Unexecuted instantiation: resampler_down2_3.c:silk_min_int Unexecuted instantiation: resampler_down2.c:silk_min_int Unexecuted instantiation: sigm_Q15.c:silk_min_int Unexecuted instantiation: apply_sine_window_FLP.c:silk_min_int Unexecuted instantiation: find_LPC_FLP.c:silk_min_int Unexecuted instantiation: find_LTP_FLP.c:silk_min_int Unexecuted instantiation: burg_modified_FLP.c:silk_min_int Unexecuted instantiation: inner_product_FLP.c:silk_min_int Unexecuted instantiation: scale_vector_FLP.c:silk_min_int Unexecuted instantiation: NSQ_sse4_1.c:silk_min_int Unexecuted instantiation: NSQ_del_dec_sse4_1.c:silk_min_int Unexecuted instantiation: VAD_sse4_1.c:silk_min_int Unexecuted instantiation: VQ_WMat_EC_sse4_1.c:silk_min_int Unexecuted instantiation: inner_product_FLP_avx2.c:silk_min_int Unexecuted instantiation: interpolate.c:silk_min_int Unexecuted instantiation: NLSF_encode.c:silk_min_int Unexecuted instantiation: NLSF_VQ.c:silk_min_int Unexecuted instantiation: NLSF_del_dec_quant.c:silk_min_int Unexecuted instantiation: corrMatrix_FLP.c:silk_min_int |
546 | | static OPUS_INLINE opus_int16 silk_min_16(opus_int16 a, opus_int16 b) |
547 | 0 | { |
548 | 0 | return (((a) < (b)) ? (a) : (b)); |
549 | 0 | } Unexecuted instantiation: opus_decoder.c:silk_min_16 Unexecuted instantiation: vq.c:silk_min_16 Unexecuted instantiation: x86cpu.c:silk_min_16 Unexecuted instantiation: dec_API.c:silk_min_16 Unexecuted instantiation: tables_other.c:silk_min_16 Unexecuted instantiation: stereo_MS_to_LR.c:silk_min_16 Unexecuted instantiation: resampler.c:silk_min_16 Unexecuted instantiation: resampler_private_down_FIR.c:silk_min_16 Unexecuted instantiation: resampler_private_IIR_FIR.c:silk_min_16 Unexecuted instantiation: resampler_private_up2_HQ.c:silk_min_16 Unexecuted instantiation: resampler_rom.c:silk_min_16 Unexecuted instantiation: stereo_decode_pred.c:silk_min_16 Unexecuted instantiation: init_decoder.c:silk_min_16 Unexecuted instantiation: decode_frame.c:silk_min_16 Unexecuted instantiation: decode_parameters.c:silk_min_16 Unexecuted instantiation: decode_indices.c:silk_min_16 Unexecuted instantiation: decode_pulses.c:silk_min_16 Unexecuted instantiation: decoder_set_fs.c:silk_min_16 Unexecuted instantiation: gain_quant.c:silk_min_16 Unexecuted instantiation: NLSF_decode.c:silk_min_16 Unexecuted instantiation: PLC.c:silk_min_16 Unexecuted instantiation: shell_coder.c:silk_min_16 Unexecuted instantiation: tables_gain.c:silk_min_16 Unexecuted instantiation: tables_LTP.c:silk_min_16 Unexecuted instantiation: tables_NLSF_CB_NB_MB.c:silk_min_16 Unexecuted instantiation: tables_NLSF_CB_WB.c:silk_min_16 Unexecuted instantiation: tables_pitch_lag.c:silk_min_16 Unexecuted instantiation: tables_pulses_per_block.c:silk_min_16 Unexecuted instantiation: NLSF_unpack.c:silk_min_16 Unexecuted instantiation: bwexpander.c:silk_min_16 Unexecuted instantiation: decode_pitch.c:silk_min_16 Unexecuted instantiation: lin2log.c:silk_min_16 Unexecuted instantiation: log2lin.c:silk_min_16 Unexecuted instantiation: LPC_analysis_filter.c:silk_min_16 Unexecuted instantiation: LPC_inv_pred_gain.c:silk_min_16 Unexecuted instantiation: NLSF2A.c:silk_min_16 Unexecuted instantiation: NLSF_stabilize.c:silk_min_16 Unexecuted instantiation: pitch_est_tables.c:silk_min_16 Unexecuted instantiation: resampler_private_AR2.c:silk_min_16 Unexecuted instantiation: sort.c:silk_min_16 Unexecuted instantiation: sum_sqr_shift.c:silk_min_16 Unexecuted instantiation: LPC_fit.c:silk_min_16 Unexecuted instantiation: CNG.c:silk_min_16 Unexecuted instantiation: code_signs.c:silk_min_16 Unexecuted instantiation: decode_core.c:silk_min_16 Unexecuted instantiation: bwexpander_32.c:silk_min_16 Unexecuted instantiation: table_LSF_cos.c:silk_min_16 Unexecuted instantiation: opus_encoder.c:silk_min_16 Unexecuted instantiation: enc_API.c:silk_min_16 Unexecuted instantiation: encode_indices.c:silk_min_16 Unexecuted instantiation: encode_pulses.c:silk_min_16 Unexecuted instantiation: HP_variable_cutoff.c:silk_min_16 Unexecuted instantiation: stereo_LR_to_MS.c:silk_min_16 Unexecuted instantiation: check_control_input.c:silk_min_16 Unexecuted instantiation: control_SNR.c:silk_min_16 Unexecuted instantiation: init_encoder.c:silk_min_16 Unexecuted instantiation: control_codec.c:silk_min_16 Unexecuted instantiation: stereo_encode_pred.c:silk_min_16 Unexecuted instantiation: stereo_find_predictor.c:silk_min_16 Unexecuted instantiation: stereo_quant_pred.c:silk_min_16 Unexecuted instantiation: encode_frame_FLP.c:silk_min_16 Unexecuted instantiation: find_pitch_lags_FLP.c:silk_min_16 Unexecuted instantiation: find_pred_coefs_FLP.c:silk_min_16 Unexecuted instantiation: LPC_analysis_filter_FLP.c:silk_min_16 Unexecuted instantiation: LTP_analysis_filter_FLP.c:silk_min_16 Unexecuted instantiation: LTP_scale_ctrl_FLP.c:silk_min_16 Unexecuted instantiation: noise_shape_analysis_FLP.c:silk_min_16 Unexecuted instantiation: process_gains_FLP.c:silk_min_16 Unexecuted instantiation: residual_energy_FLP.c:silk_min_16 Unexecuted instantiation: warped_autocorrelation_FLP.c:silk_min_16 Unexecuted instantiation: wrappers_FLP.c:silk_min_16 Unexecuted instantiation: autocorrelation_FLP.c:silk_min_16 Unexecuted instantiation: bwexpander_FLP.c:silk_min_16 Unexecuted instantiation: energy_FLP.c:silk_min_16 Unexecuted instantiation: k2a_FLP.c:silk_min_16 Unexecuted instantiation: pitch_analysis_core_FLP.c:silk_min_16 Unexecuted instantiation: scale_copy_vector_FLP.c:silk_min_16 Unexecuted instantiation: schur_FLP.c:silk_min_16 Unexecuted instantiation: sort_FLP.c:silk_min_16 Unexecuted instantiation: x86_silk_map.c:silk_min_16 Unexecuted instantiation: NSQ_del_dec_avx2.c:silk_min_16 Unexecuted instantiation: LP_variable_cutoff.c:silk_min_16 Unexecuted instantiation: NSQ.c:silk_min_16 Unexecuted instantiation: NSQ_del_dec.c:silk_min_16 Unexecuted instantiation: VAD.c:silk_min_16 Unexecuted instantiation: control_audio_bandwidth.c:silk_min_16 Unexecuted instantiation: quant_LTP_gains.c:silk_min_16 Unexecuted instantiation: VQ_WMat_EC.c:silk_min_16 Unexecuted instantiation: process_NLSFs.c:silk_min_16 Unexecuted instantiation: A2NLSF.c:silk_min_16 Unexecuted instantiation: ana_filt_bank_1.c:silk_min_16 Unexecuted instantiation: biquad_alt.c:silk_min_16 Unexecuted instantiation: inner_prod_aligned.c:silk_min_16 Unexecuted instantiation: NLSF_VQ_weights_laroia.c:silk_min_16 Unexecuted instantiation: resampler_down2_3.c:silk_min_16 Unexecuted instantiation: resampler_down2.c:silk_min_16 Unexecuted instantiation: sigm_Q15.c:silk_min_16 Unexecuted instantiation: apply_sine_window_FLP.c:silk_min_16 Unexecuted instantiation: find_LPC_FLP.c:silk_min_16 Unexecuted instantiation: find_LTP_FLP.c:silk_min_16 Unexecuted instantiation: burg_modified_FLP.c:silk_min_16 Unexecuted instantiation: inner_product_FLP.c:silk_min_16 Unexecuted instantiation: scale_vector_FLP.c:silk_min_16 Unexecuted instantiation: NSQ_sse4_1.c:silk_min_16 Unexecuted instantiation: NSQ_del_dec_sse4_1.c:silk_min_16 Unexecuted instantiation: VAD_sse4_1.c:silk_min_16 Unexecuted instantiation: VQ_WMat_EC_sse4_1.c:silk_min_16 Unexecuted instantiation: inner_product_FLP_avx2.c:silk_min_16 Unexecuted instantiation: interpolate.c:silk_min_16 Unexecuted instantiation: NLSF_encode.c:silk_min_16 Unexecuted instantiation: NLSF_VQ.c:silk_min_16 Unexecuted instantiation: NLSF_del_dec_quant.c:silk_min_16 Unexecuted instantiation: corrMatrix_FLP.c:silk_min_16 |
550 | | static OPUS_INLINE opus_int32 silk_min_32(opus_int32 a, opus_int32 b) |
551 | 1.14M | { |
552 | 1.14M | return (((a) < (b)) ? (a) : (b)); |
553 | 1.14M | } Unexecuted instantiation: opus_decoder.c:silk_min_32 Unexecuted instantiation: vq.c:silk_min_32 Unexecuted instantiation: x86cpu.c:silk_min_32 Unexecuted instantiation: dec_API.c:silk_min_32 Unexecuted instantiation: tables_other.c:silk_min_32 Unexecuted instantiation: stereo_MS_to_LR.c:silk_min_32 Unexecuted instantiation: resampler.c:silk_min_32 Unexecuted instantiation: resampler_private_down_FIR.c:silk_min_32 Unexecuted instantiation: resampler_private_IIR_FIR.c:silk_min_32 Unexecuted instantiation: resampler_private_up2_HQ.c:silk_min_32 Unexecuted instantiation: resampler_rom.c:silk_min_32 Unexecuted instantiation: stereo_decode_pred.c:silk_min_32 Unexecuted instantiation: init_decoder.c:silk_min_32 Unexecuted instantiation: decode_frame.c:silk_min_32 Unexecuted instantiation: decode_parameters.c:silk_min_32 Unexecuted instantiation: decode_indices.c:silk_min_32 Unexecuted instantiation: decode_pulses.c:silk_min_32 Unexecuted instantiation: decoder_set_fs.c:silk_min_32 Line | Count | Source | 551 | 682k | { | 552 | 682k | return (((a) < (b)) ? (a) : (b)); | 553 | 682k | } |
Unexecuted instantiation: NLSF_decode.c:silk_min_32 Line | Count | Source | 551 | 458k | { | 552 | 458k | return (((a) < (b)) ? (a) : (b)); | 553 | 458k | } |
Unexecuted instantiation: shell_coder.c:silk_min_32 Unexecuted instantiation: tables_gain.c:silk_min_32 Unexecuted instantiation: tables_LTP.c:silk_min_32 Unexecuted instantiation: tables_NLSF_CB_NB_MB.c:silk_min_32 Unexecuted instantiation: tables_NLSF_CB_WB.c:silk_min_32 Unexecuted instantiation: tables_pitch_lag.c:silk_min_32 Unexecuted instantiation: tables_pulses_per_block.c:silk_min_32 Unexecuted instantiation: NLSF_unpack.c:silk_min_32 Unexecuted instantiation: bwexpander.c:silk_min_32 Unexecuted instantiation: decode_pitch.c:silk_min_32 Unexecuted instantiation: lin2log.c:silk_min_32 Unexecuted instantiation: log2lin.c:silk_min_32 Unexecuted instantiation: LPC_analysis_filter.c:silk_min_32 Unexecuted instantiation: LPC_inv_pred_gain.c:silk_min_32 Unexecuted instantiation: NLSF2A.c:silk_min_32 Unexecuted instantiation: NLSF_stabilize.c:silk_min_32 Unexecuted instantiation: pitch_est_tables.c:silk_min_32 Unexecuted instantiation: resampler_private_AR2.c:silk_min_32 Unexecuted instantiation: sort.c:silk_min_32 Unexecuted instantiation: sum_sqr_shift.c:silk_min_32 Unexecuted instantiation: LPC_fit.c:silk_min_32 Unexecuted instantiation: CNG.c:silk_min_32 Unexecuted instantiation: code_signs.c:silk_min_32 Unexecuted instantiation: decode_core.c:silk_min_32 Unexecuted instantiation: bwexpander_32.c:silk_min_32 Unexecuted instantiation: table_LSF_cos.c:silk_min_32 Unexecuted instantiation: opus_encoder.c:silk_min_32 Unexecuted instantiation: enc_API.c:silk_min_32 Unexecuted instantiation: encode_indices.c:silk_min_32 Unexecuted instantiation: encode_pulses.c:silk_min_32 Unexecuted instantiation: HP_variable_cutoff.c:silk_min_32 Unexecuted instantiation: stereo_LR_to_MS.c:silk_min_32 Unexecuted instantiation: check_control_input.c:silk_min_32 Unexecuted instantiation: control_SNR.c:silk_min_32 Unexecuted instantiation: init_encoder.c:silk_min_32 Unexecuted instantiation: control_codec.c:silk_min_32 Unexecuted instantiation: stereo_encode_pred.c:silk_min_32 Unexecuted instantiation: stereo_find_predictor.c:silk_min_32 Unexecuted instantiation: stereo_quant_pred.c:silk_min_32 Unexecuted instantiation: encode_frame_FLP.c:silk_min_32 Unexecuted instantiation: find_pitch_lags_FLP.c:silk_min_32 Unexecuted instantiation: find_pred_coefs_FLP.c:silk_min_32 Unexecuted instantiation: LPC_analysis_filter_FLP.c:silk_min_32 Unexecuted instantiation: LTP_analysis_filter_FLP.c:silk_min_32 Unexecuted instantiation: LTP_scale_ctrl_FLP.c:silk_min_32 Unexecuted instantiation: noise_shape_analysis_FLP.c:silk_min_32 Unexecuted instantiation: process_gains_FLP.c:silk_min_32 Unexecuted instantiation: residual_energy_FLP.c:silk_min_32 Unexecuted instantiation: warped_autocorrelation_FLP.c:silk_min_32 Unexecuted instantiation: wrappers_FLP.c:silk_min_32 Unexecuted instantiation: autocorrelation_FLP.c:silk_min_32 Unexecuted instantiation: bwexpander_FLP.c:silk_min_32 Unexecuted instantiation: energy_FLP.c:silk_min_32 Unexecuted instantiation: k2a_FLP.c:silk_min_32 Unexecuted instantiation: pitch_analysis_core_FLP.c:silk_min_32 Unexecuted instantiation: scale_copy_vector_FLP.c:silk_min_32 Unexecuted instantiation: schur_FLP.c:silk_min_32 Unexecuted instantiation: sort_FLP.c:silk_min_32 Unexecuted instantiation: x86_silk_map.c:silk_min_32 Unexecuted instantiation: NSQ_del_dec_avx2.c:silk_min_32 Unexecuted instantiation: LP_variable_cutoff.c:silk_min_32 Unexecuted instantiation: NSQ.c:silk_min_32 Unexecuted instantiation: NSQ_del_dec.c:silk_min_32 Unexecuted instantiation: VAD.c:silk_min_32 Unexecuted instantiation: control_audio_bandwidth.c:silk_min_32 Unexecuted instantiation: quant_LTP_gains.c:silk_min_32 Unexecuted instantiation: VQ_WMat_EC.c:silk_min_32 Unexecuted instantiation: process_NLSFs.c:silk_min_32 Unexecuted instantiation: A2NLSF.c:silk_min_32 Unexecuted instantiation: ana_filt_bank_1.c:silk_min_32 Unexecuted instantiation: biquad_alt.c:silk_min_32 Unexecuted instantiation: inner_prod_aligned.c:silk_min_32 Unexecuted instantiation: NLSF_VQ_weights_laroia.c:silk_min_32 Unexecuted instantiation: resampler_down2_3.c:silk_min_32 Unexecuted instantiation: resampler_down2.c:silk_min_32 Unexecuted instantiation: sigm_Q15.c:silk_min_32 Unexecuted instantiation: apply_sine_window_FLP.c:silk_min_32 Unexecuted instantiation: find_LPC_FLP.c:silk_min_32 Unexecuted instantiation: find_LTP_FLP.c:silk_min_32 Unexecuted instantiation: burg_modified_FLP.c:silk_min_32 Unexecuted instantiation: inner_product_FLP.c:silk_min_32 Unexecuted instantiation: scale_vector_FLP.c:silk_min_32 Unexecuted instantiation: NSQ_sse4_1.c:silk_min_32 Unexecuted instantiation: NSQ_del_dec_sse4_1.c:silk_min_32 Unexecuted instantiation: VAD_sse4_1.c:silk_min_32 Unexecuted instantiation: VQ_WMat_EC_sse4_1.c:silk_min_32 Unexecuted instantiation: inner_product_FLP_avx2.c:silk_min_32 Unexecuted instantiation: interpolate.c:silk_min_32 Unexecuted instantiation: NLSF_encode.c:silk_min_32 Unexecuted instantiation: NLSF_VQ.c:silk_min_32 Unexecuted instantiation: NLSF_del_dec_quant.c:silk_min_32 Unexecuted instantiation: corrMatrix_FLP.c:silk_min_32 |
554 | | static OPUS_INLINE opus_int64 silk_min_64(opus_int64 a, opus_int64 b) |
555 | 0 | { |
556 | 0 | return (((a) < (b)) ? (a) : (b)); |
557 | 0 | } Unexecuted instantiation: opus_decoder.c:silk_min_64 Unexecuted instantiation: vq.c:silk_min_64 Unexecuted instantiation: x86cpu.c:silk_min_64 Unexecuted instantiation: dec_API.c:silk_min_64 Unexecuted instantiation: tables_other.c:silk_min_64 Unexecuted instantiation: stereo_MS_to_LR.c:silk_min_64 Unexecuted instantiation: resampler.c:silk_min_64 Unexecuted instantiation: resampler_private_down_FIR.c:silk_min_64 Unexecuted instantiation: resampler_private_IIR_FIR.c:silk_min_64 Unexecuted instantiation: resampler_private_up2_HQ.c:silk_min_64 Unexecuted instantiation: resampler_rom.c:silk_min_64 Unexecuted instantiation: stereo_decode_pred.c:silk_min_64 Unexecuted instantiation: init_decoder.c:silk_min_64 Unexecuted instantiation: decode_frame.c:silk_min_64 Unexecuted instantiation: decode_parameters.c:silk_min_64 Unexecuted instantiation: decode_indices.c:silk_min_64 Unexecuted instantiation: decode_pulses.c:silk_min_64 Unexecuted instantiation: decoder_set_fs.c:silk_min_64 Unexecuted instantiation: gain_quant.c:silk_min_64 Unexecuted instantiation: NLSF_decode.c:silk_min_64 Unexecuted instantiation: PLC.c:silk_min_64 Unexecuted instantiation: shell_coder.c:silk_min_64 Unexecuted instantiation: tables_gain.c:silk_min_64 Unexecuted instantiation: tables_LTP.c:silk_min_64 Unexecuted instantiation: tables_NLSF_CB_NB_MB.c:silk_min_64 Unexecuted instantiation: tables_NLSF_CB_WB.c:silk_min_64 Unexecuted instantiation: tables_pitch_lag.c:silk_min_64 Unexecuted instantiation: tables_pulses_per_block.c:silk_min_64 Unexecuted instantiation: NLSF_unpack.c:silk_min_64 Unexecuted instantiation: bwexpander.c:silk_min_64 Unexecuted instantiation: decode_pitch.c:silk_min_64 Unexecuted instantiation: lin2log.c:silk_min_64 Unexecuted instantiation: log2lin.c:silk_min_64 Unexecuted instantiation: LPC_analysis_filter.c:silk_min_64 Unexecuted instantiation: LPC_inv_pred_gain.c:silk_min_64 Unexecuted instantiation: NLSF2A.c:silk_min_64 Unexecuted instantiation: NLSF_stabilize.c:silk_min_64 Unexecuted instantiation: pitch_est_tables.c:silk_min_64 Unexecuted instantiation: resampler_private_AR2.c:silk_min_64 Unexecuted instantiation: sort.c:silk_min_64 Unexecuted instantiation: sum_sqr_shift.c:silk_min_64 Unexecuted instantiation: LPC_fit.c:silk_min_64 Unexecuted instantiation: CNG.c:silk_min_64 Unexecuted instantiation: code_signs.c:silk_min_64 Unexecuted instantiation: decode_core.c:silk_min_64 Unexecuted instantiation: bwexpander_32.c:silk_min_64 Unexecuted instantiation: table_LSF_cos.c:silk_min_64 Unexecuted instantiation: opus_encoder.c:silk_min_64 Unexecuted instantiation: enc_API.c:silk_min_64 Unexecuted instantiation: encode_indices.c:silk_min_64 Unexecuted instantiation: encode_pulses.c:silk_min_64 Unexecuted instantiation: HP_variable_cutoff.c:silk_min_64 Unexecuted instantiation: stereo_LR_to_MS.c:silk_min_64 Unexecuted instantiation: check_control_input.c:silk_min_64 Unexecuted instantiation: control_SNR.c:silk_min_64 Unexecuted instantiation: init_encoder.c:silk_min_64 Unexecuted instantiation: control_codec.c:silk_min_64 Unexecuted instantiation: stereo_encode_pred.c:silk_min_64 Unexecuted instantiation: stereo_find_predictor.c:silk_min_64 Unexecuted instantiation: stereo_quant_pred.c:silk_min_64 Unexecuted instantiation: encode_frame_FLP.c:silk_min_64 Unexecuted instantiation: find_pitch_lags_FLP.c:silk_min_64 Unexecuted instantiation: find_pred_coefs_FLP.c:silk_min_64 Unexecuted instantiation: LPC_analysis_filter_FLP.c:silk_min_64 Unexecuted instantiation: LTP_analysis_filter_FLP.c:silk_min_64 Unexecuted instantiation: LTP_scale_ctrl_FLP.c:silk_min_64 Unexecuted instantiation: noise_shape_analysis_FLP.c:silk_min_64 Unexecuted instantiation: process_gains_FLP.c:silk_min_64 Unexecuted instantiation: residual_energy_FLP.c:silk_min_64 Unexecuted instantiation: warped_autocorrelation_FLP.c:silk_min_64 Unexecuted instantiation: wrappers_FLP.c:silk_min_64 Unexecuted instantiation: autocorrelation_FLP.c:silk_min_64 Unexecuted instantiation: bwexpander_FLP.c:silk_min_64 Unexecuted instantiation: energy_FLP.c:silk_min_64 Unexecuted instantiation: k2a_FLP.c:silk_min_64 Unexecuted instantiation: pitch_analysis_core_FLP.c:silk_min_64 Unexecuted instantiation: scale_copy_vector_FLP.c:silk_min_64 Unexecuted instantiation: schur_FLP.c:silk_min_64 Unexecuted instantiation: sort_FLP.c:silk_min_64 Unexecuted instantiation: x86_silk_map.c:silk_min_64 Unexecuted instantiation: NSQ_del_dec_avx2.c:silk_min_64 Unexecuted instantiation: LP_variable_cutoff.c:silk_min_64 Unexecuted instantiation: NSQ.c:silk_min_64 Unexecuted instantiation: NSQ_del_dec.c:silk_min_64 Unexecuted instantiation: VAD.c:silk_min_64 Unexecuted instantiation: control_audio_bandwidth.c:silk_min_64 Unexecuted instantiation: quant_LTP_gains.c:silk_min_64 Unexecuted instantiation: VQ_WMat_EC.c:silk_min_64 Unexecuted instantiation: process_NLSFs.c:silk_min_64 Unexecuted instantiation: A2NLSF.c:silk_min_64 Unexecuted instantiation: ana_filt_bank_1.c:silk_min_64 Unexecuted instantiation: biquad_alt.c:silk_min_64 Unexecuted instantiation: inner_prod_aligned.c:silk_min_64 Unexecuted instantiation: NLSF_VQ_weights_laroia.c:silk_min_64 Unexecuted instantiation: resampler_down2_3.c:silk_min_64 Unexecuted instantiation: resampler_down2.c:silk_min_64 Unexecuted instantiation: sigm_Q15.c:silk_min_64 Unexecuted instantiation: apply_sine_window_FLP.c:silk_min_64 Unexecuted instantiation: find_LPC_FLP.c:silk_min_64 Unexecuted instantiation: find_LTP_FLP.c:silk_min_64 Unexecuted instantiation: burg_modified_FLP.c:silk_min_64 Unexecuted instantiation: inner_product_FLP.c:silk_min_64 Unexecuted instantiation: scale_vector_FLP.c:silk_min_64 Unexecuted instantiation: NSQ_sse4_1.c:silk_min_64 Unexecuted instantiation: NSQ_del_dec_sse4_1.c:silk_min_64 Unexecuted instantiation: VAD_sse4_1.c:silk_min_64 Unexecuted instantiation: VQ_WMat_EC_sse4_1.c:silk_min_64 Unexecuted instantiation: inner_product_FLP_avx2.c:silk_min_64 Unexecuted instantiation: interpolate.c:silk_min_64 Unexecuted instantiation: NLSF_encode.c:silk_min_64 Unexecuted instantiation: NLSF_VQ.c:silk_min_64 Unexecuted instantiation: NLSF_del_dec_quant.c:silk_min_64 Unexecuted instantiation: corrMatrix_FLP.c:silk_min_64 |
558 | | |
559 | | /* silk_min() versions with typecast in the function call */ |
560 | | static OPUS_INLINE opus_int silk_max_int(opus_int a, opus_int b) |
561 | 377k | { |
562 | 377k | return (((a) > (b)) ? (a) : (b)); |
563 | 377k | } Unexecuted instantiation: opus_decoder.c:silk_max_int Unexecuted instantiation: vq.c:silk_max_int Unexecuted instantiation: x86cpu.c:silk_max_int Unexecuted instantiation: dec_API.c:silk_max_int Unexecuted instantiation: tables_other.c:silk_max_int Unexecuted instantiation: stereo_MS_to_LR.c:silk_max_int Unexecuted instantiation: resampler.c:silk_max_int Unexecuted instantiation: resampler_private_down_FIR.c:silk_max_int Unexecuted instantiation: resampler_private_IIR_FIR.c:silk_max_int Unexecuted instantiation: resampler_private_up2_HQ.c:silk_max_int Unexecuted instantiation: resampler_rom.c:silk_max_int Unexecuted instantiation: stereo_decode_pred.c:silk_max_int Unexecuted instantiation: init_decoder.c:silk_max_int Unexecuted instantiation: decode_frame.c:silk_max_int Unexecuted instantiation: decode_parameters.c:silk_max_int Unexecuted instantiation: decode_indices.c:silk_max_int Unexecuted instantiation: decode_pulses.c:silk_max_int Unexecuted instantiation: decoder_set_fs.c:silk_max_int gain_quant.c:silk_max_int Line | Count | Source | 561 | 172k | { | 562 | 172k | return (((a) > (b)) ? (a) : (b)); | 563 | 172k | } |
Unexecuted instantiation: NLSF_decode.c:silk_max_int Line | Count | Source | 561 | 158k | { | 562 | 158k | return (((a) > (b)) ? (a) : (b)); | 563 | 158k | } |
Unexecuted instantiation: shell_coder.c:silk_max_int Unexecuted instantiation: tables_gain.c:silk_max_int Unexecuted instantiation: tables_LTP.c:silk_max_int Unexecuted instantiation: tables_NLSF_CB_NB_MB.c:silk_max_int Unexecuted instantiation: tables_NLSF_CB_WB.c:silk_max_int Unexecuted instantiation: tables_pitch_lag.c:silk_max_int Unexecuted instantiation: tables_pulses_per_block.c:silk_max_int Unexecuted instantiation: NLSF_unpack.c:silk_max_int Unexecuted instantiation: bwexpander.c:silk_max_int Unexecuted instantiation: decode_pitch.c:silk_max_int Unexecuted instantiation: lin2log.c:silk_max_int Unexecuted instantiation: log2lin.c:silk_max_int Unexecuted instantiation: LPC_analysis_filter.c:silk_max_int Unexecuted instantiation: LPC_inv_pred_gain.c:silk_max_int Unexecuted instantiation: NLSF2A.c:silk_max_int NLSF_stabilize.c:silk_max_int Line | Count | Source | 561 | 47.5k | { | 562 | 47.5k | return (((a) > (b)) ? (a) : (b)); | 563 | 47.5k | } |
Unexecuted instantiation: pitch_est_tables.c:silk_max_int Unexecuted instantiation: resampler_private_AR2.c:silk_max_int Unexecuted instantiation: sort.c:silk_max_int Unexecuted instantiation: sum_sqr_shift.c:silk_max_int Unexecuted instantiation: LPC_fit.c:silk_max_int Unexecuted instantiation: CNG.c:silk_max_int Unexecuted instantiation: code_signs.c:silk_max_int Unexecuted instantiation: decode_core.c:silk_max_int Unexecuted instantiation: bwexpander_32.c:silk_max_int Unexecuted instantiation: table_LSF_cos.c:silk_max_int Unexecuted instantiation: opus_encoder.c:silk_max_int Unexecuted instantiation: enc_API.c:silk_max_int Unexecuted instantiation: encode_indices.c:silk_max_int Unexecuted instantiation: encode_pulses.c:silk_max_int Unexecuted instantiation: HP_variable_cutoff.c:silk_max_int Unexecuted instantiation: stereo_LR_to_MS.c:silk_max_int Unexecuted instantiation: check_control_input.c:silk_max_int Unexecuted instantiation: control_SNR.c:silk_max_int Unexecuted instantiation: init_encoder.c:silk_max_int Unexecuted instantiation: control_codec.c:silk_max_int Unexecuted instantiation: stereo_encode_pred.c:silk_max_int Unexecuted instantiation: stereo_find_predictor.c:silk_max_int Unexecuted instantiation: stereo_quant_pred.c:silk_max_int Unexecuted instantiation: encode_frame_FLP.c:silk_max_int Unexecuted instantiation: find_pitch_lags_FLP.c:silk_max_int Unexecuted instantiation: find_pred_coefs_FLP.c:silk_max_int Unexecuted instantiation: LPC_analysis_filter_FLP.c:silk_max_int Unexecuted instantiation: LTP_analysis_filter_FLP.c:silk_max_int Unexecuted instantiation: LTP_scale_ctrl_FLP.c:silk_max_int Unexecuted instantiation: noise_shape_analysis_FLP.c:silk_max_int Unexecuted instantiation: process_gains_FLP.c:silk_max_int Unexecuted instantiation: residual_energy_FLP.c:silk_max_int Unexecuted instantiation: warped_autocorrelation_FLP.c:silk_max_int Unexecuted instantiation: wrappers_FLP.c:silk_max_int Unexecuted instantiation: autocorrelation_FLP.c:silk_max_int Unexecuted instantiation: bwexpander_FLP.c:silk_max_int Unexecuted instantiation: energy_FLP.c:silk_max_int Unexecuted instantiation: k2a_FLP.c:silk_max_int Unexecuted instantiation: pitch_analysis_core_FLP.c:silk_max_int Unexecuted instantiation: scale_copy_vector_FLP.c:silk_max_int Unexecuted instantiation: schur_FLP.c:silk_max_int Unexecuted instantiation: sort_FLP.c:silk_max_int Unexecuted instantiation: x86_silk_map.c:silk_max_int Unexecuted instantiation: NSQ_del_dec_avx2.c:silk_max_int Unexecuted instantiation: LP_variable_cutoff.c:silk_max_int Unexecuted instantiation: NSQ.c:silk_max_int Unexecuted instantiation: NSQ_del_dec.c:silk_max_int Unexecuted instantiation: VAD.c:silk_max_int Unexecuted instantiation: control_audio_bandwidth.c:silk_max_int Unexecuted instantiation: quant_LTP_gains.c:silk_max_int Unexecuted instantiation: VQ_WMat_EC.c:silk_max_int Unexecuted instantiation: process_NLSFs.c:silk_max_int Unexecuted instantiation: A2NLSF.c:silk_max_int Unexecuted instantiation: ana_filt_bank_1.c:silk_max_int Unexecuted instantiation: biquad_alt.c:silk_max_int Unexecuted instantiation: inner_prod_aligned.c:silk_max_int Unexecuted instantiation: NLSF_VQ_weights_laroia.c:silk_max_int Unexecuted instantiation: resampler_down2_3.c:silk_max_int Unexecuted instantiation: resampler_down2.c:silk_max_int Unexecuted instantiation: sigm_Q15.c:silk_max_int Unexecuted instantiation: apply_sine_window_FLP.c:silk_max_int Unexecuted instantiation: find_LPC_FLP.c:silk_max_int Unexecuted instantiation: find_LTP_FLP.c:silk_max_int Unexecuted instantiation: burg_modified_FLP.c:silk_max_int Unexecuted instantiation: inner_product_FLP.c:silk_max_int Unexecuted instantiation: scale_vector_FLP.c:silk_max_int Unexecuted instantiation: NSQ_sse4_1.c:silk_max_int Unexecuted instantiation: NSQ_del_dec_sse4_1.c:silk_max_int Unexecuted instantiation: VAD_sse4_1.c:silk_max_int Unexecuted instantiation: VQ_WMat_EC_sse4_1.c:silk_max_int Unexecuted instantiation: inner_product_FLP_avx2.c:silk_max_int Unexecuted instantiation: interpolate.c:silk_max_int Unexecuted instantiation: NLSF_encode.c:silk_max_int Unexecuted instantiation: NLSF_VQ.c:silk_max_int Unexecuted instantiation: NLSF_del_dec_quant.c:silk_max_int Unexecuted instantiation: corrMatrix_FLP.c:silk_max_int |
564 | | static OPUS_INLINE opus_int16 silk_max_16(opus_int16 a, opus_int16 b) |
565 | 6.62k | { |
566 | 6.62k | return (((a) > (b)) ? (a) : (b)); |
567 | 6.62k | } Unexecuted instantiation: opus_decoder.c:silk_max_16 Unexecuted instantiation: vq.c:silk_max_16 Unexecuted instantiation: x86cpu.c:silk_max_16 Unexecuted instantiation: dec_API.c:silk_max_16 Unexecuted instantiation: tables_other.c:silk_max_16 Unexecuted instantiation: stereo_MS_to_LR.c:silk_max_16 Unexecuted instantiation: resampler.c:silk_max_16 Unexecuted instantiation: resampler_private_down_FIR.c:silk_max_16 Unexecuted instantiation: resampler_private_IIR_FIR.c:silk_max_16 Unexecuted instantiation: resampler_private_up2_HQ.c:silk_max_16 Unexecuted instantiation: resampler_rom.c:silk_max_16 Unexecuted instantiation: stereo_decode_pred.c:silk_max_16 Unexecuted instantiation: init_decoder.c:silk_max_16 Unexecuted instantiation: decode_frame.c:silk_max_16 Unexecuted instantiation: decode_parameters.c:silk_max_16 Unexecuted instantiation: decode_indices.c:silk_max_16 Unexecuted instantiation: decode_pulses.c:silk_max_16 Unexecuted instantiation: decoder_set_fs.c:silk_max_16 Unexecuted instantiation: gain_quant.c:silk_max_16 Unexecuted instantiation: NLSF_decode.c:silk_max_16 Line | Count | Source | 565 | 6.62k | { | 566 | 6.62k | return (((a) > (b)) ? (a) : (b)); | 567 | 6.62k | } |
Unexecuted instantiation: shell_coder.c:silk_max_16 Unexecuted instantiation: tables_gain.c:silk_max_16 Unexecuted instantiation: tables_LTP.c:silk_max_16 Unexecuted instantiation: tables_NLSF_CB_NB_MB.c:silk_max_16 Unexecuted instantiation: tables_NLSF_CB_WB.c:silk_max_16 Unexecuted instantiation: tables_pitch_lag.c:silk_max_16 Unexecuted instantiation: tables_pulses_per_block.c:silk_max_16 Unexecuted instantiation: NLSF_unpack.c:silk_max_16 Unexecuted instantiation: bwexpander.c:silk_max_16 Unexecuted instantiation: decode_pitch.c:silk_max_16 Unexecuted instantiation: lin2log.c:silk_max_16 Unexecuted instantiation: log2lin.c:silk_max_16 Unexecuted instantiation: LPC_analysis_filter.c:silk_max_16 Unexecuted instantiation: LPC_inv_pred_gain.c:silk_max_16 Unexecuted instantiation: NLSF2A.c:silk_max_16 Unexecuted instantiation: NLSF_stabilize.c:silk_max_16 Unexecuted instantiation: pitch_est_tables.c:silk_max_16 Unexecuted instantiation: resampler_private_AR2.c:silk_max_16 Unexecuted instantiation: sort.c:silk_max_16 Unexecuted instantiation: sum_sqr_shift.c:silk_max_16 Unexecuted instantiation: LPC_fit.c:silk_max_16 Unexecuted instantiation: CNG.c:silk_max_16 Unexecuted instantiation: code_signs.c:silk_max_16 Unexecuted instantiation: decode_core.c:silk_max_16 Unexecuted instantiation: bwexpander_32.c:silk_max_16 Unexecuted instantiation: table_LSF_cos.c:silk_max_16 Unexecuted instantiation: opus_encoder.c:silk_max_16 Unexecuted instantiation: enc_API.c:silk_max_16 Unexecuted instantiation: encode_indices.c:silk_max_16 Unexecuted instantiation: encode_pulses.c:silk_max_16 Unexecuted instantiation: HP_variable_cutoff.c:silk_max_16 Unexecuted instantiation: stereo_LR_to_MS.c:silk_max_16 Unexecuted instantiation: check_control_input.c:silk_max_16 Unexecuted instantiation: control_SNR.c:silk_max_16 Unexecuted instantiation: init_encoder.c:silk_max_16 Unexecuted instantiation: control_codec.c:silk_max_16 Unexecuted instantiation: stereo_encode_pred.c:silk_max_16 Unexecuted instantiation: stereo_find_predictor.c:silk_max_16 Unexecuted instantiation: stereo_quant_pred.c:silk_max_16 Unexecuted instantiation: encode_frame_FLP.c:silk_max_16 Unexecuted instantiation: find_pitch_lags_FLP.c:silk_max_16 Unexecuted instantiation: find_pred_coefs_FLP.c:silk_max_16 Unexecuted instantiation: LPC_analysis_filter_FLP.c:silk_max_16 Unexecuted instantiation: LTP_analysis_filter_FLP.c:silk_max_16 Unexecuted instantiation: LTP_scale_ctrl_FLP.c:silk_max_16 Unexecuted instantiation: noise_shape_analysis_FLP.c:silk_max_16 Unexecuted instantiation: process_gains_FLP.c:silk_max_16 Unexecuted instantiation: residual_energy_FLP.c:silk_max_16 Unexecuted instantiation: warped_autocorrelation_FLP.c:silk_max_16 Unexecuted instantiation: wrappers_FLP.c:silk_max_16 Unexecuted instantiation: autocorrelation_FLP.c:silk_max_16 Unexecuted instantiation: bwexpander_FLP.c:silk_max_16 Unexecuted instantiation: energy_FLP.c:silk_max_16 Unexecuted instantiation: k2a_FLP.c:silk_max_16 Unexecuted instantiation: pitch_analysis_core_FLP.c:silk_max_16 Unexecuted instantiation: scale_copy_vector_FLP.c:silk_max_16 Unexecuted instantiation: schur_FLP.c:silk_max_16 Unexecuted instantiation: sort_FLP.c:silk_max_16 Unexecuted instantiation: x86_silk_map.c:silk_max_16 Unexecuted instantiation: NSQ_del_dec_avx2.c:silk_max_16 Unexecuted instantiation: LP_variable_cutoff.c:silk_max_16 Unexecuted instantiation: NSQ.c:silk_max_16 Unexecuted instantiation: NSQ_del_dec.c:silk_max_16 Unexecuted instantiation: VAD.c:silk_max_16 Unexecuted instantiation: control_audio_bandwidth.c:silk_max_16 Unexecuted instantiation: quant_LTP_gains.c:silk_max_16 Unexecuted instantiation: VQ_WMat_EC.c:silk_max_16 Unexecuted instantiation: process_NLSFs.c:silk_max_16 Unexecuted instantiation: A2NLSF.c:silk_max_16 Unexecuted instantiation: ana_filt_bank_1.c:silk_max_16 Unexecuted instantiation: biquad_alt.c:silk_max_16 Unexecuted instantiation: inner_prod_aligned.c:silk_max_16 Unexecuted instantiation: NLSF_VQ_weights_laroia.c:silk_max_16 Unexecuted instantiation: resampler_down2_3.c:silk_max_16 Unexecuted instantiation: resampler_down2.c:silk_max_16 Unexecuted instantiation: sigm_Q15.c:silk_max_16 Unexecuted instantiation: apply_sine_window_FLP.c:silk_max_16 Unexecuted instantiation: find_LPC_FLP.c:silk_max_16 Unexecuted instantiation: find_LTP_FLP.c:silk_max_16 Unexecuted instantiation: burg_modified_FLP.c:silk_max_16 Unexecuted instantiation: inner_product_FLP.c:silk_max_16 Unexecuted instantiation: scale_vector_FLP.c:silk_max_16 Unexecuted instantiation: NSQ_sse4_1.c:silk_max_16 Unexecuted instantiation: NSQ_del_dec_sse4_1.c:silk_max_16 Unexecuted instantiation: VAD_sse4_1.c:silk_max_16 Unexecuted instantiation: VQ_WMat_EC_sse4_1.c:silk_max_16 Unexecuted instantiation: inner_product_FLP_avx2.c:silk_max_16 Unexecuted instantiation: interpolate.c:silk_max_16 Unexecuted instantiation: NLSF_encode.c:silk_max_16 Unexecuted instantiation: NLSF_VQ.c:silk_max_16 Unexecuted instantiation: NLSF_del_dec_quant.c:silk_max_16 Unexecuted instantiation: corrMatrix_FLP.c:silk_max_16 |
568 | | static OPUS_INLINE opus_int32 silk_max_32(opus_int32 a, opus_int32 b) |
569 | 544k | { |
570 | 544k | return (((a) > (b)) ? (a) : (b)); |
571 | 544k | } Unexecuted instantiation: opus_decoder.c:silk_max_32 Unexecuted instantiation: vq.c:silk_max_32 Unexecuted instantiation: x86cpu.c:silk_max_32 Unexecuted instantiation: dec_API.c:silk_max_32 Unexecuted instantiation: tables_other.c:silk_max_32 Unexecuted instantiation: stereo_MS_to_LR.c:silk_max_32 Unexecuted instantiation: resampler.c:silk_max_32 Unexecuted instantiation: resampler_private_down_FIR.c:silk_max_32 Unexecuted instantiation: resampler_private_IIR_FIR.c:silk_max_32 Unexecuted instantiation: resampler_private_up2_HQ.c:silk_max_32 Unexecuted instantiation: resampler_rom.c:silk_max_32 Unexecuted instantiation: stereo_decode_pred.c:silk_max_32 Unexecuted instantiation: init_decoder.c:silk_max_32 Unexecuted instantiation: decode_frame.c:silk_max_32 Unexecuted instantiation: decode_parameters.c:silk_max_32 Unexecuted instantiation: decode_indices.c:silk_max_32 Unexecuted instantiation: decode_pulses.c:silk_max_32 Unexecuted instantiation: decoder_set_fs.c:silk_max_32 Unexecuted instantiation: gain_quant.c:silk_max_32 Unexecuted instantiation: NLSF_decode.c:silk_max_32 Line | Count | Source | 569 | 42.2k | { | 570 | 42.2k | return (((a) > (b)) ? (a) : (b)); | 571 | 42.2k | } |
Unexecuted instantiation: shell_coder.c:silk_max_32 Unexecuted instantiation: tables_gain.c:silk_max_32 Unexecuted instantiation: tables_LTP.c:silk_max_32 Unexecuted instantiation: tables_NLSF_CB_NB_MB.c:silk_max_32 Unexecuted instantiation: tables_NLSF_CB_WB.c:silk_max_32 Unexecuted instantiation: tables_pitch_lag.c:silk_max_32 Unexecuted instantiation: tables_pulses_per_block.c:silk_max_32 Unexecuted instantiation: NLSF_unpack.c:silk_max_32 Unexecuted instantiation: bwexpander.c:silk_max_32 Unexecuted instantiation: decode_pitch.c:silk_max_32 Unexecuted instantiation: lin2log.c:silk_max_32 Unexecuted instantiation: log2lin.c:silk_max_32 Unexecuted instantiation: LPC_analysis_filter.c:silk_max_32 Unexecuted instantiation: LPC_inv_pred_gain.c:silk_max_32 Unexecuted instantiation: NLSF2A.c:silk_max_32 Unexecuted instantiation: NLSF_stabilize.c:silk_max_32 Unexecuted instantiation: pitch_est_tables.c:silk_max_32 Unexecuted instantiation: resampler_private_AR2.c:silk_max_32 Unexecuted instantiation: sort.c:silk_max_32 sum_sqr_shift.c:silk_max_32 Line | Count | Source | 569 | 501k | { | 570 | 501k | return (((a) > (b)) ? (a) : (b)); | 571 | 501k | } |
Unexecuted instantiation: LPC_fit.c:silk_max_32 Unexecuted instantiation: CNG.c:silk_max_32 Unexecuted instantiation: code_signs.c:silk_max_32 Unexecuted instantiation: decode_core.c:silk_max_32 Unexecuted instantiation: bwexpander_32.c:silk_max_32 Unexecuted instantiation: table_LSF_cos.c:silk_max_32 Unexecuted instantiation: opus_encoder.c:silk_max_32 Unexecuted instantiation: enc_API.c:silk_max_32 Unexecuted instantiation: encode_indices.c:silk_max_32 Unexecuted instantiation: encode_pulses.c:silk_max_32 Unexecuted instantiation: HP_variable_cutoff.c:silk_max_32 Unexecuted instantiation: stereo_LR_to_MS.c:silk_max_32 Unexecuted instantiation: check_control_input.c:silk_max_32 Unexecuted instantiation: control_SNR.c:silk_max_32 Unexecuted instantiation: init_encoder.c:silk_max_32 Unexecuted instantiation: control_codec.c:silk_max_32 Unexecuted instantiation: stereo_encode_pred.c:silk_max_32 Unexecuted instantiation: stereo_find_predictor.c:silk_max_32 Unexecuted instantiation: stereo_quant_pred.c:silk_max_32 Unexecuted instantiation: encode_frame_FLP.c:silk_max_32 Unexecuted instantiation: find_pitch_lags_FLP.c:silk_max_32 Unexecuted instantiation: find_pred_coefs_FLP.c:silk_max_32 Unexecuted instantiation: LPC_analysis_filter_FLP.c:silk_max_32 Unexecuted instantiation: LTP_analysis_filter_FLP.c:silk_max_32 Unexecuted instantiation: LTP_scale_ctrl_FLP.c:silk_max_32 Unexecuted instantiation: noise_shape_analysis_FLP.c:silk_max_32 Unexecuted instantiation: process_gains_FLP.c:silk_max_32 Unexecuted instantiation: residual_energy_FLP.c:silk_max_32 Unexecuted instantiation: warped_autocorrelation_FLP.c:silk_max_32 Unexecuted instantiation: wrappers_FLP.c:silk_max_32 Unexecuted instantiation: autocorrelation_FLP.c:silk_max_32 Unexecuted instantiation: bwexpander_FLP.c:silk_max_32 Unexecuted instantiation: energy_FLP.c:silk_max_32 Unexecuted instantiation: k2a_FLP.c:silk_max_32 Unexecuted instantiation: pitch_analysis_core_FLP.c:silk_max_32 Unexecuted instantiation: scale_copy_vector_FLP.c:silk_max_32 Unexecuted instantiation: schur_FLP.c:silk_max_32 Unexecuted instantiation: sort_FLP.c:silk_max_32 Unexecuted instantiation: x86_silk_map.c:silk_max_32 Unexecuted instantiation: NSQ_del_dec_avx2.c:silk_max_32 Unexecuted instantiation: LP_variable_cutoff.c:silk_max_32 Unexecuted instantiation: NSQ.c:silk_max_32 Unexecuted instantiation: NSQ_del_dec.c:silk_max_32 Unexecuted instantiation: VAD.c:silk_max_32 Unexecuted instantiation: control_audio_bandwidth.c:silk_max_32 Unexecuted instantiation: quant_LTP_gains.c:silk_max_32 Unexecuted instantiation: VQ_WMat_EC.c:silk_max_32 Unexecuted instantiation: process_NLSFs.c:silk_max_32 Unexecuted instantiation: A2NLSF.c:silk_max_32 Unexecuted instantiation: ana_filt_bank_1.c:silk_max_32 Unexecuted instantiation: biquad_alt.c:silk_max_32 Unexecuted instantiation: inner_prod_aligned.c:silk_max_32 Unexecuted instantiation: NLSF_VQ_weights_laroia.c:silk_max_32 Unexecuted instantiation: resampler_down2_3.c:silk_max_32 Unexecuted instantiation: resampler_down2.c:silk_max_32 Unexecuted instantiation: sigm_Q15.c:silk_max_32 Unexecuted instantiation: apply_sine_window_FLP.c:silk_max_32 Unexecuted instantiation: find_LPC_FLP.c:silk_max_32 Unexecuted instantiation: find_LTP_FLP.c:silk_max_32 Unexecuted instantiation: burg_modified_FLP.c:silk_max_32 Unexecuted instantiation: inner_product_FLP.c:silk_max_32 Unexecuted instantiation: scale_vector_FLP.c:silk_max_32 Unexecuted instantiation: NSQ_sse4_1.c:silk_max_32 Unexecuted instantiation: NSQ_del_dec_sse4_1.c:silk_max_32 Unexecuted instantiation: VAD_sse4_1.c:silk_max_32 Unexecuted instantiation: VQ_WMat_EC_sse4_1.c:silk_max_32 Unexecuted instantiation: inner_product_FLP_avx2.c:silk_max_32 Unexecuted instantiation: interpolate.c:silk_max_32 Unexecuted instantiation: NLSF_encode.c:silk_max_32 Unexecuted instantiation: NLSF_VQ.c:silk_max_32 Unexecuted instantiation: NLSF_del_dec_quant.c:silk_max_32 Unexecuted instantiation: corrMatrix_FLP.c:silk_max_32 |
572 | | static OPUS_INLINE opus_int64 silk_max_64(opus_int64 a, opus_int64 b) |
573 | 0 | { |
574 | 0 | return (((a) > (b)) ? (a) : (b)); |
575 | 0 | } Unexecuted instantiation: opus_decoder.c:silk_max_64 Unexecuted instantiation: vq.c:silk_max_64 Unexecuted instantiation: x86cpu.c:silk_max_64 Unexecuted instantiation: dec_API.c:silk_max_64 Unexecuted instantiation: tables_other.c:silk_max_64 Unexecuted instantiation: stereo_MS_to_LR.c:silk_max_64 Unexecuted instantiation: resampler.c:silk_max_64 Unexecuted instantiation: resampler_private_down_FIR.c:silk_max_64 Unexecuted instantiation: resampler_private_IIR_FIR.c:silk_max_64 Unexecuted instantiation: resampler_private_up2_HQ.c:silk_max_64 Unexecuted instantiation: resampler_rom.c:silk_max_64 Unexecuted instantiation: stereo_decode_pred.c:silk_max_64 Unexecuted instantiation: init_decoder.c:silk_max_64 Unexecuted instantiation: decode_frame.c:silk_max_64 Unexecuted instantiation: decode_parameters.c:silk_max_64 Unexecuted instantiation: decode_indices.c:silk_max_64 Unexecuted instantiation: decode_pulses.c:silk_max_64 Unexecuted instantiation: decoder_set_fs.c:silk_max_64 Unexecuted instantiation: gain_quant.c:silk_max_64 Unexecuted instantiation: NLSF_decode.c:silk_max_64 Unexecuted instantiation: PLC.c:silk_max_64 Unexecuted instantiation: shell_coder.c:silk_max_64 Unexecuted instantiation: tables_gain.c:silk_max_64 Unexecuted instantiation: tables_LTP.c:silk_max_64 Unexecuted instantiation: tables_NLSF_CB_NB_MB.c:silk_max_64 Unexecuted instantiation: tables_NLSF_CB_WB.c:silk_max_64 Unexecuted instantiation: tables_pitch_lag.c:silk_max_64 Unexecuted instantiation: tables_pulses_per_block.c:silk_max_64 Unexecuted instantiation: NLSF_unpack.c:silk_max_64 Unexecuted instantiation: bwexpander.c:silk_max_64 Unexecuted instantiation: decode_pitch.c:silk_max_64 Unexecuted instantiation: lin2log.c:silk_max_64 Unexecuted instantiation: log2lin.c:silk_max_64 Unexecuted instantiation: LPC_analysis_filter.c:silk_max_64 Unexecuted instantiation: LPC_inv_pred_gain.c:silk_max_64 Unexecuted instantiation: NLSF2A.c:silk_max_64 Unexecuted instantiation: NLSF_stabilize.c:silk_max_64 Unexecuted instantiation: pitch_est_tables.c:silk_max_64 Unexecuted instantiation: resampler_private_AR2.c:silk_max_64 Unexecuted instantiation: sort.c:silk_max_64 Unexecuted instantiation: sum_sqr_shift.c:silk_max_64 Unexecuted instantiation: LPC_fit.c:silk_max_64 Unexecuted instantiation: CNG.c:silk_max_64 Unexecuted instantiation: code_signs.c:silk_max_64 Unexecuted instantiation: decode_core.c:silk_max_64 Unexecuted instantiation: bwexpander_32.c:silk_max_64 Unexecuted instantiation: table_LSF_cos.c:silk_max_64 Unexecuted instantiation: opus_encoder.c:silk_max_64 Unexecuted instantiation: enc_API.c:silk_max_64 Unexecuted instantiation: encode_indices.c:silk_max_64 Unexecuted instantiation: encode_pulses.c:silk_max_64 Unexecuted instantiation: HP_variable_cutoff.c:silk_max_64 Unexecuted instantiation: stereo_LR_to_MS.c:silk_max_64 Unexecuted instantiation: check_control_input.c:silk_max_64 Unexecuted instantiation: control_SNR.c:silk_max_64 Unexecuted instantiation: init_encoder.c:silk_max_64 Unexecuted instantiation: control_codec.c:silk_max_64 Unexecuted instantiation: stereo_encode_pred.c:silk_max_64 Unexecuted instantiation: stereo_find_predictor.c:silk_max_64 Unexecuted instantiation: stereo_quant_pred.c:silk_max_64 Unexecuted instantiation: encode_frame_FLP.c:silk_max_64 Unexecuted instantiation: find_pitch_lags_FLP.c:silk_max_64 Unexecuted instantiation: find_pred_coefs_FLP.c:silk_max_64 Unexecuted instantiation: LPC_analysis_filter_FLP.c:silk_max_64 Unexecuted instantiation: LTP_analysis_filter_FLP.c:silk_max_64 Unexecuted instantiation: LTP_scale_ctrl_FLP.c:silk_max_64 Unexecuted instantiation: noise_shape_analysis_FLP.c:silk_max_64 Unexecuted instantiation: process_gains_FLP.c:silk_max_64 Unexecuted instantiation: residual_energy_FLP.c:silk_max_64 Unexecuted instantiation: warped_autocorrelation_FLP.c:silk_max_64 Unexecuted instantiation: wrappers_FLP.c:silk_max_64 Unexecuted instantiation: autocorrelation_FLP.c:silk_max_64 Unexecuted instantiation: bwexpander_FLP.c:silk_max_64 Unexecuted instantiation: energy_FLP.c:silk_max_64 Unexecuted instantiation: k2a_FLP.c:silk_max_64 Unexecuted instantiation: pitch_analysis_core_FLP.c:silk_max_64 Unexecuted instantiation: scale_copy_vector_FLP.c:silk_max_64 Unexecuted instantiation: schur_FLP.c:silk_max_64 Unexecuted instantiation: sort_FLP.c:silk_max_64 Unexecuted instantiation: x86_silk_map.c:silk_max_64 Unexecuted instantiation: NSQ_del_dec_avx2.c:silk_max_64 Unexecuted instantiation: LP_variable_cutoff.c:silk_max_64 Unexecuted instantiation: NSQ.c:silk_max_64 Unexecuted instantiation: NSQ_del_dec.c:silk_max_64 Unexecuted instantiation: VAD.c:silk_max_64 Unexecuted instantiation: control_audio_bandwidth.c:silk_max_64 Unexecuted instantiation: quant_LTP_gains.c:silk_max_64 Unexecuted instantiation: VQ_WMat_EC.c:silk_max_64 Unexecuted instantiation: process_NLSFs.c:silk_max_64 Unexecuted instantiation: A2NLSF.c:silk_max_64 Unexecuted instantiation: ana_filt_bank_1.c:silk_max_64 Unexecuted instantiation: biquad_alt.c:silk_max_64 Unexecuted instantiation: inner_prod_aligned.c:silk_max_64 Unexecuted instantiation: NLSF_VQ_weights_laroia.c:silk_max_64 Unexecuted instantiation: resampler_down2_3.c:silk_max_64 Unexecuted instantiation: resampler_down2.c:silk_max_64 Unexecuted instantiation: sigm_Q15.c:silk_max_64 Unexecuted instantiation: apply_sine_window_FLP.c:silk_max_64 Unexecuted instantiation: find_LPC_FLP.c:silk_max_64 Unexecuted instantiation: find_LTP_FLP.c:silk_max_64 Unexecuted instantiation: burg_modified_FLP.c:silk_max_64 Unexecuted instantiation: inner_product_FLP.c:silk_max_64 Unexecuted instantiation: scale_vector_FLP.c:silk_max_64 Unexecuted instantiation: NSQ_sse4_1.c:silk_max_64 Unexecuted instantiation: NSQ_del_dec_sse4_1.c:silk_max_64 Unexecuted instantiation: VAD_sse4_1.c:silk_max_64 Unexecuted instantiation: VQ_WMat_EC_sse4_1.c:silk_max_64 Unexecuted instantiation: inner_product_FLP_avx2.c:silk_max_64 Unexecuted instantiation: interpolate.c:silk_max_64 Unexecuted instantiation: NLSF_encode.c:silk_max_64 Unexecuted instantiation: NLSF_VQ.c:silk_max_64 Unexecuted instantiation: NLSF_del_dec_quant.c:silk_max_64 Unexecuted instantiation: corrMatrix_FLP.c:silk_max_64 |
576 | | |
577 | 3.54M | #define silk_LIMIT( a, limit1, limit2) ((limit1) > (limit2) ? ((a) > (limit1) ? (limit1) : ((a) < (limit2) ? (limit2) : (a))) \ |
578 | 3.54M | : ((a) > (limit2) ? (limit2) : ((a) < (limit1) ? (limit1) : (a)))) |
579 | | |
580 | 682k | #define silk_LIMIT_int silk_LIMIT |
581 | | #define silk_LIMIT_16 silk_LIMIT |
582 | 142k | #define silk_LIMIT_32 silk_LIMIT |
583 | | |
584 | 19.1M | #define silk_abs(a) (((a) > 0) ? (a) : -(a)) /* Be careful, silk_abs returns wrong when input equals to silk_intXX_MIN */ |
585 | | #define silk_abs_int(a) (((a) ^ ((a) >> (8 * sizeof(a) - 1))) - ((a) >> (8 * sizeof(a) - 1))) |
586 | | #define silk_abs_int32(a) (((a) ^ ((a) >> 31)) - ((a) >> 31)) |
587 | | #define silk_abs_int64(a) (((a) > 0) ? (a) : -(a)) |
588 | | |
589 | | #define silk_sign(a) ((a) > 0 ? 1 : ( (a) < 0 ? -1 : 0 )) |
590 | | |
591 | | /* PSEUDO-RANDOM GENERATOR */ |
592 | | /* Make sure to store the result as the seed for the next call (also in between */ |
593 | | /* frames), otherwise result won't be random at all. When only using some of the */ |
594 | | /* bits, take the most significant bits by right-shifting. */ |
595 | 0 | #define RAND_MULTIPLIER 196314165 |
596 | 0 | #define RAND_INCREMENT 907633515 |
597 | 80.2M | #define silk_RAND(seed) (silk_MLA_ovflw((RAND_INCREMENT), (seed), (RAND_MULTIPLIER))) |
598 | | |
599 | | /* Add some multiplication functions that can be easily mapped to ARM/MIPS32. */ |
600 | | |
601 | | /* silk_SMMUL: Signed top word multiply. |
602 | | ARMv6 2 instruction cycles. |
603 | | ARMv3M+ 3 instruction cycles. use SMULL and ignore LSB registers.(except xM) |
604 | | MIPS32 2 instructions mul+mfhi |
605 | | MIPS32r6 1 instruction muh */ |
606 | | /*#define silk_SMMUL(a32, b32) (opus_int32)silk_RSHIFT(silk_SMLAL(silk_SMULWB((a32), (b32)), (a32), silk_RSHIFT_ROUND((b32), 16)), 16)*/ |
607 | | /* the following seems faster on x86 */ |
608 | | #define silk_SMMUL(a32, b32) (opus_int32)silk_RSHIFT64(silk_SMULL((a32), (b32)), 32) |
609 | | |
610 | | #if !defined(OVERRIDE_silk_burg_modified) |
611 | | #define silk_burg_modified(res_nrg, res_nrg_Q, A_Q16, x, minInvGain_Q30, subfr_length, nb_subfr, D, arch) \ |
612 | | ((void)(arch), silk_burg_modified_c(res_nrg, res_nrg_Q, A_Q16, x, minInvGain_Q30, subfr_length, nb_subfr, D, arch)) |
613 | | #endif |
614 | | |
615 | | #if !defined(OVERRIDE_silk_inner_prod16) |
616 | | #define silk_inner_prod16(inVec1, inVec2, len, arch) \ |
617 | | ((void)(arch),silk_inner_prod16_c(inVec1, inVec2, len)) |
618 | | #endif |
619 | | |
620 | | #include "Inlines.h" |
621 | | #include "MacroCount.h" |
622 | | #include "MacroDebug.h" |
623 | | |
624 | | #ifdef OPUS_ARM_INLINE_ASM |
625 | | #include "arm/SigProc_FIX_armv4.h" |
626 | | #endif |
627 | | |
628 | | #ifdef OPUS_ARM_INLINE_EDSP |
629 | | #include "arm/SigProc_FIX_armv5e.h" |
630 | | #endif |
631 | | |
632 | | #if defined(FIXED_POINT) && defined(__mips_dsp) && __mips == 32 |
633 | | #include "mips/sigproc_fix_mipsr1.h" |
634 | | #endif |
635 | | |
636 | | #ifdef OPUS_XTENSA_LX7 |
637 | | #include "xtensa/SigProc_FIX_lx7.h" |
638 | | #endif |
639 | | |
640 | | |
641 | | #endif /* SILK_SIGPROC_FIX_H */ |