00001 /***************************************************************** 00002 | 00003 | Copyright 2004-2006 Axiomatic Systems LLC 00004 | 00005 | This file is part of Melo (Melo AAC Decoder). 00006 | 00007 | Unless you have obtained Melo under a difference license, 00008 | this version of Melo is Melo|GPL. 00009 | Melo|GPL is free software; you can redistribute it and/or modify 00010 | it under the terms of the GNU General Public License as published by 00011 | the Free Software Foundation; either version 2, or (at your option) 00012 | any later version. 00013 | 00014 | Melo|GPL is distributed in the hope that it will be useful, 00015 | but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 | GNU General Public License for more details. 00018 | 00019 | You should have received a copy of the GNU General Public License 00020 | along with Melo|GPL; see the file COPYING. If not, write to the 00021 | Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 00022 | 02111-1307, USA. 00023 | 00024 ****************************************************************/ 00025 00026 #ifndef _MLO_SECTION_DATA_H_ 00027 #define _MLO_SECTION_DATA_H_ 00028 00029 00030 00031 /*---------------------------------------------------------------------- 00032 | Includes 00033 +---------------------------------------------------------------------*/ 00034 00035 00036 00037 #include "MloBitStream.h" 00038 #include "MloConfig.h" 00039 #include "MloIcsInfo.h" 00040 00041 00042 00043 /*---------------------------------------------------------------------- 00044 | Types 00045 +---------------------------------------------------------------------*/ 00046 00047 00048 00049 typedef struct MLO_SectionData 00050 { 00051 MLO_UInt8 sect_cb [MLO_DEFS_MAX_NBR_WIN_GRP] [15*8]; /* [g] [i], g bounded by num_window_groups. Actual type is MLO_Hcb */ 00052 MLO_UInt8 sect_start [MLO_DEFS_MAX_NBR_WIN_GRP] [15*8]; 00053 MLO_UInt8 sect_end [MLO_DEFS_MAX_NBR_WIN_GRP] [15*8]; 00054 MLO_UInt8 sfb_cb [MLO_DEFS_MAX_NBR_WIN_GRP] [15*8]; /* Actual type is MLO_Hcb */ 00055 MLO_UInt8 num_sec [MLO_DEFS_MAX_NBR_WIN_GRP]; 00056 } MLO_SectionData; 00057 00058 00059 00060 /*---------------------------------------------------------------------- 00061 | Function prototypes 00062 +---------------------------------------------------------------------*/ 00063 00064 00065 00066 #ifdef __cplusplus 00067 extern "C" { 00068 #endif /* __cplusplus */ 00069 00070 00071 00072 void MLO_SectionData_Decode (MLO_SectionData *sec_ptr, const MLO_IcsInfo *ics_ptr, MLO_BitStream *bit_ptr); 00073 int MLO_SectionData_IsIntensity (const MLO_SectionData *sec_ptr, int group, int sfb); 00074 MLO_Boolean MLO_SectionData_IsNoise (const MLO_SectionData *sec_ptr, int group, int sfb); 00075 00076 00077 00078 #ifdef __cplusplus 00079 } 00080 #endif /* __cplusplus */ 00081 00082 00083 00084 #endif /* _MLO_SECTION_DATA_H_ */