/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.77M | #define INV_SQRT_2_Q31 (1518500250) |
25 | 18.1M | #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 | 111M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { |
35 | 111M | WORD32 temp_1, temp_2; |
36 | 111M | temp_1 = (WORD32)(a >> 32); |
37 | 111M | temp_2 = ixheaac_norm32(temp_1); |
38 | 111M | if (temp_2 < 31) { |
39 | 73.2M | return (32 - temp_2); |
40 | 73.2M | } else { |
41 | 38.6M | temp_2 = (WORD32)(a); |
42 | 38.6M | if ((temp_1 ^ temp_2) < 0) { |
43 | 936k | return 1; |
44 | 37.7M | } else { |
45 | 37.7M | return 0; |
46 | 37.7M | } |
47 | 38.6M | } |
48 | 111M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_get_rshift_bits ixheaacd_mps_decorr.c:ixheaacd_mps_get_rshift_bits Line | Count | Source | 34 | 74.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 74.4M | WORD32 temp_1, temp_2; | 36 | 74.4M | temp_1 = (WORD32)(a >> 32); | 37 | 74.4M | temp_2 = ixheaac_norm32(temp_1); | 38 | 74.4M | if (temp_2 < 31) { | 39 | 55.2M | return (32 - temp_2); | 40 | 55.2M | } else { | 41 | 19.2M | temp_2 = (WORD32)(a); | 42 | 19.2M | if ((temp_1 ^ temp_2) < 0) { | 43 | 142k | return 1; | 44 | 19.0M | } else { | 45 | 19.0M | return 0; | 46 | 19.0M | } | 47 | 19.2M | } | 48 | 74.4M | } |
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.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 15.4M | WORD32 temp_1, temp_2; | 36 | 15.4M | temp_1 = (WORD32)(a >> 32); | 37 | 15.4M | temp_2 = ixheaac_norm32(temp_1); | 38 | 15.4M | if (temp_2 < 31) { | 39 | 10.5M | return (32 - temp_2); | 40 | 10.5M | } else { | 41 | 4.91M | temp_2 = (WORD32)(a); | 42 | 4.91M | if ((temp_1 ^ temp_2) < 0) { | 43 | 36.5k | return 1; | 44 | 4.87M | } else { | 45 | 4.87M | return 0; | 46 | 4.87M | } | 47 | 4.91M | } | 48 | 15.4M | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_get_rshift_bits Line | Count | Source | 34 | 22.0M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 22.0M | WORD32 temp_1, temp_2; | 36 | 22.0M | temp_1 = (WORD32)(a >> 32); | 37 | 22.0M | temp_2 = ixheaac_norm32(temp_1); | 38 | 22.0M | if (temp_2 < 31) { | 39 | 7.50M | return (32 - temp_2); | 40 | 14.5M | } else { | 41 | 14.5M | temp_2 = (WORD32)(a); | 42 | 14.5M | if ((temp_1 ^ temp_2) < 0) { | 43 | 757k | return 1; | 44 | 13.7M | } else { | 45 | 13.7M | return 0; | 46 | 13.7M | } | 47 | 14.5M | } | 48 | 22.0M | } |
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 | 1.76k | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 1.76k | WORD32 temp_1, temp_2; | 36 | 1.76k | temp_1 = (WORD32)(a >> 32); | 37 | 1.76k | temp_2 = ixheaac_norm32(temp_1); | 38 | 1.76k | if (temp_2 < 31) { | 39 | 0 | return (32 - temp_2); | 40 | 1.76k | } else { | 41 | 1.76k | temp_2 = (WORD32)(a); | 42 | 1.76k | if ((temp_1 ^ temp_2) < 0) { | 43 | 0 | return 1; | 44 | 1.76k | } else { | 45 | 1.76k | return 0; | 46 | 1.76k | } | 47 | 1.76k | } | 48 | 1.76k | } |
|
49 | | |
50 | 89.9M | static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) { |
51 | 89.9M | WORD32 x; |
52 | 89.9M | x = ixheaacd_mps_get_rshift_bits(a); |
53 | 89.9M | *qfac = 20 - x; |
54 | 89.9M | return (WORD32)((WORD64)a >> x); |
55 | 89.9M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_narrow ixheaacd_mps_decorr.c:ixheaacd_mps_narrow Line | Count | Source | 50 | 74.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) { | 51 | 74.4M | WORD32 x; | 52 | 74.4M | x = ixheaacd_mps_get_rshift_bits(a); | 53 | 74.4M | *qfac = 20 - x; | 54 | 74.4M | return (WORD32)((WORD64)a >> x); | 55 | 74.4M | } |
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.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) { | 51 | 15.4M | WORD32 x; | 52 | 15.4M | x = ixheaacd_mps_get_rshift_bits(a); | 53 | 15.4M | *qfac = 20 - x; | 54 | 15.4M | return (WORD32)((WORD64)a >> x); | 55 | 15.4M | } |
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 | 18.5M | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { |
58 | 18.5M | WORD32 index, answer, temp; |
59 | 18.5M | WORD k; |
60 | | |
61 | 18.5M | if (num == 0) return 0; |
62 | | |
63 | 18.1M | k = ixheaac_norm32(num); |
64 | 18.1M | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); |
65 | 18.1M | *q += k; |
66 | 18.1M | index = temp & 0x1FF; |
67 | 18.1M | answer = sqrt_tab[index]; |
68 | 18.1M | if (*q & 1) { |
69 | 7.77M | *q -= 1; |
70 | 7.77M | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); |
71 | 7.77M | } |
72 | 18.1M | *q = *q >> 1; |
73 | 18.1M | *q += Q_SQRT_TAB; |
74 | 18.1M | return answer; |
75 | 18.5M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_sqrt ixheaacd_mps_decorr.c:ixheaacd_mps_sqrt Line | Count | Source | 57 | 16.0M | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 16.0M | WORD32 index, answer, temp; | 59 | 16.0M | WORD k; | 60 | | | 61 | 16.0M | if (num == 0) return 0; | 62 | | | 63 | 16.0M | k = ixheaac_norm32(num); | 64 | 16.0M | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 16.0M | *q += k; | 66 | 16.0M | index = temp & 0x1FF; | 67 | 16.0M | answer = sqrt_tab[index]; | 68 | 16.0M | if (*q & 1) { | 69 | 6.72M | *q -= 1; | 70 | 6.72M | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 6.72M | } | 72 | 16.0M | *q = *q >> 1; | 73 | 16.0M | *q += Q_SQRT_TAB; | 74 | 16.0M | return answer; | 75 | 16.0M | } |
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 | 667k | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 667k | WORD32 index, answer, temp; | 59 | 667k | WORD k; | 60 | | | 61 | 667k | if (num == 0) return 0; | 62 | | | 63 | 533k | k = ixheaac_norm32(num); | 64 | 533k | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 533k | *q += k; | 66 | 533k | index = temp & 0x1FF; | 67 | 533k | answer = sqrt_tab[index]; | 68 | 533k | if (*q & 1) { | 69 | 279k | *q -= 1; | 70 | 279k | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 279k | } | 72 | 533k | *q = *q >> 1; | 73 | 533k | *q += Q_SQRT_TAB; | 74 | 533k | return answer; | 75 | 667k | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_sqrt Line | Count | Source | 57 | 1.23M | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 1.23M | WORD32 index, answer, temp; | 59 | 1.23M | WORD k; | 60 | | | 61 | 1.23M | if (num == 0) return 0; | 62 | | | 63 | 1.03M | k = ixheaac_norm32(num); | 64 | 1.03M | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 1.03M | *q += k; | 66 | 1.03M | index = temp & 0x1FF; | 67 | 1.03M | answer = sqrt_tab[index]; | 68 | 1.03M | if (*q & 1) { | 69 | 529k | *q -= 1; | 70 | 529k | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 529k | } | 72 | 1.03M | *q = *q >> 1; | 73 | 1.03M | *q += Q_SQRT_TAB; | 74 | 1.03M | return answer; | 75 | 1.23M | } |
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 | 627k | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 627k | WORD32 index, answer, temp; | 59 | 627k | WORD k; | 60 | | | 61 | 627k | if (num == 0) return 0; | 62 | | | 63 | 585k | k = ixheaac_norm32(num); | 64 | 585k | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 585k | *q += k; | 66 | 585k | index = temp & 0x1FF; | 67 | 585k | answer = sqrt_tab[index]; | 68 | 585k | if (*q & 1) { | 69 | 243k | *q -= 1; | 70 | 243k | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 243k | } | 72 | 585k | *q = *q >> 1; | 73 | 585k | *q += Q_SQRT_TAB; | 74 | 585k | return answer; | 75 | 627k | } |
|
76 | | |
77 | | static PLATFORM_INLINE WORD32 ixheaacd_mps_reshape_add32(WORD32 op1, WORD32 op2, WORD16 *qop1, |
78 | 49.1M | WORD16 qop2) { |
79 | 49.1M | WORD64 tempresult; |
80 | 49.1M | if (0 == op2) { |
81 | 13.6M | return op1; |
82 | 13.6M | } |
83 | 35.4M | if (0 == op1) { |
84 | 2.58M | *qop1 = qop2; |
85 | 2.58M | return op2; |
86 | 2.58M | } |
87 | 32.8M | if (*qop1 < qop2) { |
88 | 23.4M | if ((qop2 - *qop1) > 31) |
89 | 81.9k | op2 = 0; |
90 | 23.3M | else |
91 | 23.3M | op2 = op2 >> (qop2 - *qop1); |
92 | 23.4M | tempresult = (WORD64)op1 + (WORD64)op2; |
93 | 23.4M | } else { |
94 | 9.40M | if ((*qop1 - qop2) > 31) |
95 | 19.4k | op1 = 0; |
96 | 9.39M | else |
97 | 9.39M | op1 = op1 >> (*qop1 - qop2); |
98 | 9.40M | *qop1 = qop2; |
99 | 9.40M | tempresult = (WORD64)op1 + (WORD64)op2; |
100 | 9.40M | } |
101 | 32.8M | if (tempresult > (WORD32)0x7fffffff || tempresult < (WORD32)0x80000000) { |
102 | 6.75M | tempresult = tempresult >> 1; |
103 | 6.75M | *qop1 -= 1; |
104 | 6.75M | } |
105 | 32.8M | return (WORD32)tempresult; |
106 | 35.4M | } 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 | 49.1M | WORD16 qop2) { | 79 | 49.1M | WORD64 tempresult; | 80 | 49.1M | if (0 == op2) { | 81 | 13.6M | return op1; | 82 | 13.6M | } | 83 | 35.4M | if (0 == op1) { | 84 | 2.58M | *qop1 = qop2; | 85 | 2.58M | return op2; | 86 | 2.58M | } | 87 | 32.8M | if (*qop1 < qop2) { | 88 | 23.4M | if ((qop2 - *qop1) > 31) | 89 | 81.9k | op2 = 0; | 90 | 23.3M | else | 91 | 23.3M | op2 = op2 >> (qop2 - *qop1); | 92 | 23.4M | tempresult = (WORD64)op1 + (WORD64)op2; | 93 | 23.4M | } else { | 94 | 9.40M | if ((*qop1 - qop2) > 31) | 95 | 19.4k | op1 = 0; | 96 | 9.39M | else | 97 | 9.39M | op1 = op1 >> (*qop1 - qop2); | 98 | 9.40M | *qop1 = qop2; | 99 | 9.40M | tempresult = (WORD64)op1 + (WORD64)op2; | 100 | 9.40M | } | 101 | 32.8M | if (tempresult > (WORD32)0x7fffffff || tempresult < (WORD32)0x80000000) { | 102 | 6.75M | tempresult = tempresult >> 1; | 103 | 6.75M | *qop1 -= 1; | 104 | 6.75M | } | 105 | 32.8M | return (WORD32)tempresult; | 106 | 35.4M | } |
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 | 155M | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { |
109 | 155M | WORD64 temp_result; |
110 | | |
111 | 155M | if (a == 0 || b == 0) { |
112 | 76.4M | if (b == 0) { |
113 | 74.1M | return a; |
114 | 74.1M | } else { |
115 | 2.25M | *q_a = q_b; |
116 | 2.25M | return b; |
117 | 2.25M | } |
118 | 76.4M | } |
119 | 79.0M | if (*q_a > q_b) { |
120 | 3.85M | if (((*q_a) - q_b) > 31) { |
121 | 7.09k | a = 0; |
122 | 7.09k | *q_a = q_b; |
123 | 3.84M | } else { |
124 | 3.84M | a = (a >> ((*q_a) - q_b)); |
125 | 3.84M | *q_a = q_b; |
126 | 3.84M | } |
127 | 75.2M | } else { |
128 | 75.2M | if ((q_b - (*q_a)) > 31) { |
129 | 222k | b = 0; |
130 | 74.9M | } else { |
131 | 74.9M | b = (b >> (q_b - (*q_a))); |
132 | 74.9M | q_b = *q_a; |
133 | 74.9M | } |
134 | 75.2M | } |
135 | 79.0M | temp_result = (WORD64)a + (WORD64)b; |
136 | 79.0M | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { |
137 | 4.63M | temp_result = temp_result >> 1; |
138 | 4.63M | *q_a -= 1; |
139 | 4.63M | } |
140 | | |
141 | 79.0M | return (WORD32)temp_result; |
142 | 155M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_add32 ixheaacd_mps_decorr.c:ixheaacd_mps_add32 Line | Count | Source | 108 | 74.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 74.4M | WORD64 temp_result; | 110 | | | 111 | 74.4M | if (a == 0 || b == 0) { | 112 | 18.0M | if (b == 0) { | 113 | 17.4M | return a; | 114 | 17.4M | } else { | 115 | 560k | *q_a = q_b; | 116 | 560k | return b; | 117 | 560k | } | 118 | 18.0M | } | 119 | 56.4M | if (*q_a > q_b) { | 120 | 2.19M | if (((*q_a) - q_b) > 31) { | 121 | 2.11k | a = 0; | 122 | 2.11k | *q_a = q_b; | 123 | 2.18M | } else { | 124 | 2.18M | a = (a >> ((*q_a) - q_b)); | 125 | 2.18M | *q_a = q_b; | 126 | 2.18M | } | 127 | 54.3M | } else { | 128 | 54.3M | if ((q_b - (*q_a)) > 31) { | 129 | 218k | b = 0; | 130 | 54.0M | } else { | 131 | 54.0M | b = (b >> (q_b - (*q_a))); | 132 | 54.0M | q_b = *q_a; | 133 | 54.0M | } | 134 | 54.3M | } | 135 | 56.4M | temp_result = (WORD64)a + (WORD64)b; | 136 | 56.4M | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 137 | 1.89M | temp_result = temp_result >> 1; | 138 | 1.89M | *q_a -= 1; | 139 | 1.89M | } | 140 | | | 141 | 56.4M | return (WORD32)temp_result; | 142 | 74.4M | } |
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 | 118k | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 118k | WORD64 temp_result; | 110 | | | 111 | 118k | if (a == 0 || b == 0) { | 112 | 73.0k | if (b == 0) { | 113 | 188 | return a; | 114 | 72.8k | } else { | 115 | 72.8k | *q_a = q_b; | 116 | 72.8k | return b; | 117 | 72.8k | } | 118 | 73.0k | } | 119 | 45.7k | if (*q_a > q_b) { | 120 | 10.0k | if (((*q_a) - q_b) > 31) { | 121 | 218 | a = 0; | 122 | 218 | *q_a = q_b; | 123 | 9.81k | } else { | 124 | 9.81k | a = (a >> ((*q_a) - q_b)); | 125 | 9.81k | *q_a = q_b; | 126 | 9.81k | } | 127 | 35.7k | } else { | 128 | 35.7k | if ((q_b - (*q_a)) > 31) { | 129 | 2 | b = 0; | 130 | 35.7k | } else { | 131 | 35.7k | b = (b >> (q_b - (*q_a))); | 132 | 35.7k | q_b = *q_a; | 133 | 35.7k | } | 134 | 35.7k | } | 135 | 45.7k | temp_result = (WORD64)a + (WORD64)b; | 136 | 45.7k | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 137 | 55 | temp_result = temp_result >> 1; | 138 | 55 | *q_a -= 1; | 139 | 55 | } | 140 | | | 141 | 45.7k | return (WORD32)temp_result; | 142 | 118k | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_add32 Line | Count | Source | 108 | 80.8M | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 80.8M | WORD64 temp_result; | 110 | | | 111 | 80.8M | if (a == 0 || b == 0) { | 112 | 58.3M | if (b == 0) { | 113 | 56.7M | return a; | 114 | 56.7M | } else { | 115 | 1.61M | *q_a = q_b; | 116 | 1.61M | return b; | 117 | 1.61M | } | 118 | 58.3M | } | 119 | 22.5M | if (*q_a > q_b) { | 120 | 1.65M | if (((*q_a) - q_b) > 31) { | 121 | 4.75k | a = 0; | 122 | 4.75k | *q_a = q_b; | 123 | 1.64M | } else { | 124 | 1.64M | a = (a >> ((*q_a) - q_b)); | 125 | 1.64M | *q_a = q_b; | 126 | 1.64M | } | 127 | 20.8M | } else { | 128 | 20.8M | if ((q_b - (*q_a)) > 31) { | 129 | 4.01k | b = 0; | 130 | 20.8M | } else { | 131 | 20.8M | b = (b >> (q_b - (*q_a))); | 132 | 20.8M | q_b = *q_a; | 133 | 20.8M | } | 134 | 20.8M | } | 135 | 22.5M | temp_result = (WORD64)a + (WORD64)b; | 136 | 22.5M | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 137 | 2.74M | temp_result = temp_result >> 1; | 138 | 2.74M | *q_a -= 1; | 139 | 2.74M | } | 140 | | | 141 | 22.5M | return (WORD32)temp_result; | 142 | 80.8M | } |
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 | 2.21k | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 2.21k | WORD64 temp_result; | 110 | | | 111 | 2.21k | if (a == 0 || b == 0) { | 112 | 1.32k | if (b == 0) { | 113 | 0 | return a; | 114 | 1.32k | } else { | 115 | 1.32k | *q_a = q_b; | 116 | 1.32k | return b; | 117 | 1.32k | } | 118 | 1.32k | } | 119 | 894 | 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 | 894 | } else { | 128 | 894 | if ((q_b - (*q_a)) > 31) { | 129 | 0 | b = 0; | 130 | 894 | } else { | 131 | 894 | b = (b >> (q_b - (*q_a))); | 132 | 894 | q_b = *q_a; | 133 | 894 | } | 134 | 894 | } | 135 | 894 | temp_result = (WORD64)a + (WORD64)b; | 136 | 894 | 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 | 894 | return (WORD32)temp_result; | 142 | 2.21k | } |
|
143 | | |
144 | 100M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { |
145 | 100M | WORD64 temp_result; |
146 | 100M | WORD32 temp; |
147 | | |
148 | 100M | if (a == 0 || b == 0) { |
149 | 78.7M | temp_result = 0; |
150 | 78.7M | *q_a = 15; |
151 | 78.7M | return (WORD32)temp_result; |
152 | 78.7M | } |
153 | | |
154 | 22.0M | *q_a = *q_a + q_b; |
155 | | |
156 | 22.0M | temp_result = (WORD64)a * (WORD64)b; |
157 | 22.0M | temp = ixheaacd_mps_get_rshift_bits(temp_result); |
158 | 22.0M | if (0 != temp) { |
159 | 8.26M | *q_a -= temp; |
160 | 8.26M | temp_result = temp_result >> temp; |
161 | 8.26M | } |
162 | | |
163 | 22.0M | return (WORD32)temp_result; |
164 | 100M | } 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 | 100M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 145 | 100M | WORD64 temp_result; | 146 | 100M | WORD32 temp; | 147 | | | 148 | 100M | if (a == 0 || b == 0) { | 149 | 78.7M | temp_result = 0; | 150 | 78.7M | *q_a = 15; | 151 | 78.7M | return (WORD32)temp_result; | 152 | 78.7M | } | 153 | | | 154 | 22.0M | *q_a = *q_a + q_b; | 155 | | | 156 | 22.0M | temp_result = (WORD64)a * (WORD64)b; | 157 | 22.0M | temp = ixheaacd_mps_get_rshift_bits(temp_result); | 158 | 22.0M | if (0 != temp) { | 159 | 8.26M | *q_a -= temp; | 160 | 8.26M | temp_result = temp_result >> temp; | 161 | 8.26M | } | 162 | | | 163 | 22.0M | return (WORD32)temp_result; | 164 | 100M | } |
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 | 4.74k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 145 | 4.74k | WORD64 temp_result; | 146 | 4.74k | WORD32 temp; | 147 | | | 148 | 4.74k | if (a == 0 || b == 0) { | 149 | 2.98k | temp_result = 0; | 150 | 2.98k | *q_a = 15; | 151 | 2.98k | return (WORD32)temp_result; | 152 | 2.98k | } | 153 | | | 154 | 1.76k | *q_a = *q_a + q_b; | 155 | | | 156 | 1.76k | temp_result = (WORD64)a * (WORD64)b; | 157 | 1.76k | temp = ixheaacd_mps_get_rshift_bits(temp_result); | 158 | 1.76k | if (0 != temp) { | 159 | 0 | *q_a -= temp; | 160 | 0 | temp_result = temp_result >> temp; | 161 | 0 | } | 162 | | | 163 | 1.76k | return (WORD32)temp_result; | 164 | 4.74k | } |
|
165 | | |
166 | | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x32(WORD32 a, WORD32 b, WORD16 *q_a, |
167 | 1.69M | WORD16 q_b) { |
168 | 1.69M | WORD64 temp_result; |
169 | 1.69M | if (a == 0 || b == 0) { |
170 | 471k | temp_result = 0; |
171 | 471k | *q_a = 15; |
172 | 471k | return (WORD32)temp_result; |
173 | 471k | } |
174 | 1.22M | *q_a = *q_a + q_b; |
175 | | |
176 | 1.22M | temp_result = (WORD64)a * (WORD64)b; |
177 | 31.0M | while (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { |
178 | 29.8M | temp_result = temp_result >> 1; |
179 | 29.8M | *q_a -= 1; |
180 | 29.8M | } |
181 | | |
182 | 1.22M | return (WORD32)temp_result; |
183 | 1.69M | } 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.69M | WORD16 q_b) { | 168 | 1.69M | WORD64 temp_result; | 169 | 1.69M | if (a == 0 || b == 0) { | 170 | 471k | temp_result = 0; | 171 | 471k | *q_a = 15; | 172 | 471k | return (WORD32)temp_result; | 173 | 471k | } | 174 | 1.22M | *q_a = *q_a + q_b; | 175 | | | 176 | 1.22M | temp_result = (WORD64)a * (WORD64)b; | 177 | 31.0M | while (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 178 | 29.8M | temp_result = temp_result >> 1; | 179 | 29.8M | *q_a -= 1; | 180 | 29.8M | } | 181 | | | 182 | 1.22M | return (WORD32)temp_result; | 183 | 1.69M | } |
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 | 68.5M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) { |
186 | 68.5M | WORD32 result; |
187 | 68.5M | WORD64 temp_result; |
188 | | |
189 | 68.5M | temp_result = (WORD64)a * (WORD64)b; |
190 | 68.5M | result = (WORD32)(temp_result >> n); |
191 | | |
192 | 68.5M | return (result); |
193 | 68.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 | 68.2M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) { | 186 | 68.2M | WORD32 result; | 187 | 68.2M | WORD64 temp_result; | 188 | | | 189 | 68.2M | temp_result = (WORD64)a * (WORD64)b; | 190 | 68.2M | result = (WORD32)(temp_result >> n); | 191 | | | 192 | 68.2M | return (result); | 193 | 68.2M | } |
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 | 297k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) { | 186 | 297k | WORD32 result; | 187 | 297k | WORD64 temp_result; | 188 | | | 189 | 297k | temp_result = (WORD64)a * (WORD64)b; | 190 | 297k | result = (WORD32)(temp_result >> n); | 191 | | | 192 | 297k | return (result); | 193 | 297k | } |
|
194 | | |
195 | 2.23G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { |
196 | 2.23G | WORD32 result; |
197 | 2.23G | WORD64 temp_result; |
198 | | |
199 | 2.23G | temp_result = (WORD64)a * (WORD64)b; |
200 | 2.23G | result = (WORD32)(temp_result >> 30); |
201 | | |
202 | 2.23G | return (result); |
203 | 2.23G | } 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.89M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 3.89M | WORD32 result; | 197 | 3.89M | WORD64 temp_result; | 198 | | | 199 | 3.89M | temp_result = (WORD64)a * (WORD64)b; | 200 | 3.89M | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 3.89M | return (result); | 203 | 3.89M | } |
ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 2.23G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 2.23G | WORD32 result; | 197 | 2.23G | WORD64 temp_result; | 198 | | | 199 | 2.23G | temp_result = (WORD64)a * (WORD64)b; | 200 | 2.23G | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 2.23G | return (result); | 203 | 2.23G | } |
ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 1.40M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 1.40M | WORD32 result; | 197 | 1.40M | WORD64 temp_result; | 198 | | | 199 | 1.40M | temp_result = (WORD64)a * (WORD64)b; | 200 | 1.40M | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 1.40M | return (result); | 203 | 1.40M | } |
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 | 401k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 401k | WORD32 result; | 197 | 401k | WORD64 temp_result; | 198 | | | 199 | 401k | temp_result = (WORD64)a * (WORD64)b; | 200 | 401k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 401k | return (result); | 203 | 401k | } |
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 | 19.1k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 19.1k | WORD32 result; | 197 | 19.1k | WORD64 temp_result; | 198 | | | 199 | 19.1k | temp_result = (WORD64)a * (WORD64)b; | 200 | 19.1k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 19.1k | return (result); | 203 | 19.1k | } |
ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 15.0k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 15.0k | WORD32 result; | 197 | 15.0k | WORD64 temp_result; | 198 | | | 199 | 15.0k | temp_result = (WORD64)a * (WORD64)b; | 200 | 15.0k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 15.0k | return (result); | 203 | 15.0k | } |
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 | 110k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 110k | WORD32 result; | 197 | 110k | WORD64 temp_result; | 198 | | | 199 | 110k | temp_result = (WORD64)a * (WORD64)b; | 200 | 110k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 110k | return (result); | 203 | 110k | } |
|
204 | | |
205 | 59.4k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_16(WORD32 a, WORD32 b) { |
206 | 59.4k | WORD32 result; |
207 | 59.4k | WORD64 temp_result; |
208 | | |
209 | 59.4k | temp_result = (WORD64)a * (WORD64)b; |
210 | 59.4k | result = (WORD32)(temp_result >> 16); |
211 | 59.4k | return (result); |
212 | 59.4k | } 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 | 59.4k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_16(WORD32 a, WORD32 b) { | 206 | 59.4k | WORD32 result; | 207 | 59.4k | WORD64 temp_result; | 208 | | | 209 | 59.4k | temp_result = (WORD64)a * (WORD64)b; | 210 | 59.4k | result = (WORD32)(temp_result >> 16); | 211 | 59.4k | return (result); | 212 | 59.4k | } |
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.12G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) { |
215 | 3.12G | WORD32 result; |
216 | 3.12G | WORD64 temp_result; |
217 | 3.12G | temp_result = (WORD64)a * (WORD64)b; |
218 | 3.12G | result = (WORD32)(temp_result >> 16); |
219 | 3.12G | return (result); |
220 | 3.12G | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32x16_shr_16 ixheaacd_mps_decorr.c:ixheaacd_mps_mult32x16_shr_16 Line | Count | Source | 214 | 3.06G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) { | 215 | 3.06G | WORD32 result; | 216 | 3.06G | WORD64 temp_result; | 217 | 3.06G | temp_result = (WORD64)a * (WORD64)b; | 218 | 3.06G | result = (WORD32)(temp_result >> 16); | 219 | 3.06G | return (result); | 220 | 3.06G | } |
ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32x16_shr_16 Line | Count | Source | 214 | 62.0M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) { | 215 | 62.0M | WORD32 result; | 216 | 62.0M | WORD64 temp_result; | 217 | 62.0M | temp_result = (WORD64)a * (WORD64)b; | 218 | 62.0M | result = (WORD32)(temp_result >> 16); | 219 | 62.0M | return (result); | 220 | 62.0M | } |
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.26G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { |
223 | 2.26G | WORD32 result; |
224 | 2.26G | WORD64 temp_result; |
225 | 2.26G | temp_result = (WORD64)a * (WORD64)b; |
226 | 2.26G | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); |
227 | | |
228 | 2.26G | return (result); |
229 | 2.26G | } ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 132M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 132M | WORD32 result; | 224 | 132M | WORD64 temp_result; | 225 | 132M | temp_result = (WORD64)a * (WORD64)b; | 226 | 132M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 132M | return (result); | 229 | 132M | } |
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 | 152M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 152M | WORD32 result; | 224 | 152M | WORD64 temp_result; | 225 | 152M | temp_result = (WORD64)a * (WORD64)b; | 226 | 152M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 152M | return (result); | 229 | 152M | } |
ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 156M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 156M | WORD32 result; | 224 | 156M | WORD64 temp_result; | 225 | 156M | temp_result = (WORD64)a * (WORD64)b; | 226 | 156M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 156M | return (result); | 229 | 156M | } |
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 | 6.13M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 6.13M | WORD32 result; | 224 | 6.13M | WORD64 temp_result; | 225 | 6.13M | temp_result = (WORD64)a * (WORD64)b; | 226 | 6.13M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 6.13M | return (result); | 229 | 6.13M | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 15.3M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 15.3M | WORD32 result; | 224 | 15.3M | WORD64 temp_result; | 225 | 15.3M | temp_result = (WORD64)a * (WORD64)b; | 226 | 15.3M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 15.3M | return (result); | 229 | 15.3M | } |
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 | 969M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 969M | WORD32 result; | 224 | 969M | WORD64 temp_result; | 225 | 969M | temp_result = (WORD64)a * (WORD64)b; | 226 | 969M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 969M | return (result); | 229 | 969M | } |
ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 817M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 817M | WORD32 result; | 224 | 817M | WORD64 temp_result; | 225 | 817M | temp_result = (WORD64)a * (WORD64)b; | 226 | 817M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 817M | return (result); | 229 | 817M | } |
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.41M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 1.41M | WORD32 result; | 224 | 1.41M | WORD64 temp_result; | 225 | 1.41M | temp_result = (WORD64)a * (WORD64)b; | 226 | 1.41M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 1.41M | return (result); | 229 | 1.41M | } |
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 | 210k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 210k | WORD32 result; | 224 | 210k | WORD64 temp_result; | 225 | 210k | temp_result = (WORD64)a * (WORD64)b; | 226 | 210k | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 210k | return (result); | 229 | 210k | } |
ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 1.14M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 1.14M | WORD32 result; | 224 | 1.14M | WORD64 temp_result; | 225 | 1.14M | temp_result = (WORD64)a * (WORD64)b; | 226 | 1.14M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 1.14M | return (result); | 229 | 1.14M | } |
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 | 8.06M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 8.06M | WORD32 result; | 224 | 8.06M | WORD64 temp_result; | 225 | 8.06M | temp_result = (WORD64)a * (WORD64)b; | 226 | 8.06M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 8.06M | return (result); | 229 | 8.06M | } |
|
230 | | |
231 | 143M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_14(WORD32 a, WORD32 b) { |
232 | 143M | WORD32 result; |
233 | 143M | WORD64 temp_result; |
234 | | |
235 | 143M | temp_result = (WORD64)a * (WORD64)b; |
236 | 143M | result = (WORD32)(temp_result >> 16); |
237 | 143M | result = result << 2; |
238 | | |
239 | 143M | return (result); |
240 | 143M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_14 ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_14 Line | Count | Source | 231 | 143M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_14(WORD32 a, WORD32 b) { | 232 | 143M | WORD32 result; | 233 | 143M | WORD64 temp_result; | 234 | | | 235 | 143M | temp_result = (WORD64)a * (WORD64)b; | 236 | 143M | result = (WORD32)(temp_result >> 16); | 237 | 143M | result = result << 2; | 238 | | | 239 | 143M | return (result); | 240 | 143M | } |
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 | 39.3M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { |
243 | 39.3M | WORD32 quotient; |
244 | 39.3M | UWORD32 mantissa_nr, mantissa_dr; |
245 | 39.3M | LOOPINDEX i; |
246 | 39.3M | WORD q_nr, q_dr; |
247 | | |
248 | 39.3M | quotient = 0; |
249 | | |
250 | 39.3M | if (0 == b) { |
251 | 5.28M | *q_format = 0; |
252 | 5.28M | return (a); |
253 | 5.28M | } |
254 | | |
255 | 34.0M | quotient = 0; |
256 | | |
257 | 34.0M | q_nr = ixheaac_norm32(a); |
258 | 34.0M | mantissa_nr = (UWORD32)a << (q_nr); |
259 | 34.0M | q_dr = ixheaac_norm32(b); |
260 | 34.0M | mantissa_dr = (UWORD32)b << (q_dr); |
261 | 34.0M | *q_format = (WORD)(30 + q_nr - q_dr); |
262 | | |
263 | 1.09G | for (i = 0; i < 31; i++) { |
264 | 1.05G | quotient <<= 1; |
265 | | |
266 | 1.05G | if (mantissa_nr >= mantissa_dr) { |
267 | 492M | mantissa_nr -= mantissa_dr; |
268 | 492M | quotient += 1; |
269 | 492M | } |
270 | 1.05G | mantissa_nr <<= 1; |
271 | 1.05G | } |
272 | | |
273 | 34.0M | if ((a ^ b) < 0) { |
274 | 390k | return -(quotient); |
275 | 390k | } |
276 | | |
277 | 33.7M | return quotient; |
278 | 34.0M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_div_32 ixheaacd_mps_decorr.c:ixheaacd_mps_div_32 Line | Count | Source | 242 | 20.5M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 20.5M | WORD32 quotient; | 244 | 20.5M | UWORD32 mantissa_nr, mantissa_dr; | 245 | 20.5M | LOOPINDEX i; | 246 | 20.5M | WORD q_nr, q_dr; | 247 | | | 248 | 20.5M | quotient = 0; | 249 | | | 250 | 20.5M | if (0 == b) { | 251 | 1.53M | *q_format = 0; | 252 | 1.53M | return (a); | 253 | 1.53M | } | 254 | | | 255 | 19.0M | quotient = 0; | 256 | | | 257 | 19.0M | q_nr = ixheaac_norm32(a); | 258 | 19.0M | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 19.0M | q_dr = ixheaac_norm32(b); | 260 | 19.0M | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 19.0M | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 609M | for (i = 0; i < 31; i++) { | 264 | 590M | quotient <<= 1; | 265 | | | 266 | 590M | if (mantissa_nr >= mantissa_dr) { | 267 | 296M | mantissa_nr -= mantissa_dr; | 268 | 296M | quotient += 1; | 269 | 296M | } | 270 | 590M | mantissa_nr <<= 1; | 271 | 590M | } | 272 | | | 273 | 19.0M | if ((a ^ b) < 0) { | 274 | 0 | return -(quotient); | 275 | 0 | } | 276 | | | 277 | 19.0M | return quotient; | 278 | 19.0M | } |
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 | 15.9M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 15.9M | WORD32 quotient; | 244 | 15.9M | UWORD32 mantissa_nr, mantissa_dr; | 245 | 15.9M | LOOPINDEX i; | 246 | 15.9M | WORD q_nr, q_dr; | 247 | | | 248 | 15.9M | quotient = 0; | 249 | | | 250 | 15.9M | if (0 == b) { | 251 | 3.64M | *q_format = 0; | 252 | 3.64M | return (a); | 253 | 3.64M | } | 254 | | | 255 | 12.3M | quotient = 0; | 256 | | | 257 | 12.3M | q_nr = ixheaac_norm32(a); | 258 | 12.3M | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 12.3M | q_dr = ixheaac_norm32(b); | 260 | 12.3M | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 12.3M | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 393M | for (i = 0; i < 31; i++) { | 264 | 381M | quotient <<= 1; | 265 | | | 266 | 381M | if (mantissa_nr >= mantissa_dr) { | 267 | 177M | mantissa_nr -= mantissa_dr; | 268 | 177M | quotient += 1; | 269 | 177M | } | 270 | 381M | mantissa_nr <<= 1; | 271 | 381M | } | 272 | | | 273 | 12.3M | if ((a ^ b) < 0) { | 274 | 390k | return -(quotient); | 275 | 390k | } | 276 | | | 277 | 11.9M | return quotient; | 278 | 12.3M | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_div_32 Line | Count | Source | 242 | 1.87M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 1.87M | WORD32 quotient; | 244 | 1.87M | UWORD32 mantissa_nr, mantissa_dr; | 245 | 1.87M | LOOPINDEX i; | 246 | 1.87M | WORD q_nr, q_dr; | 247 | | | 248 | 1.87M | quotient = 0; | 249 | | | 250 | 1.87M | if (0 == b) { | 251 | 0 | *q_format = 0; | 252 | 0 | return (a); | 253 | 0 | } | 254 | | | 255 | 1.87M | quotient = 0; | 256 | | | 257 | 1.87M | q_nr = ixheaac_norm32(a); | 258 | 1.87M | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 1.87M | q_dr = ixheaac_norm32(b); | 260 | 1.87M | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 1.87M | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 60.0M | for (i = 0; i < 31; i++) { | 264 | 58.1M | quotient <<= 1; | 265 | | | 266 | 58.1M | if (mantissa_nr >= mantissa_dr) { | 267 | 10.2M | mantissa_nr -= mantissa_dr; | 268 | 10.2M | quotient += 1; | 269 | 10.2M | } | 270 | 58.1M | mantissa_nr <<= 1; | 271 | 58.1M | } | 272 | | | 273 | 1.87M | if ((a ^ b) < 0) { | 274 | 0 | return -(quotient); | 275 | 0 | } | 276 | | | 277 | 1.87M | return quotient; | 278 | 1.87M | } |
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 | 965k | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 965k | WORD32 quotient; | 244 | 965k | UWORD32 mantissa_nr, mantissa_dr; | 245 | 965k | LOOPINDEX i; | 246 | 965k | WORD q_nr, q_dr; | 247 | | | 248 | 965k | quotient = 0; | 249 | | | 250 | 965k | if (0 == b) { | 251 | 107k | *q_format = 0; | 252 | 107k | return (a); | 253 | 107k | } | 254 | | | 255 | 858k | quotient = 0; | 256 | | | 257 | 858k | q_nr = ixheaac_norm32(a); | 258 | 858k | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 858k | q_dr = ixheaac_norm32(b); | 260 | 858k | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 858k | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 27.4M | for (i = 0; i < 31; i++) { | 264 | 26.6M | quotient <<= 1; | 265 | | | 266 | 26.6M | if (mantissa_nr >= mantissa_dr) { | 267 | 8.93M | mantissa_nr -= mantissa_dr; | 268 | 8.93M | quotient += 1; | 269 | 8.93M | } | 270 | 26.6M | mantissa_nr <<= 1; | 271 | 26.6M | } | 272 | | | 273 | 858k | if ((a ^ b) < 0) { | 274 | 335 | return -(quotient); | 275 | 335 | } | 276 | | | 277 | 858k | return quotient; | 278 | 858k | } |
|
279 | | |
280 | 2.91M | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { |
281 | 2.91M | WORD64 result; |
282 | 2.91M | if (qtemp == n) |
283 | 1.11M | return temp; |
284 | 1.80M | else if (qtemp > n) |
285 | 1.50M | temp = (WORD32)((WORD64)temp >> (qtemp - n)); |
286 | 295k | else { |
287 | 295k | result = (WORD32)((WORD64)temp << (n - qtemp)); |
288 | 295k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { |
289 | 0 | return 0; |
290 | 0 | } else |
291 | 295k | temp = (WORD32)result; |
292 | 295k | } |
293 | 1.80M | return temp; |
294 | 2.91M | } 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 | 726k | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { | 281 | 726k | WORD64 result; | 282 | 726k | if (qtemp == n) | 283 | 158 | return temp; | 284 | 726k | else if (qtemp > n) | 285 | 679k | temp = (WORD32)((WORD64)temp >> (qtemp - n)); | 286 | 46.7k | else { | 287 | 46.7k | result = (WORD32)((WORD64)temp << (n - qtemp)); | 288 | 46.7k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { | 289 | 0 | return 0; | 290 | 0 | } else | 291 | 46.7k | temp = (WORD32)result; | 292 | 46.7k | } | 293 | 726k | return temp; | 294 | 726k | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_convert_to_qn Line | Count | Source | 280 | 1.25M | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { | 281 | 1.25M | WORD64 result; | 282 | 1.25M | if (qtemp == n) | 283 | 1.10M | return temp; | 284 | 144k | else if (qtemp > n) | 285 | 0 | temp = (WORD32)((WORD64)temp >> (qtemp - n)); | 286 | 144k | else { | 287 | 144k | result = (WORD32)((WORD64)temp << (n - qtemp)); | 288 | 144k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { | 289 | 0 | return 0; | 290 | 0 | } else | 291 | 144k | temp = (WORD32)result; | 292 | 144k | } | 293 | 144k | return temp; | 294 | 1.25M | } |
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 | 938k | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { | 281 | 938k | WORD64 result; | 282 | 938k | if (qtemp == n) | 283 | 5.37k | return temp; | 284 | 932k | else if (qtemp > n) | 285 | 827k | temp = (WORD32)((WORD64)temp >> (qtemp - n)); | 286 | 105k | else { | 287 | 105k | result = (WORD32)((WORD64)temp << (n - qtemp)); | 288 | 105k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { | 289 | 0 | return 0; | 290 | 0 | } else | 291 | 105k | temp = (WORD32)result; | 292 | 105k | } | 293 | 932k | return temp; | 294 | 938k | } |
|
295 | | |
296 | 303k | static PLATFORM_INLINE WORD32 ixheaacd_mps_div32_in_q15(WORD32 num, WORD32 den) { |
297 | 303k | WORD32 quotient; |
298 | 303k | WORD16 q_quotient; |
299 | | |
300 | 303k | quotient = ixheaacd_mps_div_32(num, den, &q_quotient); |
301 | 303k | quotient = ixheaacd_mps_convert_to_qn(quotient, q_quotient, 15); |
302 | 303k | return quotient; |
303 | 303k | } 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 | 303k | static PLATFORM_INLINE WORD32 ixheaacd_mps_div32_in_q15(WORD32 num, WORD32 den) { | 297 | 303k | WORD32 quotient; | 298 | 303k | WORD16 q_quotient; | 299 | | | 300 | 303k | quotient = ixheaacd_mps_div_32(num, den, &q_quotient); | 301 | 303k | quotient = ixheaacd_mps_convert_to_qn(quotient, q_quotient, 15); | 302 | 303k | return quotient; | 303 | 303k | } |
|
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 | 60.9M | static PLATFORM_INLINE WORD32 ixheaacd_mps_comp(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { |
367 | 60.9M | if (a == 0 || b == 0) { |
368 | 16.6M | if (a == 0) { |
369 | 15.0M | if (b < 0) |
370 | 0 | return 1; |
371 | 15.0M | else |
372 | 15.0M | return 0; |
373 | 15.0M | } else if (b == 0) { |
374 | 1.57M | if (a > 0) |
375 | 1.57M | return 1; |
376 | 0 | else |
377 | 0 | return 0; |
378 | 1.57M | } |
379 | 16.6M | } |
380 | | |
381 | 44.3M | if (*q_a > q_b) { |
382 | 27.9M | a = (a >> ((*q_a) - q_b)); |
383 | 27.9M | } else { |
384 | 16.3M | b = (b >> (q_b - (*q_a))); |
385 | 16.3M | } |
386 | | |
387 | 44.3M | if (a > b) |
388 | 19.0M | return 1; |
389 | 25.2M | else |
390 | 25.2M | return 0; |
391 | 44.3M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_comp ixheaacd_mps_decorr.c:ixheaacd_mps_comp Line | Count | Source | 366 | 60.9M | static PLATFORM_INLINE WORD32 ixheaacd_mps_comp(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 367 | 60.9M | if (a == 0 || b == 0) { | 368 | 16.6M | if (a == 0) { | 369 | 15.0M | if (b < 0) | 370 | 0 | return 1; | 371 | 15.0M | else | 372 | 15.0M | return 0; | 373 | 15.0M | } else if (b == 0) { | 374 | 1.57M | if (a > 0) | 375 | 1.57M | return 1; | 376 | 0 | else | 377 | 0 | return 0; | 378 | 1.57M | } | 379 | 16.6M | } | 380 | | | 381 | 44.3M | if (*q_a > q_b) { | 382 | 27.9M | a = (a >> ((*q_a) - q_b)); | 383 | 27.9M | } else { | 384 | 16.3M | b = (b >> (q_b - (*q_a))); | 385 | 16.3M | } | 386 | | | 387 | 44.3M | if (a > b) | 388 | 19.0M | return 1; | 389 | 25.2M | else | 390 | 25.2M | return 0; | 391 | 44.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 */ |