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_MC_Info.h 21 22 ------------------------------------------------------------------------------ 23 REVISION HISTORY 24 25 Description: (1) use enum type for audioObjectType (2) update revision history 26 27 Who: Date: 28 Description: 29 ------------------------------------------------------------------------------ 30 INCLUDE DESCRIPTION 31 32 This include file defines the structure, MC_Info 33 34 ------------------------------------------------------------------------------ 35 */ 36 37 /*---------------------------------------------------------------------------- 38 ; CONTINUE ONLY IF NOT ALREADY DEFINED 39 ----------------------------------------------------------------------------*/ 40 #ifndef S_MC_INFO_H 41 #define S_MC_INFO_H 42 43 /*---------------------------------------------------------------------------- 44 ; INCLUDES 45 ----------------------------------------------------------------------------*/ 46 #include "pv_audio_type_defs.h" 47 #include "e_rawbitstreamconst.h" 48 #include "s_ch_info.h" 49 #include "chans.h" 50 #include "e_tmp4audioobjecttype.h" 51 52 /*---------------------------------------------------------------------------- 53 ; MACROS 54 ; Define module specific macros here 55 ----------------------------------------------------------------------------*/ 56 57 /*---------------------------------------------------------------------------- 58 ; DEFINES 59 ; Include all pre-processor statements here. 60 ----------------------------------------------------------------------------*/ 61 62 /*---------------------------------------------------------------------------- 63 ; EXTERNAL VARIABLES REFERENCES 64 ; Declare variables used in this module but defined elsewhere 65 ----------------------------------------------------------------------------*/ 66 67 /*---------------------------------------------------------------------------- 68 ; SIMPLE TYPEDEF'S 69 ----------------------------------------------------------------------------*/ 70 71 /*---------------------------------------------------------------------------- 72 ; ENUMERATED TYPEDEF'S 73 ----------------------------------------------------------------------------*/ 74 75 /*---------------------------------------------------------------------------- 76 ; STRUCTURES TYPEDEF'S 77 ----------------------------------------------------------------------------*/ 78 79 typedef struct 80 { 81 Int nch; /* total number of audio channels */ 82 Int nfsce; /* number of front SCE's pror to first front CPE */ 83 Int nfch; /* number of front channels */ 84 Int nsch; /* number of side channels */ 85 Int nbch; /* number of back channels */ 86 Int nlch; /* number of lfe channels */ 87 Int ncch; /* number of valid coupling channels */ 88 tMP4AudioObjectType audioObjectType; /* Should eventually be called object */ 89 Int sampling_rate_idx; 90 91 Int implicit_channeling; 92 Int upsamplingFactor; 93 #ifdef AAC_PLUS 94 bool bDownSampledSbr; 95 Int HE_AAC_level; 96 #endif 97 /* All AAC content should be aware of these flag */ 98 /* AAC+ content Flag */ 99 Int sbrPresentFlag; 100 /* Enhanced AAC+ content Flag */ 101 Int psPresentFlag; 102 tMP4AudioObjectType ExtendedAudioObjectType; /* Should eventually be called object */ 103 104 Ch_Info ch_info[Chans]; 105 } MC_Info; 106 107 /*---------------------------------------------------------------------------- 108 ; GLOBAL FUNCTION DEFINITIONS 109 ; Function Prototype declaration 110 ----------------------------------------------------------------------------*/ 111 112 /*---------------------------------------------------------------------------- 113 ; END 114 ----------------------------------------------------------------------------*/ 115 #endif 116 117