Home | History | Annotate | Download | only in decoder
      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_CNST_H
     21 #define IXHEAACD_CNST_H
     22 
     23 #define MAX_ELEMENTS 68
     24 
     25 #define LEN_SUPERFRAME 1024
     26 #define LEN_FRAME 256
     27 #define NUM_FRAMES 4
     28 #define MAX_NUM_SUBFR 4
     29 
     30 #define ORDER 16
     31 #define ORDER_BY_2 (ORDER / 2)
     32 
     33 #define FAC_LENGTH 128
     34 
     35 #define NUM_SUBFR_SUPERFRAME 16
     36 #define NUM_SUBFR_SUPERFRAME_BY2 (NUM_SUBFR_SUPERFRAME / 2)
     37 #define SYNTH_DELAY_LMAX ((NUM_SUBFR_SUPERFRAME_BY2 - 1) * LEN_SUBFR)
     38 
     39 #define FSCALE_DENOM 12800
     40 #define FAC_FSCALE_MAX 24000
     41 #define FAC_FSCALE_MIN 6000
     42 
     43 #define FILTER_DELAY 12
     44 
     45 #define TMIN 34
     46 #define TFR2 (162 - TMIN)
     47 #define TFR1 160
     48 #define TMAX (27 + 6 * TMIN)
     49 
     50 #define UP_SAMP 4
     51 #define INTER_LP_FIL_ORDER 16
     52 #define INTER_LP_FIL_LEN (UP_SAMP * INTER_LP_FIL_ORDER + 1)
     53 
     54 #define MAX_PITCH \
     55   (TMAX +         \
     56    (6 *           \
     57     ((((FAC_FSCALE_MAX * TMIN) + (FSCALE_DENOM / 2)) / FSCALE_DENOM) - TMIN)))
     58 
     59 #define PI 3.14159265358979323846264338327950288
     60 
     61 #define PREEMPH_FILT_FAC 0.68f
     62 #define PREEMPH_FAC_FIX 44564
     63 
     64 #define IGAMMA1 1975684956
     65 
     66 #define TILT_CODE 0.3f
     67 
     68 #define BLOCK_LEN_LONG 1024
     69 #define BLOCK_LEN_SHORT 128
     70 #define BLOCK_LEN_LONG_S 960
     71 #define BLOCK_LEN_SHORT_S 120
     72 
     73 #define WIN_LEN_1024 1024
     74 #define WIN_LEN_768 768
     75 #define WIN_LEN_512 512
     76 #define WIN_LEN_192 192
     77 #define WIN_LEN_128 128
     78 #define WIN_LEN_960 960
     79 #define WIN_LEN_480 480
     80 #define WIN_LEN_256 256
     81 #define WIN_LEN_120 120
     82 #define WIN_LEN_96 96
     83 #define WIN_LEN_64 64
     84 #define WIN_LEN_48 48
     85 #define WIN_LEN_16 16
     86 #define WIN_LEN_4 4
     87 
     88 #define TW_IPLEN2S 12
     89 #define TW_OS_FACTOR_WIN 16
     90 
     91 #define WIN_SEL_0 0
     92 #define WIN_SEL_1 1
     93 #define WIN_SEL_2 2
     94 
     95 #define NUM_TW_NODES 16
     96 
     97 #define CORE_MODE_FD 0
     98 
     99 #define ONLY_LONG_SEQUENCE 0
    100 #define LONG_START_SEQUENCE 1
    101 #define EIGHT_SHORT_SEQUENCE 2
    102 #define LONG_STOP_SEQUENCE 3
    103 #define STOP_START_SEQUENCE 4
    104 #define NUM_WIN_SEQ 5
    105 
    106 #define NSFB_SHORT 16
    107 #define MAX_SHORT_IN_LONG_BLOCK 8
    108 #define MAX_SHORT_WINDOWS 8
    109 
    110 #define MAX_NUM_CHANNELS 6
    111 
    112 #define SFB_NUM_MAX ((NSFB_SHORT + 1) * MAX_SHORT_IN_LONG_BLOCK)
    113 
    114 #define MAX_31 (WORD32)0x3FFFFFFF
    115 #define MIN_31 (WORD32)0xC0000000
    116 #define LEN_SUBFR 64
    117 
    118 #define SFB_PER_PRED_BAND 2
    119 
    120 #endif /* IXHEAACD_CNST_H */
    121