1*15dc779aSAndroid Build Coastguard Worker /****************************************************************************** 2*15dc779aSAndroid Build Coastguard Worker * * 3*15dc779aSAndroid Build Coastguard Worker * Copyright (C) 2023 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 21*15dc779aSAndroid Build Coastguard Worker #pragma once 22*15dc779aSAndroid Build Coastguard Worker #ifndef TRUE 23*15dc779aSAndroid Build Coastguard Worker #define TRUE (1) 24*15dc779aSAndroid Build Coastguard Worker #endif 25*15dc779aSAndroid Build Coastguard Worker #ifndef FALSE 26*15dc779aSAndroid Build Coastguard Worker #define FALSE (0) 27*15dc779aSAndroid Build Coastguard Worker #endif 28*15dc779aSAndroid Build Coastguard Worker 29*15dc779aSAndroid Build Coastguard Worker #define TRANS_FAC 8 30*15dc779aSAndroid Build Coastguard Worker #define FRAME_LEN_SHORT_128 (128) 31*15dc779aSAndroid Build Coastguard Worker #define FRAME_LEN_SHORT_120 (120) 32*15dc779aSAndroid Build Coastguard Worker 33*15dc779aSAndroid Build Coastguard Worker /* Block types */ 34*15dc779aSAndroid Build Coastguard Worker enum { LONG_WINDOW = 0, START_WINDOW, SHORT_WINDOW, STOP_WINDOW }; 35*15dc779aSAndroid Build Coastguard Worker 36*15dc779aSAndroid Build Coastguard Worker /* Window shapes */ 37*15dc779aSAndroid Build Coastguard Worker enum { SINE_WINDOW = 0, KBD_WINDOW = 1 }; 38*15dc779aSAndroid Build Coastguard Worker 39*15dc779aSAndroid Build Coastguard Worker enum { LD_WINDOW = 1 }; 40*15dc779aSAndroid Build Coastguard Worker 41*15dc779aSAndroid Build Coastguard Worker /* MS stuff */ 42*15dc779aSAndroid Build Coastguard Worker enum { SI_MS_MASK_NONE = 0, SI_MS_MASK_SOME = 1, SI_MS_MASK_ALL = 2 }; 43*15dc779aSAndroid Build Coastguard Worker 44*15dc779aSAndroid Build Coastguard Worker #define MDCT_LEN 480 45*15dc779aSAndroid Build Coastguard Worker #define MDCT_LEN_BY2 240 46*15dc779aSAndroid Build Coastguard Worker #define FFT5 (5) 47*15dc779aSAndroid Build Coastguard Worker #define FFT2 (2) 48*15dc779aSAndroid Build Coastguard Worker #define FFT16 (16) 49*15dc779aSAndroid Build Coastguard Worker #define FFT4 (4) 50*15dc779aSAndroid Build Coastguard Worker #define FFT3 (3) 51*15dc779aSAndroid Build Coastguard Worker #define FFT15 (15) 52*15dc779aSAndroid Build Coastguard Worker #define FFT15X2 (30) 53*15dc779aSAndroid Build Coastguard Worker #define FFT32 (32) 54*15dc779aSAndroid Build Coastguard Worker #define FFT16X2 (32) 55*15dc779aSAndroid Build Coastguard Worker #define FFT32X2 (FFT32 * 2) 56*15dc779aSAndroid Build Coastguard Worker 57*15dc779aSAndroid Build Coastguard Worker #define MAX_FLT_VAL (3.402823466e+38F) 58*15dc779aSAndroid Build Coastguard Worker #define MIN_FLT_VAL (1.175494351e-38F) 59*15dc779aSAndroid Build Coastguard Worker #define MIN_SHRT_VAL (-32768) 60*15dc779aSAndroid Build Coastguard Worker #define MAX_SHRT_VAL (32767) 61*15dc779aSAndroid Build Coastguard Worker 62*15dc779aSAndroid Build Coastguard Worker #define MAXIMUM_NO_OF_GROUPS 4 63*15dc779aSAndroid Build Coastguard Worker 64*15dc779aSAndroid Build Coastguard Worker #define MAXIMUM_SCALE_FACTOR_BAND_SHORT 15 65*15dc779aSAndroid Build Coastguard Worker #define MAXIMUM_SCALE_FACTOR_BAND_LONG 51 66*15dc779aSAndroid Build Coastguard Worker 67*15dc779aSAndroid Build Coastguard Worker /* = MAXIMUM_SCALE_FACTOR_BAND_LONG */ 68*15dc779aSAndroid Build Coastguard Worker #define MAXIMUM_SCALE_FACTOR_BAND \ 69*15dc779aSAndroid Build Coastguard Worker (MAXIMUM_SCALE_FACTOR_BAND_SHORT > MAXIMUM_SCALE_FACTOR_BAND_LONG \ 70*15dc779aSAndroid Build Coastguard Worker ? MAXIMUM_SCALE_FACTOR_BAND_SHORT \ 71*15dc779aSAndroid Build Coastguard Worker : MAXIMUM_SCALE_FACTOR_BAND_LONG) 72*15dc779aSAndroid Build Coastguard Worker #define MAXIMUM_GROUPED_SCALE_FACTOR_BAND \ 73*15dc779aSAndroid Build Coastguard Worker (MAXIMUM_NO_OF_GROUPS * MAXIMUM_SCALE_FACTOR_BAND_SHORT > MAXIMUM_SCALE_FACTOR_BAND_LONG \ 74*15dc779aSAndroid Build Coastguard Worker ? MAXIMUM_NO_OF_GROUPS * MAXIMUM_SCALE_FACTOR_BAND_SHORT \ 75*15dc779aSAndroid Build Coastguard Worker : MAXIMUM_SCALE_FACTOR_BAND_LONG) 76*15dc779aSAndroid Build Coastguard Worker 77*15dc779aSAndroid Build Coastguard Worker #define MAX_CHANNELS (2) 78*15dc779aSAndroid Build Coastguard Worker /* For 2:1 resampler -> max phase delay * resamp_fac */ 79*15dc779aSAndroid Build Coastguard Worker #define MAX_DS_2_1_FILTER_DELAY (16) 80*15dc779aSAndroid Build Coastguard Worker 81*15dc779aSAndroid Build Coastguard Worker /* For 4:1 resampler -> max phase delay * resamp_fac */ 82*15dc779aSAndroid Build Coastguard Worker #define MAX_DS_4_1_FILTER_DELAY (64) 83*15dc779aSAndroid Build Coastguard Worker 84*15dc779aSAndroid Build Coastguard Worker /* For 8:1 resampler -> max phase delay * resamp_fac */ 85*15dc779aSAndroid Build Coastguard Worker #define MAX_DS_8_1_FILTER_DELAY (248) 86*15dc779aSAndroid Build Coastguard Worker 87*15dc779aSAndroid Build Coastguard Worker /* For 1:3 resampler -> max phase delay * resamp_fac */ 88*15dc779aSAndroid Build Coastguard Worker #define MAX_DS_1_3_FILTER_DELAY (36) 89*15dc779aSAndroid Build Coastguard Worker 90*15dc779aSAndroid Build Coastguard Worker #define BLK_SWITCH_OFFSET_LC_128 (1 * 1024 + 3 * 128 + 64 + 128) 91*15dc779aSAndroid Build Coastguard Worker #define BLK_SWITCH_OFFSET_LC_120 (1 * 960 + 3 * 120 + 60 + 120) 92*15dc779aSAndroid Build Coastguard Worker #define BLK_SWITCH_OFFSET_LD (2048) 93*15dc779aSAndroid Build Coastguard Worker 94*15dc779aSAndroid Build Coastguard Worker #define MAXIMUM_CHANNEL_BITS_1024 6144 95*15dc779aSAndroid Build Coastguard Worker #define MAXIMUM_CHANNEL_BITS_960 5760 96*15dc779aSAndroid Build Coastguard Worker #define MAXIMUM_CHANNEL_BITS_512 3072 97*15dc779aSAndroid Build Coastguard Worker #define MAXIMUM_CHANNEL_BITS_480 2880 98*15dc779aSAndroid Build Coastguard Worker 99*15dc779aSAndroid Build Coastguard Worker #define TRANSFORM_OFFSET_SHORT_128 448 100*15dc779aSAndroid Build Coastguard Worker #define TRANSFORM_OFFSET_SHORT_120 420 101*15dc779aSAndroid Build Coastguard Worker 102*15dc779aSAndroid Build Coastguard Worker #define PCM_LEVEL 1.0f 103*15dc779aSAndroid Build Coastguard Worker #define NORMALIZED_PCM (PCM_LEVEL) 104*15dc779aSAndroid Build Coastguard Worker #define CLIP_ENERGY_VALUE_LONG (1.0e9f) 105*15dc779aSAndroid Build Coastguard Worker #define FADE_OUT_LEN (6) 106*15dc779aSAndroid Build Coastguard Worker #define MIN_THRESH_FAC (0.01f) 107