1 /****************************************************************************** 2 * 3 * Copyright (C) 1999-2012 Broadcom Corporation 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 19 /****************************************************************************** 20 * 21 * This file contains the coefficient table used for DCT computation in 22 * analysis. 23 * 24 ******************************************************************************/ 25 26 #include "sbc_encoder.h" 27 /*DCT coeff for 4 sub-band case.*/ 28 #if (SBC_FAST_DCT == FALSE) 29 const int16_t gas16AnalDCTcoeff4[] = { 30 (int16_t)(0.7071 * 32768), (int16_t)(0.9239 * 32768), 31 (int16_t)(1.0000 * 32767), (int16_t)(0.9239 * 32768), 32 (int16_t)(0.7071 * 32768), (int16_t)(0.3827 * 32768), 33 (int16_t)(0.0000 * 32768), (int16_t)(-0.3827 * 32768), 34 35 (int16_t)(-0.7071 * 32768), (int16_t)(0.3827 * 32768), 36 (int16_t)(1.0000 * 32767), (int16_t)(0.3827 * 32768), 37 (int16_t)(-0.7071 * 32768), (int16_t)(-0.9239 * 32768), 38 (int16_t)(-0.0000 * 32768), (int16_t)(0.9239 * 32768), 39 40 (int16_t)(-0.7071 * 32768), (int16_t)(-0.3827 * 32768), 41 (int16_t)(1.0000 * 32767), (int16_t)(-0.3827 * 32768), 42 (int16_t)(-0.7071 * 32768), (int16_t)(0.9239 * 32768), 43 (int16_t)(0.0000 * 32768), (int16_t)(-0.9239 * 32768), 44 45 (int16_t)(0.7071 * 32768), (int16_t)(-0.9239 * 32768), 46 (int16_t)(1.0000 * 32767), (int16_t)(-0.9239 * 32768), 47 (int16_t)(0.7071 * 32768), (int16_t)(-0.3827 * 32768), 48 (int16_t)(-0.0000 * 32768), (int16_t)(0.3827 * 32768)}; 49 50 /*DCT coeff for 8 sub-band case.*/ 51 const int16_t gas16AnalDCTcoeff8[] = { 52 (int16_t)(0.7071 * 32768), (int16_t)(0.8315 * 32768), 53 (int16_t)(0.9239 * 32768), (int16_t)(0.9808 * 32768), 54 (int16_t)(1.0000 * 32767), (int16_t)(0.9808 * 32768), 55 (int16_t)(0.9239 * 32768), (int16_t)(0.8315 * 32768), 56 (int16_t)(0.7071 * 32768), (int16_t)(0.5556 * 32768), 57 (int16_t)(0.3827 * 32768), (int16_t)(0.1951 * 32768), 58 (int16_t)(0.0000 * 32768), (int16_t)(-0.1951 * 32768), 59 (int16_t)(-0.3827 * 32768), (int16_t)(-0.5556 * 32768), 60 (int16_t)(-0.7071 * 32768), (int16_t)(-0.1951 * 32768), 61 (int16_t)(0.3827 * 32768), (int16_t)(0.8315 * 32768), 62 (int16_t)(1.0000 * 32767), (int16_t)(0.8315 * 32768), 63 (int16_t)(0.3827 * 32768), (int16_t)(-0.1951 * 32768), 64 (int16_t)(-0.7071 * 32768), (int16_t)(-0.9808 * 32768), 65 (int16_t)(-0.9239 * 32768), (int16_t)(-0.5556 * 32768), 66 (int16_t)(-0.0000 * 32768), (int16_t)(0.5556 * 32768), 67 (int16_t)(0.9239 * 32768), (int16_t)(0.9808 * 32768), 68 (int16_t)(-0.7071 * 32768), (int16_t)(-0.9808 * 32768), 69 (int16_t)(-0.3827 * 32768), (int16_t)(0.5556 * 32768), 70 (int16_t)(1.0000 * 32767), (int16_t)(0.5556 * 32768), 71 (int16_t)(-0.3827 * 32768), (int16_t)(-0.9808 * 32768), 72 (int16_t)(-0.7071 * 32768), (int16_t)(0.1951 * 32768), 73 (int16_t)(0.9239 * 32768), (int16_t)(0.8315 * 32768), 74 (int16_t)(0.0000 * 32768), (int16_t)(-0.8315 * 32768), 75 (int16_t)(-0.9239 * 32768), (int16_t)(-0.1951 * 32768), 76 (int16_t)(0.7071 * 32768), (int16_t)(-0.5556 * 32768), 77 (int16_t)(-0.9239 * 32768), (int16_t)(0.1951 * 32768), 78 (int16_t)(1.0000 * 32767), (int16_t)(0.1951 * 32768), 79 (int16_t)(-0.9239 * 32768), (int16_t)(-0.5556 * 32768), 80 (int16_t)(0.7071 * 32768), (int16_t)(0.8315 * 32768), 81 (int16_t)(-0.3827 * 32768), (int16_t)(-0.9808 * 32768), 82 (int16_t)(-0.0000 * 32768), (int16_t)(0.9808 * 32768), 83 (int16_t)(0.3827 * 32768), (int16_t)(-0.8315 * 32768), 84 (int16_t)(0.7071 * 32768), (int16_t)(0.5556 * 32768), 85 (int16_t)(-0.9239 * 32768), (int16_t)(-0.1951 * 32768), 86 (int16_t)(1.0000 * 32767), (int16_t)(-0.1951 * 32768), 87 (int16_t)(-0.9239 * 32768), (int16_t)(0.5556 * 32768), 88 (int16_t)(0.7071 * 32768), (int16_t)(-0.8315 * 32768), 89 (int16_t)(-0.3827 * 32768), (int16_t)(0.9808 * 32768), 90 (int16_t)(0.0000 * 32768), (int16_t)(-0.9808 * 32768), 91 (int16_t)(0.3827 * 32768), (int16_t)(0.8315 * 32768), 92 (int16_t)(-0.7071 * 32768), (int16_t)(0.9808 * 32768), 93 (int16_t)(-0.3827 * 32768), (int16_t)(-0.5556 * 32768), 94 (int16_t)(1.0000 * 32767), (int16_t)(-0.5556 * 32768), 95 (int16_t)(-0.3827 * 32768), (int16_t)(0.9808 * 32768), 96 (int16_t)(-0.7071 * 32768), (int16_t)(-0.1951 * 32768), 97 (int16_t)(0.9239 * 32768), (int16_t)(-0.8315 * 32768), 98 (int16_t)(-0.0000 * 32768), (int16_t)(0.8315 * 32768), 99 (int16_t)(-0.9239 * 32768), (int16_t)(0.1951 * 32768), 100 (int16_t)(-0.7071 * 32768), (int16_t)(0.1951 * 32768), 101 (int16_t)(0.3827 * 32768), (int16_t)(-0.8315 * 32768), 102 (int16_t)(1.0000 * 32767), (int16_t)(-0.8315 * 32768), 103 (int16_t)(0.3827 * 32768), (int16_t)(0.1951 * 32768), 104 (int16_t)(-0.7071 * 32768), (int16_t)(0.9808 * 32768), 105 (int16_t)(-0.9239 * 32768), (int16_t)(0.5556 * 32768), 106 (int16_t)(-0.0000 * 32768), (int16_t)(-0.5556 * 32768), 107 (int16_t)(0.9239 * 32768), (int16_t)(-0.9808 * 32768), 108 (int16_t)(0.7071 * 32768), (int16_t)(-0.8315 * 32768), 109 (int16_t)(0.9239 * 32768), (int16_t)(-0.9808 * 32768), 110 (int16_t)(1.0000 * 32767), (int16_t)(-0.9808 * 32768), 111 (int16_t)(0.9239 * 32768), (int16_t)(-0.8315 * 32768), 112 (int16_t)(0.7071 * 32768), (int16_t)(-0.5556 * 32768), 113 (int16_t)(0.3827 * 32768), (int16_t)(-0.1951 * 32768), 114 (int16_t)(-0.0000 * 32768), (int16_t)(0.1951 * 32768), 115 (int16_t)(-0.3827 * 32768), (int16_t)(0.5556 * 32768)}; 116 #endif 117