Coverage Report

Created: 2026-09-28 07:18

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.30M
#define INV_SQRT_2_Q31 (1518500250)
25
17.2M
#define Q_SQRT_TAB (15)
26
0
#define LOG2XQ17 (5171707904LL)
27
0
#define LOG_COEFF1 (27890)
28
0
#define LOG_COEFF2 (16262)
29
0
#define LOG_COEFF3 (7574)
30
0
#define LOG_COEFF4 (1786)
31
32
0
#define TRIG_TABLE_CONV_FAC 326
33
34
103M
static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) {
35
103M
  WORD32 temp_1, temp_2;
36
103M
  temp_1 = (WORD32)(a >> 32);
37
103M
  temp_2 = ixheaac_norm32(temp_1);
38
103M
  if (temp_2 < 31) {
39
69.4M
    return (32 - temp_2);
40
69.4M
  } else {
41
34.3M
    temp_2 = (WORD32)(a);
42
34.3M
    if ((temp_1 ^ temp_2) < 0) {
43
828k
      return 1;
44
33.5M
    } else {
45
33.5M
      return 0;
46
33.5M
    }
47
34.3M
  }
48
103M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_get_rshift_bits
ixheaacd_mps_decorr.c:ixheaacd_mps_get_rshift_bits
Line
Count
Source
34
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
52.7M
    return (32 - temp_2);
40
52.7M
  } else {
41
16.5M
    temp_2 = (WORD32)(a);
42
16.5M
    if ((temp_1 ^ temp_2) < 0) {
43
135k
      return 1;
44
16.3M
    } else {
45
16.3M
      return 0;
46
16.3M
    }
47
16.5M
  }
48
69.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.9M
static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) {
35
15.9M
  WORD32 temp_1, temp_2;
36
15.9M
  temp_1 = (WORD32)(a >> 32);
37
15.9M
  temp_2 = ixheaac_norm32(temp_1);
38
15.9M
  if (temp_2 < 31) {
39
11.1M
    return (32 - temp_2);
40
11.1M
  } else {
41
4.78M
    temp_2 = (WORD32)(a);
42
4.78M
    if ((temp_1 ^ temp_2) < 0) {
43
38.5k
      return 1;
44
4.74M
    } else {
45
4.74M
      return 0;
46
4.74M
    }
47
4.78M
  }
48
15.9M
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_get_rshift_bits
Line
Count
Source
34
18.5M
static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) {
35
18.5M
  WORD32 temp_1, temp_2;
36
18.5M
  temp_1 = (WORD32)(a >> 32);
37
18.5M
  temp_2 = ixheaac_norm32(temp_1);
38
18.5M
  if (temp_2 < 31) {
39
5.46M
    return (32 - temp_2);
40
13.0M
  } else {
41
13.0M
    temp_2 = (WORD32)(a);
42
13.0M
    if ((temp_1 ^ temp_2) < 0) {
43
653k
      return 1;
44
12.3M
    } else {
45
12.3M
      return 0;
46
12.3M
    }
47
13.0M
  }
48
18.5M
}
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.54k
static PLATFORM_INLINE WORD32 ixheaacd_mps_get_rshift_bits(WORD64 a) {
35
1.54k
  WORD32 temp_1, temp_2;
36
1.54k
  temp_1 = (WORD32)(a >> 32);
37
1.54k
  temp_2 = ixheaac_norm32(temp_1);
38
1.54k
  if (temp_2 < 31) {
39
0
    return (32 - temp_2);
40
1.54k
  } else {
41
1.54k
    temp_2 = (WORD32)(a);
42
1.54k
    if ((temp_1 ^ temp_2) < 0) {
43
0
      return 1;
44
1.54k
    } else {
45
1.54k
      return 0;
46
1.54k
    }
47
1.54k
  }
48
1.54k
}
49
50
85.2M
static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) {
51
85.2M
  WORD32 x;
52
85.2M
  x = ixheaacd_mps_get_rshift_bits(a);
53
85.2M
  *qfac = 20 - x;
54
85.2M
  return (WORD32)((WORD64)a >> x);
55
85.2M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_narrow
ixheaacd_mps_decorr.c:ixheaacd_mps_narrow
Line
Count
Source
50
69.3M
static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) {
51
69.3M
  WORD32 x;
52
69.3M
  x = ixheaacd_mps_get_rshift_bits(a);
53
69.3M
  *qfac = 20 - x;
54
69.3M
  return (WORD32)((WORD64)a >> x);
55
69.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.9M
static PLATFORM_INLINE WORD32 ixheaacd_mps_narrow(WORD64 a, WORD16 *qfac) {
51
15.9M
  WORD32 x;
52
15.9M
  x = ixheaacd_mps_get_rshift_bits(a);
53
15.9M
  *qfac = 20 - x;
54
15.9M
  return (WORD32)((WORD64)a >> x);
55
15.9M
}
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_narrow
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_narrow
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_narrow
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_narrow
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_narrow
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_narrow
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_narrow
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_narrow
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_narrow
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_narrow
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_narrow
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_narrow
56
57
17.5M
static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) {
58
17.5M
  WORD32 index, answer, temp;
59
17.5M
  WORD k;
60
61
17.5M
  if (num == 0) return 0;
62
63
17.2M
  k = ixheaac_norm32(num);
64
17.2M
  temp = ixheaac_shr32(ixheaac_shl32(num, k), 21);
65
17.2M
  *q += k;
66
17.2M
  index = temp & 0x1FF;
67
17.2M
  answer = sqrt_tab[index];
68
17.2M
  if (*q & 1) {
69
7.30M
    *q -= 1;
70
7.30M
    answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31);
71
7.30M
  }
72
17.2M
  *q = *q >> 1;
73
17.2M
  *q += Q_SQRT_TAB;
74
17.2M
  return answer;
75
17.5M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_sqrt
ixheaacd_mps_decorr.c:ixheaacd_mps_sqrt
Line
Count
Source
57
15.2M
static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) {
58
15.2M
  WORD32 index, answer, temp;
59
15.2M
  WORD k;
60
61
15.2M
  if (num == 0) return 0;
62
63
15.2M
  k = ixheaac_norm32(num);
64
15.2M
  temp = ixheaac_shr32(ixheaac_shl32(num, k), 21);
65
15.2M
  *q += k;
66
15.2M
  index = temp & 0x1FF;
67
15.2M
  answer = sqrt_tab[index];
68
15.2M
  if (*q & 1) {
69
6.33M
    *q -= 1;
70
6.33M
    answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31);
71
6.33M
  }
72
15.2M
  *q = *q >> 1;
73
15.2M
  *q += Q_SQRT_TAB;
74
15.2M
  return answer;
75
15.2M
}
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
669k
static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) {
58
669k
  WORD32 index, answer, temp;
59
669k
  WORD k;
60
61
669k
  if (num == 0) return 0;
62
63
555k
  k = ixheaac_norm32(num);
64
555k
  temp = ixheaac_shr32(ixheaac_shl32(num, k), 21);
65
555k
  *q += k;
66
555k
  index = temp & 0x1FF;
67
555k
  answer = sqrt_tab[index];
68
555k
  if (*q & 1) {
69
290k
    *q -= 1;
70
290k
    answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31);
71
290k
  }
72
555k
  *q = *q >> 1;
73
555k
  *q += Q_SQRT_TAB;
74
555k
  return answer;
75
669k
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_sqrt
Line
Count
Source
57
1.08M
static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) {
58
1.08M
  WORD32 index, answer, temp;
59
1.08M
  WORD k;
60
61
1.08M
  if (num == 0) return 0;
62
63
896k
  k = ixheaac_norm32(num);
64
896k
  temp = ixheaac_shr32(ixheaac_shl32(num, k), 21);
65
896k
  *q += k;
66
896k
  index = temp & 0x1FF;
67
896k
  answer = sqrt_tab[index];
68
896k
  if (*q & 1) {
69
453k
    *q -= 1;
70
453k
    answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31);
71
453k
  }
72
896k
  *q = *q >> 1;
73
896k
  *q += Q_SQRT_TAB;
74
896k
  return answer;
75
1.08M
}
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_sqrt
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_sqrt
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_sqrt
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_sqrt
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_sqrt
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_sqrt
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_sqrt
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_sqrt
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_sqrt
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_sqrt
ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_sqrt
Line
Count
Source
57
567k
static PLATFORM_INLINE WORD32 ixheaacd_mps_sqrt(WORD32 num, WORD16 *q, const WORD32 *sqrt_tab) {
58
567k
  WORD32 index, answer, temp;
59
567k
  WORD k;
60
61
567k
  if (num == 0) return 0;
62
63
527k
  k = ixheaac_norm32(num);
64
527k
  temp = ixheaac_shr32(ixheaac_shl32(num, k), 21);
65
527k
  *q += k;
66
527k
  index = temp & 0x1FF;
67
527k
  answer = sqrt_tab[index];
68
527k
  if (*q & 1) {
69
219k
    *q -= 1;
70
219k
    answer = ixheaac_mult32_shl(answer, INV_SQRT_2_Q31);
71
219k
  }
72
527k
  *q = *q >> 1;
73
527k
  *q += Q_SQRT_TAB;
74
527k
  return answer;
75
567k
}
76
77
static PLATFORM_INLINE WORD32 ixheaacd_mps_reshape_add32(WORD32 op1, WORD32 op2, WORD16 *qop1,
78
50.9M
                                                         WORD16 qop2) {
79
50.9M
  WORD64 tempresult;
80
50.9M
  if (0 == op2) {
81
13.2M
    return op1;
82
13.2M
  }
83
37.6M
  if (0 == op1) {
84
2.72M
    *qop1 = qop2;
85
2.72M
    return op2;
86
2.72M
  }
87
34.9M
  if (*qop1 < qop2) {
88
25.0M
    if ((qop2 - *qop1) > 31)
89
86.6k
      op2 = 0;
90
24.9M
    else
91
24.9M
      op2 = op2 >> (qop2 - *qop1);
92
25.0M
    tempresult = (WORD64)op1 + (WORD64)op2;
93
25.0M
  } else {
94
9.87M
    if ((*qop1 - qop2) > 31)
95
20.5k
      op1 = 0;
96
9.85M
    else
97
9.85M
      op1 = op1 >> (*qop1 - qop2);
98
9.87M
    *qop1 = qop2;
99
9.87M
    tempresult = (WORD64)op1 + (WORD64)op2;
100
9.87M
  }
101
34.9M
  if (tempresult > (WORD32)0x7fffffff || tempresult < (WORD32)0x80000000) {
102
7.20M
    tempresult = tempresult >> 1;
103
7.20M
    *qop1 -= 1;
104
7.20M
  }
105
34.9M
  return (WORD32)tempresult;
106
37.6M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_reshape_add32
ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_reshape_add32
Line
Count
Source
78
50.9M
                                                         WORD16 qop2) {
79
50.9M
  WORD64 tempresult;
80
50.9M
  if (0 == op2) {
81
13.2M
    return op1;
82
13.2M
  }
83
37.6M
  if (0 == op1) {
84
2.72M
    *qop1 = qop2;
85
2.72M
    return op2;
86
2.72M
  }
87
34.9M
  if (*qop1 < qop2) {
88
25.0M
    if ((qop2 - *qop1) > 31)
89
86.6k
      op2 = 0;
90
24.9M
    else
91
24.9M
      op2 = op2 >> (qop2 - *qop1);
92
25.0M
    tempresult = (WORD64)op1 + (WORD64)op2;
93
25.0M
  } else {
94
9.87M
    if ((*qop1 - qop2) > 31)
95
20.5k
      op1 = 0;
96
9.85M
    else
97
9.85M
      op1 = op1 >> (*qop1 - qop2);
98
9.87M
    *qop1 = qop2;
99
9.87M
    tempresult = (WORD64)op1 + (WORD64)op2;
100
9.87M
  }
101
34.9M
  if (tempresult > (WORD32)0x7fffffff || tempresult < (WORD32)0x80000000) {
102
7.20M
    tempresult = tempresult >> 1;
103
7.20M
    *qop1 -= 1;
104
7.20M
  }
105
34.9M
  return (WORD32)tempresult;
106
37.6M
}
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_reshape_add32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_reshape_add32
107
108
140M
static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
109
140M
  WORD64 temp_result;
110
111
140M
  if (a == 0 || b == 0) {
112
66.8M
    if (b == 0) {
113
64.8M
      return a;
114
64.8M
    } else {
115
1.97M
      *q_a = q_b;
116
1.97M
      return b;
117
1.97M
    }
118
66.8M
  }
119
73.1M
  if (*q_a > q_b) {
120
3.32M
    if (((*q_a) - q_b) > 31) {
121
6.36k
      a = 0;
122
6.36k
      *q_a = q_b;
123
3.32M
    } else {
124
3.32M
      a = (a >> ((*q_a) - q_b));
125
3.32M
      *q_a = q_b;
126
3.32M
    }
127
69.8M
  } else {
128
69.8M
    if ((q_b - (*q_a)) > 31) {
129
210k
      b = 0;
130
69.6M
    } else {
131
69.6M
      b = (b >> (q_b - (*q_a)));
132
69.6M
      q_b = *q_a;
133
69.6M
    }
134
69.8M
  }
135
73.1M
  temp_result = (WORD64)a + (WORD64)b;
136
73.1M
  if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
137
3.78M
    temp_result = temp_result >> 1;
138
3.78M
    *q_a -= 1;
139
3.78M
  }
140
141
73.1M
  return (WORD32)temp_result;
142
140M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_add32
ixheaacd_mps_decorr.c:ixheaacd_mps_add32
Line
Count
Source
108
69.3M
static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
109
69.3M
  WORD64 temp_result;
110
111
69.3M
  if (a == 0 || b == 0) {
112
15.3M
    if (b == 0) {
113
14.8M
      return a;
114
14.8M
    } else {
115
493k
      *q_a = q_b;
116
493k
      return b;
117
493k
    }
118
15.3M
  }
119
54.0M
  if (*q_a > q_b) {
120
1.97M
    if (((*q_a) - q_b) > 31) {
121
1.84k
      a = 0;
122
1.84k
      *q_a = q_b;
123
1.97M
    } else {
124
1.97M
      a = (a >> ((*q_a) - q_b));
125
1.97M
      *q_a = q_b;
126
1.97M
    }
127
52.0M
  } else {
128
52.0M
    if ((q_b - (*q_a)) > 31) {
129
206k
      b = 0;
130
51.8M
    } else {
131
51.8M
      b = (b >> (q_b - (*q_a)));
132
51.8M
      q_b = *q_a;
133
51.8M
    }
134
52.0M
  }
135
54.0M
  temp_result = (WORD64)a + (WORD64)b;
136
54.0M
  if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
137
1.69M
    temp_result = temp_result >> 1;
138
1.69M
    *q_a -= 1;
139
1.69M
  }
140
141
54.0M
  return (WORD32)temp_result;
142
69.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
95.6k
static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
109
95.6k
  WORD64 temp_result;
110
111
95.6k
  if (a == 0 || b == 0) {
112
59.7k
    if (b == 0) {
113
163
      return a;
114
59.6k
    } else {
115
59.6k
      *q_a = q_b;
116
59.6k
      return b;
117
59.6k
    }
118
59.7k
  }
119
35.8k
  if (*q_a > q_b) {
120
8.10k
    if (((*q_a) - q_b) > 31) {
121
250
      a = 0;
122
250
      *q_a = q_b;
123
7.85k
    } else {
124
7.85k
      a = (a >> ((*q_a) - q_b));
125
7.85k
      *q_a = q_b;
126
7.85k
    }
127
27.7k
  } else {
128
27.7k
    if ((q_b - (*q_a)) > 31) {
129
8
      b = 0;
130
27.7k
    } else {
131
27.7k
      b = (b >> (q_b - (*q_a)));
132
27.7k
      q_b = *q_a;
133
27.7k
    }
134
27.7k
  }
135
35.8k
  temp_result = (WORD64)a + (WORD64)b;
136
35.8k
  if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
137
54
    temp_result = temp_result >> 1;
138
54
    *q_a -= 1;
139
54
  }
140
141
35.8k
  return (WORD32)temp_result;
142
95.6k
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_add32
Line
Count
Source
108
70.6M
static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
109
70.6M
  WORD64 temp_result;
110
111
70.6M
  if (a == 0 || b == 0) {
112
51.4M
    if (b == 0) {
113
50.0M
      return a;
114
50.0M
    } else {
115
1.41M
      *q_a = q_b;
116
1.41M
      return b;
117
1.41M
    }
118
51.4M
  }
119
19.1M
  if (*q_a > q_b) {
120
1.34M
    if (((*q_a) - q_b) > 31) {
121
4.26k
      a = 0;
122
4.26k
      *q_a = q_b;
123
1.33M
    } else {
124
1.33M
      a = (a >> ((*q_a) - q_b));
125
1.33M
      *q_a = q_b;
126
1.33M
    }
127
17.7M
  } else {
128
17.7M
    if ((q_b - (*q_a)) > 31) {
129
3.67k
      b = 0;
130
17.7M
    } else {
131
17.7M
      b = (b >> (q_b - (*q_a)));
132
17.7M
      q_b = *q_a;
133
17.7M
    }
134
17.7M
  }
135
19.1M
  temp_result = (WORD64)a + (WORD64)b;
136
19.1M
  if (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
137
2.08M
    temp_result = temp_result >> 1;
138
2.08M
    *q_a -= 1;
139
2.08M
  }
140
141
19.1M
  return (WORD32)temp_result;
142
70.6M
}
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.74k
static PLATFORM_INLINE WORD32 ixheaacd_mps_add32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
109
1.74k
  WORD64 temp_result;
110
111
1.74k
  if (a == 0 || b == 0) {
112
916
    if (b == 0) {
113
0
      return a;
114
916
    } else {
115
916
      *q_a = q_b;
116
916
      return b;
117
916
    }
118
916
  }
119
825
  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
825
  } else {
128
825
    if ((q_b - (*q_a)) > 31) {
129
0
      b = 0;
130
825
    } else {
131
825
      b = (b >> (q_b - (*q_a)));
132
825
      q_b = *q_a;
133
825
    }
134
825
  }
135
825
  temp_result = (WORD64)a + (WORD64)b;
136
825
  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
825
  return (WORD32)temp_result;
142
1.74k
}
143
144
88.0M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
145
88.0M
  WORD64 temp_result;
146
88.0M
  WORD32 temp;
147
148
88.0M
  if (a == 0 || b == 0) {
149
69.4M
    temp_result = 0;
150
69.4M
    *q_a = 15;
151
69.4M
    return (WORD32)temp_result;
152
69.4M
  }
153
154
18.5M
  *q_a = *q_a + q_b;
155
156
18.5M
  temp_result = (WORD64)a * (WORD64)b;
157
18.5M
  temp = ixheaacd_mps_get_rshift_bits(temp_result);
158
18.5M
  if (0 != temp) {
159
6.12M
    *q_a -= temp;
160
6.12M
    temp_result = temp_result >> temp;
161
6.12M
  }
162
163
18.5M
  return (WORD32)temp_result;
164
88.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
88.0M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
145
88.0M
  WORD64 temp_result;
146
88.0M
  WORD32 temp;
147
148
88.0M
  if (a == 0 || b == 0) {
149
69.4M
    temp_result = 0;
150
69.4M
    *q_a = 15;
151
69.4M
    return (WORD32)temp_result;
152
69.4M
  }
153
154
18.5M
  *q_a = *q_a + q_b;
155
156
18.5M
  temp_result = (WORD64)a * (WORD64)b;
157
18.5M
  temp = ixheaacd_mps_get_rshift_bits(temp_result);
158
18.5M
  if (0 != temp) {
159
6.12M
    *q_a -= temp;
160
6.12M
    temp_result = temp_result >> temp;
161
6.12M
  }
162
163
18.5M
  return (WORD32)temp_result;
164
88.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.76k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
145
3.76k
  WORD64 temp_result;
146
3.76k
  WORD32 temp;
147
148
3.76k
  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.54k
  *q_a = *q_a + q_b;
155
156
1.54k
  temp_result = (WORD64)a * (WORD64)b;
157
1.54k
  temp = ixheaacd_mps_get_rshift_bits(temp_result);
158
1.54k
  if (0 != temp) {
159
0
    *q_a -= temp;
160
0
    temp_result = temp_result >> temp;
161
0
  }
162
163
1.54k
  return (WORD32)temp_result;
164
3.76k
}
165
166
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x32(WORD32 a, WORD32 b, WORD16 *q_a,
167
1.75M
                                                     WORD16 q_b) {
168
1.75M
  WORD64 temp_result;
169
1.75M
  if (a == 0 || b == 0) {
170
458k
    temp_result = 0;
171
458k
    *q_a = 15;
172
458k
    return (WORD32)temp_result;
173
458k
  }
174
1.29M
  *q_a = *q_a + q_b;
175
176
1.29M
  temp_result = (WORD64)a * (WORD64)b;
177
33.0M
  while (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
178
31.7M
    temp_result = temp_result >> 1;
179
31.7M
    *q_a -= 1;
180
31.7M
  }
181
182
1.29M
  return (WORD32)temp_result;
183
1.75M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32x32
ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32x32
Line
Count
Source
167
1.75M
                                                     WORD16 q_b) {
168
1.75M
  WORD64 temp_result;
169
1.75M
  if (a == 0 || b == 0) {
170
458k
    temp_result = 0;
171
458k
    *q_a = 15;
172
458k
    return (WORD32)temp_result;
173
458k
  }
174
1.29M
  *q_a = *q_a + q_b;
175
176
1.29M
  temp_result = (WORD64)a * (WORD64)b;
177
33.0M
  while (temp_result > (WORD32)0x7fffffff || temp_result < (WORD32)0x80000000) {
178
31.7M
    temp_result = temp_result >> 1;
179
31.7M
    *q_a -= 1;
180
31.7M
  }
181
182
1.29M
  return (WORD32)temp_result;
183
1.75M
}
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32x32
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32x32
184
185
65.5M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) {
186
65.5M
  WORD32 result;
187
65.5M
  WORD64 temp_result;
188
189
65.5M
  temp_result = (WORD64)a * (WORD64)b;
190
65.5M
  result = (WORD32)(temp_result >> n);
191
192
65.5M
  return (result);
193
65.5M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_n
ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_n
Line
Count
Source
185
65.3M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) {
186
65.3M
  WORD32 result;
187
65.3M
  WORD64 temp_result;
188
189
65.3M
  temp_result = (WORD64)a * (WORD64)b;
190
65.3M
  result = (WORD32)(temp_result >> n);
191
192
65.3M
  return (result);
193
65.3M
}
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_n
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32_shr_n
ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32_shr_n
Line
Count
Source
185
261k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_n(WORD32 a, WORD32 b, WORD16 n) {
186
261k
  WORD32 result;
187
261k
  WORD64 temp_result;
188
189
261k
  temp_result = (WORD64)a * (WORD64)b;
190
261k
  result = (WORD32)(temp_result >> n);
191
192
261k
  return (result);
193
261k
}
194
195
2.22G
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
2.22G
  WORD32 result;
197
2.22G
  WORD64 temp_result;
198
199
2.22G
  temp_result = (WORD64)a * (WORD64)b;
200
2.22G
  result = (WORD32)(temp_result >> 30);
201
202
2.22G
  return (result);
203
2.22G
}
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.10M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
3.10M
  WORD32 result;
197
3.10M
  WORD64 temp_result;
198
199
3.10M
  temp_result = (WORD64)a * (WORD64)b;
200
3.10M
  result = (WORD32)(temp_result >> 30);
201
202
3.10M
  return (result);
203
3.10M
}
ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_30
Line
Count
Source
195
2.22G
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
2.22G
  WORD32 result;
197
2.22G
  WORD64 temp_result;
198
199
2.22G
  temp_result = (WORD64)a * (WORD64)b;
200
2.22G
  result = (WORD32)(temp_result >> 30);
201
202
2.22G
  return (result);
203
2.22G
}
ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_30
Line
Count
Source
195
1.35M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
1.35M
  WORD32 result;
197
1.35M
  WORD64 temp_result;
198
199
1.35M
  temp_result = (WORD64)a * (WORD64)b;
200
1.35M
  result = (WORD32)(temp_result >> 30);
201
202
1.35M
  return (result);
203
1.35M
}
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
311k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
311k
  WORD32 result;
197
311k
  WORD64 temp_result;
198
199
311k
  temp_result = (WORD64)a * (WORD64)b;
200
311k
  result = (WORD32)(temp_result >> 30);
201
202
311k
  return (result);
203
311k
}
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
18.6k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
18.6k
  WORD32 result;
197
18.6k
  WORD64 temp_result;
198
199
18.6k
  temp_result = (WORD64)a * (WORD64)b;
200
18.6k
  result = (WORD32)(temp_result >> 30);
201
202
18.6k
  return (result);
203
18.6k
}
ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_30
Line
Count
Source
195
12.3k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
12.3k
  WORD32 result;
197
12.3k
  WORD64 temp_result;
198
199
12.3k
  temp_result = (WORD64)a * (WORD64)b;
200
12.3k
  result = (WORD32)(temp_result >> 30);
201
202
12.3k
  return (result);
203
12.3k
}
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
98.1k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_30(WORD32 a, WORD32 b) {
196
98.1k
  WORD32 result;
197
98.1k
  WORD64 temp_result;
198
199
98.1k
  temp_result = (WORD64)a * (WORD64)b;
200
98.1k
  result = (WORD32)(temp_result >> 30);
201
202
98.1k
  return (result);
203
98.1k
}
204
205
47.8k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_16(WORD32 a, WORD32 b) {
206
47.8k
  WORD32 result;
207
47.8k
  WORD64 temp_result;
208
209
47.8k
  temp_result = (WORD64)a * (WORD64)b;
210
47.8k
  result = (WORD32)(temp_result >> 16);
211
47.8k
  return (result);
212
47.8k
}
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.8k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_16(WORD32 a, WORD32 b) {
206
47.8k
  WORD32 result;
207
47.8k
  WORD64 temp_result;
208
209
47.8k
  temp_result = (WORD64)a * (WORD64)b;
210
47.8k
  result = (WORD32)(temp_result >> 16);
211
47.8k
  return (result);
212
47.8k
}
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.93G
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) {
215
2.93G
  WORD32 result;
216
2.93G
  WORD64 temp_result;
217
2.93G
  temp_result = (WORD64)a * (WORD64)b;
218
2.93G
  result = (WORD32)(temp_result >> 16);
219
2.93G
  return (result);
220
2.93G
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32x16_shr_16
ixheaacd_mps_decorr.c:ixheaacd_mps_mult32x16_shr_16
Line
Count
Source
214
2.87G
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) {
215
2.87G
  WORD32 result;
216
2.87G
  WORD64 temp_result;
217
2.87G
  temp_result = (WORD64)a * (WORD64)b;
218
2.87G
  result = (WORD32)(temp_result >> 16);
219
2.87G
  return (result);
220
2.87G
}
ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32x16_shr_16
Line
Count
Source
214
59.7M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32x16_shr_16(WORD32 a, WORD32 b) {
215
59.7M
  WORD32 result;
216
59.7M
  WORD64 temp_result;
217
59.7M
  temp_result = (WORD64)a * (WORD64)b;
218
59.7M
  result = (WORD32)(temp_result >> 16);
219
59.7M
  return (result);
220
59.7M
}
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32x16_shr_16
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32x16_shr_16
221
222
2.18G
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
2.18G
  WORD32 result;
224
2.18G
  WORD64 temp_result;
225
2.18G
  temp_result = (WORD64)a * (WORD64)b;
226
2.18G
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
2.18G
  return (result);
229
2.18G
}
ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
134M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
134M
  WORD32 result;
224
134M
  WORD64 temp_result;
225
134M
  temp_result = (WORD64)a * (WORD64)b;
226
134M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
134M
  return (result);
229
134M
}
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
117M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
117M
  WORD32 result;
224
117M
  WORD64 temp_result;
225
117M
  temp_result = (WORD64)a * (WORD64)b;
226
117M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
117M
  return (result);
229
117M
}
ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
156M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
156M
  WORD32 result;
224
156M
  WORD64 temp_result;
225
156M
  temp_result = (WORD64)a * (WORD64)b;
226
156M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
156M
  return (result);
229
156M
}
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_15
ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
4.94M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
4.94M
  WORD32 result;
224
4.94M
  WORD64 temp_result;
225
4.94M
  temp_result = (WORD64)a * (WORD64)b;
226
4.94M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
4.94M
  return (result);
229
4.94M
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
12.9M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
12.9M
  WORD32 result;
224
12.9M
  WORD64 temp_result;
225
12.9M
  temp_result = (WORD64)a * (WORD64)b;
226
12.9M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
12.9M
  return (result);
229
12.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
946M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
946M
  WORD32 result;
224
946M
  WORD64 temp_result;
225
946M
  temp_result = (WORD64)a * (WORD64)b;
226
946M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
946M
  return (result);
229
946M
}
ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
800M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
800M
  WORD32 result;
224
800M
  WORD64 temp_result;
225
800M
  temp_result = (WORD64)a * (WORD64)b;
226
800M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
800M
  return (result);
229
800M
}
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.21M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
1.21M
  WORD32 result;
224
1.21M
  WORD64 temp_result;
225
1.21M
  temp_result = (WORD64)a * (WORD64)b;
226
1.21M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
1.21M
  return (result);
229
1.21M
}
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
194k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
194k
  WORD32 result;
224
194k
  WORD64 temp_result;
225
194k
  temp_result = (WORD64)a * (WORD64)b;
226
194k
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
194k
  return (result);
229
194k
}
ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_15
Line
Count
Source
222
944k
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
944k
  WORD32 result;
224
944k
  WORD64 temp_result;
225
944k
  temp_result = (WORD64)a * (WORD64)b;
226
944k
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
944k
  return (result);
229
944k
}
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.12M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_15(WORD32 a, WORD32 b) {
223
7.12M
  WORD32 result;
224
7.12M
  WORD64 temp_result;
225
7.12M
  temp_result = (WORD64)a * (WORD64)b;
226
7.12M
  result = (WORD32)ixheaac_sat64_32(temp_result >> 15);
227
228
7.12M
  return (result);
229
7.12M
}
230
231
139M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_14(WORD32 a, WORD32 b) {
232
139M
  WORD32 result;
233
139M
  WORD64 temp_result;
234
235
139M
  temp_result = (WORD64)a * (WORD64)b;
236
139M
  result = (WORD32)(temp_result >> 16);
237
139M
  result = result << 2;
238
239
139M
  return (result);
240
139M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_mult32_shr_14
ixheaacd_mps_decorr.c:ixheaacd_mps_mult32_shr_14
Line
Count
Source
231
139M
static PLATFORM_INLINE WORD32 ixheaacd_mps_mult32_shr_14(WORD32 a, WORD32 b) {
232
139M
  WORD32 result;
233
139M
  WORD64 temp_result;
234
235
139M
  temp_result = (WORD64)a * (WORD64)b;
236
139M
  result = (WORD32)(temp_result >> 16);
237
139M
  result = result << 2;
238
239
139M
  return (result);
240
139M
}
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_mult32_shr_14
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_mult32_shr_14
241
242
38.4M
static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) {
243
38.4M
  WORD32 quotient;
244
38.4M
  UWORD32 mantissa_nr, mantissa_dr;
245
38.4M
  LOOPINDEX i;
246
38.4M
  WORD q_nr, q_dr;
247
248
38.4M
  quotient = 0;
249
250
38.4M
  if (0 == b) {
251
5.09M
    *q_format = 0;
252
5.09M
    return (a);
253
5.09M
  }
254
255
33.3M
  quotient = 0;
256
257
33.3M
  q_nr = ixheaac_norm32(a);
258
33.3M
  mantissa_nr = (UWORD32)a << (q_nr);
259
33.3M
  q_dr = ixheaac_norm32(b);
260
33.3M
  mantissa_dr = (UWORD32)b << (q_dr);
261
33.3M
  *q_format = (WORD)(30 + q_nr - q_dr);
262
263
1.06G
  for (i = 0; i < 31; i++) {
264
1.03G
    quotient <<= 1;
265
266
1.03G
    if (mantissa_nr >= mantissa_dr) {
267
485M
      mantissa_nr -= mantissa_dr;
268
485M
      quotient += 1;
269
485M
    }
270
1.03G
    mantissa_nr <<= 1;
271
1.03G
  }
272
273
33.3M
  if ((a ^ b) < 0) {
274
347k
    return -(quotient);
275
347k
  }
276
277
32.9M
  return quotient;
278
33.3M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_div_32
ixheaacd_mps_decorr.c:ixheaacd_mps_div_32
Line
Count
Source
242
19.4M
static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) {
243
19.4M
  WORD32 quotient;
244
19.4M
  UWORD32 mantissa_nr, mantissa_dr;
245
19.4M
  LOOPINDEX i;
246
19.4M
  WORD q_nr, q_dr;
247
248
19.4M
  quotient = 0;
249
250
19.4M
  if (0 == b) {
251
1.36M
    *q_format = 0;
252
1.36M
    return (a);
253
1.36M
  }
254
255
18.0M
  quotient = 0;
256
257
18.0M
  q_nr = ixheaac_norm32(a);
258
18.0M
  mantissa_nr = (UWORD32)a << (q_nr);
259
18.0M
  q_dr = ixheaac_norm32(b);
260
18.0M
  mantissa_dr = (UWORD32)b << (q_dr);
261
18.0M
  *q_format = (WORD)(30 + q_nr - q_dr);
262
263
577M
  for (i = 0; i < 31; i++) {
264
559M
    quotient <<= 1;
265
266
559M
    if (mantissa_nr >= mantissa_dr) {
267
280M
      mantissa_nr -= mantissa_dr;
268
280M
      quotient += 1;
269
280M
    }
270
559M
    mantissa_nr <<= 1;
271
559M
  }
272
273
18.0M
  if ((a ^ b) < 0) {
274
0
    return -(quotient);
275
0
  }
276
277
18.0M
  return quotient;
278
18.0M
}
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_div_32
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_div_32
Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_div_32
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_div_32
ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_div_32
Line
Count
Source
242
16.5M
static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) {
243
16.5M
  WORD32 quotient;
244
16.5M
  UWORD32 mantissa_nr, mantissa_dr;
245
16.5M
  LOOPINDEX i;
246
16.5M
  WORD q_nr, q_dr;
247
248
16.5M
  quotient = 0;
249
250
16.5M
  if (0 == b) {
251
3.63M
    *q_format = 0;
252
3.63M
    return (a);
253
3.63M
  }
254
255
12.8M
  quotient = 0;
256
257
12.8M
  q_nr = ixheaac_norm32(a);
258
12.8M
  mantissa_nr = (UWORD32)a << (q_nr);
259
12.8M
  q_dr = ixheaac_norm32(b);
260
12.8M
  mantissa_dr = (UWORD32)b << (q_dr);
261
12.8M
  *q_format = (WORD)(30 + q_nr - q_dr);
262
263
412M
  for (i = 0; i < 31; i++) {
264
399M
    quotient <<= 1;
265
266
399M
    if (mantissa_nr >= mantissa_dr) {
267
188M
      mantissa_nr -= mantissa_dr;
268
188M
      quotient += 1;
269
188M
    }
270
399M
    mantissa_nr <<= 1;
271
399M
  }
272
273
12.8M
  if ((a ^ b) < 0) {
274
346k
    return -(quotient);
275
346k
  }
276
277
12.5M
  return quotient;
278
12.8M
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_div_32
Line
Count
Source
242
1.62M
static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) {
243
1.62M
  WORD32 quotient;
244
1.62M
  UWORD32 mantissa_nr, mantissa_dr;
245
1.62M
  LOOPINDEX i;
246
1.62M
  WORD q_nr, q_dr;
247
248
1.62M
  quotient = 0;
249
250
1.62M
  if (0 == b) {
251
0
    *q_format = 0;
252
0
    return (a);
253
0
  }
254
255
1.62M
  quotient = 0;
256
257
1.62M
  q_nr = ixheaac_norm32(a);
258
1.62M
  mantissa_nr = (UWORD32)a << (q_nr);
259
1.62M
  q_dr = ixheaac_norm32(b);
260
1.62M
  mantissa_dr = (UWORD32)b << (q_dr);
261
1.62M
  *q_format = (WORD)(30 + q_nr - q_dr);
262
263
52.1M
  for (i = 0; i < 31; i++) {
264
50.4M
    quotient <<= 1;
265
266
50.4M
    if (mantissa_nr >= mantissa_dr) {
267
8.59M
      mantissa_nr -= mantissa_dr;
268
8.59M
      quotient += 1;
269
8.59M
    }
270
50.4M
    mantissa_nr <<= 1;
271
50.4M
  }
272
273
1.62M
  if ((a ^ b) < 0) {
274
0
    return -(quotient);
275
0
  }
276
277
1.62M
  return quotient;
278
1.62M
}
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
862k
static PLATFORM_INLINE WORD32 ixheaacd_mps_div_32(WORD32 a, WORD32 b, WORD16 *q_format) {
243
862k
  WORD32 quotient;
244
862k
  UWORD32 mantissa_nr, mantissa_dr;
245
862k
  LOOPINDEX i;
246
862k
  WORD q_nr, q_dr;
247
248
862k
  quotient = 0;
249
250
862k
  if (0 == b) {
251
95.3k
    *q_format = 0;
252
95.3k
    return (a);
253
95.3k
  }
254
255
766k
  quotient = 0;
256
257
766k
  q_nr = ixheaac_norm32(a);
258
766k
  mantissa_nr = (UWORD32)a << (q_nr);
259
766k
  q_dr = ixheaac_norm32(b);
260
766k
  mantissa_dr = (UWORD32)b << (q_dr);
261
766k
  *q_format = (WORD)(30 + q_nr - q_dr);
262
263
24.5M
  for (i = 0; i < 31; i++) {
264
23.7M
    quotient <<= 1;
265
266
23.7M
    if (mantissa_nr >= mantissa_dr) {
267
8.02M
      mantissa_nr -= mantissa_dr;
268
8.02M
      quotient += 1;
269
8.02M
    }
270
23.7M
    mantissa_nr <<= 1;
271
23.7M
  }
272
273
766k
  if ((a ^ b) < 0) {
274
236
    return -(quotient);
275
236
  }
276
277
766k
  return quotient;
278
766k
}
279
280
2.64M
static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) {
281
2.64M
  WORD64 result;
282
2.64M
  if (qtemp == n)
283
971k
    return temp;
284
1.67M
  else if (qtemp > n)
285
1.41M
    temp = (WORD32)((WORD64)temp >> (qtemp - n));
286
259k
  else {
287
259k
    result = (WORD32)((WORD64)temp << (n - qtemp));
288
259k
    if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) {
289
0
      return 0;
290
0
    } else
291
259k
      temp = (WORD32)result;
292
259k
  }
293
1.67M
  return temp;
294
2.64M
}
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
717k
static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) {
281
717k
  WORD64 result;
282
717k
  if (qtemp == n)
283
94
    return temp;
284
717k
  else if (qtemp > n)
285
678k
    temp = (WORD32)((WORD64)temp >> (qtemp - n));
286
38.6k
  else {
287
38.6k
    result = (WORD32)((WORD64)temp << (n - qtemp));
288
38.6k
    if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) {
289
0
      return 0;
290
0
    } else
291
38.6k
      temp = (WORD32)result;
292
38.6k
  }
293
717k
  return temp;
294
717k
}
ixheaacd_mps_temp_process.c:ixheaacd_mps_convert_to_qn
Line
Count
Source
280
1.09M
static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) {
281
1.09M
  WORD64 result;
282
1.09M
  if (qtemp == n)
283
967k
    return temp;
284
126k
  else if (qtemp > n)
285
0
    temp = (WORD32)((WORD64)temp >> (qtemp - n));
286
126k
  else {
287
126k
    result = (WORD32)((WORD64)temp << (n - qtemp));
288
126k
    if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) {
289
0
      return 0;
290
0
    } else
291
126k
      temp = (WORD32)result;
292
126k
  }
293
126k
  return temp;
294
1.09M
}
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_convert_to_qn
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_convert_to_qn
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_convert_to_qn
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_convert_to_qn
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_convert_to_qn
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_convert_to_qn
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_convert_to_qn
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_convert_to_qn
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_convert_to_qn
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_convert_to_qn
ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_convert_to_qn
Line
Count
Source
280
835k
static WORD32 ixheaacd_mps_convert_to_qn(WORD32 temp, WORD16 qtemp, WORD16 n) {
281
835k
  WORD64 result;
282
835k
  if (qtemp == n)
283
4.09k
    return temp;
284
831k
  else if (qtemp > n)
285
737k
    temp = (WORD32)((WORD64)temp >> (qtemp - n));
286
94.0k
  else {
287
94.0k
    result = (WORD32)((WORD64)temp << (n - qtemp));
288
94.0k
    if (result > (WORD32)0x7fffffff || result < (WORD32)0x80000000) {
289
0
      return 0;
290
0
    } else
291
94.0k
      temp = (WORD32)result;
292
94.0k
  }
293
831k
  return temp;
294
835k
}
295
296
262k
static PLATFORM_INLINE WORD32 ixheaacd_mps_div32_in_q15(WORD32 num, WORD32 den) {
297
262k
  WORD32 quotient;
298
262k
  WORD16 q_quotient;
299
300
262k
  quotient = ixheaacd_mps_div_32(num, den, &q_quotient);
301
262k
  quotient = ixheaacd_mps_convert_to_qn(quotient, q_quotient, 15);
302
262k
  return quotient;
303
262k
}
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
262k
static PLATFORM_INLINE WORD32 ixheaacd_mps_div32_in_q15(WORD32 num, WORD32 den) {
297
262k
  WORD32 quotient;
298
262k
  WORD16 q_quotient;
299
300
262k
  quotient = ixheaacd_mps_div_32(num, den, &q_quotient);
301
262k
  quotient = ixheaacd_mps_convert_to_qn(quotient, q_quotient, 15);
302
262k
  return quotient;
303
262k
}
304
305
0
static PLATFORM_INLINE WORD32 ixheaacd_mps_log10(WORD32 a, WORD16 q_a) {
306
0
  WORD32 x;
307
0
  WORD16 q_x;
308
0
  WORD32 j, k, temp;
309
0
  WORD16 q_num;
310
0
  q_num = ixheaac_norm32(a);
311
0
  a = a << q_num;
312
0
  x = ixheaacd_mps_div_32(a, NORM32, &q_x);
313
314
0
  if (q_x > 16)
315
0
    x = x >> (q_x - 16);
316
0
  else
317
0
    x = x << (16 - q_x);
318
319
0
  q_num = 30 - (q_num + q_a);
320
321
0
  j = x - ONE_IN_Q16;
322
0
  k = ixheaacd_mps_mult32_shr_16(SQRT_THREE_Q15, j);
323
0
  temp = ixheaacd_mps_mult32_shr_16(j, j);
324
0
  k -= ixheaacd_mps_mult32_shr_16(LOG_COEFF1, temp);
325
0
  temp = ixheaacd_mps_mult32_shr_16(temp, j);
326
0
  k += ixheaacd_mps_mult32_shr_16(LOG_COEFF2, temp);
327
0
  temp = ixheaacd_mps_mult32_shr_16(temp, j);
328
0
  k -= ixheaacd_mps_mult32_shr_16(LOG_COEFF3, temp);
329
0
  temp = ixheaacd_mps_mult32_shr_16(temp, j);
330
0
  k += ixheaacd_mps_mult32_shr_16(LOG_COEFF4, temp);
331
332
0
  k += (WORD32)(q_num * ((WORD32)LOG2XQ17));
333
334
0
  return (k >> 1);
335
0
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_log10
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_log10
336
337
0
static PLATFORM_INLINE WORD32 ixheaacd_mps_cos(WORD32 a, const WORD32 *cosine_tab) {
338
0
  WORD32 temp_result;
339
340
0
  if (a < 0) {
341
0
    a = -a;
342
0
  }
343
344
0
  a = a % TWO_PI_IN_Q15;
345
346
0
  temp_result = cosine_tab[((a * TRIG_TABLE_CONV_FAC) >> 15)];
347
0
  return temp_result;
348
0
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_cos
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_cos
349
350
0
static PLATFORM_INLINE WORD32 ixheaacd_mps_sin(WORD32 a, const WORD32 *sine_tab) {
351
0
  WORD32 temp_result, flag = 0;
352
353
0
  if (a < 0) {
354
0
    a = -a;
355
0
    flag = 1;
356
0
  }
357
358
0
  a = a % TWO_PI_IN_Q15;
359
360
0
  temp_result = sine_tab[((a * TRIG_TABLE_CONV_FAC) >> 15)];
361
0
  if (flag) temp_result = -temp_result;
362
363
0
  return temp_result;
364
0
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_decorr.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_hybrid_filt.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_mdct_2_qmf.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_polyphase.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_process.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_reshape_bb_env.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_temp_process.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_tonality.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_apply_m1.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_apply_m2.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_blind.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_emm.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_515x.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_51sx.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_52xx.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_727x.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_tree_757x.c:ixheaacd_mps_sin
Unexecuted instantiation: ixheaacd_mps_calc_m1m2_common.c:ixheaacd_mps_sin
365
366
56.5M
static PLATFORM_INLINE WORD32 ixheaacd_mps_comp(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
367
56.5M
  if (a == 0 || b == 0) {
368
14.0M
    if (a == 0) {
369
12.6M
      if (b < 0)
370
0
        return 1;
371
12.6M
      else
372
12.6M
        return 0;
373
12.6M
    } else if (b == 0) {
374
1.41M
      if (a > 0)
375
1.41M
        return 1;
376
0
      else
377
0
        return 0;
378
1.41M
    }
379
14.0M
  }
380
381
42.5M
  if (*q_a > q_b) {
382
27.1M
    a = (a >> ((*q_a) - q_b));
383
27.1M
  } else {
384
15.3M
    b = (b >> (q_b - (*q_a)));
385
15.3M
  }
386
387
42.5M
  if (a > b)
388
17.9M
    return 1;
389
24.5M
  else
390
24.5M
    return 0;
391
42.5M
}
Unexecuted instantiation: ixheaacd_mps_dec.c:ixheaacd_mps_comp
ixheaacd_mps_decorr.c:ixheaacd_mps_comp
Line
Count
Source
366
56.5M
static PLATFORM_INLINE WORD32 ixheaacd_mps_comp(WORD32 a, WORD32 b, WORD16 *q_a, WORD16 q_b) {
367
56.5M
  if (a == 0 || b == 0) {
368
14.0M
    if (a == 0) {
369
12.6M
      if (b < 0)
370
0
        return 1;
371
12.6M
      else
372
12.6M
        return 0;
373
12.6M
    } else if (b == 0) {
374
1.41M
      if (a > 0)
375
1.41M
        return 1;
376
0
      else
377
0
        return 0;
378
1.41M
    }
379
14.0M
  }
380
381
42.5M
  if (*q_a > q_b) {
382
27.1M
    a = (a >> ((*q_a) - q_b));
383
27.1M
  } else {
384
15.3M
    b = (b >> (q_b - (*q_a)));
385
15.3M
  }
386
387
42.5M
  if (a > b)
388
17.9M
    return 1;
389
24.5M
  else
390
24.5M
    return 0;
391
42.5M
}
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 */