blob: 6d082d2e3ef1b09da0699a50983a5dfe4ae1f224 [file] [log] [blame]
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -07001<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2010 The Android Open Source Project
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 express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15-->
16<!DOCTYPE MediaSettings [
17 <!ELEMENT MediaSettings (CamcorderProfiles,
18 EncoderOutputFileFormat+,
19 VideoEncoderCap+,
20 AudioEncoderCap+,
21 VideoDecoderCap,
22 AudioDecoderCap,
23 VideoEditorCap,
24 ExportVideoProfile+)>
25 <!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding)>
26 <!ELEMENT EncoderProfile (Video, Audio)>
27 <!ATTLIST EncoderProfile quality (timelapse480p|timelapsecif|timelapseqcif|480p|cif|qcif) #REQUIRED>
28 <!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
29 <!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
30 <!ELEMENT Video EMPTY>
31 <!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
32 <!ATTLIST Video bitRate CDATA #REQUIRED>
33 <!ATTLIST Video width CDATA #REQUIRED>
34 <!ATTLIST Video height CDATA #REQUIRED>
35 <!ATTLIST Video frameRate CDATA #REQUIRED>
36 <!ELEMENT Audio EMPTY>
37 <!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
38 <!ATTLIST Audio bitRate CDATA #REQUIRED>
39 <!ATTLIST Audio sampleRate CDATA #REQUIRED>
40 <!ATTLIST Audio channels (1|2) #REQUIRED>
41 <!ELEMENT ImageEncoding EMPTY>
42 <!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
43 <!ELEMENT ImageDecoding EMPTY>
44 <!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
45 <!ELEMENT EncoderOutputFileFormat EMPTY>
46 <!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
47 <!ELEMENT VideoEncoderCap EMPTY>
48 <!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
49 <!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
50 <!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
51 <!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
52 <!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
53 <!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
54 <!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
55 <!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
56 <!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
57 <!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
58 <!ELEMENT AudioEncoderCap EMPTY>
59 <!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|heaac|aaceld|wma) #REQUIRED>
60 <!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
61 <!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
62 <!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
63 <!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
64 <!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
65 <!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
66 <!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
67 <!ELEMENT VideoDecoderCap EMPTY>
68 <!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
69 <!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
70 <!ELEMENT AudioDecoderCap EMPTY>
71 <!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
72 <!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
73 <!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
74 <!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
75 <!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
76 <!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
77 <!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
78 <!ELEMENT ExportVideoProfile EMPTY>
79 <!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
80 <!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
81 <!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
82]>
83<!--
84 This file is used to declare the multimedia profiles and capabilities
85 on an android-powered device.
86-->
87<MediaSettings>
88 <!-- Each camcorder profile defines a set of predefined configuration parameters -->
89 <!-- Front Camera -->
90 <CamcorderProfiles cameraId="0">
91
92 <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
93 <Video codec="h264"
94 bitRate="384000"
95 width="176"
96 height="144"
97 frameRate="30" />
98
99 <Audio codec="amrnb"
100 bitRate="12200"
101 sampleRate="8000"
102 channels="1" />
103 </EncoderProfile>
104
105 <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
106 <Video codec="h264"
107 bitRate="1536000"
108 width="352"
109 height="288"
110 frameRate="30" />
111
112 <Audio codec="amrnb"
113 bitRate="12200"
114 sampleRate="8000"
115 channels="1" />
116 </EncoderProfile>
117
118 <EncoderProfile quality="480p" fileFormat="3gp" duration="30">
119 <Video codec="h264"
120 bitRate="4000000"
121 width="640"
122 height="480"
123 frameRate="30" />
124
125 <Audio codec="aac"
126 bitRate="96000"
127 sampleRate="44100"
128 channels="1" />
129 </EncoderProfile>
130
131 <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30">
132 <Video codec="h264"
133 bitRate="384000"
134 width="176"
135 height="144"
136 frameRate="30" />
137
138 <!--
139 The Audio part of the profile will not be used since time lapse mode
140 does not capture audio
141 -->
142 <Audio codec="amrnb"
143 bitRate="12200"
144 sampleRate="8000"
145 channels="1" />
146 </EncoderProfile>
147
148 <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
149 <Video codec="h264"
150 bitRate="1536000"
151 width="352"
152 height="288"
153 frameRate="30" />
154
155 <!--
156 The Audio part of the profile will not be used since time lapse mode
157 does not capture audio
158 -->
159 <Audio codec="amrnb"
160 bitRate="12200"
161 sampleRate="8000"
162 channels="1" />
163 </EncoderProfile>
164
165 <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="30">
166 <Video codec="h264"
167 bitRate="4000000"
168 width="640"
169 height="480"
170 frameRate="30" />
171
172 <!--
173 The Audio part of the profile will not be used since time lapse mode
174 does not capture audio
175 -->
176 <Audio codec="aac"
177 bitRate="96000"
178 sampleRate="44100"
179 channels="1" />
180 </EncoderProfile>
181
182 <ImageEncoding quality="90" />
183 <ImageEncoding quality="80" />
184 <ImageEncoding quality="70" />
185 <ImageDecoding memCap="20000000" />
186
187 </CamcorderProfiles>
188
189 <EncoderOutputFileFormat name="3gp" />
190
191 <!--
192 If a codec is not enabled, it is invisible to the applications
193 In other words, the applications won't be able to use the codec
194 or query the capabilities of the codec at all if it is disabled
195 -->
196 <VideoEncoderCap name="h264" enabled="true"
197 minBitRate="64000" maxBitRate="20000000"
198 minFrameWidth="176" maxFrameWidth="1920"
199 minFrameHeight="144" maxFrameHeight="1080"
James Dong4103c5d2012-10-18 11:02:38 -0700200 minFrameRate="5" maxFrameRate="30" />
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700201
202 <VideoEncoderCap name="h263" enabled="true"
203 minBitRate="64000" maxBitRate="8000000"
204 minFrameWidth="176" maxFrameWidth="704"
205 minFrameHeight="144" maxFrameHeight="576"
James Dong4103c5d2012-10-18 11:02:38 -0700206 minFrameRate="5" maxFrameRate="30" />
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700207
208 <VideoEncoderCap name="m4v" enabled="true"
209 minBitRate="64000" maxBitRate="10000000"
210 minFrameWidth="176" maxFrameWidth="1280"
211 minFrameHeight="144" maxFrameHeight="720"
James Dong4103c5d2012-10-18 11:02:38 -0700212 minFrameRate="5" maxFrameRate="30" />
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700213
214 <AudioEncoderCap name="aac" enabled="true"
215 minBitRate="758" maxBitRate="288000"
216 minSampleRate="8000" maxSampleRate="48000"
217 minChannels="1" maxChannels="1" />
218
219 <AudioEncoderCap name="heaac" enabled="true"
220 minBitRate="8000" maxBitRate="64000"
221 minSampleRate="16000" maxSampleRate="48000"
222 minChannels="1" maxChannels="1" />
223
224 <AudioEncoderCap name="aaceld" enabled="true"
225 minBitRate="16000" maxBitRate="192000"
226 minSampleRate="16000" maxSampleRate="48000"
227 minChannels="1" maxChannels="1" />
228
229 <AudioEncoderCap name="amrwb" enabled="true"
230 minBitRate="6600" maxBitRate="23050"
231 minSampleRate="16000" maxSampleRate="16000"
232 minChannels="1" maxChannels="1" />
233
234 <AudioEncoderCap name="amrnb" enabled="true"
235 minBitRate="4750" maxBitRate="12200"
236 minSampleRate="8000" maxSampleRate="8000"
237 minChannels="1" maxChannels="1" />
238
239 <!--
240 We do not check decoder capabilities at present
241 At present, we only check whether windows media is visible
242 for TEST applications. For other applications, we do
243 not perform any checks at all.
244 -->
245 <VideoDecoderCap name="wmv" enabled="false"/>
246 <AudioDecoderCap name="wma" enabled="false"/>
247
248
249 <VideoEditorCap maxInputFrameWidth="1920"
250 maxInputFrameHeight="1080"
251 maxOutputFrameWidth="1920"
252 maxOutputFrameHeight="1080"
253 maxPrefetchYUVFrames="10" />
254 <!--
255 The VideoEditor Export codec profile and level values
256 correspond to the values in OMX_Video.h.
257 E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
258 and level 512 means OMX_VIDEO_AVCLevel31.
259 Please note that the values are in decimal.
260 These values are for video encoder.
261 -->
262 <!--
263 Codec = h.263, Baseline profile, level 1
264 -->
265 <ExportVideoProfile name="h263" profile="1" level="1" />
266 <!--
267 Codec = h.264, Baseline profile, level 4
268 -->
269 <ExportVideoProfile name="h264" profile="1" level="2048" />
270 <!--
271 Codec = mpeg4, Simple profile, level 5
272 -->
273 <ExportVideoProfile name="m4v" profile="1" level="128" />
274</MediaSettings>