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_frameinfo.h
     21 
     22 ------------------------------------------------------------------------------
     23  REVISION HISTORY
     24 
     25  Description: Changed name of bk_sfb_top to frame_sfb_top.
     26  Included "interface.h" for defintion of MAX_WIN.  This
     27  will hopefully be simplified when interface.h is broken up into smaller
     28  include files.
     29 
     30  Description: Eliminated the never used array, group_offs[8]
     31 
     32  Description:
     33  (1) Modified to include the lines...
     34 
     35     #ifdef __cplusplus
     36     extern "C" {
     37     #endif
     38 
     39     #ifdef __cplusplus
     40     }
     41     #endif
     42 
     43  (2) Updated the copyright header.
     44 
     45  Description:
     46 
     47 ------------------------------------------------------------------------------
     48  INCLUDE DESCRIPTION
     49 
     50  This include file defines the structure, FrameInfo
     51 
     52 ------------------------------------------------------------------------------
     53 */
     54 
     55 /*----------------------------------------------------------------------------
     56 ; CONTINUE ONLY IF NOT ALREADY DEFINED
     57 ----------------------------------------------------------------------------*/
     58 #ifndef S_FRAMEINFO_H
     59 #define S_FRAMEINFO_H
     60 
     61 #ifdef __cplusplus
     62 extern "C"
     63 {
     64 #endif
     65 
     66     /*----------------------------------------------------------------------------
     67     ; INCLUDES
     68     ----------------------------------------------------------------------------*/
     69 #include "pv_audio_type_defs.h"
     70 #include "e_blockswitching.h"
     71 
     72     /*----------------------------------------------------------------------------
     73     ; MACROS
     74     ; Define module specific macros here
     75     ----------------------------------------------------------------------------*/
     76 
     77     /*----------------------------------------------------------------------------
     78     ; DEFINES
     79     ; Include all pre-processor statements here.
     80     ----------------------------------------------------------------------------*/
     81 
     82     /*----------------------------------------------------------------------------
     83     ; EXTERNAL VARIABLES REFERENCES
     84     ; Declare variables used in this module but defined elsewhere
     85     ----------------------------------------------------------------------------*/
     86 
     87     /*----------------------------------------------------------------------------
     88     ; SIMPLE TYPEDEF'S
     89     ----------------------------------------------------------------------------*/
     90 
     91     /*----------------------------------------------------------------------------
     92     ; ENUMERATED TYPEDEF'S
     93     ----------------------------------------------------------------------------*/
     94 
     95     /*----------------------------------------------------------------------------
     96     ; STRUCTURES TYPEDEF'S
     97     ----------------------------------------------------------------------------*/
     98     typedef struct
     99     {
    100         Int     islong;                 /* true if long block */
    101         Int     num_win;                /* sub-blocks (SB) per block */
    102         Int     coef_per_frame;         /* coef's per block */
    103         Int     sfb_per_frame;          /* sfb per block */
    104         Int     coef_per_win[MAX_WIN];  /* coef's per SB */
    105         Int     sfb_per_win[MAX_WIN];   /* sfb per SB */
    106         Int     sectbits[MAX_WIN];
    107         Int16   *win_sfb_top[MAX_WIN];  /* top coef per sfb per SB */
    108         Int     *sfb_width_128;         /* sfb width for short blocks */
    109 
    110         Int     frame_sfb_top[MAXBANDS];    /* Only used in calc_gsfb_table() -
    111                                       it is simply a cum version of
    112                                       the above information */
    113         Int     num_groups;
    114         Int     group_len[8];
    115 
    116     } FrameInfo;
    117 
    118     /*----------------------------------------------------------------------------
    119     ; GLOBAL FUNCTION DEFINITIONS
    120     ; Function Prototype declaration
    121     ----------------------------------------------------------------------------*/
    122 
    123 #ifdef __cplusplus
    124 }
    125 #endif
    126 
    127 #endif /* S_FRAMEINFO_H */
    128