Coverage Report

Created: 2026-10-14 07:21

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/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.60M
#define INV_SQRT_2_Q31 (1518500250)
25
17.9M
#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
108M
static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) {
35
108M
  WORD32 temp_1, temp_2;
36
108M
  temp_1 = (WORD32)(a >> 32);
37
108M
  temp_2 = ixheaac_norm32(temp_1);
38
108M
  if (temp_2 < 31) {
39
72.0M
    return (32 - temp_2);
40
72.0M
  } else {
41
36.3M
    temp_2 = (WORD32)(a);
42
36.3M
    if ((temp_1 ^ temp_2) < 0) {
43
908k
      return 1;
44
35.4M
    } else {
45
35.4M
      return 0;
46
35.4M
    }
47
36.3M
  }
48
108M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_get_rshift_bits
ixheaacd_mps_decorr.c:ixheaacd_mps_get_rshift_bits
Line
Count
Source
34
72.3M
static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) {
35
72.3M
  WORD32 temp_1, temp_2;
36
72.3M
  temp_1 = (WORD32)(a >> 32);
37
72.3M
  temp_2 = ixheaac_norm32(temp_1);
38
72.3M
  if (temp_2 < 31) {
39
54.7M
    return (32 - temp_2);
40
54.7M
  } else {
41
17.5M
    temp_2 = (WORD32)(a);
42
17.5M
    if ((temp_1 ^ temp_2) < 0) {
43
137k
      return 1;
44
17.4M
    } else {
45
17.4M
      return 0;
46
17.4M
    }
47
17.5M
  }
48
72.3M
}
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.7M
static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) {
35
15.7M
  WORD32 temp_1, temp_2;
36
15.7M
  temp_1 = (WORD32)(a >> 32);
37
15.7M
  temp_2 = ixheaac_norm32(temp_1);
38
15.7M
  if (temp_2 < 31) {
39
10.9M
    return (32 - temp_2);
40
10.9M
  } else {
41
4.84M
    temp_2 = (WORD32)(a);
42
4.84M
    if ((temp_1 ^ temp_2) < 0) {
43
35.7k
      return 1;
44
4.80M
    } else {
45
4.80M
      return 0;
46
4.80M
    }
47
4.84M
  }
48
15.7M
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_get_rshift_bits
Line
Count
Source
34
20.2M
static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) {
35
20.2M
  WORD32 temp_1, temp_2;
36
20.2M
  temp_1 = (WORD32)(a >> 32);
37
20.2M
  temp_2 = ixheaac_norm32(temp_1);
38
20.2M
  if (temp_2 < 31) {
39
6.36M
    return (32 - temp_2);
40
13.9M
  } else {
41
13.9M
    temp_2 = (WORD32)(a);
42
13.9M
    if ((temp_1 ^ temp_2) < 0) {
43
735k
      return 1;
44
13.1M
    } else {
45
13.1M
      return 0;
46
13.1M
    }
47
13.9M
  }
48
20.2M
}
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.52k
static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) {
35
1.52k
  WORD32 temp_1, temp_2;
36
1.52k
  temp_1 = (WORD32)(a >> 32);
37
1.52k
  temp_2 = ixheaac_norm32(temp_1);
38
1.52k
  if (temp_2 < 31) {
39
0
    return (32 - temp_2);
40
1.52k
  } else {
41
1.52k
    temp_2 = (WORD32)(a);
42
1.52k
    if ((temp_1 ^ temp_2) < 0) {
43
0
      return 1;
44
1.52k
    } else {
45
1.52k
      return 0;
46
1.52k
    }
47
1.52k
  }
48
1.52k
}
49
50
88.1M
static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) {
51
88.1M
  WORD32 x;
52
88.1M
  x = ixheaacd_mps_get_rshift_bits(a);
53
88.1M
  *qfac = 20 - x;
54
88.1M
  return (WORD32)((WORD64)a >> x);
55
88.1M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_narrow
ixheaacd_mps_decorr.c:ixheaacd_mps_narrow
Line
Count
Source
50
72.3M
static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) {
51
72.3M
  WORD32 x;
52
72.3M
  x = ixheaacd_mps_get_rshift_bits(a);
53
72.3M
  *qfac = 20 - x;
54
72.3M
  return (WORD32)((WORD64)a >> x);
55
72.3M
}
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.7M
static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) {
51
15.7M
  WORD32 x;
52
15.7M
  x = ixheaacd_mps_get_rshift_bits(a);
53
15.7M
  *qfac = 20 - x;
54
15.7M
  return (WORD32)((WORD64)a >> x);
55
15.7M
}
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.2M
static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) {
58
18.2M
  WORD32 index, answer, temp;
59
18.2M
  WORD k;
60
61
18.2M
  if (num == 0) return 0;
62
63
17.9M
  k = ixheaac_norm32(num);
64
17.9M
  temp = ixheaac_shr32(ixheaac_shl32(num, k), 21);
65
17.9M
  *q += k;
66
17.9M
  index = temp & 0x1FF;
67
17.9M
  answer = sqrt_tab[index];
68
17.9M
  if (*q & 1) {
69
7.60M
    *q -= 1;
70
7.60M
    answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31);
71
7.60M
  }
72
17.9M
  *q = *q >> 1;
73
17.9M
  *q += Q_SQRT_TAB;
74
17.9M
  return answer;
75
18.2M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_sqrt
ixheaacd_mps_decorr.c:ixheaacd_mps_sqrt
Line
Count
Source
57
15.8M
static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) {
58
15.8M
  WORD32 index, answer, temp;
59
15.8M
  WORD k;
60
61
15.8M
  if (num == 0) return 0;
62
63
15.8M
  k = ixheaac_norm32(num);
64
15.8M
  temp = ixheaac_shr32(ixheaac_shl32(num, k), 21);
65
15.8M
  *q += k;
66
15.8M
  index = temp & 0x1FF;
67
15.8M
  answer = sqrt_tab[index];
68
15.8M
  if (*q & 1) {
69
6.60M
    *q -= 1;
70
6.60M
    answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31);
71
6.60M
  }
72
15.8M
  *q = *q >> 1;
73
15.8M
  *q += Q_SQRT_TAB;
74
15.8M
  return answer;
75
15.8M
}
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
660k
static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) {
58
660k
  WORD32 index, answer, temp;
59
660k
  WORD k;
60
61
660k
  if (num == 0) return 0;
62
63
544k
  k = ixheaac_norm32(num);
64
544k
  temp = ixheaac_shr32(ixheaac_shl32(num, k), 21);
65
544k
  *q += k;
66
544k
  index = temp & 0x1FF;
67
544k
  answer = sqrt_tab[index];
68
544k
  if (*q & 1) {
69
283k
    *q -= 1;
70
283k
    answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31);
71
283k
  }
72
544k
  *q = *q >> 1;
73
544k
  *q += Q_SQRT_TAB;
74
544k
  return answer;
75
660k
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_sqrt
Line
Count
Source
57
1.16M
static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) {
58
1.16M
  WORD32 index, answer, temp;
59
1.16M
  WORD k;
60
61
1.16M
  if (num == 0) return 0;
62
63
975k
  k = ixheaac_norm32(num);
64
975k
  temp = ixheaac_shr32(ixheaac_shl32(num, k), 21);
65
975k
  *q += k;
66
975k
  index = temp & 0x1FF;
67
975k
  answer = sqrt_tab[index];
68
975k
  if (*q & 1) {
69
493k
    *q -= 1;
70
493k
    answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31);
71
493k
  }
72
975k
  *q = *q >> 1;
73
975k
  *q += Q_SQRT_TAB;
74
975k
  return answer;
75
1.16M
}
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
572k
static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) {
58
572k
  WORD32 index, answer, temp;
59
572k
  WORD k;
60
61
572k
  if (num == 0) return 0;
62
63
531k
  k = ixheaac_norm32(num);
64
531k
  temp = ixheaac_shr32(ixheaac_shl32(num, k), 21);
65
531k
  *q += k;
66
531k
  index = temp & 0x1FF;
67
531k
  answer = sqrt_tab[index];
68
531k
  if (*q & 1) {
69
224k
    *q -= 1;
70
224k
    answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31);
71
224k
  }
72
531k
  *q = *q >> 1;
73
531k
  *q += Q_SQRT_TAB;
74
531k
  return answer;
75
572k
}
76
77
static PLATFORM_INLINE WORD32 ixheaacd_mps_reshape_add32(WORD32 op1, WORD32 op2, WORD16 *qop1,
78
50.4M
                                                         WORD16 qop2) {
79
50.4M
  WORD64 tempresult;
80
50.4M
  if (0 == op2) {
81
13.5M
    return op1;
82
13.5M
  }
83
36.9M
  if (0 == op1) {
84
2.67M
    *qop1 = qop2;
85
2.67M
    return op2;
86
2.67M
  }
87
34.2M
  if (*qop1 < qop2) {
88
24.4M
    if ((qop2 - *qop1) > 31)
89
88.1k
      op2 = 0;
90
24.4M
    else
91
24.4M
      op2 = op2 >> (qop2 - *qop1);
92
24.4M
    tempresult = (WORD64)op1 + (WORD64)op2;
93
24.4M
  } else {
94
9.72M
    if ((*qop1 - qop2) > 31)
95
20.6k
      op1 = 0;
96
9.70M
    else
97
9.70M
      op1 = op1 >> (*qop1 - qop2);
98
9.72M
    *qop1 = qop2;
99
9.72M
    tempresult = (WORD64)op1 + (WORD64)op2;
100
9.72M
  }
101
34.2M
  if (tempresult > (WORD32)0x7fffffff || tempresult < (WORD32)0x80000000) {
102
7.02M
    tempresult = tempresult >> 1;
103
7.02M
    *qop1 -= 1;
104
7.02M
  }
105
34.2M
  return (WORD32)tempresult;
106
36.9M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_reshape_add32
ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_reshape_add32
Line
Count
Source
78
50.4M
                                                         WORD16 qop2) {
79
50.4M
  WORD64 tempresult;
80
50.4M
  if (0 == op2) {
81
13.5M
    return op1;
82
13.5M
  }
83
36.9M
  if (0 == op1) {
84
2.67M
    *qop1 = qop2;
85
2.67M
    return op2;
86
2.67M
  }
87
34.2M
  if (*qop1 < qop2) {
88
24.4M
    if ((qop2 - *qop1) > 31)
89
88.1k
      op2 = 0;
90
24.4M
    else
91
24.4M
      op2 = op2 >> (qop2 - *qop1);
92
24.4M
    tempresult = (WORD64)op1 + (WORD64)op2;
93
24.4M
  } else {
94
9.72M
    if ((*qop1 - qop2) > 31)
95
20.6k
      op1 = 0;
96
9.70M
    else
97
9.70M
      op1 = op1 >> (*qop1 - qop2);
98
9.72M
    *qop1 = qop2;
99
9.72M
    tempresult = (WORD64)op1 + (WORD64)op2;
100
9.72M
  }
101
34.2M
  if (tempresult > (WORD32)0x7fffffff || tempresult < (WORD32)0x80000000) {
102
7.02M
    tempresult = tempresult >> 1;
103
7.02M
    *qop1 -= 1;
104
7.02M
  }
105
34.2M
  return (WORD32)tempresult;
106
36.9M
}
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
148M
static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
109
148M
  WORD64 temp_result;
110
111
148M
  if (a == 0 || b == 0) {
112
71.7M
    if (b == 0) {
113
69.6M
      return a;
114
69.6M
    } else {
115
2.11M
      *q_a = q_b;
116
2.11M
      return b;
117
2.11M
    }
118
71.7M
  }
119
76.9M
  if (*q_a > q_b) {
120
3.57M
    if (((*q_a) - q_b) > 31) {
121
7.83k
      a = 0;
122
7.83k
      *q_a = q_b;
123
3.56M
    } else {
124
3.56M
      a = (a >> ((*q_a) - q_b));
125
3.56M
      *q_a = q_b;
126
3.56M
    }
127
73.3M
  } else {
128
73.3M
    if ((q_b - (*q_a)) > 31) {
129
230k
      b = 0;
130
73.1M
    } else {
131
73.1M
      b = (b >> (q_b - (*q_a)));
132
73.1M
      q_b = *q_a;
133
73.1M
    }
134
73.3M
  }
135
76.9M
  temp_result = (WORD64)a + (WORD64)b;
136
76.9M
  if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
137
4.21M
    temp_result = temp_result >> 1;
138
4.21M
    *q_a -= 1;
139
4.21M
  }
140
141
76.9M
  return (WORD32)temp_result;
142
148M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_add32
ixheaacd_mps_decorr.c:ixheaacd_mps_add32
Line
Count
Source
108
72.3M
static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
109
72.3M
  WORD64 temp_result;
110
111
72.3M
  if (a == 0 || b == 0) {
112
16.3M
    if (b == 0) {
113
15.8M
      return a;
114
15.8M
    } else {
115
521k
      *q_a = q_b;
116
521k
      return b;
117
521k
    }
118
16.3M
  }
119
55.9M
  if (*q_a > q_b) {
120
2.11M
    if (((*q_a) - q_b) > 31) {
121
2.24k
      a = 0;
122
2.24k
      *q_a = q_b;
123
2.11M
    } else {
124
2.11M
      a = (a >> ((*q_a) - q_b));
125
2.11M
      *q_a = q_b;
126
2.11M
    }
127
53.8M
  } else {
128
53.8M
    if ((q_b - (*q_a)) > 31) {
129
227k
      b = 0;
130
53.6M
    } else {
131
53.6M
      b = (b >> (q_b - (*q_a)));
132
53.6M
      q_b = *q_a;
133
53.6M
    }
134
53.8M
  }
135
55.9M
  temp_result = (WORD64)a + (WORD64)b;
136
55.9M
  if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
137
1.80M
    temp_result = temp_result >> 1;
138
1.80M
    *q_a -= 1;
139
1.80M
  }
140
141
55.9M
  return (WORD32)temp_result;
142
72.3M
}
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
94.6k
static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
109
94.6k
  WORD64 temp_result;
110
111
94.6k
  if (a == 0 || b == 0) {
112
57.8k
    if (b == 0) {
113
200
      return a;
114
57.6k
    } else {
115
57.6k
      *q_a = q_b;
116
57.6k
      return b;
117
57.6k
    }
118
57.8k
  }
119
36.8k
  if (*q_a > q_b) {
120
8.50k
    if (((*q_a) - q_b) > 31) {
121
243
      a = 0;
122
243
      *q_a = q_b;
123
8.26k
    } else {
124
8.26k
      a = (a >> ((*q_a) - q_b));
125
8.26k
      *q_a = q_b;
126
8.26k
    }
127
28.3k
  } else {
128
28.3k
    if ((q_b - (*q_a)) > 31) {
129
1
      b = 0;
130
28.3k
    } else {
131
28.3k
      b = (b >> (q_b - (*q_a)));
132
28.3k
      q_b = *q_a;
133
28.3k
    }
134
28.3k
  }
135
36.8k
  temp_result = (WORD64)a + (WORD64)b;
136
36.8k
  if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
137
48
    temp_result = temp_result >> 1;
138
48
    *q_a -= 1;
139
48
  }
140
141
36.8k
  return (WORD32)temp_result;
142
94.6k
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_add32
Line
Count
Source
108
76.2M
static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
109
76.2M
  WORD64 temp_result;
110
111
76.2M
  if (a == 0 || b == 0) {
112
55.3M
    if (b == 0) {
113
53.8M
      return a;
114
53.8M
    } else {
115
1.53M
      *q_a = q_b;
116
1.53M
      return b;
117
1.53M
    }
118
55.3M
  }
119
20.9M
  if (*q_a > q_b) {
120
1.44M
    if (((*q_a) - q_b) > 31) {
121
5.34k
      a = 0;
122
5.34k
      *q_a = q_b;
123
1.44M
    } else {
124
1.44M
      a = (a >> ((*q_a) - q_b));
125
1.44M
      *q_a = q_b;
126
1.44M
    }
127
19.4M
  } else {
128
19.4M
    if ((q_b - (*q_a)) > 31) {
129
3.81k
      b = 0;
130
19.4M
    } else {
131
19.4M
      b = (b >> (q_b - (*q_a)));
132
19.4M
      q_b = *q_a;
133
19.4M
    }
134
19.4M
  }
135
20.9M
  temp_result = (WORD64)a + (WORD64)b;
136
20.9M
  if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
137
2.40M
    temp_result = temp_result >> 1;
138
2.40M
    *q_a -= 1;
139
2.40M
  }
140
141
20.9M
  return (WORD32)temp_result;
142
76.2M
}
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.72k
static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
109
1.72k
  WORD64 temp_result;
110
111
1.72k
  if (a == 0 || b == 0) {
112
875
    if (b == 0) {
113
0
      return a;
114
875
    } else {
115
875
      *q_a = q_b;
116
875
      return b;
117
875
    }
118
875
  }
119
848
  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
848
  } else {
128
848
    if ((q_b - (*q_a)) > 31) {
129
0
      b = 0;
130
848
    } else {
131
848
      b = (b >> (q_b - (*q_a)));
132
848
      q_b = *q_a;
133
848
    }
134
848
  }
135
848
  temp_result = (WORD64)a + (WORD64)b;
136
848
  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
848
  return (WORD32)temp_result;
142
1.72k
}
143
144
95.0M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
145
95.0M
  WORD64 temp_result;
146
95.0M
  WORD32 temp;
147
148
95.0M
  if (a == 0 || b == 0) {
149
74.7M
    temp_result = 0;
150
74.7M
    *q_a = 15;
151
74.7M
    return (WORD32)temp_result;
152
74.7M
  }
153
154
20.2M
  *q_a = *q_a + q_b;
155
156
20.2M
  temp_result = (WORD64)a * (WORD64)b;
157
20.2M
  temp = ixheaacd_mps_get_rshift_bits(temp_result);
158
20.2M
  if (0 != temp) {
159
7.10M
    *q_a -= temp;
160
7.10M
    temp_result = temp_result >> temp;
161
7.10M
  }
162
163
20.2M
  return (WORD32)temp_result;
164
95.0M
}
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
95.0M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
145
95.0M
  WORD64 temp_result;
146
95.0M
  WORD32 temp;
147
148
95.0M
  if (a == 0 || b == 0) {
149
74.7M
    temp_result = 0;
150
74.7M
    *q_a = 15;
151
74.7M
    return (WORD32)temp_result;
152
74.7M
  }
153
154
20.2M
  *q_a = *q_a + q_b;
155
156
20.2M
  temp_result = (WORD64)a * (WORD64)b;
157
20.2M
  temp = ixheaacd_mps_get_rshift_bits(temp_result);
158
20.2M
  if (0 != temp) {
159
7.10M
    *q_a -= temp;
160
7.10M
    temp_result = temp_result >> temp;
161
7.10M
  }
162
163
20.2M
  return (WORD32)temp_result;
164
95.0M
}
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32
ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32
Line
Count
Source
144
3.73k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
145
3.73k
  WORD64 temp_result;
146
3.73k
  WORD32 temp;
147
148
3.73k
  if (a == 0 || b == 0) {
149
2.21k
    temp_result = 0;
150
2.21k
    *q_a = 15;
151
2.21k
    return (WORD32)temp_result;
152
2.21k
  }
153
154
1.52k
  *q_a = *q_a + q_b;
155
156
1.52k
  temp_result = (WORD64)a * (WORD64)b;
157
1.52k
  temp = ixheaacd_mps_get_rshift_bits(temp_result);
158
1.52k
  if (0 != temp) {
159
0
    *q_a -= temp;
160
0
    temp_result = temp_result >> temp;
161
0
  }
162
163
1.52k
  return (WORD32)temp_result;
164
3.73k
}
165
166
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x32(WORD32 a, WORD32 b, WORD16 *q_a,
167
1.73M
                                                     WORD16 q_b) {
168
1.73M
  WORD64 temp_result;
169
1.73M
  if (a == 0 || b == 0) {
170
466k
    temp_result = 0;
171
466k
    *q_a = 15;
172
466k
    return (WORD32)temp_result;
173
466k
  }
174
1.27M
  *q_a = *q_a + q_b;
175
176
1.27M
  temp_result = (WORD64)a * (WORD64)b;
177
32.3M
  while (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
178
31.0M
    temp_result = temp_result >> 1;
179
31.0M
    *q_a -= 1;
180
31.0M
  }
181
182
1.27M
  return (WORD32)temp_result;
183
1.73M
}
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.73M
                                                     WORD16 q_b) {
168
1.73M
  WORD64 temp_result;
169
1.73M
  if (a == 0 || b == 0) {
170
466k
    temp_result = 0;
171
466k
    *q_a = 15;
172
466k
    return (WORD32)temp_result;
173
466k
  }
174
1.27M
  *q_a = *q_a + q_b;
175
176
1.27M
  temp_result = (WORD64)a * (WORD64)b;
177
32.3M
  while (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
178
31.0M
    temp_result = temp_result >> 1;
179
31.0M
    *q_a -= 1;
180
31.0M
  }
181
182
1.27M
  return (WORD32)temp_result;
183
1.73M
}
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.1M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) {
186
68.1M
  WORD32 result;
187
68.1M
  WORD64 temp_result;
188
189
68.1M
  temp_result = (WORD64)a * (WORD64)b;
190
68.1M
  result = (WORD32)(temp_result >> n);
191
192
68.1M
  return (result);
193
68.1M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_n
ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_n
Line
Count
Source
185
67.8M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) {
186
67.8M
  WORD32 result;
187
67.8M
  WORD64 temp_result;
188
189
67.8M
  temp_result = (WORD64)a * (WORD64)b;
190
67.8M
  result = (WORD32)(temp_result >> n);
191
192
67.8M
  return (result);
193
67.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
286k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) {
186
286k
  WORD32 result;
187
286k
  WORD64 temp_result;
188
189
286k
  temp_result = (WORD64)a * (WORD64)b;
190
286k
  result = (WORD32)(temp_result >> n);
191
192
286k
  return (result);
193
286k
}
194
195
2.26G
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
2.26G
  WORD32 result;
197
2.26G
  WORD64 temp_result;
198
199
2.26G
  temp_result = (WORD64)a * (WORD64)b;
200
2.26G
  result = (WORD32)(temp_result >> 30);
201
202
2.26G
  return (result);
203
2.26G
}
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.49M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
3.49M
  WORD32 result;
197
3.49M
  WORD64 temp_result;
198
199
3.49M
  temp_result = (WORD64)a * (WORD64)b;
200
3.49M
  result = (WORD32)(temp_result >> 30);
201
202
3.49M
  return (result);
203
3.49M
}
ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_30
Line
Count
Source
195
2.26G
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
2.26G
  WORD32 result;
197
2.26G
  WORD64 temp_result;
198
199
2.26G
  temp_result = (WORD64)a * (WORD64)b;
200
2.26G
  result = (WORD32)(temp_result >> 30);
201
202
2.26G
  return (result);
203
2.26G
}
ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_30
Line
Count
Source
195
1.15M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
1.15M
  WORD32 result;
197
1.15M
  WORD64 temp_result;
198
199
1.15M
  temp_result = (WORD64)a * (WORD64)b;
200
1.15M
  result = (WORD32)(temp_result >> 30);
201
202
1.15M
  return (result);
203
1.15M
}
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
329k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
329k
  WORD32 result;
197
329k
  WORD64 temp_result;
198
199
329k
  temp_result = (WORD64)a * (WORD64)b;
200
329k
  result = (WORD32)(temp_result >> 30);
201
202
329k
  return (result);
203
329k
}
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.2k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
11.2k
  WORD32 result;
197
11.2k
  WORD64 temp_result;
198
199
11.2k
  temp_result = (WORD64)a * (WORD64)b;
200
11.2k
  result = (WORD32)(temp_result >> 30);
201
202
11.2k
  return (result);
203
11.2k
}
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
109k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
109k
  WORD32 result;
197
109k
  WORD64 temp_result;
198
199
109k
  temp_result = (WORD64)a * (WORD64)b;
200
109k
  result = (WORD32)(temp_result >> 30);
201
202
109k
  return (result);
203
109k
}
204
205
47.3k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_16(WORD32 a, WORD32 b) {
206
47.3k
  WORD32 result;
207
47.3k
  WORD64 temp_result;
208
209
47.3k
  temp_result = (WORD64)a * (WORD64)b;
210
47.3k
  result = (WORD32)(temp_result >> 16);
211
47.3k
  return (result);
212
47.3k
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_16
ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32_shr_16
Line
Count
Source
205
47.3k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_16(WORD32 a, WORD32 b) {
206
47.3k
  WORD32 result;
207
47.3k
  WORD64 temp_result;
208
209
47.3k
  temp_result = (WORD64)a * (WORD64)b;
210
47.3k
  result = (WORD32)(temp_result >> 16);
211
47.3k
  return (result);
212
47.3k
}
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32_shr_16
213
214
3.07G
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) {
215
3.07G
  WORD32 result;
216
3.07G
  WORD64 temp_result;
217
3.07G
  temp_result = (WORD64)a * (WORD64)b;
218
3.07G
  result = (WORD32)(temp_result >> 16);
219
3.07G
  return (result);
220
3.07G
}
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.00G
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) {
215
3.00G
  WORD32 result;
216
3.00G
  WORD64 temp_result;
217
3.00G
  temp_result = (WORD64)a * (WORD64)b;
218
3.00G
  result = (WORD32)(temp_result >> 16);
219
3.00G
  return (result);
220
3.00G
}
ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32x16_shr_16
Line
Count
Source
214
61.9M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) {
215
61.9M
  WORD32 result;
216
61.9M
  WORD64 temp_result;
217
61.9M
  temp_result = (WORD64)a * (WORD64)b;
218
61.9M
  result = (WORD32)(temp_result >> 16);
219
61.9M
  return (result);
220
61.9M
}
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.25G
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
2.25G
  WORD32 result;
224
2.25G
  WORD64 temp_result;
225
2.25G
  temp_result = (WORD64)a * (WORD64)b;
226
2.25G
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
2.25G
  return (result);
229
2.25G
}
ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
135M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
135M
  WORD32 result;
224
135M
  WORD64 temp_result;
225
135M
  temp_result = (WORD64)a * (WORD64)b;
226
135M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
135M
  return (result);
229
135M
}
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
135M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
135M
  WORD32 result;
224
135M
  WORD64 temp_result;
225
135M
  temp_result = (WORD64)a * (WORD64)b;
226
135M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
135M
  return (result);
229
135M
}
ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
160M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
160M
  WORD32 result;
224
160M
  WORD64 temp_result;
225
160M
  temp_result = (WORD64)a * (WORD64)b;
226
160M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
160M
  return (result);
229
160M
}
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_15
ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
4.82M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
4.82M
  WORD32 result;
224
4.82M
  WORD64 temp_result;
225
4.82M
  temp_result = (WORD64)a * (WORD64)b;
226
4.82M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
4.82M
  return (result);
229
4.82M
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
13.9M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
13.9M
  WORD32 result;
224
13.9M
  WORD64 temp_result;
225
13.9M
  temp_result = (WORD64)a * (WORD64)b;
226
13.9M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
13.9M
  return (result);
229
13.9M
}
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
978M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
978M
  WORD32 result;
224
978M
  WORD64 temp_result;
225
978M
  temp_result = (WORD64)a * (WORD64)b;
226
978M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
978M
  return (result);
229
978M
}
ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
818M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
818M
  WORD32 result;
224
818M
  WORD64 temp_result;
225
818M
  temp_result = (WORD64)a * (WORD64)b;
226
818M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
818M
  return (result);
229
818M
}
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.23M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
1.23M
  WORD32 result;
224
1.23M
  WORD64 temp_result;
225
1.23M
  temp_result = (WORD64)a * (WORD64)b;
226
1.23M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
1.23M
  return (result);
229
1.23M
}
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
200k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
200k
  WORD32 result;
224
200k
  WORD64 temp_result;
225
200k
  temp_result = (WORD64)a * (WORD64)b;
226
200k
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
200k
  return (result);
229
200k
}
ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
937k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
937k
  WORD32 result;
224
937k
  WORD64 temp_result;
225
937k
  temp_result = (WORD64)a * (WORD64)b;
226
937k
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
937k
  return (result);
229
937k
}
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
7.46M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
7.46M
  WORD32 result;
224
7.46M
  WORD64 temp_result;
225
7.46M
  temp_result = (WORD64)a * (WORD64)b;
226
7.46M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
7.46M
  return (result);
229
7.46M
}
230
231
142M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_14(WORD32 a, WORD32 b) {
232
142M
  WORD32 result;
233
142M
  WORD64 temp_result;
234
235
142M
  temp_result = (WORD64)a * (WORD64)b;
236
142M
  result = (WORD32)(temp_result >> 16);
237
142M
  result = result << 2;
238
239
142M
  return (result);
240
142M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_14
ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_14
Line
Count
Source
231
142M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_14(WORD32 a, WORD32 b) {
232
142M
  WORD32 result;
233
142M
  WORD64 temp_result;
234
235
142M
  temp_result = (WORD64)a * (WORD64)b;
236
142M
  result = (WORD32)(temp_result >> 16);
237
142M
  result = result << 2;
238
239
142M
  return (result);
240
142M
}
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.2M
static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) {
243
39.2M
  WORD32 quotient;
244
39.2M
  UWORD32 mantissa_nr, mantissa_dr;
245
39.2M
  LOOPINDEX i;
246
39.2M
  WORD q_nr, q_dr;
247
248
39.2M
  quotient = 0;
249
250
39.2M
  if (0 == b) {
251
5.15M
    *q_format = 0;
252
5.15M
    return (a);
253
5.15M
  }
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
494M
      mantissa_nr -= mantissa_dr;
268
494M
      quotient += 1;
269
494M
    }
270
1.05G
    mantissa_nr <<= 1;
271
1.05G
  }
272
273
34.0M
  if ((a ^ b) < 0) {
274
359k
    return -(quotient);
275
359k
  }
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.2M
static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) {
243
20.2M
  WORD32 quotient;
244
20.2M
  UWORD32 mantissa_nr, mantissa_dr;
245
20.2M
  LOOPINDEX i;
246
20.2M
  WORD q_nr, q_dr;
247
248
20.2M
  quotient = 0;
249
250
20.2M
  if (0 == b) {
251
1.43M
    *q_format = 0;
252
1.43M
    return (a);
253
1.43M
  }
254
255
18.8M
  quotient = 0;
256
257
18.8M
  q_nr = ixheaac_norm32(a);
258
18.8M
  mantissa_nr = (UWORD32)a << (q_nr);
259
18.8M
  q_dr = ixheaac_norm32(b);
260
18.8M
  mantissa_dr = (UWORD32)b << (q_dr);
261
18.8M
  *q_format = (WORD)(30 + q_nr - q_dr);
262
263
601M
  for (i = 0; i < 31; i++) {
264
583M
    quotient <<= 1;
265
266
583M
    if (mantissa_nr >= mantissa_dr) {
267
292M
      mantissa_nr -= mantissa_dr;
268
292M
      quotient += 1;
269
292M
    }
270
583M
    mantissa_nr <<= 1;
271
583M
  }
272
273
18.8M
  if ((a ^ b) < 0) {
274
0
    return -(quotient);
275
0
  }
276
277
18.8M
  return quotient;
278
18.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
16.3M
static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) {
243
16.3M
  WORD32 quotient;
244
16.3M
  UWORD32 mantissa_nr, mantissa_dr;
245
16.3M
  LOOPINDEX i;
246
16.3M
  WORD q_nr, q_dr;
247
248
16.3M
  quotient = 0;
249
250
16.3M
  if (0 == b) {
251
3.61M
    *q_format = 0;
252
3.61M
    return (a);
253
3.61M
  }
254
255
12.7M
  quotient = 0;
256
257
12.7M
  q_nr = ixheaac_norm32(a);
258
12.7M
  mantissa_nr = (UWORD32)a << (q_nr);
259
12.7M
  q_dr = ixheaac_norm32(b);
260
12.7M
  mantissa_dr = (UWORD32)b << (q_dr);
261
12.7M
  *q_format = (WORD)(30 + q_nr - q_dr);
262
263
407M
  for (i = 0; i < 31; i++) {
264
394M
    quotient <<= 1;
265
266
394M
    if (mantissa_nr >= mantissa_dr) {
267
184M
      mantissa_nr -= mantissa_dr;
268
184M
      quotient += 1;
269
184M
    }
270
394M
    mantissa_nr <<= 1;
271
394M
  }
272
273
12.7M
  if ((a ^ b) < 0) {
274
358k
    return -(quotient);
275
358k
  }
276
277
12.3M
  return quotient;
278
12.7M
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_div_32
Line
Count
Source
242
1.75M
static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) {
243
1.75M
  WORD32 quotient;
244
1.75M
  UWORD32 mantissa_nr, mantissa_dr;
245
1.75M
  LOOPINDEX i;
246
1.75M
  WORD q_nr, q_dr;
247
248
1.75M
  quotient = 0;
249
250
1.75M
  if (0 == b) {
251
0
    *q_format = 0;
252
0
    return (a);
253
0
  }
254
255
1.75M
  quotient = 0;
256
257
1.75M
  q_nr = ixheaac_norm32(a);
258
1.75M
  mantissa_nr = (UWORD32)a << (q_nr);
259
1.75M
  q_dr = ixheaac_norm32(b);
260
1.75M
  mantissa_dr = (UWORD32)b << (q_dr);
261
1.75M
  *q_format = (WORD)(30 + q_nr - q_dr);
262
263
56.3M
  for (i = 0; i < 31; i++) {
264
54.5M
    quotient <<= 1;
265
266
54.5M
    if (mantissa_nr >= mantissa_dr) {
267
9.39M
      mantissa_nr -= mantissa_dr;
268
9.39M
      quotient += 1;
269
9.39M
    }
270
54.5M
    mantissa_nr <<= 1;
271
54.5M
  }
272
273
1.75M
  if ((a ^ b) < 0) {
274
0
    return -(quotient);
275
0
  }
276
277
1.75M
  return quotient;
278
1.75M
}
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
882k
static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) {
243
882k
  WORD32 quotient;
244
882k
  UWORD32 mantissa_nr, mantissa_dr;
245
882k
  LOOPINDEX i;
246
882k
  WORD q_nr, q_dr;
247
248
882k
  quotient = 0;
249
250
882k
  if (0 == b) {
251
98.4k
    *q_format = 0;
252
98.4k
    return (a);
253
98.4k
  }
254
255
784k
  quotient = 0;
256
257
784k
  q_nr = ixheaac_norm32(a);
258
784k
  mantissa_nr = (UWORD32)a << (q_nr);
259
784k
  q_dr = ixheaac_norm32(b);
260
784k
  mantissa_dr = (UWORD32)b << (q_dr);
261
784k
  *q_format = (WORD)(30 + q_nr - q_dr);
262
263
25.0M
  for (i = 0; i < 31; i++) {
264
24.3M
    quotient <<= 1;
265
266
24.3M
    if (mantissa_nr >= mantissa_dr) {
267
8.15M
      mantissa_nr -= mantissa_dr;
268
8.15M
      quotient += 1;
269
8.15M
    }
270
24.3M
    mantissa_nr <<= 1;
271
24.3M
  }
272
273
784k
  if ((a ^ b) < 0) {
274
261
    return -(quotient);
275
261
  }
276
277
783k
  return quotient;
278
784k
}
279
280
2.73M
static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) {
281
2.73M
  WORD64 result;
282
2.73M
  if (qtemp == n)
283
1.04M
    return temp;
284
1.68M
  else if (qtemp > n)
285
1.41M
    temp = (WORD32)((WORD64)temp >> (qtemp - n));
286
269k
  else {
287
269k
    result = (WORD32)((WORD64)temp << (n - qtemp));
288
269k
    if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) {
289
0
      return 0;
290
0
    } else
291
269k
      temp = (WORD32)result;
292
269k
  }
293
1.68M
  return temp;
294
2.73M
}
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
708k
static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) {
281
708k
  WORD64 result;
282
708k
  if (qtemp == n)
283
66
    return temp;
284
708k
  else if (qtemp > n)
285
670k
    temp = (WORD32)((WORD64)temp >> (qtemp - n));
286
37.8k
  else {
287
37.8k
    result = (WORD32)((WORD64)temp << (n - qtemp));
288
37.8k
    if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) {
289
0
      return 0;
290
0
    } else
291
37.8k
      temp = (WORD32)result;
292
37.8k
  }
293
708k
  return temp;
294
708k
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_convert_to_qn
Line
Count
Source
280
1.17M
static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) {
281
1.17M
  WORD64 result;
282
1.17M
  if (qtemp == n)
283
1.04M
    return temp;
284
134k
  else if (qtemp > n)
285
0
    temp = (WORD32)((WORD64)temp >> (qtemp - n));
286
134k
  else {
287
134k
    result = (WORD32)((WORD64)temp << (n - qtemp));
288
134k
    if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) {
289
0
      return 0;
290
0
    } else
291
134k
      temp = (WORD32)result;
292
134k
  }
293
134k
  return temp;
294
1.17M
}
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
845k
static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) {
281
845k
  WORD64 result;
282
845k
  if (qtemp == n)
283
4.06k
    return temp;
284
840k
  else if (qtemp > n)
285
744k
    temp = (WORD32)((WORD64)temp >> (qtemp - n));
286
96.4k
  else {
287
96.4k
    result = (WORD32)((WORD64)temp << (n - qtemp));
288
96.4k
    if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) {
289
0
      return 0;
290
0
    } else
291
96.4k
      temp = (WORD32)result;
292
96.4k
  }
293
840k
  return temp;
294
845k
}
295
296
266k
static PLATFORM_INLINE WORD32 ixheaacd_mps_div32_in_q15(WORD32 num, WORD32 den) {
297
266k
  WORD32 quotient;
298
266k
  WORD16 q_quotient;
299
300
266k
  quotient = ixheaacd_mps_div_32(num, den, &q_quotient);
301
266k
  quotient = ixheaacd_mps_convert_to_qn(quotient, q_quotient, 15);
302
266k
  return quotient;
303
266k
}
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
266k
static PLATFORM_INLINE WORD32 ixheaacd_mps_div32_in_q15(WORD32 num, WORD32 den) {
297
266k
  WORD32 quotient;
298
266k
  WORD16 q_quotient;
299
300
266k
  quotient = ixheaacd_mps_div_32(num, den, &q_quotient);
301
266k
  quotient = ixheaacd_mps_convert_to_qn(quotient, q_quotient, 15);
302
266k
  return quotient;
303
266k
}
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
59.0M
static PLATFORM_INLINE WORD32 ixheaacd_mps_comp(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
367
59.0M
  if (a == 0 || b == 0) {
368
15.0M
    if (a == 0) {
369
13.5M
      if (b < 0)
370
0
        return 1;
371
13.5M
      else
372
13.5M
        return 0;
373
13.5M
    } else if (b == 0) {
374
1.47M
      if (a > 0)
375
1.47M
        return 1;
376
0
      else
377
0
        return 0;
378
1.47M
    }
379
15.0M
  }
380
381
44.0M
  if (*q_a > q_b) {
382
27.8M
    a = (a >> ((*q_a) - q_b));
383
27.8M
  } else {
384
16.1M
    b = (b >> (q_b - (*q_a)));
385
16.1M
  }
386
387
44.0M
  if (a > b)
388
18.7M
    return 1;
389
25.2M
  else
390
25.2M
    return 0;
391
44.0M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_comp
ixheaacd_mps_decorr.c:ixheaacd_mps_comp
Line
Count
Source
366
59.0M
static PLATFORM_INLINE WORD32 ixheaacd_mps_comp(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
367
59.0M
  if (a == 0 || b == 0) {
368
15.0M
    if (a == 0) {
369
13.5M
      if (b < 0)
370
0
        return 1;
371
13.5M
      else
372
13.5M
        return 0;
373
13.5M
    } else if (b == 0) {
374
1.47M
      if (a > 0)
375
1.47M
        return 1;
376
0
      else
377
0
        return 0;
378
1.47M
    }
379
15.0M
  }
380
381
44.0M
  if (*q_a > q_b) {
382
27.8M
    a = (a >> ((*q_a) - q_b));
383
27.8M
  } else {
384
16.1M
    b = (b >> (q_b - (*q_a)));
385
16.1M
  }
386
387
44.0M
  if (a > b)
388
18.7M
    return 1;
389
25.2M
  else
390
25.2M
    return 0;
391
44.0M
}
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 */