blob: 3538e5f5dee712b69b8c3c68ef17187b4848a6bf [file] [log] [blame]
Mahesh Lanka4f5c91d2013-05-30 14:39:30 -07001<?xml version="1.0" encoding="utf-8"?>
2<!-- Copyright (C) 2012-2013, The Linux Foundation. All rights reserved
3 Not a contribution.
4
5 Copyright (C) 2010 The Android Open Source Project
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18-->
19<!DOCTYPE MediaSettings [
20<!ELEMENT MediaSettings (CamcorderProfiles,
21 EncoderOutputFileFormat+,
22 VideoEncoderCap+,
23 AudioEncoderCap+,
24 VideoDecoderCap,
25 AudioDecoderCap)>
26<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
27<!ELEMENT EncoderProfile (Video, Audio)>
28<!ATTLIST EncoderProfile quality (high|low) #REQUIRED>
29<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
30<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
31<!ATTLIST EncoderProfile cameraId (0|1) #REQUIRED>
32<!ELEMENT Video EMPTY>
33<!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
34<!ATTLIST Video bitRate CDATA #REQUIRED>
35<!ATTLIST Video width CDATA #REQUIRED>
36<!ATTLIST Video height CDATA #REQUIRED>
37<!ATTLIST Video frameRate CDATA #REQUIRED>
38<!ELEMENT Audio EMPTY>
39<!ATTLIST Audio codec (amrnb|amrwb|aac|lpcm) #REQUIRED>
40<!ATTLIST Audio bitRate CDATA #REQUIRED>
41<!ATTLIST Audio sampleRate CDATA #REQUIRED>
42<!ATTLIST Audio channels (1|2|6) #REQUIRED>
43<!ELEMENT ImageEncoding EMPTY>
44<!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
45<!ELEMENT ImageDecoding EMPTY>
46<!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
47<!ELEMENT Camera EMPTY>
48<!ELEMENT EncoderOutputFileFormat EMPTY>
49<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
50<!ELEMENT VideoEncoderCap EMPTY>
51<!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
52<!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
53<!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
54<!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
55<!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
56<!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
57<!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
58<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
59<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
60<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
61<!ELEMENT AudioEncoderCap EMPTY>
62<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma|lpcm) #REQUIRED>
63<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
64<!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
65<!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
66<!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
67<!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
68<!ATTLIST AudioEncoderCap minChannels (1|2|6) #REQUIRED>
69<!ATTLIST AudioEncoderCap maxChannels (1|2|6) #REQUIRED>
70<!ELEMENT VideoDecoderCap EMPTY>
71<!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
72<!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
73<!ELEMENT AudioDecoderCap EMPTY>
74<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
75<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
76<!ELEMENT VideoEditorCap EMPTY>
77<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
78<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
79<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
80<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
81<!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
82<!ELEMENT ExportVideoProfile EMPTY>
83<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
84<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
85<!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
86]>
87<!--
88 This file is used to declare the multimedia profiles and capabilities
89 on an android-powered device.
90-->
91<MediaSettings>
92 <!-- Each camcorder profile defines a set of predefined configuration parameters -->
93 <!-- Back Camera -->
94 <CamcorderProfiles cameraId="0" startOffsetMs="300">
95
96 <EncoderProfile quality="low" fileFormat="3gp" duration="30">
97 <Video codec="h264"
98 bitRate="192000"
99 width="176"
100 height="144"
101 frameRate="30" />
102
103 <Audio codec="amrnb"
104 bitRate="12200"
105 sampleRate="8000"
106 channels="1" />
107 </EncoderProfile>
108
109 <EncoderProfile quality="high" fileFormat="mp4" duration="30">
110 <Video codec="h264"
111 bitRate="20000000"
112 width="1920"
113 height="1080"
114 frameRate="30" />
115
116 <Audio codec="aac"
117 bitRate="156000"
118 sampleRate="48000"
119 channels="2" />
120 </EncoderProfile>
121
122 <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
123 <Video codec="h264"
124 bitRate="512000"
125 width="320"
126 height="240"
127 frameRate="30" />
128
129 <Audio codec="aac"
130 bitRate="156000"
131 sampleRate="48000"
132 channels="2" />
133 </EncoderProfile>
134
135 <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
136 <Video codec="h264"
137 bitRate="720000"
138 width="352"
139 height="288"
140 frameRate="30" />
141
142 <Audio codec="amrnb"
143 bitRate="12200"
144 sampleRate="8000"
145 channels="1" />
146 </EncoderProfile>
147
148 <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
149 <Video codec="h264"
150 bitRate="2000000"
151 width="720"
152 height="480"
153 frameRate="30" />
154
155 <Audio codec="aac"
156 bitRate="156000"
157 sampleRate="48000"
158 channels="2" />
159 </EncoderProfile>
160
161 <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
162 <Video codec="h264"
163 bitRate="14000000"
164 width="1280"
165 height="720"
166 frameRate="30" />
167
168 <Audio codec="aac"
169 bitRate="156000"
170 sampleRate="48000"
171 channels="2" />
172 </EncoderProfile>
173
174 <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
175 <Video codec="h264"
176 bitRate="20000000"
177 width="1920"
178 height="1080"
179 frameRate="30" />
180
181 <Audio codec="aac"
182 bitRate="156000"
183 sampleRate="48000"
184 channels="2" />
185 </EncoderProfile>
186
187 <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
188 <Video codec="h264"
189 bitRate="192000"
190 width="176"
191 height="144"
192 frameRate="30" />
193
194 <Audio codec="amrnb"
195 bitRate="12200"
196 sampleRate="8000"
197 channels="1" />
198 </EncoderProfile>
199
200 <EncoderProfile quality="wvga" fileFormat="mp4" duration="30">
201 <Video codec="h264"
202 bitRate="2000000"
203 width="800"
204 height="480"
205 frameRate="30" />
206
207 <Audio codec="aac"
208 bitRate="156000"
209 sampleRate="48000"
210 channels="2" />
211 </EncoderProfile>
212
213 <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
214 <Video codec="h264"
215 bitRate="2000000"
216 width="640"
217 height="480"
218 frameRate="30" />
219
220 <Audio codec="aac"
221 bitRate="156000"
222 sampleRate="48000"
223 channels="2" />
224 </EncoderProfile>
225
226 <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
227 <Video codec="h264"
228 bitRate="192000"
229 width="176"
230 height="144"
231 frameRate="30" />
232
233 <!-- audio setting is ignored -->
234 <Audio codec="amrnb"
235 bitRate="12200"
236 sampleRate="8000"
237 channels="1" />
238 </EncoderProfile>
239
240 <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
241 <Video codec="h264"
242 bitRate="20000000"
243 width="1920"
244 height="1080"
245 frameRate="30" />
246
247 <!-- audio setting is ignored -->
248 <Audio codec="aac"
249 bitRate="156000"
250 sampleRate="48000"
251 channels="2" />
252 </EncoderProfile>
253
254 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
255 <Video codec="h264"
256 bitRate="192000"
257 width="176"
258 height="144"
259 frameRate="30" />
260
261 <!-- audio setting is ignored -->
262 <Audio codec="amrnb"
263 bitRate="12200"
264 sampleRate="8000"
265 channels="1" />
266 </EncoderProfile>
267
268 <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
269 <Video codec="h264"
270 bitRate="720000"
271 width="352"
272 height="288"
273 frameRate="30" />
274
275 <!-- audio setting is ignored -->
276 <Audio codec="amrnb"
277 bitRate="12200"
278 sampleRate="8000"
279 channels="1" />
280 </EncoderProfile>
281
282 <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
283 <Video codec="h264"
284 bitRate="2000000"
285 width="640"
286 height="480"
287 frameRate="30" />
288
289 <!-- audio setting is ignored -->
290 <Audio codec="aac"
291 bitRate="156000"
292 sampleRate="48000"
293 channels="2" />
294 </EncoderProfile>
295
296 <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
297 <Video codec="h264"
298 bitRate="14000000"
299 width="1280"
300 height="720"
301 frameRate="30" />
302
303 <!-- audio setting is ignored -->
304 <Audio codec="aac"
305 bitRate="156000"
306 sampleRate="48000"
307 channels="2" />
308 </EncoderProfile>
309
310 <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
311 <Video codec="h264"
312 bitRate="20000000"
313 width="1920"
314 height="1080"
315 frameRate="30" />
316
317 <!-- audio setting is ignored -->
318 <Audio codec="aac"
319 bitRate="156000"
320 sampleRate="48000"
321 channels="2" />
322 </EncoderProfile>
323
324 <ImageEncoding quality="95" />
325 <ImageEncoding quality="80" />
326 <ImageEncoding quality="70" />
327 <ImageDecoding memCap="20000000" />
328
329 </CamcorderProfiles>
330 <!-- Front Camera -->
331 <CamcorderProfiles cameraId="1" startOffsetMs="300">
332
333 <EncoderProfile quality="low" fileFormat="3gp" duration="30">
334 <Video codec="h264"
335 bitRate="384000"
336 width="176"
337 height="144"
338 frameRate="30" />
339
340 <Audio codec="amrnb"
341 bitRate="12200"
342 sampleRate="8000"
343 channels="1" />
344 </EncoderProfile>
345
346 <EncoderProfile quality="high" fileFormat="mp4" duration="30">
347 <Video codec="h264"
348 bitRate="2000000"
349 width="640"
350 height="480"
351 frameRate="30" />
352
353 <Audio codec="aac"
354 bitRate="156000"
355 sampleRate="48000"
356 channels="2" />
357 </EncoderProfile>
358
359 <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
360 <Video codec="h264"
361 bitRate="512000"
362 width="320"
363 height="240"
364 frameRate="30" />
365
366 <Audio codec="aac"
367 bitRate="156000"
368 sampleRate="48000"
369 channels="2" />
370 </EncoderProfile>
371
372 <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
373 <Video codec="h264"
374 bitRate="720000"
375 width="352"
376 height="288"
377 frameRate="30" />
378
379 <Audio codec="amrnb"
380 bitRate="12200"
381 sampleRate="8000"
382 channels="1" />
383 </EncoderProfile>
384
385 <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
386 <Video codec="h264"
387 bitRate="2000000"
388 width="720"
389 height="480"
390 frameRate="30" />
391
392 <Audio codec="aac"
393 bitRate="156000"
394 sampleRate="48000"
395 channels="2" />
396 </EncoderProfile>
397
398 <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
399 <Video codec="h264"
400 bitRate="14000000"
401 width="1280"
402 height="720"
403 frameRate="30" />
404
405 <Audio codec="aac"
406 bitRate="156000"
407 sampleRate="48000"
408 channels="2" />
409 </EncoderProfile>
410
411 <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
412 <Video codec="h264"
413 bitRate="20000000"
414 width="1920"
415 height="1080"
416 frameRate="30" />
417
418 <Audio codec="aac"
419 bitRate="156000"
420 sampleRate="48000"
421 channels="2" />
422 </EncoderProfile>
423
424 <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
425 <Video codec="h264"
426 bitRate="192000"
427 width="176"
428 height="144"
429 frameRate="30" />
430
431 <Audio codec="amrnb"
432 bitRate="12200"
433 sampleRate="8000"
434 channels="1" />
435 </EncoderProfile>
436
437 <EncoderProfile quality="wvga" fileFormat="mp4" duration="30">
438 <Video codec="h264"
439 bitRate="2000000"
440 width="800"
441 height="480"
442 frameRate="30" />
443
444 <Audio codec="aac"
445 bitRate="156000"
446 sampleRate="48000"
447 channels="2" />
448 </EncoderProfile>
449
450 <EncoderProfile quality="vga" fileFormat="mp4" duration="30">
451 <Video codec="h264"
452 bitRate="2000000"
453 width="640"
454 height="480"
455 frameRate="30" />
456
457 <Audio codec="aac"
458 bitRate="156000"
459 sampleRate="48000"
460 channels="2" />
461 </EncoderProfile>
462
463 <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30">
464 <Video codec="h264"
465 bitRate="192000"
466 width="176"
467 height="144"
468 frameRate="30" />
469
470 <!-- audio setting is ignored -->
471 <Audio codec="amrnb"
472 bitRate="12200"
473 sampleRate="8000"
474 channels="1" />
475 </EncoderProfile>
476
477 <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
478 <Video codec="h264"
479 bitRate="2000000"
480 width="640"
481 height="480"
482 frameRate="30" />
483
484 <!-- audio setting is ignored -->
485 <Audio codec="aac"
486 bitRate="156000"
487 sampleRate="48000"
488 channels="2" />
489 </EncoderProfile>
490 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
491 <Video codec="h264"
492 bitRate="192000"
493 width="176"
494 height="144"
495 frameRate="30" />
496
497 <!-- audio setting is ignored -->
498 <Audio codec="amrnb"
499 bitRate="12200"
500 sampleRate="8000"
501 channels="1" />
502 </EncoderProfile>
503
504 <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
505 <Video codec="h264"
506 bitRate="1200000"
507 width="352"
508 height="288"
509 frameRate="30" />
510
511 <!-- audio setting is ignored -->
512 <Audio codec="aac"
513 bitRate="96000"
514 sampleRate="48000"
515 channels="1" />
516 </EncoderProfile>
517
518 <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
519 <Video codec="h264"
520 bitRate="5000000"
521 width="720"
522 height="480"
523 frameRate="30" />
524
525 <!-- audio setting is ignored -->
526 <Audio codec="aac"
527 bitRate="96000"
528 sampleRate="48000"
529 channels="1" />
530 </EncoderProfile>
531
532 <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
533 <Video codec="h264"
534 bitRate="8000000"
535 width="1280"
536 height="720"
537 frameRate="30" />
538
539 <!-- audio setting is ignored -->
540 <Audio codec="aac"
541 bitRate="96000"
542 sampleRate="48000"
543 channels="1" />
544 </EncoderProfile>
545
546 <ImageEncoding quality="95" />
547 <ImageEncoding quality="80" />
548 <ImageEncoding quality="70" />
549 <ImageDecoding memCap="20000000" />
550
551 </CamcorderProfiles>
552
553 <EncoderOutputFileFormat name="3gp" />
554 <EncoderOutputFileFormat name="mp4" />
555
556 <!--
557 If a codec is not enabled, it is invisible to the applications
558 In other words, the applications won't be able to use the codec
559 or query the capabilities of the codec at all if it is disabled
560 -->
561 <VideoEncoderCap name="h264" enabled="true"
562 minBitRate="64000" maxBitRate="20000000"
563 minFrameWidth="176" maxFrameWidth="1920"
564 minFrameHeight="144" maxFrameHeight="1088"
565 minFrameRate="15" maxFrameRate="30" />
566
567 <VideoEncoderCap name="h263" enabled="true"
568 minBitRate="64000" maxBitRate="2000000"
569 minFrameWidth="176" maxFrameWidth="800"
570 minFrameHeight="144" maxFrameHeight="480"
571 minFrameRate="15" maxFrameRate="30" />
572
573 <VideoEncoderCap name="m4v" enabled="true"
574 minBitRate="64000" maxBitRate="20000000"
575 minFrameWidth="176" maxFrameWidth="1920"
576 minFrameHeight="144" maxFrameHeight="1088"
577 minFrameRate="15" maxFrameRate="30" />
578
579 <AudioEncoderCap name="aac" enabled="true"
580 minBitRate="8000" maxBitRate="96000"
581 minSampleRate="8000" maxSampleRate="48000"
582 minChannels="1" maxChannels="6" />
583
584 <AudioEncoderCap name="amrwb" enabled="true"
585 minBitRate="6600" maxBitRate="23850"
586 minSampleRate="16000" maxSampleRate="16000"
587 minChannels="1" maxChannels="1" />
588
589 <AudioEncoderCap name="amrnb" enabled="true"
590 minBitRate="5525" maxBitRate="12200"
591 minSampleRate="8000" maxSampleRate="8000"
592 minChannels="1" maxChannels="1" />
593
594 <AudioEncoderCap name="lpcm" enabled="true"
595 minBitRate="768000" maxBitRate="4608000"
596 minSampleRate="48000" maxSampleRate="48000"
597 minChannels="1" maxChannels="6" />
598
599 <!--
600 FIXME:
601 We do not check decoder capabilities at present
602 At present, we only check whether windows media is visible
603 for TEST applications. For other applications, we do
604 not perform any checks at all.
605 -->
606 <VideoDecoderCap name="wmv" enabled="true"/>
607 <AudioDecoderCap name="wma" enabled="true"/>
608
609 <!--
610 The VideoEditor Capability configuration:
611 - maxInputFrameWidth: maximum video width of imported video clip.
612 - maxInputFrameHeight: maximum video height of imported video clip.
613 - maxOutputFrameWidth: maximum video width of exported video clip.
614 - maxOutputFrameHeight: maximum video height of exported video clip.
615 - maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder,
616 used to limit the amount of memory for prefetched YUV frames.
617 For this platform, it allows maximum 30MB(3MB per 1080p frame x 10
618 frames) memory.
619 -->
620 <VideoEditorCap maxInputFrameWidth="1920"
621 maxInputFrameHeight="1088" maxOutputFrameWidth="1920"
622 maxOutputFrameHeight="1088" maxPrefetchYUVFrames="10"/>
623 <!--
624 The VideoEditor Export codec profile and level values
625 correspond to the values in OMX_Video.h.
626 E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
627 and level 4096 means OMX_VIDEO_AVCLevel41.
628 Please note that the values are in decimal.
629 These values are for video encoder.
630 -->
631 <!--
632 Codec = h.264, Baseline profile, level 4.1
633 -->
634 <ExportVideoProfile name="h264" profile= "1" level="1"/>
635 <!--
636 Codec = h.263, Baseline profile, level 0
637 -->
638 <ExportVideoProfile name="h263" profile= "1" level="1"/>
639 <!--
640 Codec = mpeg4, Simple profile, level 5
641 -->
642 <ExportVideoProfile name="m4v" profile= "1" level="1"/>
643</MediaSettings>