• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* ------------------------------------------------------------------
2  * Copyright (C) 1998-2009 PacketVideo
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
13  * express or implied.
14  * See the License for the specific language governing permissions
15  * and limitations under the License.
16  * -------------------------------------------------------------------
17  */
18 /*
19 
20  Pathname: ./include/e_BlockSwitching.h
21 
22 ------------------------------------------------------------------------------
23  REVISION HISTORY
24 
25  Who:                       Date:
26  Description:
27 
28 ------------------------------------------------------------------------------
29  INCLUDE DESCRIPTION
30 
31  enum for BlockSwitching related constants
32 
33 ------------------------------------------------------------------------------
34 */
35 
36 /*----------------------------------------------------------------------------
37 ; CONTINUE ONLY IF NOT ALREADY DEFINED
38 ----------------------------------------------------------------------------*/
39 #ifndef E_BLOCK_SWITCHING_H
40 #define E_BLOCK_SWITCHING_H
41 
42 /*----------------------------------------------------------------------------
43 ; INCLUDES
44 ----------------------------------------------------------------------------*/
45 
46 /*----------------------------------------------------------------------------
47 ; MACROS
48 ; Define module specific macros here
49 ----------------------------------------------------------------------------*/
50 
51 /*----------------------------------------------------------------------------
52 ; DEFINES
53 ; Include all pre-processor statements here.
54 ----------------------------------------------------------------------------*/
55 
56 /*----------------------------------------------------------------------------
57 ; EXTERNAL VARIABLES REFERENCES
58 ; Declare variables used in this module but defined elsewhere
59 ----------------------------------------------------------------------------*/
60 
61 /*----------------------------------------------------------------------------
62 ; SIMPLE TYPEDEF'S
63 ----------------------------------------------------------------------------*/
64 
65 /*----------------------------------------------------------------------------
66 ; ENUMERATED TYPEDEF'S
67 ----------------------------------------------------------------------------*/
68 typedef enum
69 {
70     /*
71      * block switching
72      */
73     LN          = 2048,
74     SN          = 256,
75     LN2         = LN / 2,
76     SN2         = SN / 2,
77     LN4         = LN / 4,
78     SN4         = SN / 4,
79     NSHORT      = LN / SN,
80     MAX_SBK     = NSHORT,
81     MAX_WIN     = MAX_SBK,
82 
83     ONLY_LONG_WINDOW    = 0,
84     LONG_START_WINDOW,
85     EIGHT_SHORT_WINDOW,
86     LONG_STOP_WINDOW,
87     NUM_WIN_SEQ,
88 
89     WLONG       = ONLY_LONG_WINDOW,
90     WSTART,
91     WSHORT,
92     WSTOP,
93 
94     MAXBANDS        = 16 * NSHORT,  /* max number of scale factor bands */
95     MAXFAC      = 121,      /* maximum scale factor */
96     MIDFAC      = (MAXFAC - 1) / 2,
97     SF_OFFSET       = 100       /* global gain must be positive */
98 } eBlockSwitching;
99 
100 /*----------------------------------------------------------------------------
101 ; STRUCTURES TYPEDEF'S
102 ----------------------------------------------------------------------------*/
103 
104 /*----------------------------------------------------------------------------
105 ; GLOBAL FUNCTION DEFINITIONS
106 ; Function Prototype declaration
107 ----------------------------------------------------------------------------*/
108 
109 /*----------------------------------------------------------------------------
110 ; END
111 ----------------------------------------------------------------------------*/
112 #endif
113