blob: 128ec6fa28d1dad1f6bca885050325e8aaaa5775 [file] [log] [blame]
Colin Crossc151bcf2011-04-11 18:49:38 -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<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
24<!ELEMENT EncoderProfile (Video, Audio)>
25<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
26<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
27<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
28<!ATTLIST EncoderProfile cameraId (0|1) #REQUIRED>
29<!ELEMENT Video EMPTY>
30<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
31<!ATTLIST Video bitRate CDATA #REQUIRED>
32<!ATTLIST Video width CDATA #REQUIRED>
33<!ATTLIST Video height CDATA #REQUIRED>
34<!ATTLIST Video frameRate CDATA #REQUIRED>
35<!ELEMENT Audio EMPTY>
36<!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
37<!ATTLIST Audio bitRate CDATA #REQUIRED>
38<!ATTLIST Audio sampleRate CDATA #REQUIRED>
39<!ATTLIST Audio channels (1|2) #REQUIRED>
40<!ELEMENT ImageEncoding EMPTY>
41<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
42<!ELEMENT ImageDecoding EMPTY>
43<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
44<!ELEMENT Camera EMPTY>
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|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]>
74<!--
75 This file is used to declare the multimedia profiles and capabilities
76 on an android-powered device.
77-->
78<MediaSettings>
79 <!-- Each camcorder profile defines a set of predefined configuration parameters -->
80 <CamcorderProfiles cameraId="0">
81
Iliyan Malchev90be2ab2011-07-12 13:02:41 -070082 <EncoderProfile quality="low" fileFormat="mp4" duration="60">
Colin Crossc151bcf2011-04-11 18:49:38 -070083 <Video codec="h264"
84 bitRate="3000000"
85 width="720"
86 height="480"
87 frameRate="30" />
Colin Crossc151bcf2011-04-11 18:49:38 -070088 <Audio codec="aac"
89 bitRate="96000"
90 sampleRate="16000"
91 channels="1" />
92 </EncoderProfile>
93
Iliyan Malchev90be2ab2011-07-12 13:02:41 -070094 <EncoderProfile quality="high" fileFormat="mp4" duration="30">
Colin Crossc151bcf2011-04-11 18:49:38 -070095 <Video codec="h264"
96 bitRate="256000"
97 width="176"
98 height="144"
99 frameRate="30" />
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700100 <Audio codec="aac"
Colin Crossc151bcf2011-04-11 18:49:38 -0700101 bitRate="12200"
102 sampleRate="8000"
103 channels="1" />
Colin Crossc151bcf2011-04-11 18:49:38 -0700104 </EncoderProfile>
105
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700106 <EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
107 <Video codec="h264"
108 bitRate="256000"
109 width="176"
110 height="144"
111 frameRate="30" />
112 <Audio codec="aac"
113 bitRate="12200"
114 sampleRate="8000"
115 channels="1" />
116 </EncoderProfile>
117
118 <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
119 <Video codec="h264"
120 bitRate="256000"
121 width="352"
122 height="288"
123 frameRate="30" />
124 <Audio codec="aac"
125 bitRate="12200"
126 sampleRate="8000"
127 channels="1" />
128 </EncoderProfile>
129
130 <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
131 <Video codec="h264"
132 bitRate="256000"
133 width="720"
134 height="480"
135 frameRate="30" />
136 <Audio codec="aac"
137 bitRate="12200"
138 sampleRate="8000"
139 channels="1" />
140 </EncoderProfile>
141
142
143 <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="60">
144 <Video codec="h264"
145 bitRate="3000000"
146 width="720"
147 height="480"
148 frameRate="30" />
149 <Audio codec="aac"
150 bitRate="96000"
151 sampleRate="16000"
152 channels="1" />
153 </EncoderProfile>
154
155 <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
156 <Video codec="h264"
157 bitRate="256000"
158 width="176"
159 height="144"
160 frameRate="30" />
161 <Audio codec="aac"
162 bitRate="12200"
163 sampleRate="8000"
164 channels="1" />
165 </EncoderProfile>
166
167 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
168 <Video codec="h264"
169 bitRate="256000"
170 width="176"
171 height="144"
172 frameRate="30" />
173 <Audio codec="aac"
174 bitRate="12200"
175 sampleRate="8000"
176 channels="1" />
177 </EncoderProfile>
178
179 <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
180 <Video codec="h264"
181 bitRate="256000"
182 width="352"
183 height="288"
184 frameRate="30" />
185 <Audio codec="aac"
186 bitRate="12200"
187 sampleRate="8000"
188 channels="1" />
189 </EncoderProfile>
190
191 <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
192 <Video codec="h264"
193 bitRate="256000"
194 width="720"
195 height="480"
196 frameRate="30" />
197 <Audio codec="aac"
198 bitRate="12200"
199 sampleRate="8000"
200 channels="1" />
201 </EncoderProfile>
202
203
Colin Crossc151bcf2011-04-11 18:49:38 -0700204 <ImageEncoding quality="90" />
205 <ImageEncoding quality="80" />
206 <ImageEncoding quality="70" />
207 <ImageDecoding memCap="20000000" />
208
209 </CamcorderProfiles>
210
211 <CamcorderProfiles cameraId="1">
212
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700213 <EncoderProfile quality="low" fileFormat="mp4" duration="60">
Colin Crossc151bcf2011-04-11 18:49:38 -0700214 <Video codec="h264"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700215 bitRate="3000000"
216 width="720"
Colin Crossc151bcf2011-04-11 18:49:38 -0700217 height="480"
218 frameRate="30" />
Colin Crossc151bcf2011-04-11 18:49:38 -0700219 <Audio codec="aac"
220 bitRate="96000"
221 sampleRate="16000"
222 channels="1" />
223 </EncoderProfile>
224
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700225 <EncoderProfile quality="high" fileFormat="mp4" duration="30">
Colin Crossc151bcf2011-04-11 18:49:38 -0700226 <Video codec="h264"
227 bitRate="256000"
228 width="176"
229 height="144"
230 frameRate="30" />
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700231 <Audio codec="aac"
Colin Crossc151bcf2011-04-11 18:49:38 -0700232 bitRate="12200"
233 sampleRate="8000"
234 channels="1" />
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700235 </EncoderProfile>
Colin Crossc151bcf2011-04-11 18:49:38 -0700236
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700237 <EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
238 <Video codec="h264"
239 bitRate="256000"
240 width="176"
241 height="144"
242 frameRate="30" />
243 <Audio codec="aac"
244 bitRate="12200"
245 sampleRate="8000"
246 channels="1" />
247 </EncoderProfile>
248
249 <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
250 <Video codec="h264"
251 bitRate="256000"
252 width="352"
253 height="288"
254 frameRate="30" />
255 <Audio codec="aac"
256 bitRate="12200"
257 sampleRate="8000"
258 channels="1" />
259 </EncoderProfile>
260
261 <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
262 <Video codec="h264"
263 bitRate="256000"
264 width="720"
265 height="480"
266 frameRate="30" />
267 <Audio codec="aac"
268 bitRate="12200"
269 sampleRate="8000"
270 channels="1" />
271 </EncoderProfile>
272
273 <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
274 <Video codec="h264"
275 bitRate="256000"
276 width="1280"
277 height="720"
278 frameRate="30" />
279 <Audio codec="aac"
280 bitRate="12200"
281 sampleRate="8000"
282 channels="1" />
283 </EncoderProfile>
284
285 <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
286 <Video codec="h264"
287 bitRate="256000"
288 width="1920"
289 height="1080"
290 frameRate="30" />
291 <Audio codec="aac"
292 bitRate="12200"
293 sampleRate="8000"
294 channels="1" />
295 </EncoderProfile>
296
297 <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="60">
298 <Video codec="h264"
299 bitRate="3000000"
300 width="720"
301 height="480"
302 frameRate="30" />
303 <Audio codec="aac"
304 bitRate="96000"
305 sampleRate="16000"
306 channels="1" />
307 </EncoderProfile>
308
309 <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
310 <Video codec="h264"
311 bitRate="256000"
312 width="176"
313 height="144"
314 frameRate="30" />
315 <Audio codec="aac"
316 bitRate="12200"
317 sampleRate="8000"
318 channels="1" />
319 </EncoderProfile>
320
321 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
322 <Video codec="h264"
323 bitRate="256000"
324 width="176"
325 height="144"
326 frameRate="30" />
327 <Audio codec="aac"
328 bitRate="12200"
329 sampleRate="8000"
330 channels="1" />
331 </EncoderProfile>
332
333 <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
334 <Video codec="h264"
335 bitRate="256000"
336 width="352"
337 height="288"
338 frameRate="30" />
339 <Audio codec="aac"
340 bitRate="12200"
341 sampleRate="8000"
342 channels="1" />
343 </EncoderProfile>
344
345 <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
346 <Video codec="h264"
347 bitRate="256000"
348 width="720"
349 height="480"
350 frameRate="30" />
351 <Audio codec="aac"
352 bitRate="12200"
353 sampleRate="8000"
354 channels="1" />
355 </EncoderProfile>
356
357 <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
358 <Video codec="h264"
359 bitRate="256000"
360 width="1280"
361 height="720"
362 frameRate="30" />
363 <Audio codec="aac"
364 bitRate="12200"
365 sampleRate="8000"
366 channels="1" />
367 </EncoderProfile>
368
369 <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
370 <Video codec="h264"
371 bitRate="256000"
372 width="1920"
373 height="1080"
374 frameRate="30" />
375 <Audio codec="aac"
376 bitRate="12200"
377 sampleRate="8000"
378 channels="1" />
Colin Crossc151bcf2011-04-11 18:49:38 -0700379 </EncoderProfile>
380
381 <ImageEncoding quality="90" />
382 <ImageEncoding quality="80" />
383 <ImageEncoding quality="70" />
384 <ImageDecoding memCap="20000000" />
385
386 </CamcorderProfiles>
387
388
389 <EncoderOutputFileFormat name="3gp" />
390 <EncoderOutputFileFormat name="mp4" />
391
392 <!--
393 If a codec is not enabled, it is invisible to the applications
394 In other words, the applications won't be able to use the codec
395 or query the capabilities of the codec at all if it is disabled
396 -->
397 <VideoEncoderCap name="h264" enabled="true"
398 minBitRate="64000" maxBitRate="3000000"
399 minFrameWidth="176" maxFrameWidth="800"
400 minFrameHeight="144" maxFrameHeight="480"
401 minFrameRate="1" maxFrameRate="30" />
402
403 <VideoEncoderCap name="h263" enabled="true"
404 minBitRate="64000" maxBitRate="1000000"
405 minFrameWidth="176" maxFrameWidth="800"
406 minFrameHeight="144" maxFrameHeight="480"
407 minFrameRate="1" maxFrameRate="30" />
408
409 <VideoEncoderCap name="m4v" enabled="true"
410 minBitRate="64000" maxBitRate="2000000"
411 minFrameWidth="176" maxFrameWidth="800"
412 minFrameHeight="144" maxFrameHeight="480"
413 minFrameRate="1" maxFrameRate="30" />
414
415 <AudioEncoderCap name="aac" enabled="true"
416 minBitRate="8192" maxBitRate="96000"
417 minSampleRate="8000" maxSampleRate="16000"
418 minChannels="1" maxChannels="1" />
419
420 <AudioEncoderCap name="amrwb" enabled="true"
421 minBitRate="6600" maxBitRate="23050"
422 minSampleRate="16000" maxSampleRate="16000"
423 minChannels="1" maxChannels="1" />
424
425 <AudioEncoderCap name="amrnb" enabled="true"
426 minBitRate="5525" maxBitRate="12200"
427 minSampleRate="8000" maxSampleRate="8000"
428 minChannels="1" maxChannels="1" />
429
430 <!--
431 FIXME:
432 We do not check decoder capabilities at present
433 At present, we only check whether windows media is visible
434 for TEST applications. For other applications, we do
435 not perform any checks at all.
436 -->
437 <VideoDecoderCap name="wmv" enabled="false"/>
438 <AudioDecoderCap name="wma" enabled="false"/>
439</MediaSettings>