/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 | 4.68M | #define INV_SQRT_2_Q31 (1518500250) |
25 | 11.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 | 69.3M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { |
35 | 69.3M | WORD32 temp_1, temp_2; |
36 | 69.3M | temp_1 = (WORD32)(a >> 32); |
37 | 69.3M | temp_2 = ixheaac_norm32(temp_1); |
38 | 69.3M | if (temp_2 < 31) { |
39 | 45.7M | return (32 - temp_2); |
40 | 45.7M | } else { |
41 | 23.5M | temp_2 = (WORD32)(a); |
42 | 23.5M | if ((temp_1 ^ temp_2) < 0) { |
43 | 575k | return 1; |
44 | 22.9M | } else { |
45 | 22.9M | return 0; |
46 | 22.9M | } |
47 | 23.5M | } |
48 | 69.3M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_get_rshift_bits ixheaacd_mps_decorr.c:ixheaacd_mps_get_rshift_bits Line | Count | Source | 34 | 46.6M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 46.6M | WORD32 temp_1, temp_2; | 36 | 46.6M | temp_1 = (WORD32)(a >> 32); | 37 | 46.6M | temp_2 = ixheaac_norm32(temp_1); | 38 | 46.6M | if (temp_2 < 31) { | 39 | 35.1M | return (32 - temp_2); | 40 | 35.1M | } else { | 41 | 11.4M | temp_2 = (WORD32)(a); | 42 | 11.4M | if ((temp_1 ^ temp_2) < 0) { | 43 | 92.4k | return 1; | 44 | 11.3M | } else { | 45 | 11.3M | return 0; | 46 | 11.3M | } | 47 | 11.4M | } | 48 | 46.6M | } |
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 | 10.8M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 10.8M | WORD32 temp_1, temp_2; | 36 | 10.8M | temp_1 = (WORD32)(a >> 32); | 37 | 10.8M | temp_2 = ixheaac_norm32(temp_1); | 38 | 10.8M | if (temp_2 < 31) { | 39 | 7.62M | return (32 - temp_2); | 40 | 7.62M | } else { | 41 | 3.18M | temp_2 = (WORD32)(a); | 42 | 3.18M | if ((temp_1 ^ temp_2) < 0) { | 43 | 23.6k | return 1; | 44 | 3.16M | } else { | 45 | 3.16M | return 0; | 46 | 3.16M | } | 47 | 3.18M | } | 48 | 10.8M | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_get_rshift_bits Line | Count | Source | 34 | 11.8M | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 11.8M | WORD32 temp_1, temp_2; | 36 | 11.8M | temp_1 = (WORD32)(a >> 32); | 37 | 11.8M | temp_2 = ixheaac_norm32(temp_1); | 38 | 11.8M | if (temp_2 < 31) { | 39 | 2.96M | return (32 - temp_2); | 40 | 8.88M | } else { | 41 | 8.88M | temp_2 = (WORD32)(a); | 42 | 8.88M | if ((temp_1 ^ temp_2) < 0) { | 43 | 459k | return 1; | 44 | 8.42M | } else { | 45 | 8.42M | return 0; | 46 | 8.42M | } | 47 | 8.88M | } | 48 | 11.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 | 885 | static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) { | 35 | 885 | WORD32 temp_1, temp_2; | 36 | 885 | temp_1 = (WORD32)(a >> 32); | 37 | 885 | temp_2 = ixheaac_norm32(temp_1); | 38 | 885 | if (temp_2 < 31) { | 39 | 0 | return (32 - temp_2); | 40 | 885 | } else { | 41 | 885 | temp_2 = (WORD32)(a); | 42 | 885 | if ((temp_1 ^ temp_2) < 0) { | 43 | 0 | return 1; | 44 | 885 | } else { | 45 | 885 | return 0; | 46 | 885 | } | 47 | 885 | } | 48 | 885 | } |
|
49 | | |
50 | 57.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) { |
51 | 57.4M | WORD32 x; |
52 | 57.4M | x = ixheaacd_mps_get_rshift_bits(a); |
53 | 57.4M | *qfac = 20 - x; |
54 | 57.4M | return (WORD32)((WORD64)a >> x); |
55 | 57.4M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_narrow ixheaacd_mps_decorr.c:ixheaacd_mps_narrow Line | Count | Source | 50 | 46.6M | static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) { | 51 | 46.6M | WORD32 x; | 52 | 46.6M | x = ixheaacd_mps_get_rshift_bits(a); | 53 | 46.6M | *qfac = 20 - x; | 54 | 46.6M | return (WORD32)((WORD64)a >> x); | 55 | 46.6M | } |
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 | 10.8M | static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) { | 51 | 10.8M | WORD32 x; | 52 | 10.8M | x = ixheaacd_mps_get_rshift_bits(a); | 53 | 10.8M | *qfac = 20 - x; | 54 | 10.8M | return (WORD32)((WORD64)a >> x); | 55 | 10.8M | } |
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 | 11.6M | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { |
58 | 11.6M | WORD32 index, answer, temp; |
59 | 11.6M | WORD k; |
60 | | |
61 | 11.6M | if (num == 0) return 0; |
62 | | |
63 | 11.3M | k = ixheaac_norm32(num); |
64 | 11.3M | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); |
65 | 11.3M | *q += k; |
66 | 11.3M | index = temp & 0x1FF; |
67 | 11.3M | answer = sqrt_tab[index]; |
68 | 11.3M | if (*q & 1) { |
69 | 4.68M | *q -= 1; |
70 | 4.68M | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); |
71 | 4.68M | } |
72 | 11.3M | *q = *q >> 1; |
73 | 11.3M | *q += Q_SQRT_TAB; |
74 | 11.3M | return answer; |
75 | 11.6M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_sqrt ixheaacd_mps_decorr.c:ixheaacd_mps_sqrt Line | Count | Source | 57 | 10.0M | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 10.0M | WORD32 index, answer, temp; | 59 | 10.0M | WORD k; | 60 | | | 61 | 10.0M | if (num == 0) return 0; | 62 | | | 63 | 10.0M | k = ixheaac_norm32(num); | 64 | 10.0M | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 10.0M | *q += k; | 66 | 10.0M | index = temp & 0x1FF; | 67 | 10.0M | answer = sqrt_tab[index]; | 68 | 10.0M | if (*q & 1) { | 69 | 4.04M | *q -= 1; | 70 | 4.04M | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 4.04M | } | 72 | 10.0M | *q = *q >> 1; | 73 | 10.0M | *q += Q_SQRT_TAB; | 74 | 10.0M | return answer; | 75 | 10.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 | 444k | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 444k | WORD32 index, answer, temp; | 59 | 444k | WORD k; | 60 | | | 61 | 444k | if (num == 0) return 0; | 62 | | | 63 | 374k | k = ixheaac_norm32(num); | 64 | 374k | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 374k | *q += k; | 66 | 374k | index = temp & 0x1FF; | 67 | 374k | answer = sqrt_tab[index]; | 68 | 374k | if (*q & 1) { | 69 | 195k | *q -= 1; | 70 | 195k | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 195k | } | 72 | 374k | *q = *q >> 1; | 73 | 374k | *q += Q_SQRT_TAB; | 74 | 374k | return answer; | 75 | 444k | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_sqrt Line | Count | Source | 57 | 742k | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 742k | WORD32 index, answer, temp; | 59 | 742k | WORD k; | 60 | | | 61 | 742k | if (num == 0) return 0; | 62 | | | 63 | 599k | k = ixheaac_norm32(num); | 64 | 599k | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 599k | *q += k; | 66 | 599k | index = temp & 0x1FF; | 67 | 599k | answer = sqrt_tab[index]; | 68 | 599k | if (*q & 1) { | 69 | 294k | *q -= 1; | 70 | 294k | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 294k | } | 72 | 599k | *q = *q >> 1; | 73 | 599k | *q += Q_SQRT_TAB; | 74 | 599k | return answer; | 75 | 742k | } |
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 | 405k | static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) { | 58 | 405k | WORD32 index, answer, temp; | 59 | 405k | WORD k; | 60 | | | 61 | 405k | if (num == 0) return 0; | 62 | | | 63 | 376k | k = ixheaac_norm32(num); | 64 | 376k | temp = ixheaac_shr32(ixheaac_shl32(num, k), 21); | 65 | 376k | *q += k; | 66 | 376k | index = temp & 0x1FF; | 67 | 376k | answer = sqrt_tab[index]; | 68 | 376k | if (*q & 1) { | 69 | 144k | *q -= 1; | 70 | 144k | answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31); | 71 | 144k | } | 72 | 376k | *q = *q >> 1; | 73 | 376k | *q += Q_SQRT_TAB; | 74 | 376k | return answer; | 75 | 405k | } |
|
76 | | |
77 | | static PLATFORM_INLINE WORD32 ixheaacd_mps_reshape_add32(WORD32 op1, WORD32 op2, WORD16 *qop1, |
78 | 34.5M | WORD16 qop2) { |
79 | 34.5M | WORD64 tempresult; |
80 | 34.5M | if (0 == op2) { |
81 | 8.88M | return op1; |
82 | 8.88M | } |
83 | 25.6M | if (0 == op1) { |
84 | 1.84M | *qop1 = qop2; |
85 | 1.84M | return op2; |
86 | 1.84M | } |
87 | 23.8M | if (*qop1 < qop2) { |
88 | 16.9M | if ((qop2 - *qop1) > 31) |
89 | 54.6k | op2 = 0; |
90 | 16.9M | else |
91 | 16.9M | op2 = op2 >> (qop2 - *qop1); |
92 | 16.9M | tempresult = (WORD64)op1 + (WORD64)op2; |
93 | 16.9M | } else { |
94 | 6.84M | if ((*qop1 - qop2) > 31) |
95 | 13.4k | op1 = 0; |
96 | 6.83M | else |
97 | 6.83M | op1 = op1 >> (*qop1 - qop2); |
98 | 6.84M | *qop1 = qop2; |
99 | 6.84M | tempresult = (WORD64)op1 + (WORD64)op2; |
100 | 6.84M | } |
101 | 23.8M | if (tempresult > (WORD32)0x7fffffff || tempresult < (WORD32)0x80000000) { |
102 | 4.89M | tempresult = tempresult >> 1; |
103 | 4.89M | *qop1 -= 1; |
104 | 4.89M | } |
105 | 23.8M | return (WORD32)tempresult; |
106 | 25.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 | 34.5M | WORD16 qop2) { | 79 | 34.5M | WORD64 tempresult; | 80 | 34.5M | if (0 == op2) { | 81 | 8.88M | return op1; | 82 | 8.88M | } | 83 | 25.6M | if (0 == op1) { | 84 | 1.84M | *qop1 = qop2; | 85 | 1.84M | return op2; | 86 | 1.84M | } | 87 | 23.8M | if (*qop1 < qop2) { | 88 | 16.9M | if ((qop2 - *qop1) > 31) | 89 | 54.6k | op2 = 0; | 90 | 16.9M | else | 91 | 16.9M | op2 = op2 >> (qop2 - *qop1); | 92 | 16.9M | tempresult = (WORD64)op1 + (WORD64)op2; | 93 | 16.9M | } else { | 94 | 6.84M | if ((*qop1 - qop2) > 31) | 95 | 13.4k | op1 = 0; | 96 | 6.83M | else | 97 | 6.83M | op1 = op1 >> (*qop1 - qop2); | 98 | 6.84M | *qop1 = qop2; | 99 | 6.84M | tempresult = (WORD64)op1 + (WORD64)op2; | 100 | 6.84M | } | 101 | 23.8M | if (tempresult > (WORD32)0x7fffffff || tempresult < (WORD32)0x80000000) { | 102 | 4.89M | tempresult = tempresult >> 1; | 103 | 4.89M | *qop1 -= 1; | 104 | 4.89M | } | 105 | 23.8M | return (WORD32)tempresult; | 106 | 25.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 | 95.2M | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { |
109 | 95.2M | WORD64 temp_result; |
110 | | |
111 | 95.2M | if (a == 0 || b == 0) { |
112 | 46.7M | if (b == 0) { |
113 | 45.3M | return a; |
114 | 45.3M | } else { |
115 | 1.34M | *q_a = q_b; |
116 | 1.34M | return b; |
117 | 1.34M | } |
118 | 46.7M | } |
119 | 48.4M | if (*q_a > q_b) { |
120 | 2.04M | if (((*q_a) - q_b) > 31) { |
121 | 4.13k | a = 0; |
122 | 4.13k | *q_a = q_b; |
123 | 2.04M | } else { |
124 | 2.04M | a = (a >> ((*q_a) - q_b)); |
125 | 2.04M | *q_a = q_b; |
126 | 2.04M | } |
127 | 46.4M | } else { |
128 | 46.4M | if ((q_b - (*q_a)) > 31) { |
129 | 127k | b = 0; |
130 | 46.3M | } else { |
131 | 46.3M | b = (b >> (q_b - (*q_a))); |
132 | 46.3M | q_b = *q_a; |
133 | 46.3M | } |
134 | 46.4M | } |
135 | 48.4M | temp_result = (WORD64)a + (WORD64)b; |
136 | 48.4M | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { |
137 | 2.31M | temp_result = temp_result >> 1; |
138 | 2.31M | *q_a -= 1; |
139 | 2.31M | } |
140 | | |
141 | 48.4M | return (WORD32)temp_result; |
142 | 95.2M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_add32 ixheaacd_mps_decorr.c:ixheaacd_mps_add32 Line | Count | Source | 108 | 46.6M | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 46.6M | WORD64 temp_result; | 110 | | | 111 | 46.6M | if (a == 0 || b == 0) { | 112 | 10.6M | if (b == 0) { | 113 | 10.3M | return a; | 114 | 10.3M | } else { | 115 | 324k | *q_a = q_b; | 116 | 324k | return b; | 117 | 324k | } | 118 | 10.6M | } | 119 | 36.0M | if (*q_a > q_b) { | 120 | 1.27M | if (((*q_a) - q_b) > 31) { | 121 | 1.46k | a = 0; | 122 | 1.46k | *q_a = q_b; | 123 | 1.27M | } else { | 124 | 1.27M | a = (a >> ((*q_a) - q_b)); | 125 | 1.27M | *q_a = q_b; | 126 | 1.27M | } | 127 | 34.7M | } else { | 128 | 34.7M | if ((q_b - (*q_a)) > 31) { | 129 | 125k | b = 0; | 130 | 34.6M | } else { | 131 | 34.6M | b = (b >> (q_b - (*q_a))); | 132 | 34.6M | q_b = *q_a; | 133 | 34.6M | } | 134 | 34.7M | } | 135 | 36.0M | temp_result = (WORD64)a + (WORD64)b; | 136 | 36.0M | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 137 | 1.10M | temp_result = temp_result >> 1; | 138 | 1.10M | *q_a -= 1; | 139 | 1.10M | } | 140 | | | 141 | 36.0M | return (WORD32)temp_result; | 142 | 46.6M | } |
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 | 54.8k | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 54.8k | WORD64 temp_result; | 110 | | | 111 | 54.8k | if (a == 0 || b == 0) { | 112 | 33.5k | if (b == 0) { | 113 | 29 | return a; | 114 | 33.4k | } else { | 115 | 33.4k | *q_a = q_b; | 116 | 33.4k | return b; | 117 | 33.4k | } | 118 | 33.5k | } | 119 | 21.2k | if (*q_a > q_b) { | 120 | 6.14k | if (((*q_a) - q_b) > 31) { | 121 | 269 | a = 0; | 122 | 269 | *q_a = q_b; | 123 | 5.87k | } else { | 124 | 5.87k | a = (a >> ((*q_a) - q_b)); | 125 | 5.87k | *q_a = q_b; | 126 | 5.87k | } | 127 | 15.1k | } else { | 128 | 15.1k | if ((q_b - (*q_a)) > 31) { | 129 | 0 | b = 0; | 130 | 15.1k | } else { | 131 | 15.1k | b = (b >> (q_b - (*q_a))); | 132 | 15.1k | q_b = *q_a; | 133 | 15.1k | } | 134 | 15.1k | } | 135 | 21.2k | temp_result = (WORD64)a + (WORD64)b; | 136 | 21.2k | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 137 | 37 | temp_result = temp_result >> 1; | 138 | 37 | *q_a -= 1; | 139 | 37 | } | 140 | | | 141 | 21.2k | return (WORD32)temp_result; | 142 | 54.8k | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_add32 Line | Count | Source | 108 | 48.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 48.4M | WORD64 temp_result; | 110 | | | 111 | 48.4M | if (a == 0 || b == 0) { | 112 | 36.0M | if (b == 0) { | 113 | 35.0M | return a; | 114 | 35.0M | } else { | 115 | 988k | *q_a = q_b; | 116 | 988k | return b; | 117 | 988k | } | 118 | 36.0M | } | 119 | 12.4M | if (*q_a > q_b) { | 120 | 769k | if (((*q_a) - q_b) > 31) { | 121 | 2.40k | a = 0; | 122 | 2.40k | *q_a = q_b; | 123 | 767k | } else { | 124 | 767k | a = (a >> ((*q_a) - q_b)); | 125 | 767k | *q_a = q_b; | 126 | 767k | } | 127 | 11.6M | } else { | 128 | 11.6M | if ((q_b - (*q_a)) > 31) { | 129 | 2.31k | b = 0; | 130 | 11.6M | } else { | 131 | 11.6M | b = (b >> (q_b - (*q_a))); | 132 | 11.6M | q_b = *q_a; | 133 | 11.6M | } | 134 | 11.6M | } | 135 | 12.4M | temp_result = (WORD64)a + (WORD64)b; | 136 | 12.4M | if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 137 | 1.21M | temp_result = temp_result >> 1; | 138 | 1.21M | *q_a -= 1; | 139 | 1.21M | } | 140 | | | 141 | 12.4M | return (WORD32)temp_result; | 142 | 48.4M | } |
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.26k | static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 109 | 1.26k | WORD64 temp_result; | 110 | | | 111 | 1.26k | if (a == 0 || b == 0) { | 112 | 778 | if (b == 0) { | 113 | 0 | return a; | 114 | 778 | } else { | 115 | 778 | *q_a = q_b; | 116 | 778 | return b; | 117 | 778 | } | 118 | 778 | } | 119 | 490 | 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 | 490 | } else { | 128 | 490 | if ((q_b - (*q_a)) > 31) { | 129 | 0 | b = 0; | 130 | 490 | } else { | 131 | 490 | b = (b >> (q_b - (*q_a))); | 132 | 490 | q_b = *q_a; | 133 | 490 | } | 134 | 490 | } | 135 | 490 | temp_result = (WORD64)a + (WORD64)b; | 136 | 490 | 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 | 490 | return (WORD32)temp_result; | 142 | 1.26k | } |
|
143 | | |
144 | 60.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { |
145 | 60.4M | WORD64 temp_result; |
146 | 60.4M | WORD32 temp; |
147 | | |
148 | 60.4M | if (a == 0 || b == 0) { |
149 | 48.5M | temp_result = 0; |
150 | 48.5M | *q_a = 15; |
151 | 48.5M | return (WORD32)temp_result; |
152 | 48.5M | } |
153 | | |
154 | 11.8M | *q_a = *q_a + q_b; |
155 | | |
156 | 11.8M | temp_result = (WORD64)a * (WORD64)b; |
157 | 11.8M | temp = ixheaacd_mps_get_rshift_bits(temp_result); |
158 | 11.8M | if (0 != temp) { |
159 | 3.42M | *q_a -= temp; |
160 | 3.42M | temp_result = temp_result >> temp; |
161 | 3.42M | } |
162 | | |
163 | 11.8M | return (WORD32)temp_result; |
164 | 60.4M | } 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 | 60.4M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 145 | 60.4M | WORD64 temp_result; | 146 | 60.4M | WORD32 temp; | 147 | | | 148 | 60.4M | if (a == 0 || b == 0) { | 149 | 48.5M | temp_result = 0; | 150 | 48.5M | *q_a = 15; | 151 | 48.5M | return (WORD32)temp_result; | 152 | 48.5M | } | 153 | | | 154 | 11.8M | *q_a = *q_a + q_b; | 155 | | | 156 | 11.8M | temp_result = (WORD64)a * (WORD64)b; | 157 | 11.8M | temp = ixheaacd_mps_get_rshift_bits(temp_result); | 158 | 11.8M | if (0 != temp) { | 159 | 3.42M | *q_a -= temp; | 160 | 3.42M | temp_result = temp_result >> temp; | 161 | 3.42M | } | 162 | | | 163 | 11.8M | return (WORD32)temp_result; | 164 | 60.4M | } |
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 | 2.48k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 145 | 2.48k | WORD64 temp_result; | 146 | 2.48k | WORD32 temp; | 147 | | | 148 | 2.48k | if (a == 0 || b == 0) { | 149 | 1.60k | temp_result = 0; | 150 | 1.60k | *q_a = 15; | 151 | 1.60k | return (WORD32)temp_result; | 152 | 1.60k | } | 153 | | | 154 | 885 | *q_a = *q_a + q_b; | 155 | | | 156 | 885 | temp_result = (WORD64)a * (WORD64)b; | 157 | 885 | temp = ixheaacd_mps_get_rshift_bits(temp_result); | 158 | 885 | if (0 != temp) { | 159 | 0 | *q_a -= temp; | 160 | 0 | temp_result = temp_result >> temp; | 161 | 0 | } | 162 | | | 163 | 885 | return (WORD32)temp_result; | 164 | 2.48k | } |
|
165 | | |
166 | | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x32(WORD32 a, WORD32 b, WORD16 *q_a, |
167 | 1.19M | WORD16 q_b) { |
168 | 1.19M | WORD64 temp_result; |
169 | 1.19M | if (a == 0 || b == 0) { |
170 | 306k | temp_result = 0; |
171 | 306k | *q_a = 15; |
172 | 306k | return (WORD32)temp_result; |
173 | 306k | } |
174 | 885k | *q_a = *q_a + q_b; |
175 | | |
176 | 885k | temp_result = (WORD64)a * (WORD64)b; |
177 | 22.5M | while (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { |
178 | 21.6M | temp_result = temp_result >> 1; |
179 | 21.6M | *q_a -= 1; |
180 | 21.6M | } |
181 | | |
182 | 885k | return (WORD32)temp_result; |
183 | 1.19M | } 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.19M | WORD16 q_b) { | 168 | 1.19M | WORD64 temp_result; | 169 | 1.19M | if (a == 0 || b == 0) { | 170 | 306k | temp_result = 0; | 171 | 306k | *q_a = 15; | 172 | 306k | return (WORD32)temp_result; | 173 | 306k | } | 174 | 885k | *q_a = *q_a + q_b; | 175 | | | 176 | 885k | temp_result = (WORD64)a * (WORD64)b; | 177 | 22.5M | while (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) { | 178 | 21.6M | temp_result = temp_result >> 1; | 179 | 21.6M | *q_a -= 1; | 180 | 21.6M | } | 181 | | | 182 | 885k | return (WORD32)temp_result; | 183 | 1.19M | } |
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 | 43.0M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) { |
186 | 43.0M | WORD32 result; |
187 | 43.0M | WORD64 temp_result; |
188 | | |
189 | 43.0M | temp_result = (WORD64)a * (WORD64)b; |
190 | 43.0M | result = (WORD32)(temp_result >> n); |
191 | | |
192 | 43.0M | return (result); |
193 | 43.0M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_n ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_n Line | Count | Source | 185 | 42.8M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) { | 186 | 42.8M | WORD32 result; | 187 | 42.8M | WORD64 temp_result; | 188 | | | 189 | 42.8M | temp_result = (WORD64)a * (WORD64)b; | 190 | 42.8M | result = (WORD32)(temp_result >> n); | 191 | | | 192 | 42.8M | return (result); | 193 | 42.8M | } |
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 | 148k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) { | 186 | 148k | WORD32 result; | 187 | 148k | WORD64 temp_result; | 188 | | | 189 | 148k | temp_result = (WORD64)a * (WORD64)b; | 190 | 148k | result = (WORD32)(temp_result >> n); | 191 | | | 192 | 148k | return (result); | 193 | 148k | } |
|
194 | | |
195 | 1.55G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { |
196 | 1.55G | WORD32 result; |
197 | 1.55G | WORD64 temp_result; |
198 | | |
199 | 1.55G | temp_result = (WORD64)a * (WORD64)b; |
200 | 1.55G | result = (WORD32)(temp_result >> 30); |
201 | | |
202 | 1.55G | return (result); |
203 | 1.55G | } 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 | 2.32M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 2.32M | WORD32 result; | 197 | 2.32M | WORD64 temp_result; | 198 | | | 199 | 2.32M | temp_result = (WORD64)a * (WORD64)b; | 200 | 2.32M | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 2.32M | return (result); | 203 | 2.32M | } |
ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 1.55G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 1.55G | WORD32 result; | 197 | 1.55G | WORD64 temp_result; | 198 | | | 199 | 1.55G | temp_result = (WORD64)a * (WORD64)b; | 200 | 1.55G | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 1.55G | return (result); | 203 | 1.55G | } |
ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 1.08M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 1.08M | WORD32 result; | 197 | 1.08M | WORD64 temp_result; | 198 | | | 199 | 1.08M | temp_result = (WORD64)a * (WORD64)b; | 200 | 1.08M | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 1.08M | return (result); | 203 | 1.08M | } |
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 | 149k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 149k | WORD32 result; | 197 | 149k | WORD64 temp_result; | 198 | | | 199 | 149k | temp_result = (WORD64)a * (WORD64)b; | 200 | 149k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 149k | return (result); | 203 | 149k | } |
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 | 16.5k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 16.5k | WORD32 result; | 197 | 16.5k | WORD64 temp_result; | 198 | | | 199 | 16.5k | temp_result = (WORD64)a * (WORD64)b; | 200 | 16.5k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 16.5k | return (result); | 203 | 16.5k | } |
ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_30 Line | Count | Source | 195 | 11.0k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 11.0k | WORD32 result; | 197 | 11.0k | WORD64 temp_result; | 198 | | | 199 | 11.0k | temp_result = (WORD64)a * (WORD64)b; | 200 | 11.0k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 11.0k | return (result); | 203 | 11.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 | 50.9k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) { | 196 | 50.9k | WORD32 result; | 197 | 50.9k | WORD64 temp_result; | 198 | | | 199 | 50.9k | temp_result = (WORD64)a * (WORD64)b; | 200 | 50.9k | result = (WORD32)(temp_result >> 30); | 201 | | | 202 | 50.9k | return (result); | 203 | 50.9k | } |
|
204 | | |
205 | 27.4k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_16(WORD32 a, WORD32 b) { |
206 | 27.4k | WORD32 result; |
207 | 27.4k | WORD64 temp_result; |
208 | | |
209 | 27.4k | temp_result = (WORD64)a * (WORD64)b; |
210 | 27.4k | result = (WORD32)(temp_result >> 16); |
211 | 27.4k | return (result); |
212 | 27.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 | 27.4k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_16(WORD32 a, WORD32 b) { | 206 | 27.4k | WORD32 result; | 207 | 27.4k | WORD64 temp_result; | 208 | | | 209 | 27.4k | temp_result = (WORD64)a * (WORD64)b; | 210 | 27.4k | result = (WORD32)(temp_result >> 16); | 211 | 27.4k | return (result); | 212 | 27.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 | 2.02G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) { |
215 | 2.02G | WORD32 result; |
216 | 2.02G | WORD64 temp_result; |
217 | 2.02G | temp_result = (WORD64)a * (WORD64)b; |
218 | 2.02G | result = (WORD32)(temp_result >> 16); |
219 | 2.02G | return (result); |
220 | 2.02G | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32x16_shr_16 ixheaacd_mps_decorr.c:ixheaacd_mps_mult32x16_shr_16 Line | Count | Source | 214 | 1.97G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) { | 215 | 1.97G | WORD32 result; | 216 | 1.97G | WORD64 temp_result; | 217 | 1.97G | temp_result = (WORD64)a * (WORD64)b; | 218 | 1.97G | result = (WORD32)(temp_result >> 16); | 219 | 1.97G | return (result); | 220 | 1.97G | } |
ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32x16_shr_16 Line | Count | Source | 214 | 40.3M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) { | 215 | 40.3M | WORD32 result; | 216 | 40.3M | WORD64 temp_result; | 217 | 40.3M | temp_result = (WORD64)a * (WORD64)b; | 218 | 40.3M | result = (WORD32)(temp_result >> 16); | 219 | 40.3M | return (result); | 220 | 40.3M | } |
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 | 1.53G | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { |
223 | 1.53G | WORD32 result; |
224 | 1.53G | WORD64 temp_result; |
225 | 1.53G | temp_result = (WORD64)a * (WORD64)b; |
226 | 1.53G | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); |
227 | | |
228 | 1.53G | return (result); |
229 | 1.53G | } ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 96.3M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 96.3M | WORD32 result; | 224 | 96.3M | WORD64 temp_result; | 225 | 96.3M | temp_result = (WORD64)a * (WORD64)b; | 226 | 96.3M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 96.3M | return (result); | 229 | 96.3M | } |
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 | 91.0M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 91.0M | WORD32 result; | 224 | 91.0M | WORD64 temp_result; | 225 | 91.0M | temp_result = (WORD64)a * (WORD64)b; | 226 | 91.0M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 91.0M | return (result); | 229 | 91.0M | } |
ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 109M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 109M | WORD32 result; | 224 | 109M | WORD64 temp_result; | 225 | 109M | temp_result = (WORD64)a * (WORD64)b; | 226 | 109M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 109M | return (result); | 229 | 109M | } |
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 | 2.76M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 2.76M | WORD32 result; | 224 | 2.76M | WORD64 temp_result; | 225 | 2.76M | temp_result = (WORD64)a * (WORD64)b; | 226 | 2.76M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 2.76M | return (result); | 229 | 2.76M | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 8.23M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 8.23M | WORD32 result; | 224 | 8.23M | WORD64 temp_result; | 225 | 8.23M | temp_result = (WORD64)a * (WORD64)b; | 226 | 8.23M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 8.23M | return (result); | 229 | 8.23M | } |
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 | 663M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 663M | WORD32 result; | 224 | 663M | WORD64 temp_result; | 225 | 663M | temp_result = (WORD64)a * (WORD64)b; | 226 | 663M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 663M | return (result); | 229 | 663M | } |
ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 556M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 556M | WORD32 result; | 224 | 556M | WORD64 temp_result; | 225 | 556M | temp_result = (WORD64)a * (WORD64)b; | 226 | 556M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 556M | return (result); | 229 | 556M | } |
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 | 693k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 693k | WORD32 result; | 224 | 693k | WORD64 temp_result; | 225 | 693k | temp_result = (WORD64)a * (WORD64)b; | 226 | 693k | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 693k | return (result); | 229 | 693k | } |
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 | 145k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 145k | WORD32 result; | 224 | 145k | WORD64 temp_result; | 225 | 145k | temp_result = (WORD64)a * (WORD64)b; | 226 | 145k | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 145k | return (result); | 229 | 145k | } |
ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_15 Line | Count | Source | 222 | 751k | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 751k | WORD32 result; | 224 | 751k | WORD64 temp_result; | 225 | 751k | temp_result = (WORD64)a * (WORD64)b; | 226 | 751k | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 751k | return (result); | 229 | 751k | } |
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 | 4.69M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) { | 223 | 4.69M | WORD32 result; | 224 | 4.69M | WORD64 temp_result; | 225 | 4.69M | temp_result = (WORD64)a * (WORD64)b; | 226 | 4.69M | result = (WORD32)ixheaac_sat64_32(temp_result >> 15); | 227 | | | 228 | 4.69M | return (result); | 229 | 4.69M | } |
|
230 | | |
231 | 96.2M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_14(WORD32 a, WORD32 b) { |
232 | 96.2M | WORD32 result; |
233 | 96.2M | WORD64 temp_result; |
234 | | |
235 | 96.2M | temp_result = (WORD64)a * (WORD64)b; |
236 | 96.2M | result = (WORD32)(temp_result >> 16); |
237 | 96.2M | result = result << 2; |
238 | | |
239 | 96.2M | return (result); |
240 | 96.2M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_14 ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_14 Line | Count | Source | 231 | 96.2M | static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_14(WORD32 a, WORD32 b) { | 232 | 96.2M | WORD32 result; | 233 | 96.2M | WORD64 temp_result; | 234 | | | 235 | 96.2M | temp_result = (WORD64)a * (WORD64)b; | 236 | 96.2M | result = (WORD32)(temp_result >> 16); | 237 | 96.2M | result = result << 2; | 238 | | | 239 | 96.2M | return (result); | 240 | 96.2M | } |
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 | 25.6M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { |
243 | 25.6M | WORD32 quotient; |
244 | 25.6M | UWORD32 mantissa_nr, mantissa_dr; |
245 | 25.6M | LOOPINDEX i; |
246 | 25.6M | WORD q_nr, q_dr; |
247 | | |
248 | 25.6M | quotient = 0; |
249 | | |
250 | 25.6M | if (0 == b) { |
251 | 3.43M | *q_format = 0; |
252 | 3.43M | return (a); |
253 | 3.43M | } |
254 | | |
255 | 22.1M | quotient = 0; |
256 | | |
257 | 22.1M | q_nr = ixheaac_norm32(a); |
258 | 22.1M | mantissa_nr = (UWORD32)a << (q_nr); |
259 | 22.1M | q_dr = ixheaac_norm32(b); |
260 | 22.1M | mantissa_dr = (UWORD32)b << (q_dr); |
261 | 22.1M | *q_format = (WORD)(30 + q_nr - q_dr); |
262 | | |
263 | 710M | for (i = 0; i < 31; i++) { |
264 | 688M | quotient <<= 1; |
265 | | |
266 | 688M | if (mantissa_nr >= mantissa_dr) { |
267 | 323M | mantissa_nr -= mantissa_dr; |
268 | 323M | quotient += 1; |
269 | 323M | } |
270 | 688M | mantissa_nr <<= 1; |
271 | 688M | } |
272 | | |
273 | 22.1M | if ((a ^ b) < 0) { |
274 | 293k | return -(quotient); |
275 | 293k | } |
276 | | |
277 | 21.9M | return quotient; |
278 | 22.1M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_div_32 ixheaacd_mps_decorr.c:ixheaacd_mps_div_32 Line | Count | Source | 242 | 12.7M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 12.7M | WORD32 quotient; | 244 | 12.7M | UWORD32 mantissa_nr, mantissa_dr; | 245 | 12.7M | LOOPINDEX i; | 246 | 12.7M | WORD q_nr, q_dr; | 247 | | | 248 | 12.7M | quotient = 0; | 249 | | | 250 | 12.7M | if (0 == b) { | 251 | 893k | *q_format = 0; | 252 | 893k | return (a); | 253 | 893k | } | 254 | | | 255 | 11.8M | quotient = 0; | 256 | | | 257 | 11.8M | q_nr = ixheaac_norm32(a); | 258 | 11.8M | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 11.8M | q_dr = ixheaac_norm32(b); | 260 | 11.8M | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 11.8M | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 378M | for (i = 0; i < 31; i++) { | 264 | 367M | quotient <<= 1; | 265 | | | 266 | 367M | if (mantissa_nr >= mantissa_dr) { | 267 | 184M | mantissa_nr -= mantissa_dr; | 268 | 184M | quotient += 1; | 269 | 184M | } | 270 | 367M | mantissa_nr <<= 1; | 271 | 367M | } | 272 | | | 273 | 11.8M | if ((a ^ b) < 0) { | 274 | 0 | return -(quotient); | 275 | 0 | } | 276 | | | 277 | 11.8M | return quotient; | 278 | 11.8M | } |
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 | 11.1M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 11.1M | WORD32 quotient; | 244 | 11.1M | UWORD32 mantissa_nr, mantissa_dr; | 245 | 11.1M | LOOPINDEX i; | 246 | 11.1M | WORD q_nr, q_dr; | 247 | | | 248 | 11.1M | quotient = 0; | 249 | | | 250 | 11.1M | if (0 == b) { | 251 | 2.47M | *q_format = 0; | 252 | 2.47M | return (a); | 253 | 2.47M | } | 254 | | | 255 | 8.71M | quotient = 0; | 256 | | | 257 | 8.71M | q_nr = ixheaac_norm32(a); | 258 | 8.71M | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 8.71M | q_dr = ixheaac_norm32(b); | 260 | 8.71M | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 8.71M | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 278M | for (i = 0; i < 31; i++) { | 264 | 270M | quotient <<= 1; | 265 | | | 266 | 270M | if (mantissa_nr >= mantissa_dr) { | 267 | 127M | mantissa_nr -= mantissa_dr; | 268 | 127M | quotient += 1; | 269 | 127M | } | 270 | 270M | mantissa_nr <<= 1; | 271 | 270M | } | 272 | | | 273 | 8.71M | if ((a ^ b) < 0) { | 274 | 293k | return -(quotient); | 275 | 293k | } | 276 | | | 277 | 8.41M | return quotient; | 278 | 8.71M | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_div_32 Line | Count | Source | 242 | 1.10M | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 1.10M | WORD32 quotient; | 244 | 1.10M | UWORD32 mantissa_nr, mantissa_dr; | 245 | 1.10M | LOOPINDEX i; | 246 | 1.10M | WORD q_nr, q_dr; | 247 | | | 248 | 1.10M | quotient = 0; | 249 | | | 250 | 1.10M | if (0 == b) { | 251 | 0 | *q_format = 0; | 252 | 0 | return (a); | 253 | 0 | } | 254 | | | 255 | 1.10M | quotient = 0; | 256 | | | 257 | 1.10M | q_nr = ixheaac_norm32(a); | 258 | 1.10M | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 1.10M | q_dr = ixheaac_norm32(b); | 260 | 1.10M | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 1.10M | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 35.4M | for (i = 0; i < 31; i++) { | 264 | 34.3M | quotient <<= 1; | 265 | | | 266 | 34.3M | if (mantissa_nr >= mantissa_dr) { | 267 | 5.44M | mantissa_nr -= mantissa_dr; | 268 | 5.44M | quotient += 1; | 269 | 5.44M | } | 270 | 34.3M | mantissa_nr <<= 1; | 271 | 34.3M | } | 272 | | | 273 | 1.10M | if ((a ^ b) < 0) { | 274 | 0 | return -(quotient); | 275 | 0 | } | 276 | | | 277 | 1.10M | return quotient; | 278 | 1.10M | } |
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 | 595k | static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) { | 243 | 595k | WORD32 quotient; | 244 | 595k | UWORD32 mantissa_nr, mantissa_dr; | 245 | 595k | LOOPINDEX i; | 246 | 595k | WORD q_nr, q_dr; | 247 | | | 248 | 595k | quotient = 0; | 249 | | | 250 | 595k | if (0 == b) { | 251 | 61.7k | *q_format = 0; | 252 | 61.7k | return (a); | 253 | 61.7k | } | 254 | | | 255 | 533k | quotient = 0; | 256 | | | 257 | 533k | q_nr = ixheaac_norm32(a); | 258 | 533k | mantissa_nr = (UWORD32)a << (q_nr); | 259 | 533k | q_dr = ixheaac_norm32(b); | 260 | 533k | mantissa_dr = (UWORD32)b << (q_dr); | 261 | 533k | *q_format = (WORD)(30 + q_nr - q_dr); | 262 | | | 263 | 17.0M | for (i = 0; i < 31; i++) { | 264 | 16.5M | quotient <<= 1; | 265 | | | 266 | 16.5M | if (mantissa_nr >= mantissa_dr) { | 267 | 5.52M | mantissa_nr -= mantissa_dr; | 268 | 5.52M | quotient += 1; | 269 | 5.52M | } | 270 | 16.5M | mantissa_nr <<= 1; | 271 | 16.5M | } | 272 | | | 273 | 533k | if ((a ^ b) < 0) { | 274 | 148 | return -(quotient); | 275 | 148 | } | 276 | | | 277 | 533k | return quotient; | 278 | 533k | } |
|
279 | | |
280 | 1.81M | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { |
281 | 1.81M | WORD64 result; |
282 | 1.81M | if (qtemp == n) |
283 | 676k | return temp; |
284 | 1.13M | else if (qtemp > n) |
285 | 979k | temp = (WORD32)((WORD64)temp >> (qtemp - n)); |
286 | 159k | else { |
287 | 159k | result = (WORD32)((WORD64)temp << (n - qtemp)); |
288 | 159k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { |
289 | 0 | return 0; |
290 | 0 | } else |
291 | 159k | temp = (WORD32)result; |
292 | 159k | } |
293 | 1.13M | return temp; |
294 | 1.81M | } 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 | 472k | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { | 281 | 472k | WORD64 result; | 282 | 472k | if (qtemp == n) | 283 | 26 | return temp; | 284 | 472k | else if (qtemp > n) | 285 | 448k | temp = (WORD32)((WORD64)temp >> (qtemp - n)); | 286 | 23.1k | else { | 287 | 23.1k | result = (WORD32)((WORD64)temp << (n - qtemp)); | 288 | 23.1k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { | 289 | 0 | return 0; | 290 | 0 | } else | 291 | 23.1k | temp = (WORD32)result; | 292 | 23.1k | } | 293 | 472k | return temp; | 294 | 472k | } |
ixheaacd_mps_temp_process.c:ixheaacd_mps_convert_to_qn Line | Count | Source | 280 | 749k | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { | 281 | 749k | WORD64 result; | 282 | 749k | if (qtemp == n) | 283 | 673k | return temp; | 284 | 76.5k | else if (qtemp > n) | 285 | 0 | temp = (WORD32)((WORD64)temp >> (qtemp - n)); | 286 | 76.5k | else { | 287 | 76.5k | result = (WORD32)((WORD64)temp << (n - qtemp)); | 288 | 76.5k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { | 289 | 0 | return 0; | 290 | 0 | } else | 291 | 76.5k | temp = (WORD32)result; | 292 | 76.5k | } | 293 | 76.5k | return temp; | 294 | 749k | } |
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 | 594k | static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) { | 281 | 594k | WORD64 result; | 282 | 594k | if (qtemp == n) | 283 | 2.98k | return temp; | 284 | 591k | else if (qtemp > n) | 285 | 530k | temp = (WORD32)((WORD64)temp >> (qtemp - n)); | 286 | 60.3k | else { | 287 | 60.3k | result = (WORD32)((WORD64)temp << (n - qtemp)); | 288 | 60.3k | if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) { | 289 | 0 | return 0; | 290 | 0 | } else | 291 | 60.3k | temp = (WORD32)result; | 292 | 60.3k | } | 293 | 591k | return temp; | 294 | 594k | } |
|
295 | | |
296 | 184k | static PLATFORM_INLINE WORD32 ixheaacd_mps_div32_in_q15(WORD32 num, WORD32 den) { |
297 | 184k | WORD32 quotient; |
298 | 184k | WORD16 q_quotient; |
299 | | |
300 | 184k | quotient = ixheaacd_mps_div_32(num, den, &q_quotient); |
301 | 184k | quotient = ixheaacd_mps_convert_to_qn(quotient, q_quotient, 15); |
302 | 184k | return quotient; |
303 | 184k | } 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 | 184k | static PLATFORM_INLINE WORD32 ixheaacd_mps_div32_in_q15(WORD32 num, WORD32 den) { | 297 | 184k | WORD32 quotient; | 298 | 184k | WORD16 q_quotient; | 299 | | | 300 | 184k | quotient = ixheaacd_mps_div_32(num, den, &q_quotient); | 301 | 184k | quotient = ixheaacd_mps_convert_to_qn(quotient, q_quotient, 15); | 302 | 184k | return quotient; | 303 | 184k | } |
|
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 | 38.1M | static PLATFORM_INLINE WORD32 ixheaacd_mps_comp(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { |
367 | 38.1M | if (a == 0 || b == 0) { |
368 | 9.76M | if (a == 0) { |
369 | 8.83M | if (b < 0) |
370 | 0 | return 1; |
371 | 8.83M | else |
372 | 8.83M | return 0; |
373 | 8.83M | } else if (b == 0) { |
374 | 922k | if (a > 0) |
375 | 922k | return 1; |
376 | 0 | else |
377 | 0 | return 0; |
378 | 922k | } |
379 | 9.76M | } |
380 | | |
381 | 28.4M | if (*q_a > q_b) { |
382 | 18.3M | a = (a >> ((*q_a) - q_b)); |
383 | 18.3M | } else { |
384 | 10.1M | b = (b >> (q_b - (*q_a))); |
385 | 10.1M | } |
386 | | |
387 | 28.4M | if (a > b) |
388 | 11.8M | return 1; |
389 | 16.5M | else |
390 | 16.5M | return 0; |
391 | 28.4M | } Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_comp ixheaacd_mps_decorr.c:ixheaacd_mps_comp Line | Count | Source | 366 | 38.1M | static PLATFORM_INLINE WORD32 ixheaacd_mps_comp(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) { | 367 | 38.1M | if (a == 0 || b == 0) { | 368 | 9.76M | if (a == 0) { | 369 | 8.83M | if (b < 0) | 370 | 0 | return 1; | 371 | 8.83M | else | 372 | 8.83M | return 0; | 373 | 8.83M | } else if (b == 0) { | 374 | 922k | if (a > 0) | 375 | 922k | return 1; | 376 | 0 | else | 377 | 0 | return 0; | 378 | 922k | } | 379 | 9.76M | } | 380 | | | 381 | 28.4M | if (*q_a > q_b) { | 382 | 18.3M | a = (a >> ((*q_a) - q_b)); | 383 | 18.3M | } else { | 384 | 10.1M | b = (b >> (q_b - (*q_a))); | 385 | 10.1M | } | 386 | | | 387 | 28.4M | if (a > b) | 388 | 11.8M | return 1; | 389 | 16.5M | else | 390 | 16.5M | return 0; | 391 | 28.4M | } |
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 */ |