Coverage Report

Created: 2026-01-25 06:51

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
384k
WORD32 ixheaacd_calc_window(WORD32 **win, WORD32 win_sz, WORD32 win_sel, WORD32 ec_flag) {
30
384k
  switch (win_sel) {
31
276k
    case WIN_SEL_0:
32
276k
      switch (win_sz) {
33
153k
        case WIN_LEN_128:
34
153k
          *win = (WORD32 *)ixheaacd_sine_win_128;
35
153k
          break;
36
83.9k
        case WIN_LEN_1024:
37
83.9k
          *win = (WORD32 *)ixheaacd_sine_win_1024;
38
83.9k
          break;
39
0
        case WIN_LEN_64:
40
0
          *win = (WORD32 *)ixheaacd_sine_win_64;
41
0
          break;
42
21.3k
        case WIN_LEN_768:
43
21.3k
          *win = (WORD32 *)ixheaacd_sine_win_768;
44
21.3k
          break;
45
1.13k
        case WIN_LEN_192:
46
1.13k
          *win = (WORD32 *)ixheaacd_sine_win_192;
47
1.13k
          break;
48
8.33k
        case WIN_LEN_96:
49
8.33k
          *win = (WORD32 *)ixheaacd_sine_win_96;
50
8.33k
          break;
51
7.92k
        case WIN_LEN_256:
52
7.92k
          *win = (WORD32 *)ixheaacd_sine_win_256;
53
7.92k
          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
276k
      }
61
276k
      break;
62
63
276k
    case WIN_SEL_1:
64
108k
      switch (win_sz) {
65
0
        case WIN_LEN_120:
66
0
          *win = (WORD32 *)ixheaacd_kbd_win120;
67
0
          break;
68
88.7k
        case WIN_LEN_128:
69
88.7k
          *win = (WORD32 *)ixheaacd_kbd_win128;
70
88.7k
          break;
71
0
        case WIN_LEN_960:
72
0
          *win = (WORD32 *)ixheaacd_kbd_win960;
73
0
          break;
74
17.6k
        case WIN_LEN_1024:
75
17.6k
          *win = (WORD32 *)ixheaacd_kbd_win1024;
76
17.6k
          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
320
        case WIN_LEN_768:
87
320
          *win = (WORD32 *)ixheaacd_kbd_win768;
88
320
          break;
89
0
        case WIN_LEN_192:
90
0
          *win = (WORD32 *)ixheaacd_kbd_win192;
91
0
          break;
92
1.41k
        case WIN_LEN_96:
93
1.41k
          *win = (WORD32 *)ixheaacd_kbd_win96;
94
1.41k
          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
108k
      }
105
108k
      break;
106
107
108k
    default:
108
0
      return -1;
109
0
      break;
110
384k
  }
111
384k
  return 0;
112
384k
}