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 #ifndef IXHEAACD_CONSTANTS_H 21 #define IXHEAACD_CONSTANTS_H 22 23 /*****************************************************************************/ 24 /* constant macros */ 25 /*****************************************************************************/ 26 #define Q0 1 27 #define Q1 2 28 #define Q2 4 29 #define Q3 8 30 #define Q4 16 31 #define Q5 32 32 #define Q6 64 33 #define Q7 128 34 #define Q8 256 35 #define Q9 512 36 #define Q10 1024 37 #define Q11 2048 38 #define Q14 16384 39 #define Q15 32768 40 #define Q16 65536 41 #define Q18 262144 42 #define Q19 524288 43 #define Q20 1048576 44 #define Q24 16777216 45 #define Q25 33554432 46 #define Q26 67108864 47 #define Q28 268435456 48 #define Q29 536870912 49 #define Q30 1073741824 50 #define Q31 2147483647 51 #define Q32 4294967296 52 #define Q35 34359738368 53 #define Q38 274877906944 54 #define Q39 549755813887 55 #define Q40 Q39 56 57 #define MAX_64 (WORD64)0x7fffffffffffffff 58 #define MIN_64 (WORD64)0x8000000000000000 59 60 #define MAX_32 (WORD32)0x7fffffffL 61 #define MIN_32 (WORD32)0x80000000L 62 63 #define MAX_16 (WORD16)0x7fff 64 #define MIN_16 (WORD16)0x8000 65 66 #define NULLPTR ((VOID *)0) 67 68 #define IT_NULL ((VOID *)0) 69 70 #define ADJ_SCALE 11 71 /*****************************************************************************/ 72 /* function macros */ 73 /*****************************************************************************/ 74 #define max(a, b) (((a) > (b)) ? (a) : (b)) 75 #define min(a, b) (((a) < (b)) ? (a) : (b)) 76 77 #define C70 (-0.1666667014f) //(cos(u) + cos(2 * u) + cos(3 * u)) / 3; 78 #define C71 (0.7901564837f) //(2 * cos(u) - cos(2 * u) - cos(3 * u)) / 3; 79 #define C72 (0.0558542535f) //(cos(u) - 2 * cos(2 * u) + cos(3 * u)) / 3; 80 #define C73 (0.7343022227f) //(cos(u) + cos(2 * u) - 2 * cos(3 * u)) / 3; 81 #define C74 (-0.4409585893f) //(sin(u) + sin(2 * u) - sin(3 * u)) / 3; 82 #define C75 (-0.3408728838f) //(2 * sin(u) - sin(2 * u) + sin(3 * u)) / 3; 83 #define C76 (0.5339693427f) //(sin(u) - 2 * sin(2 * u) - sin(3 * u)) / 3; 84 #define C77 (-0.8748422265f) //(sin(u) + sin(2 * u) + 2 * sin(3 * u)) / 3; 85 86 #endif /* IXHEAACD_CONSTANTS_H */ 87