Home | History | Annotate | Download | only in aacdec
      1 /* ------------------------------------------------------------------
      2  * Copyright (C) 1998-2009 PacketVideo
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
     13  * express or implied.
     14  * See the License for the specific language governing permissions
     15  * and limitations under the License.
     16  * -------------------------------------------------------------------
     17  */
     18 /*
     19 
     20  Pathname: s_TNSfilt.h
     21 
     22 ------------------------------------------------------------------------------
     23  REVISION HISTORY
     24 
     25  Description: Added lpc, start, & size, so the data from
     26  tns_inv_subblock can be shared with tns_decode_subblock.
     27 
     28  Description: Removed lpc to save 2KB of memory (on 32-bit machines.)
     29  This change requires tns_decode_coef.c to perform calculations in place.
     30 
     31  Description: Removed start & size.  start_band and stop_band can simply
     32  take on a new meaning after this function.  (coef index, rather than
     33  scalefactor band index.)
     34 
     35  Description: Had to add "start_coef" and "stop_coef" in order to preserve
     36  values "start_band" and "stop_band."  This required a change to
     37  tns_setup_filter.c also.
     38 
     39  Description: Had to add element "q_lpc" to store the q-format of the lpc
     40  coefficients passed via "coef."
     41 
     42  Description: Moved lpc_coef array up to the s_TNS_frame_info.h structure.
     43 
     44  Description:
     45  (1) Modified to include the lines...
     46 
     47     #ifdef __cplusplus
     48     extern "C" {
     49     #endif
     50 
     51     #ifdef __cplusplus
     52     }
     53     #endif
     54 
     55  (2) Updated the copyright header.
     56 
     57  Who:                       Date:
     58  Description:
     59 ------------------------------------------------------------------------------
     60  INCLUDE DESCRIPTION
     61 
     62  This include file defines the structure, s_TNSfilt
     63 
     64 ------------------------------------------------------------------------------
     65 */
     66 
     67 /*----------------------------------------------------------------------------
     68 ; CONTINUE ONLY IF NOT ALREADY DEFINED
     69 ----------------------------------------------------------------------------*/
     70 #ifndef S_TNSFILT_H
     71 #define S_TNSFILT_H
     72 
     73 #ifdef __cplusplus
     74 extern "C"
     75 {
     76 #endif
     77 
     78     /*----------------------------------------------------------------------------
     79     ; INCLUDES
     80     ----------------------------------------------------------------------------*/
     81 #include "pv_audio_type_defs.h"
     82 #include "e_tns_const.h"
     83 
     84     /*----------------------------------------------------------------------------
     85     ; MACROS
     86     ; Define module specific macros here
     87     ----------------------------------------------------------------------------*/
     88 
     89     /*----------------------------------------------------------------------------
     90     ; DEFINES
     91     ; Include all pre-processor statements here.
     92     ----------------------------------------------------------------------------*/
     93 
     94     /*----------------------------------------------------------------------------
     95     ; EXTERNAL VARIABLES REFERENCES
     96     ; Declare variables used in this module but defined elsewhere
     97     ----------------------------------------------------------------------------*/
     98 
     99     /*----------------------------------------------------------------------------
    100     ; SIMPLE TYPEDEF'S
    101     ----------------------------------------------------------------------------*/
    102 
    103     /*----------------------------------------------------------------------------
    104     ; ENUMERATED TYPEDEF'S
    105     ----------------------------------------------------------------------------*/
    106 
    107     /*----------------------------------------------------------------------------
    108     ; STRUCTURES TYPEDEF'S
    109     ----------------------------------------------------------------------------*/
    110 
    111     typedef struct
    112     {
    113         Int start_band;
    114         Int stop_band;
    115         Int start_coef;
    116         Int stop_coef;
    117         UInt order;
    118         Int direction;
    119         Int q_lpc;
    120 
    121     } TNSfilt;
    122 
    123     /*----------------------------------------------------------------------------
    124     ; GLOBAL FUNCTION DEFINITIONS
    125     ; Function Prototype declaration
    126     ----------------------------------------------------------------------------*/
    127 
    128 #ifdef __cplusplus
    129 }
    130 #endif
    131 
    132 #endif /* S_TNSFILT_H */
    133