• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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