/src/libxaac/decoder/ixheaacd_mps_basic_op.h
Line | Count | Source |
1 | | /****************************************************************************** |
2 | | * |
3 | | * Copyright (C) 2023 The Android Open Source Project |
4 | | * |
5 | | * Licensed under the Apache License, Version 2.0 (the "License"); |
6 | | * you may not use this file except in compliance with the License. |
7 | | * You may obtain a copy of the License at: |
8 | | * |
9 | | * http://www.apache.org/licenses/LICENSE-2.0 |
10 | | * |
11 | | * Unless required by applicable law or agreed to in writing, software |
12 | | * distributed under the License is distributed on an "AS IS" BASIS, |
13 | | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
14 | | * See the License for the specific language governing permissions and |
15 | | * limitations under the License. |
16 | | * |
17 | | ***************************************************************************** |
18 | | * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore |
19 | | */ |
20 | | #ifndef IXHEAACD_MPS_BASIC_OP_H |
21 | | #define IXHEAACD_MPS_BASIC_OP_H |
22 | | |
23 | 0 | #define NORM32 (0x40000000) |
24 | 7.27M | #define INV_SQRT_2_Q31 (1518500250) |
25 | 17.3M | #define Q_SQRT_TAB (15) |
26 | 0 | #define LOG2XQ17 (5171707904LL) |
27 | 0 | #define LOG_COEFF1 (27890) |
28 | 0 | #define LOG_COEFF2 (16262) |
29 | 0 | #define LOG_COEFF3 (7574) |
30 | 0 | #define LOG_COEFF4 (1786) |
31 | | |
32 | 0 | #define TRIG_TABLE_CONV_FAC 326 |
33 | | |
34 | 103M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { |
35 | 103M | WORD32 temp_1, temp_2; |
36 | 103M | temp_1 = (WORD32)(a >> 32); |
37 | 103M | temp_2 = ixheaac_norm32(temp_1); |
38 | 103M | if (temp_2 < 31) { |
39 | 70.7M | return (32 - temp_2); |
40 | 70.7M | } else { |
41 | 32.8M | temp_2 = (WORD32)(a); |
42 | 32.8M | if ((temp_1 ^ temp_2) < 0) { |
43 | 901k | return 1; |
44 | 31.9M | } else { |
45 | 31.9M | return 0; |
46 | 31.9M | } |
47 | 32.8M | } |
48 | 103M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_get_rshift_bits ixheaacd_mps_decorr.c:ixheaacd_mps_get_rshift_bits Line | Count | Source | 34 | 68.9M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 68.9M | WORD32 temp_1, temp_2; | 36 | 68.9M | temp_1 = (WORD32)(a >> 32); | 37 | 68.9M | temp_2 = ixheaac_norm32(temp_1); | 38 | 68.9M | if (temp_2 < 31) { | 39 | 53.8M | return (32 - temp_2); | 40 | 53.8M | } else { | 41 | 15.1M | temp_2 = (WORD32)(a); | 42 | 15.1M | if ((temp_1 ^ temp_2) < 0) { | 43 | 127k | return 1; | 44 | 14.9M | } else { | 45 | 14.9M | return 0; | 46 | 14.9M | } | 47 | 15.1M | } | 48 | 68.9M | } |
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_get_rshift_bits ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_get_rshift_bits Line | Count | Source | 34 | 15.9M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 15.9M | WORD32 temp_1, temp_2; | 36 | 15.9M | temp_1 = (WORD32)(a >> 32); | 37 | 15.9M | temp_2 = ixheaac_norm32(temp_1); | 38 | 15.9M | if (temp_2 < 31) { | 39 | 11.1M | return (32 - temp_2); | 40 | 11.1M | } else { | 41 | 4.71M | temp_2 = (WORD32)(a); | 42 | 4.71M | if ((temp_1 ^ temp_2) < 0) { | 43 | 35.6k | return 1; | 44 | 4.67M | } else { | 45 | 4.67M | return 0; | 46 | 4.67M | } | 47 | 4.71M | } | 48 | 15.9M | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_get_rshift_bits Line | Count | Source | 34 | 18.8M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 18.8M | WORD32 temp_1, temp_2; | 36 | 18.8M | temp_1 = (WORD32)(a >> 32); | 37 | 18.8M | temp_2 = ixheaac_norm32(temp_1); | 38 | 18.8M | if (temp_2 < 31) { | 39 | 5.79M | return (32 - temp_2); | 40 | 13.0M | } else { | 41 | 13.0M | temp_2 = (WORD32)(a); | 42 | 13.0M | if ((temp_1 ^ temp_2) < 0) { | 43 | 738k | return 1; | 44 | 12.2M | } else { | 45 | 12.2M | return 0; | 46 | 12.2M | } | 47 | 13.0M | } | 48 | 18.8M | } |
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_get_rshift_bits Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_get_rshift_bits ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_get_rshift_bits Line | Count | Source | 34 | 900 | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 900 | WORD32 temp_1, temp_2; | 36 | 900 | temp_1 = (WORD32)(a >> 32); | 37 | 900 | temp_2 = ixheaac_norm32(temp_1); | 38 | 900 | if (temp_2 < 31) { | 39 | 0 | return (32 - temp_2); | 40 | 900 | } else { | 41 | 900 | temp_2 = (WORD32)(a); | 42 | 900 | if ((temp_1 ^ temp_2) < 0) { | 43 | 0 | return 1; | 44 | 900 | } else { | 45 | 900 | return 0; | 46 | 900 | } | 47 | 900 | } | 48 | 900 | } |
|
49 | | |
50 | 84.8M | static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) { |
51 | 84.8M | WORD32 x; |
52 | 84.8M | x = ixheaacd_mps_get_rshift_bits(a); |
53 | 84.8M | *qfac = 20 - x; |
54 | 84.8M | return (WORD32)((WORD64)a >> x); |
55 | 84.8M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_narrow ixheaacd_mps_decorr.c:ixheaacd_mps_narrow Line | Count | Source | 50 | 68.9M | static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) { | 51 | 68.9M | WORD32 x; | 52 | 68.9M | x = ixheaacd_mps_get_rshift_bits(a); | 53 | 68.9M | *qfac = 20 - x; | 54 | 68.9M | return (WORD32)((WORD64)a >> x); | 55 | 68.9M | } |
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_narrow ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_narrow Line | Count | Source | 50 | 15.9M | static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) { | 51 | 15.9M | WORD32 x; | 52 | 15.9M | x = ixheaacd_mps_get_rshift_bits(a); | 53 | 15.9M | *qfac = 20 - x; | 54 | 15.9M | return (WORD32)((WORD64)a >> x); | 55 | 15.9M | } |
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_narrow Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_narrow |
56 | | |
57 | 17.6M | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { |
58 | 17.6M | WORD32 index, answer, temp; |
59 | 17.6M | WORD k; |
60 | | |
61 | 17.6M | if (num == 0) return 0; |
62 | | |
63 | 17.3M | k = ixheaac_norm32(num); |
64 | 17.3M | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); |
65 | 17.3M | *q += k; |
66 | 17.3M | index = temp & 0x1FF; |
67 | 17.3M | answer = sqrt_tab[index]; |
68 | 17.3M | if (*q & 1) { |
69 | 7.27M | *q -= 1; |
70 | 7.27M | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); |
71 | 7.27M | } |
72 | 17.3M | *q = *q >> 1; |
73 | 17.3M | *q += Q_SQRT_TAB; |
74 | 17.3M | return answer; |
75 | 17.6M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_sqrt ixheaacd_mps_decorr.c:ixheaacd_mps_sqrt Line | Count | Source | 57 | 15.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 15.4M | WORD32 index, answer, temp; | 59 | 15.4M | WORD k; | 60 | | | 61 | 15.4M | if (num == 0) return 0; | 62 | | | 63 | 15.4M | k = ixheaac_norm32(num); | 64 | 15.4M | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 15.4M | *q += k; | 66 | 15.4M | index = temp & 0x1FF; | 67 | 15.4M | answer = sqrt_tab[index]; | 68 | 15.4M | if (*q & 1) { | 69 | 6.33M | *q -= 1; | 70 | 6.33M | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 6.33M | } | 72 | 15.4M | *q = *q >> 1; | 73 | 15.4M | *q += Q_SQRT_TAB; | 74 | 15.4M | return answer; | 75 | 15.4M | } |
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_sqrt ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_sqrt Line | Count | Source | 57 | 665k | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 665k | WORD32 index, answer, temp; | 59 | 665k | WORD k; | 60 | | | 61 | 665k | if (num == 0) return 0; | 62 | | | 63 | 552k | k = ixheaac_norm32(num); | 64 | 552k | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 552k | *q += k; | 66 | 552k | index = temp & 0x1FF; | 67 | 552k | answer = sqrt_tab[index]; | 68 | 552k | if (*q & 1) { | 69 | 290k | *q -= 1; | 70 | 290k | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 290k | } | 72 | 552k | *q = *q >> 1; | 73 | 552k | *q += Q_SQRT_TAB; | 74 | 552k | return answer; | 75 | 665k | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_sqrt Line | Count | Source | 57 | 1.08M | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 1.08M | WORD32 index, answer, temp; | 59 | 1.08M | WORD k; | 60 | | | 61 | 1.08M | if (num == 0) return 0; | 62 | | | 63 | 919k | k = ixheaac_norm32(num); | 64 | 919k | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 919k | *q += k; | 66 | 919k | index = temp & 0x1FF; | 67 | 919k | answer = sqrt_tab[index]; | 68 | 919k | if (*q & 1) { | 69 | 462k | *q -= 1; | 70 | 462k | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 462k | } | 72 | 919k | *q = *q >> 1; | 73 | 919k | *q += Q_SQRT_TAB; | 74 | 919k | return answer; | 75 | 1.08M | } |
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_sqrt Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_sqrt ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_sqrt Line | Count | Source | 57 | 479k | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 479k | WORD32 index, answer, temp; | 59 | 479k | WORD k; | 60 | | | 61 | 479k | if (num == 0) return 0; | 62 | | | 63 | 446k | k = ixheaac_norm32(num); | 64 | 446k | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 446k | *q += k; | 66 | 446k | index = temp & 0x1FF; | 67 | 446k | answer = sqrt_tab[index]; | 68 | 446k | if (*q & 1) { | 69 | 184k | *q -= 1; | 70 | 184k | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 184k | } | 72 | 446k | *q = *q >> 1; | 73 | 446k | *q += Q_SQRT_TAB; | 74 | 446k | return answer; | 75 | 479k | } |
|
76 | | |
77 | | static PLATFORM_INLINE WORD32 ixheaacd_mps_reshape_add32(WORD32 op1, WORD32 op2, WORD16 *qop1, |
78 | 50.7M | WORD16 qop2) { |
79 | 50.7M | WORD64 tempresult; |
80 | 50.7M | if (0 == op2) { |
81 | 13.1M | return op1; |
82 | 13.1M | } |
83 | 37.6M | if (0 == op1) { |
84 | 2.71M | *qop1 = qop2; |
85 | 2.71M | return op2; |
86 | 2.71M | } |
87 | 34.9M | if (*qop1 < qop2) { |
88 | 25.0M | if ((qop2 - *qop1) > 31) |
89 | 85.5k | op2 = 0; |
90 | 24.9M | else |
91 | 24.9M | op2 = op2 >> (qop2 - *qop1); |
92 | 25.0M | tempresult = (WORD64)op1 + (WORD64)op2; |
93 | 25.0M | } else { |
94 | 9.90M | if ((*qop1 - qop2) > 31) |
95 | 20.6k | op1 = 0; |
96 | 9.88M | else |
97 | 9.88M | op1 = op1 >> (*qop1 - qop2); |
98 | 9.90M | *qop1 = qop2; |
99 | 9.90M | tempresult = (WORD64)op1 + (WORD64)op2; |
100 | 9.90M | } |
101 | 34.9M | if (tempresult > (WORD32)0x7fffffff || tempresult < (WORD32)0x80000000) { |
102 | 7.20M | tempresult = tempresult >> 1; |
103 | 7.20M | *qop1 -= 1; |
104 | 7.20M | } |
105 | 34.9M | return (WORD32)tempresult; |
106 | 37.6M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_reshape_add32 ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_reshape_add32 Line | Count | Source | 78 | 50.7M | WORD16 qop2) { | 79 | 50.7M | WORD64 tempresult; | 80 | 50.7M | if (0 == op2) { | 81 | 13.1M | return op1; | 82 | 13.1M | } | 83 | 37.6M | if (0 == op1) { | 84 | 2.71M | *qop1 = qop2; | 85 | 2.71M | return op2; | 86 | 2.71M | } | 87 | 34.9M | if (*qop1 < qop2) { | 88 | 25.0M | if ((qop2 - *qop1) > 31) | 89 | 85.5k | op2 = 0; | 90 | 24.9M | else | 91 | 24.9M | op2 = op2 >> (qop2 - *qop1); | 92 | 25.0M | tempresult = (WORD64)op1 + (WORD64)op2; | 93 | 25.0M | } else { | 94 | 9.90M | if ((*qop1 - qop2) > 31) | 95 | 20.6k | op1 = 0; | 96 | 9.88M | else | 97 | 9.88M | op1 = op1 >> (*qop1 - qop2); | 98 | 9.90M | *qop1 = qop2; | 99 | 9.90M | tempresult = (WORD64)op1 + (WORD64)op2; | 100 | 9.90M | } | 101 | 34.9M | if (tempresult > (WORD32)0x7fffffff || tempresult < (WORD32)0x80000000) { | 102 | 7.20M | tempresult = tempresult >> 1; | 103 | 7.20M | *qop1 -= 1; | 104 | 7.20M | } | 105 | 34.9M | return (WORD32)tempresult; | 106 | 37.6M | } |
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_reshape_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_reshape_add32 |
107 | | |
108 | 140M | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { |
109 | 140M | WORD64 temp_result; |
110 | | |
111 | 140M | if (a == 0 || b == 0) { |
112 | 65.6M | if (b == 0) { |
113 | 63.7M | return a; |
114 | 63.7M | } else { |
115 | 1.95M | *q_a = q_b; |
116 | 1.95M | return b; |
117 | 1.95M | } |
118 | 65.6M | } |
119 | 74.4M | if (*q_a > q_b) { |
120 | 3.12M | if (((*q_a) - q_b) > 31) { |
121 | 5.31k | a = 0; |
122 | 5.31k | *q_a = q_b; |
123 | 3.11M | } else { |
124 | 3.11M | a = (a >> ((*q_a) - q_b)); |
125 | 3.11M | *q_a = q_b; |
126 | 3.11M | } |
127 | 71.3M | } else { |
128 | 71.3M | if ((q_b - (*q_a)) > 31) { |
129 | 195k | b = 0; |
130 | 71.1M | } else { |
131 | 71.1M | b = (b >> (q_b - (*q_a))); |
132 | 71.1M | q_b = *q_a; |
133 | 71.1M | } |
134 | 71.3M | } |
135 | 74.4M | temp_result = (WORD64)a + (WORD64)b; |
136 | 74.4M | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { |
137 | 3.90M | temp_result = temp_result >> 1; |
138 | 3.90M | *q_a -= 1; |
139 | 3.90M | } |
140 | | |
141 | 74.4M | return (WORD32)temp_result; |
142 | 140M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_add32 ixheaacd_mps_decorr.c:ixheaacd_mps_add32 Line | Count | Source | 108 | 68.9M | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 68.9M | WORD64 temp_result; | 110 | | | 111 | 68.9M | if (a == 0 || b == 0) { | 112 | 14.0M | if (b == 0) { | 113 | 13.5M | return a; | 114 | 13.5M | } else { | 115 | 462k | *q_a = q_b; | 116 | 462k | return b; | 117 | 462k | } | 118 | 14.0M | } | 119 | 54.8M | if (*q_a > q_b) { | 120 | 1.88M | if (((*q_a) - q_b) > 31) { | 121 | 1.59k | a = 0; | 122 | 1.59k | *q_a = q_b; | 123 | 1.88M | } else { | 124 | 1.88M | a = (a >> ((*q_a) - q_b)); | 125 | 1.88M | *q_a = q_b; | 126 | 1.88M | } | 127 | 53.0M | } else { | 128 | 53.0M | if ((q_b - (*q_a)) > 31) { | 129 | 192k | b = 0; | 130 | 52.8M | } else { | 131 | 52.8M | b = (b >> (q_b - (*q_a))); | 132 | 52.8M | q_b = *q_a; | 133 | 52.8M | } | 134 | 53.0M | } | 135 | 54.8M | temp_result = (WORD64)a + (WORD64)b; | 136 | 54.8M | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 137 | 1.64M | temp_result = temp_result >> 1; | 138 | 1.64M | *q_a -= 1; | 139 | 1.64M | } | 140 | | | 141 | 54.8M | return (WORD32)temp_result; | 142 | 68.9M | } |
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_add32 ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_add32 Line | Count | Source | 108 | 92.7k | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 92.7k | WORD64 temp_result; | 110 | | | 111 | 92.7k | if (a == 0 || b == 0) { | 112 | 58.8k | if (b == 0) { | 113 | 171 | return a; | 114 | 58.6k | } else { | 115 | 58.6k | *q_a = q_b; | 116 | 58.6k | return b; | 117 | 58.6k | } | 118 | 58.8k | } | 119 | 33.8k | if (*q_a > q_b) { | 120 | 7.11k | if (((*q_a) - q_b) > 31) { | 121 | 229 | a = 0; | 122 | 229 | *q_a = q_b; | 123 | 6.88k | } else { | 124 | 6.88k | a = (a >> ((*q_a) - q_b)); | 125 | 6.88k | *q_a = q_b; | 126 | 6.88k | } | 127 | 26.7k | } else { | 128 | 26.7k | if ((q_b - (*q_a)) > 31) { | 129 | 0 | b = 0; | 130 | 26.7k | } else { | 131 | 26.7k | b = (b >> (q_b - (*q_a))); | 132 | 26.7k | q_b = *q_a; | 133 | 26.7k | } | 134 | 26.7k | } | 135 | 33.8k | temp_result = (WORD64)a + (WORD64)b; | 136 | 33.8k | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 137 | 39 | temp_result = temp_result >> 1; | 138 | 39 | *q_a -= 1; | 139 | 39 | } | 140 | | | 141 | 33.8k | return (WORD32)temp_result; | 142 | 92.7k | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_add32 Line | Count | Source | 108 | 71.1M | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 71.1M | WORD64 temp_result; | 110 | | | 111 | 71.1M | if (a == 0 || b == 0) { | 112 | 51.5M | if (b == 0) { | 113 | 50.1M | return a; | 114 | 50.1M | } else { | 115 | 1.43M | *q_a = q_b; | 116 | 1.43M | return b; | 117 | 1.43M | } | 118 | 51.5M | } | 119 | 19.5M | if (*q_a > q_b) { | 120 | 1.23M | if (((*q_a) - q_b) > 31) { | 121 | 3.48k | a = 0; | 122 | 3.48k | *q_a = q_b; | 123 | 1.22M | } else { | 124 | 1.22M | a = (a >> ((*q_a) - q_b)); | 125 | 1.22M | *q_a = q_b; | 126 | 1.22M | } | 127 | 18.3M | } else { | 128 | 18.3M | if ((q_b - (*q_a)) > 31) { | 129 | 3.09k | b = 0; | 130 | 18.3M | } else { | 131 | 18.3M | b = (b >> (q_b - (*q_a))); | 132 | 18.3M | q_b = *q_a; | 133 | 18.3M | } | 134 | 18.3M | } | 135 | 19.5M | temp_result = (WORD64)a + (WORD64)b; | 136 | 19.5M | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 137 | 2.26M | temp_result = temp_result >> 1; | 138 | 2.26M | *q_a -= 1; | 139 | 2.26M | } | 140 | | | 141 | 19.5M | return (WORD32)temp_result; | 142 | 71.1M | } |
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_add32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_add32 ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_add32 Line | Count | Source | 108 | 1.56k | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 1.56k | WORD64 temp_result; | 110 | | | 111 | 1.56k | if (a == 0 || b == 0) { | 112 | 879 | if (b == 0) { | 113 | 0 | return a; | 114 | 879 | } else { | 115 | 879 | *q_a = q_b; | 116 | 879 | return b; | 117 | 879 | } | 118 | 879 | } | 119 | 685 | if (*q_a > q_b) { | 120 | 0 | if (((*q_a) - q_b) > 31) { | 121 | 0 | a = 0; | 122 | 0 | *q_a = q_b; | 123 | 0 | } else { | 124 | 0 | a = (a >> ((*q_a) - q_b)); | 125 | 0 | *q_a = q_b; | 126 | 0 | } | 127 | 685 | } else { | 128 | 685 | if ((q_b - (*q_a)) > 31) { | 129 | 0 | b = 0; | 130 | 685 | } else { | 131 | 685 | b = (b >> (q_b - (*q_a))); | 132 | 685 | q_b = *q_a; | 133 | 685 | } | 134 | 685 | } | 135 | 685 | temp_result = (WORD64)a + (WORD64)b; | 136 | 685 | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 137 | 0 | temp_result = temp_result >> 1; | 138 | 0 | *q_a -= 1; | 139 | 0 | } | 140 | | | 141 | 685 | return (WORD32)temp_result; | 142 | 1.56k | } |
|
143 | | |
144 | 88.5M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { |
145 | 88.5M | WORD64 temp_result; |
146 | 88.5M | WORD32 temp; |
147 | | |
148 | 88.5M | if (a == 0 || b == 0) { |
149 | 69.7M | temp_result = 0; |
150 | 69.7M | *q_a = 15; |
151 | 69.7M | return (WORD32)temp_result; |
152 | 69.7M | } |
153 | | |
154 | 18.8M | *q_a = *q_a + q_b; |
155 | | |
156 | 18.8M | temp_result = (WORD64)a * (WORD64)b; |
157 | 18.8M | temp = ixheaacd_mps_get_rshift_bits(temp_result); |
158 | 18.8M | if (0 != temp) { |
159 | 6.53M | *q_a -= temp; |
160 | 6.53M | temp_result = temp_result >> temp; |
161 | 6.53M | } |
162 | | |
163 | 18.8M | return (WORD32)temp_result; |
164 | 88.5M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32 ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32 Line | Count | Source | 144 | 88.5M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 145 | 88.5M | WORD64 temp_result; | 146 | 88.5M | WORD32 temp; | 147 | | | 148 | 88.5M | if (a == 0 || b == 0) { | 149 | 69.7M | temp_result = 0; | 150 | 69.7M | *q_a = 15; | 151 | 69.7M | return (WORD32)temp_result; | 152 | 69.7M | } | 153 | | | 154 | 18.8M | *q_a = *q_a + q_b; | 155 | | | 156 | 18.8M | temp_result = (WORD64)a * (WORD64)b; | 157 | 18.8M | temp = ixheaacd_mps_get_rshift_bits(temp_result); | 158 | 18.8M | if (0 != temp) { | 159 | 6.53M | *q_a -= temp; | 160 | 6.53M | temp_result = temp_result >> temp; | 161 | 6.53M | } | 162 | | | 163 | 18.8M | return (WORD32)temp_result; | 164 | 88.5M | } |
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32 ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32 Line | Count | Source | 144 | 3.04k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 145 | 3.04k | WORD64 temp_result; | 146 | 3.04k | WORD32 temp; | 147 | | | 148 | 3.04k | if (a == 0 || b == 0) { | 149 | 2.14k | temp_result = 0; | 150 | 2.14k | *q_a = 15; | 151 | 2.14k | return (WORD32)temp_result; | 152 | 2.14k | } | 153 | | | 154 | 900 | *q_a = *q_a + q_b; | 155 | | | 156 | 900 | temp_result = (WORD64)a * (WORD64)b; | 157 | 900 | temp = ixheaacd_mps_get_rshift_bits(temp_result); | 158 | 900 | if (0 != temp) { | 159 | 0 | *q_a -= temp; | 160 | 0 | temp_result = temp_result >> temp; | 161 | 0 | } | 162 | | | 163 | 900 | return (WORD32)temp_result; | 164 | 3.04k | } |
|
165 | | |
166 | | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x32(WORD32 a, WORD32 b, WORD16 *q_a, |
167 | 1.75M | WORD16 q_b) { |
168 | 1.75M | WORD64 temp_result; |
169 | 1.75M | if (a == 0 || b == 0) { |
170 | 453k | temp_result = 0; |
171 | 453k | *q_a = 15; |
172 | 453k | return (WORD32)temp_result; |
173 | 453k | } |
174 | 1.29M | *q_a = *q_a + q_b; |
175 | | |
176 | 1.29M | temp_result = (WORD64)a * (WORD64)b; |
177 | 33.0M | while (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { |
178 | 31.7M | temp_result = temp_result >> 1; |
179 | 31.7M | *q_a -= 1; |
180 | 31.7M | } |
181 | | |
182 | 1.29M | return (WORD32)temp_result; |
183 | 1.75M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32x32 ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32x32 Line | Count | Source | 167 | 1.75M | WORD16 q_b) { | 168 | 1.75M | WORD64 temp_result; | 169 | 1.75M | if (a == 0 || b == 0) { | 170 | 453k | temp_result = 0; | 171 | 453k | *q_a = 15; | 172 | 453k | return (WORD32)temp_result; | 173 | 453k | } | 174 | 1.29M | *q_a = *q_a + q_b; | 175 | | | 176 | 1.29M | temp_result = (WORD64)a * (WORD64)b; | 177 | 33.0M | while (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 178 | 31.7M | temp_result = temp_result >> 1; | 179 | 31.7M | *q_a -= 1; | 180 | 31.7M | } | 181 | | | 182 | 1.29M | return (WORD32)temp_result; | 183 | 1.75M | } |
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32x32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32x32 |
184 | | |
185 | 65.5M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) { |
186 | 65.5M | WORD32 result; |
187 | 65.5M | WORD64 temp_result; |
188 | | |
189 | 65.5M | temp_result = (WORD64)a * (WORD64)b; |
190 | 65.5M | result = (WORD32)(temp_result >> n); |
191 | | |
192 | 65.5M | return (result); |
193 | 65.5M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_n ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_n Line | Count | Source | 185 | 65.3M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) { | 186 | 65.3M | WORD32 result; | 187 | 65.3M | WORD64 temp_result; | 188 | | | 189 | 65.3M | temp_result = (WORD64)a * (WORD64)b; | 190 | 65.3M | result = (WORD32)(temp_result >> n); | 191 | | | 192 | 65.3M | return (result); | 193 | 65.3M | } |
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_n Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32_shr_n ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32_shr_n Line | Count | Source | 185 | 226k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) { | 186 | 226k | WORD32 result; | 187 | 226k | WORD64 temp_result; | 188 | | | 189 | 226k | temp_result = (WORD64)a * (WORD64)b; | 190 | 226k | result = (WORD32)(temp_result >> n); | 191 | | | 192 | 226k | return (result); | 193 | 226k | } |
|
194 | | |
195 | 2.29G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { |
196 | 2.29G | WORD32 result; |
197 | 2.29G | WORD64 temp_result; |
198 | | |
199 | 2.29G | temp_result = (WORD64)a * (WORD64)b; |
200 | 2.29G | result = (WORD32)(temp_result >> 30); |
201 | | |
202 | 2.29G | return (result); |
203 | 2.29G | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_30 Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_30 Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32_shr_30 ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 3.13M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 3.13M | WORD32 result; | 197 | 3.13M | WORD64 temp_result; | 198 | | | 199 | 3.13M | temp_result = (WORD64)a * (WORD64)b; | 200 | 3.13M | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 3.13M | return (result); | 203 | 3.13M | } |
ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 2.28G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 2.28G | WORD32 result; | 197 | 2.28G | WORD64 temp_result; | 198 | | | 199 | 2.28G | temp_result = (WORD64)a * (WORD64)b; | 200 | 2.28G | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 2.28G | return (result); | 203 | 2.28G | } |
ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 1.09M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 1.09M | WORD32 result; | 197 | 1.09M | WORD64 temp_result; | 198 | | | 199 | 1.09M | temp_result = (WORD64)a * (WORD64)b; | 200 | 1.09M | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 1.09M | return (result); | 203 | 1.09M | } |
Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32_shr_30 ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 288k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 288k | WORD32 result; | 197 | 288k | WORD64 temp_result; | 198 | | | 199 | 288k | temp_result = (WORD64)a * (WORD64)b; | 200 | 288k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 288k | return (result); | 203 | 288k | } |
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32_shr_30 Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32_shr_30 Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_30 Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32_shr_30 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32_shr_30 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32_shr_30 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32_shr_30 ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 14.3k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 14.3k | WORD32 result; | 197 | 14.3k | WORD64 temp_result; | 198 | | | 199 | 14.3k | temp_result = (WORD64)a * (WORD64)b; | 200 | 14.3k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 14.3k | return (result); | 203 | 14.3k | } |
ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 9.95k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 9.95k | WORD32 result; | 197 | 9.95k | WORD64 temp_result; | 198 | | | 199 | 9.95k | temp_result = (WORD64)a * (WORD64)b; | 200 | 9.95k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 9.95k | return (result); | 203 | 9.95k | } |
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32_shr_30 ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 85.5k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 85.5k | WORD32 result; | 197 | 85.5k | WORD64 temp_result; | 198 | | | 199 | 85.5k | temp_result = (WORD64)a * (WORD64)b; | 200 | 85.5k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 85.5k | return (result); | 203 | 85.5k | } |
|
204 | | |
205 | 46.3k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_16(WORD32 a, WORD32 b) { |
206 | 46.3k | WORD32 result; |
207 | 46.3k | WORD64 temp_result; |
208 | | |
209 | 46.3k | temp_result = (WORD64)a * (WORD64)b; |
210 | 46.3k | result = (WORD32)(temp_result >> 16); |
211 | 46.3k | return (result); |
212 | 46.3k | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_16 ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32_shr_16 Line | Count | Source | 205 | 46.3k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_16(WORD32 a, WORD32 b) { | 206 | 46.3k | WORD32 result; | 207 | 46.3k | WORD64 temp_result; | 208 | | | 209 | 46.3k | temp_result = (WORD64)a * (WORD64)b; | 210 | 46.3k | result = (WORD32)(temp_result >> 16); | 211 | 46.3k | return (result); | 212 | 46.3k | } |
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32_shr_16 |
213 | | |
214 | 3.01G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) { |
215 | 3.01G | WORD32 result; |
216 | 3.01G | WORD64 temp_result; |
217 | 3.01G | temp_result = (WORD64)a * (WORD64)b; |
218 | 3.01G | result = (WORD32)(temp_result >> 16); |
219 | 3.01G | return (result); |
220 | 3.01G | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32x16_shr_16 ixheaacd_mps_decorr.c:ixheaacd_mps_mult32x16_shr_16 Line | Count | Source | 214 | 2.95G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) { | 215 | 2.95G | WORD32 result; | 216 | 2.95G | WORD64 temp_result; | 217 | 2.95G | temp_result = (WORD64)a * (WORD64)b; | 218 | 2.95G | result = (WORD32)(temp_result >> 16); | 219 | 2.95G | return (result); | 220 | 2.95G | } |
ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32x16_shr_16 Line | Count | Source | 214 | 60.7M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) { | 215 | 60.7M | WORD32 result; | 216 | 60.7M | WORD64 temp_result; | 217 | 60.7M | temp_result = (WORD64)a * (WORD64)b; | 218 | 60.7M | result = (WORD32)(temp_result >> 16); | 219 | 60.7M | return (result); | 220 | 60.7M | } |
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32x16_shr_16 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32x16_shr_16 |
221 | | |
222 | 2.24G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { |
223 | 2.24G | WORD32 result; |
224 | 2.24G | WORD64 temp_result; |
225 | 2.24G | temp_result = (WORD64)a * (WORD64)b; |
226 | 2.24G | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); |
227 | | |
228 | 2.24G | return (result); |
229 | 2.24G | } ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 138M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 138M | WORD32 result; | 224 | 138M | WORD64 temp_result; | 225 | 138M | temp_result = (WORD64)a * (WORD64)b; | 226 | 138M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 138M | return (result); | 229 | 138M | } |
Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_15 Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32_shr_15 ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 121M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 121M | WORD32 result; | 224 | 121M | WORD64 temp_result; | 225 | 121M | temp_result = (WORD64)a * (WORD64)b; | 226 | 121M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 121M | return (result); | 229 | 121M | } |
ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 163M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 163M | WORD32 result; | 224 | 163M | WORD64 temp_result; | 225 | 163M | temp_result = (WORD64)a * (WORD64)b; | 226 | 163M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 163M | return (result); | 229 | 163M | } |
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_15 ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 4.81M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 4.81M | WORD32 result; | 224 | 4.81M | WORD64 temp_result; | 225 | 4.81M | temp_result = (WORD64)a * (WORD64)b; | 226 | 4.81M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 4.81M | return (result); | 229 | 4.81M | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 12.8M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 12.8M | WORD32 result; | 224 | 12.8M | WORD64 temp_result; | 225 | 12.8M | temp_result = (WORD64)a * (WORD64)b; | 226 | 12.8M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 12.8M | return (result); | 229 | 12.8M | } |
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32_shr_15 ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 982M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 982M | WORD32 result; | 224 | 982M | WORD64 temp_result; | 225 | 982M | temp_result = (WORD64)a * (WORD64)b; | 226 | 982M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 982M | return (result); | 229 | 982M | } |
ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 816M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 816M | WORD32 result; | 224 | 816M | WORD64 temp_result; | 225 | 816M | temp_result = (WORD64)a * (WORD64)b; | 226 | 816M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 816M | return (result); | 229 | 816M | } |
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32_shr_15 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32_shr_15 ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 1.13M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 1.13M | WORD32 result; | 224 | 1.13M | WORD64 temp_result; | 225 | 1.13M | temp_result = (WORD64)a * (WORD64)b; | 226 | 1.13M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 1.13M | return (result); | 229 | 1.13M | } |
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32_shr_15 ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 168k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 168k | WORD32 result; | 224 | 168k | WORD64 temp_result; | 225 | 168k | temp_result = (WORD64)a * (WORD64)b; | 226 | 168k | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 168k | return (result); | 229 | 168k | } |
ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 811k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 811k | WORD32 result; | 224 | 811k | WORD64 temp_result; | 225 | 811k | temp_result = (WORD64)a * (WORD64)b; | 226 | 811k | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 811k | return (result); | 229 | 811k | } |
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32_shr_15 ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 6.95M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 6.95M | WORD32 result; | 224 | 6.95M | WORD64 temp_result; | 225 | 6.95M | temp_result = (WORD64)a * (WORD64)b; | 226 | 6.95M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 6.95M | return (result); | 229 | 6.95M | } |
|
230 | | |
231 | 141M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_14(WORD32 a, WORD32 b) { |
232 | 141M | WORD32 result; |
233 | 141M | WORD64 temp_result; |
234 | | |
235 | 141M | temp_result = (WORD64)a * (WORD64)b; |
236 | 141M | result = (WORD32)(temp_result >> 16); |
237 | 141M | result = result << 2; |
238 | | |
239 | 141M | return (result); |
240 | 141M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_14 ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_14 Line | Count | Source | 231 | 141M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_14(WORD32 a, WORD32 b) { | 232 | 141M | WORD32 result; | 233 | 141M | WORD64 temp_result; | 234 | | | 235 | 141M | temp_result = (WORD64)a * (WORD64)b; | 236 | 141M | result = (WORD32)(temp_result >> 16); | 237 | 141M | result = result << 2; | 238 | | | 239 | 141M | return (result); | 240 | 141M | } |
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32_shr_14 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32_shr_14 |
241 | | |
242 | 38.2M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { |
243 | 38.2M | WORD32 quotient; |
244 | 38.2M | UWORD32 mantissa_nr, mantissa_dr; |
245 | 38.2M | LOOPINDEX i; |
246 | 38.2M | WORD q_nr, q_dr; |
247 | | |
248 | 38.2M | quotient = 0; |
249 | | |
250 | 38.2M | if (0 == b) { |
251 | 4.95M | *q_format = 0; |
252 | 4.95M | return (a); |
253 | 4.95M | } |
254 | | |
255 | 33.2M | quotient = 0; |
256 | | |
257 | 33.2M | q_nr = ixheaac_norm32(a); |
258 | 33.2M | mantissa_nr = (UWORD32)a << (q_nr); |
259 | 33.2M | q_dr = ixheaac_norm32(b); |
260 | 33.2M | mantissa_dr = (UWORD32)b << (q_dr); |
261 | 33.2M | *q_format = (WORD)(30 + q_nr - q_dr); |
262 | | |
263 | 1.06G | for (i = 0; i < 31; i++) { |
264 | 1.03G | quotient <<= 1; |
265 | | |
266 | 1.03G | if (mantissa_nr >= mantissa_dr) { |
267 | 485M | mantissa_nr -= mantissa_dr; |
268 | 485M | quotient += 1; |
269 | 485M | } |
270 | 1.03G | mantissa_nr <<= 1; |
271 | 1.03G | } |
272 | | |
273 | 33.2M | if ((a ^ b) < 0) { |
274 | 390k | return -(quotient); |
275 | 390k | } |
276 | | |
277 | 32.8M | return quotient; |
278 | 33.2M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_div_32 ixheaacd_mps_decorr.c:ixheaacd_mps_div_32 Line | Count | Source | 242 | 19.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 19.4M | WORD32 quotient; | 244 | 19.4M | UWORD32 mantissa_nr, mantissa_dr; | 245 | 19.4M | LOOPINDEX i; | 246 | 19.4M | WORD q_nr, q_dr; | 247 | | | 248 | 19.4M | quotient = 0; | 249 | | | 250 | 19.4M | if (0 == b) { | 251 | 1.29M | *q_format = 0; | 252 | 1.29M | return (a); | 253 | 1.29M | } | 254 | | | 255 | 18.1M | quotient = 0; | 256 | | | 257 | 18.1M | q_nr = ixheaac_norm32(a); | 258 | 18.1M | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 18.1M | q_dr = ixheaac_norm32(b); | 260 | 18.1M | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 18.1M | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 579M | for (i = 0; i < 31; i++) { | 264 | 561M | quotient <<= 1; | 265 | | | 266 | 561M | if (mantissa_nr >= mantissa_dr) { | 267 | 282M | mantissa_nr -= mantissa_dr; | 268 | 282M | quotient += 1; | 269 | 282M | } | 270 | 561M | mantissa_nr <<= 1; | 271 | 561M | } | 272 | | | 273 | 18.1M | if ((a ^ b) < 0) { | 274 | 0 | return -(quotient); | 275 | 0 | } | 276 | | | 277 | 18.1M | return quotient; | 278 | 18.1M | } |
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_div_32 ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_div_32 Line | Count | Source | 242 | 16.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 16.4M | WORD32 quotient; | 244 | 16.4M | UWORD32 mantissa_nr, mantissa_dr; | 245 | 16.4M | LOOPINDEX i; | 246 | 16.4M | WORD q_nr, q_dr; | 247 | | | 248 | 16.4M | quotient = 0; | 249 | | | 250 | 16.4M | if (0 == b) { | 251 | 3.58M | *q_format = 0; | 252 | 3.58M | return (a); | 253 | 3.58M | } | 254 | | | 255 | 12.8M | quotient = 0; | 256 | | | 257 | 12.8M | q_nr = ixheaac_norm32(a); | 258 | 12.8M | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 12.8M | q_dr = ixheaac_norm32(b); | 260 | 12.8M | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 12.8M | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 412M | for (i = 0; i < 31; i++) { | 264 | 399M | quotient <<= 1; | 265 | | | 266 | 399M | if (mantissa_nr >= mantissa_dr) { | 267 | 187M | mantissa_nr -= mantissa_dr; | 268 | 187M | quotient += 1; | 269 | 187M | } | 270 | 399M | mantissa_nr <<= 1; | 271 | 399M | } | 272 | | | 273 | 12.8M | if ((a ^ b) < 0) { | 274 | 390k | return -(quotient); | 275 | 390k | } | 276 | | | 277 | 12.4M | return quotient; | 278 | 12.8M | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_div_32 Line | Count | Source | 242 | 1.63M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 1.63M | WORD32 quotient; | 244 | 1.63M | UWORD32 mantissa_nr, mantissa_dr; | 245 | 1.63M | LOOPINDEX i; | 246 | 1.63M | WORD q_nr, q_dr; | 247 | | | 248 | 1.63M | quotient = 0; | 249 | | | 250 | 1.63M | if (0 == b) { | 251 | 0 | *q_format = 0; | 252 | 0 | return (a); | 253 | 0 | } | 254 | | | 255 | 1.63M | quotient = 0; | 256 | | | 257 | 1.63M | q_nr = ixheaac_norm32(a); | 258 | 1.63M | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 1.63M | q_dr = ixheaac_norm32(b); | 260 | 1.63M | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 1.63M | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 52.2M | for (i = 0; i < 31; i++) { | 264 | 50.5M | quotient <<= 1; | 265 | | | 266 | 50.5M | if (mantissa_nr >= mantissa_dr) { | 267 | 8.59M | mantissa_nr -= mantissa_dr; | 268 | 8.59M | quotient += 1; | 269 | 8.59M | } | 270 | 50.5M | mantissa_nr <<= 1; | 271 | 50.5M | } | 272 | | | 273 | 1.63M | if ((a ^ b) < 0) { | 274 | 0 | return -(quotient); | 275 | 0 | } | 276 | | | 277 | 1.63M | return quotient; | 278 | 1.63M | } |
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_div_32 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_div_32 ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_div_32 Line | Count | Source | 242 | 731k | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 731k | WORD32 quotient; | 244 | 731k | UWORD32 mantissa_nr, mantissa_dr; | 245 | 731k | LOOPINDEX i; | 246 | 731k | WORD q_nr, q_dr; | 247 | | | 248 | 731k | quotient = 0; | 249 | | | 250 | 731k | if (0 == b) { | 251 | 80.4k | *q_format = 0; | 252 | 80.4k | return (a); | 253 | 80.4k | } | 254 | | | 255 | 651k | quotient = 0; | 256 | | | 257 | 651k | q_nr = ixheaac_norm32(a); | 258 | 651k | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 651k | q_dr = ixheaac_norm32(b); | 260 | 651k | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 651k | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 20.8M | for (i = 0; i < 31; i++) { | 264 | 20.1M | quotient <<= 1; | 265 | | | 266 | 20.1M | if (mantissa_nr >= mantissa_dr) { | 267 | 6.77M | mantissa_nr -= mantissa_dr; | 268 | 6.77M | quotient += 1; | 269 | 6.77M | } | 270 | 20.1M | mantissa_nr <<= 1; | 271 | 20.1M | } | 272 | | | 273 | 651k | if ((a ^ b) < 0) { | 274 | 224 | return -(quotient); | 275 | 224 | } | 276 | | | 277 | 650k | return quotient; | 278 | 651k | } |
|
279 | | |
280 | 2.51M | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { |
281 | 2.51M | WORD64 result; |
282 | 2.51M | if (qtemp == n) |
283 | 977k | return temp; |
284 | 1.53M | else if (qtemp > n) |
285 | 1.29M | temp = (WORD32)((WORD64)temp >> (qtemp - n)); |
286 | 237k | else { |
287 | 237k | result = (WORD32)((WORD64)temp << (n - qtemp)); |
288 | 237k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { |
289 | 0 | return 0; |
290 | 0 | } else |
291 | 237k | temp = (WORD32)result; |
292 | 237k | } |
293 | 1.53M | return temp; |
294 | 2.51M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_convert_to_qn ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_convert_to_qn Line | Count | Source | 280 | 711k | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { | 281 | 711k | WORD64 result; | 282 | 711k | if (qtemp == n) | 283 | 52 | return temp; | 284 | 711k | else if (qtemp > n) | 285 | 673k | temp = (WORD32)((WORD64)temp >> (qtemp - n)); | 286 | 38.2k | else { | 287 | 38.2k | result = (WORD32)((WORD64)temp << (n - qtemp)); | 288 | 38.2k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { | 289 | 0 | return 0; | 290 | 0 | } else | 291 | 38.2k | temp = (WORD32)result; | 292 | 38.2k | } | 293 | 711k | return temp; | 294 | 711k | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_convert_to_qn Line | Count | Source | 280 | 1.09M | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { | 281 | 1.09M | WORD64 result; | 282 | 1.09M | if (qtemp == n) | 283 | 973k | return temp; | 284 | 120k | else if (qtemp > n) | 285 | 0 | temp = (WORD32)((WORD64)temp >> (qtemp - n)); | 286 | 120k | else { | 287 | 120k | result = (WORD32)((WORD64)temp << (n - qtemp)); | 288 | 120k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { | 289 | 0 | return 0; | 290 | 0 | } else | 291 | 120k | temp = (WORD32)result; | 292 | 120k | } | 293 | 120k | return temp; | 294 | 1.09M | } |
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_convert_to_qn Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_convert_to_qn ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_convert_to_qn Line | Count | Source | 280 | 706k | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { | 281 | 706k | WORD64 result; | 282 | 706k | if (qtemp == n) | 283 | 3.80k | return temp; | 284 | 702k | else if (qtemp > n) | 285 | 623k | temp = (WORD32)((WORD64)temp >> (qtemp - n)); | 286 | 78.6k | else { | 287 | 78.6k | result = (WORD32)((WORD64)temp << (n - qtemp)); | 288 | 78.6k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { | 289 | 0 | return 0; | 290 | 0 | } else | 291 | 78.6k | temp = (WORD32)result; | 292 | 78.6k | } | 293 | 702k | return temp; | 294 | 706k | } |
|
295 | | |
296 | 221k | static PLATFORM_INLINE WORD32 ixheaacd_mps_div32_in_q15(WORD32 num, WORD32 den) { |
297 | 221k | WORD32 quotient; |
298 | 221k | WORD16 q_quotient; |
299 | | |
300 | 221k | quotient = ixheaacd_mps_div_32(num, den, &q_quotient); |
301 | 221k | quotient = ixheaacd_mps_convert_to_qn(quotient, q_quotient, 15); |
302 | 221k | return quotient; |
303 | 221k | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_div32_in_q15 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_div32_in_q15 ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_div32_in_q15 Line | Count | Source | 296 | 221k | static PLATFORM_INLINE WORD32 ixheaacd_mps_div32_in_q15(WORD32 num, WORD32 den) { | 297 | 221k | WORD32 quotient; | 298 | 221k | WORD16 q_quotient; | 299 | | | 300 | 221k | quotient = ixheaacd_mps_div_32(num, den, &q_quotient); | 301 | 221k | quotient = ixheaacd_mps_convert_to_qn(quotient, q_quotient, 15); | 302 | 221k | return quotient; | 303 | 221k | } |
|
304 | | |
305 | 0 | static PLATFORM_INLINE WORD32 ixheaacd_mps_log10(WORD32 a, WORD16 q_a) { |
306 | 0 | WORD32 x; |
307 | 0 | WORD16 q_x; |
308 | 0 | WORD32 j, k, temp; |
309 | 0 | WORD16 q_num; |
310 | 0 | q_num = ixheaac_norm32(a); |
311 | 0 | a = a << q_num; |
312 | 0 | x = ixheaacd_mps_div_32(a, NORM32, &q_x); |
313 | |
|
314 | 0 | if (q_x > 16) |
315 | 0 | x = x >> (q_x - 16); |
316 | 0 | else |
317 | 0 | x = x << (16 - q_x); |
318 | |
|
319 | 0 | q_num = 30 - (q_num + q_a); |
320 | |
|
321 | 0 | j = x - ONE_IN_Q16; |
322 | 0 | k = ixheaacd_mps_mult32_shr_16(SQRT_THREE_Q15, j); |
323 | 0 | temp = ixheaacd_mps_mult32_shr_16(j, j); |
324 | 0 | k -= ixheaacd_mps_mult32_shr_16(LOG_COEFF1, temp); |
325 | 0 | temp = ixheaacd_mps_mult32_shr_16(temp, j); |
326 | 0 | k += ixheaacd_mps_mult32_shr_16(LOG_COEFF2, temp); |
327 | 0 | temp = ixheaacd_mps_mult32_shr_16(temp, j); |
328 | 0 | k -= ixheaacd_mps_mult32_shr_16(LOG_COEFF3, temp); |
329 | 0 | temp = ixheaacd_mps_mult32_shr_16(temp, j); |
330 | 0 | k += ixheaacd_mps_mult32_shr_16(LOG_COEFF4, temp); |
331 | |
|
332 | 0 | k += (WORD32)(q_num * ((WORD32)LOG2XQ17)); |
333 | |
|
334 | 0 | return (k >> 1); |
335 | 0 | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_log10 Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_log10 |
336 | | |
337 | 0 | static PLATFORM_INLINE WORD32 ixheaacd_mps_cos(WORD32 a, const WORD32 *cosine_tab) { |
338 | 0 | WORD32 temp_result; |
339 | |
|
340 | 0 | if (a < 0) { |
341 | 0 | a = -a; |
342 | 0 | } |
343 | |
|
344 | 0 | a = a % TWO_PI_IN_Q15; |
345 | |
|
346 | 0 | temp_result = cosine_tab[((a * TRIG_TABLE_CONV_FAC) >> 15)]; |
347 | 0 | return temp_result; |
348 | 0 | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_cos Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_cos |
349 | | |
350 | 0 | static PLATFORM_INLINE WORD32 ixheaacd_mps_sin(WORD32 a, const WORD32 *sine_tab) { |
351 | 0 | WORD32 temp_result, flag = 0; |
352 | |
|
353 | 0 | if (a < 0) { |
354 | 0 | a = -a; |
355 | 0 | flag = 1; |
356 | 0 | } |
357 | |
|
358 | 0 | a = a % TWO_PI_IN_Q15; |
359 | |
|
360 | 0 | temp_result = sine_tab[((a * TRIG_TABLE_CONV_FAC) >> 15)]; |
361 | 0 | if (flag) temp_result = -temp_result; |
362 | |
|
363 | 0 | return temp_result; |
364 | 0 | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_sin Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_sin |
365 | | |
366 | 56.1M | static PLATFORM_INLINE WORD32 ixheaacd_mps_comp(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { |
367 | 56.1M | if (a == 0 || b == 0) { |
368 | 12.7M | if (a == 0) { |
369 | 11.4M | if (b < 0) |
370 | 0 | return 1; |
371 | 11.4M | else |
372 | 11.4M | return 0; |
373 | 11.4M | } else if (b == 0) { |
374 | 1.32M | if (a > 0) |
375 | 1.32M | return 1; |
376 | 0 | else |
377 | 0 | return 0; |
378 | 1.32M | } |
379 | 12.7M | } |
380 | | |
381 | 43.3M | if (*q_a > q_b) { |
382 | 27.9M | a = (a >> ((*q_a) - q_b)); |
383 | 27.9M | } else { |
384 | 15.4M | b = (b >> (q_b - (*q_a))); |
385 | 15.4M | } |
386 | | |
387 | 43.3M | if (a > b) |
388 | 18.0M | return 1; |
389 | 25.2M | else |
390 | 25.2M | return 0; |
391 | 43.3M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_comp ixheaacd_mps_decorr.c:ixheaacd_mps_comp Line | Count | Source | 366 | 56.1M | static PLATFORM_INLINE WORD32 ixheaacd_mps_comp(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 367 | 56.1M | if (a == 0 || b == 0) { | 368 | 12.7M | if (a == 0) { | 369 | 11.4M | if (b < 0) | 370 | 0 | return 1; | 371 | 11.4M | else | 372 | 11.4M | return 0; | 373 | 11.4M | } else if (b == 0) { | 374 | 1.32M | if (a > 0) | 375 | 1.32M | return 1; | 376 | 0 | else | 377 | 0 | return 0; | 378 | 1.32M | } | 379 | 12.7M | } | 380 | | | 381 | 43.3M | if (*q_a > q_b) { | 382 | 27.9M | a = (a >> ((*q_a) - q_b)); | 383 | 27.9M | } else { | 384 | 15.4M | b = (b >> (q_b - (*q_a))); | 385 | 15.4M | } | 386 | | | 387 | 43.3M | if (a > b) | 388 | 18.0M | return 1; | 389 | 25.2M | else | 390 | 25.2M | return 0; | 391 | 43.3M | } |
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_comp Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_comp |
392 | | |
393 | | #endif /* IXHEAACD_MPS_BASIC_OP_H */ |