xref: /aosp_15_r20/external/libxaac/common/ixheaac_constants.h (revision 15dc779a375ca8b5125643b829a8aa4b70d7f451)
1*15dc779aSAndroid Build Coastguard Worker /******************************************************************************
2*15dc779aSAndroid Build Coastguard Worker  *                                                                            *
3*15dc779aSAndroid Build Coastguard Worker  * Copyright (C) 2018 The Android Open Source Project
4*15dc779aSAndroid Build Coastguard Worker  *
5*15dc779aSAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
6*15dc779aSAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
7*15dc779aSAndroid Build Coastguard Worker  * You may obtain a copy of the License at:
8*15dc779aSAndroid Build Coastguard Worker  *
9*15dc779aSAndroid Build Coastguard Worker  * http://www.apache.org/licenses/LICENSE-2.0
10*15dc779aSAndroid Build Coastguard Worker  *
11*15dc779aSAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
12*15dc779aSAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
13*15dc779aSAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14*15dc779aSAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
15*15dc779aSAndroid Build Coastguard Worker  * limitations under the License.
16*15dc779aSAndroid Build Coastguard Worker  *
17*15dc779aSAndroid Build Coastguard Worker  *****************************************************************************
18*15dc779aSAndroid Build Coastguard Worker  * Originally developed and contributed by Ittiam Systems Pvt. Ltd, Bangalore
19*15dc779aSAndroid Build Coastguard Worker */
20*15dc779aSAndroid Build Coastguard Worker #ifndef IXHEAAC_CONSTANTS_H
21*15dc779aSAndroid Build Coastguard Worker #define IXHEAAC_CONSTANTS_H
22*15dc779aSAndroid Build Coastguard Worker 
23*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/
24*15dc779aSAndroid Build Coastguard Worker /* constant macros                                                           */
25*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/
26*15dc779aSAndroid Build Coastguard Worker #define Q0 1
27*15dc779aSAndroid Build Coastguard Worker #define Q1 2
28*15dc779aSAndroid Build Coastguard Worker #define Q2 4
29*15dc779aSAndroid Build Coastguard Worker #define Q3 8
30*15dc779aSAndroid Build Coastguard Worker #define Q4 16
31*15dc779aSAndroid Build Coastguard Worker #define Q5 32
32*15dc779aSAndroid Build Coastguard Worker #define Q6 64
33*15dc779aSAndroid Build Coastguard Worker #define Q7 128
34*15dc779aSAndroid Build Coastguard Worker #define Q8 256
35*15dc779aSAndroid Build Coastguard Worker #define Q9 512
36*15dc779aSAndroid Build Coastguard Worker #define Q10 1024
37*15dc779aSAndroid Build Coastguard Worker #define Q11 2048
38*15dc779aSAndroid Build Coastguard Worker #define Q14 16384
39*15dc779aSAndroid Build Coastguard Worker #define Q15 32768
40*15dc779aSAndroid Build Coastguard Worker #define Q16 65536
41*15dc779aSAndroid Build Coastguard Worker #define Q18 262144
42*15dc779aSAndroid Build Coastguard Worker #define Q19 524288
43*15dc779aSAndroid Build Coastguard Worker #define Q20 1048576
44*15dc779aSAndroid Build Coastguard Worker #define Q24 16777216
45*15dc779aSAndroid Build Coastguard Worker #define Q25 33554432
46*15dc779aSAndroid Build Coastguard Worker #define Q26 67108864
47*15dc779aSAndroid Build Coastguard Worker #define Q28 268435456
48*15dc779aSAndroid Build Coastguard Worker #define Q29 536870912
49*15dc779aSAndroid Build Coastguard Worker #define Q30 1073741824
50*15dc779aSAndroid Build Coastguard Worker #define Q31 2147483647
51*15dc779aSAndroid Build Coastguard Worker #define Q32 4294967296
52*15dc779aSAndroid Build Coastguard Worker #define Q35 34359738368
53*15dc779aSAndroid Build Coastguard Worker #define Q38 274877906944
54*15dc779aSAndroid Build Coastguard Worker #define Q39 549755813887
55*15dc779aSAndroid Build Coastguard Worker #define Q40 Q39
56*15dc779aSAndroid Build Coastguard Worker 
57*15dc779aSAndroid Build Coastguard Worker #define MAX_64 (WORD64)0x7fffffffffffffff
58*15dc779aSAndroid Build Coastguard Worker #define MIN_64 (WORD64)0x8000000000000000
59*15dc779aSAndroid Build Coastguard Worker 
60*15dc779aSAndroid Build Coastguard Worker #define MAX_32 (WORD32)0x7fffffffL
61*15dc779aSAndroid Build Coastguard Worker #define MIN_32 (WORD32)0x80000000L
62*15dc779aSAndroid Build Coastguard Worker 
63*15dc779aSAndroid Build Coastguard Worker #define MAX_16 (WORD16)0x7fff
64*15dc779aSAndroid Build Coastguard Worker #define MIN_16 (WORD16)0x8000
65*15dc779aSAndroid Build Coastguard Worker 
66*15dc779aSAndroid Build Coastguard Worker #define NULLPTR ((VOID *)0)
67*15dc779aSAndroid Build Coastguard Worker 
68*15dc779aSAndroid Build Coastguard Worker #define IT_NULL ((VOID *)0)
69*15dc779aSAndroid Build Coastguard Worker 
70*15dc779aSAndroid Build Coastguard Worker #define ADJ_SCALE 11
71*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/
72*15dc779aSAndroid Build Coastguard Worker /* function macros                                                           */
73*15dc779aSAndroid Build Coastguard Worker /*****************************************************************************/
74*15dc779aSAndroid Build Coastguard Worker #define max(a, b) (((a) > (b)) ? (a) : (b))
75*15dc779aSAndroid Build Coastguard Worker #define min(a, b) (((a) < (b)) ? (a) : (b))
76*15dc779aSAndroid Build Coastguard Worker 
77*15dc779aSAndroid Build Coastguard Worker #define C70 (-0.1666667014f)  //(cos(u) + cos(2 * u) + cos(3 * u)) / 3;
78*15dc779aSAndroid Build Coastguard Worker #define C71 (0.7901564837f)   //(2 * cos(u) - cos(2 * u) - cos(3 * u)) / 3;
79*15dc779aSAndroid Build Coastguard Worker #define C72 (0.0558542535f)   //(cos(u) - 2 * cos(2 * u) + cos(3 * u)) / 3;
80*15dc779aSAndroid Build Coastguard Worker #define C73 (0.7343022227f)   //(cos(u) + cos(2 * u) - 2 * cos(3 * u)) / 3;
81*15dc779aSAndroid Build Coastguard Worker #define C74 (-0.4409585893f)  //(sin(u) + sin(2 * u) - sin(3 * u)) / 3;
82*15dc779aSAndroid Build Coastguard Worker #define C75 (-0.3408728838f)  //(2 * sin(u) - sin(2 * u) + sin(3 * u)) / 3;
83*15dc779aSAndroid Build Coastguard Worker #define C76 (0.5339693427f)   //(sin(u) - 2 * sin(2 * u) - sin(3 * u)) / 3;
84*15dc779aSAndroid Build Coastguard Worker #define C77 (-0.8748422265f)  //(sin(u) + sin(2 * u) + 2 * sin(3 * u)) / 3;
85*15dc779aSAndroid Build Coastguard Worker 
86*15dc779aSAndroid Build Coastguard Worker #define BYTE_ALIGN_8 (8)
87*15dc779aSAndroid Build Coastguard Worker #define IXHEAAC_GET_SIZE_ALIGNED(size, alignment) ((size + (alignment - 1)) & ~(alignment - 1))
88*15dc779aSAndroid Build Coastguard Worker #define IXHEAAC_GET_SIZE_ALIGNED_TYPE(num_ele, ele_size, alignment) \
89*15dc779aSAndroid Build Coastguard Worker   ((((num_ele * ele_size) + (alignment - 1)) & ~(alignment - 1)) / ele_size)
90*15dc779aSAndroid Build Coastguard Worker 
91*15dc779aSAndroid Build Coastguard Worker #endif /* IXHEAAC_CONSTANTS_H */
92