Coverage Report

Created: 2025-10-13 07:01

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libxaac/decoder/ixheaacd_Windowing.c
Line
Count
Source
1
/******************************************************************************
2
 *                                                                            *
3
 * Copyright (C) 2018 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
#include "ixheaacd_cnst.h"
21
22
#include "ixheaac_constants.h"
23
#include "ixheaac_type_def.h"
24
#include "ixheaac_basic_ops32.h"
25
#include "ixheaac_basic_ops40.h"
26
27
#include "ixheaacd_windows.h"
28
29
473k
WORD32 ixheaacd_calc_window(WORD32 **win, WORD32 win_sz, WORD32 win_sel, WORD32 ec_flag) {
30
473k
  switch (win_sel) {
31
349k
    case WIN_SEL_0:
32
349k
      switch (win_sz) {
33
161k
        case WIN_LEN_128:
34
161k
          *win = (WORD32 *)ixheaacd_sine_win_128;
35
161k
          break;
36
130k
        case WIN_LEN_1024:
37
130k
          *win = (WORD32 *)ixheaacd_sine_win_1024;
38
130k
          break;
39
0
        case WIN_LEN_64:
40
0
          *win = (WORD32 *)ixheaacd_sine_win_64;
41
0
          break;
42
30.5k
        case WIN_LEN_768:
43
30.5k
          *win = (WORD32 *)ixheaacd_sine_win_768;
44
30.5k
          break;
45
1.46k
        case WIN_LEN_192:
46
1.46k
          *win = (WORD32 *)ixheaacd_sine_win_192;
47
1.46k
          break;
48
15.8k
        case WIN_LEN_96:
49
15.8k
          *win = (WORD32 *)ixheaacd_sine_win_96;
50
15.8k
          break;
51
10.4k
        case WIN_LEN_256:
52
10.4k
          *win = (WORD32 *)ixheaacd_sine_win_256;
53
10.4k
          break;
54
0
        default:
55
0
          if (ec_flag)
56
0
            *win = (WORD32 *)ixheaacd_sine_win_1024;
57
0
          else
58
0
            return -1;
59
0
          break;
60
349k
      }
61
349k
      break;
62
63
349k
    case WIN_SEL_1:
64
124k
      switch (win_sz) {
65
0
        case WIN_LEN_120:
66
0
          *win = (WORD32 *)ixheaacd_kbd_win120;
67
0
          break;
68
97.0k
        case WIN_LEN_128:
69
97.0k
          *win = (WORD32 *)ixheaacd_kbd_win128;
70
97.0k
          break;
71
0
        case WIN_LEN_960:
72
0
          *win = (WORD32 *)ixheaacd_kbd_win960;
73
0
          break;
74
24.8k
        case WIN_LEN_1024:
75
24.8k
          *win = (WORD32 *)ixheaacd_kbd_win1024;
76
24.8k
          break;
77
0
        case WIN_LEN_4:
78
0
          *win = (WORD32 *)ixheaacd_kbd_win4;
79
0
          break;
80
0
        case WIN_LEN_16:
81
0
          *win = (WORD32 *)ixheaacd_kbd_win16;
82
0
          break;
83
0
        case WIN_LEN_64:
84
0
          *win = (WORD32 *)ixheaacd_kbd_win_64;
85
0
          break;
86
455
        case WIN_LEN_768:
87
455
          *win = (WORD32 *)ixheaacd_kbd_win768;
88
455
          break;
89
0
        case WIN_LEN_192:
90
0
          *win = (WORD32 *)ixheaacd_kbd_win192;
91
0
          break;
92
1.71k
        case WIN_LEN_96:
93
1.71k
          *win = (WORD32 *)ixheaacd_kbd_win96;
94
1.71k
          break;
95
0
        case WIN_LEN_48:
96
0
          *win = (WORD32 *)ixheaacd_kbd_win48;
97
0
          break;
98
0
        default:
99
0
          if (ec_flag)
100
0
            *win = (WORD32 *)ixheaacd_kbd_win1024;
101
0
          else
102
0
            return -1;
103
0
          break;
104
124k
      }
105
124k
      break;
106
107
124k
    default:
108
0
      return -1;
109
0
      break;
110
473k
  }
111
473k
  return 0;
112
473k
}