blob: e06a43fa10eecd685e2414c898c8b17f87704f3a [file] [log] [blame]
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +05301<?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, Camera)>
26 <!ELEMENT EncoderProfile (Video, Audio)>
27 <!ATTLIST EncoderProfile quality (timelapse1080p|timelapse720p|timelapse480p|timelapsehigh|timelapselow|480p|qcif|high|low|1080p) #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 Camera EMPTY>
46 <!ATTLIST Camera previewFrameRate CDATA #REQUIRED>
47 <!ELEMENT EncoderOutputFileFormat EMPTY>
48 <!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
49 <!ELEMENT VideoEncoderCap EMPTY>
50 <!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
51 <!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
52 <!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
53 <!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
54 <!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
55 <!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
56 <!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
57 <!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
58 <!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
59 <!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
60 <!ELEMENT AudioEncoderCap EMPTY>
61 <!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma) #REQUIRED>
62 <!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
63 <!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
64 <!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
65 <!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
66 <!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
67 <!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
68 <!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
69 <!ELEMENT VideoDecoderCap EMPTY>
70 <!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
71 <!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
72 <!ELEMENT AudioDecoderCap EMPTY>
73 <!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
74 <!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
75 <!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
76 <!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
77 <!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
78 <!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
79 <!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
80 <!ELEMENT ExportVideoProfile EMPTY>
81 <!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
82 <!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
83 <!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
84]>
85<!--
86 This file is used to declare the multimedia profiles and capabilities
87 on an android-powered device.
88-->
89<MediaSettings>
90 <!-- Each camcorder profile defines a set of predefined configuration parameters -->
91 <!-- Back Camera -->
92 <CamcorderProfiles cameraId="0">
93
94 <EncoderProfile quality="low" fileFormat="3gp" duration="30">
95 <Video codec="h264"
96 bitRate="384000"
97 width="176"
98 height="144"
99 frameRate="30" />
100
101 <Audio codec="amrnb"
102 bitRate="12200"
103 sampleRate="8000"
104 channels="1" />
105 </EncoderProfile>
106
107 <EncoderProfile quality="high" fileFormat="3gp" duration="30">
108 <Video codec="h264"
109 bitRate="14000000"
110 width="1920"
111 height="1080"
112 frameRate="30" />
113
114 <Audio codec="aac"
115 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700116 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700117 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530118 </EncoderProfile>
119
120 <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
121 <Video codec="h264"
122 bitRate="384000"
123 width="176"
124 height="144"
125 frameRate="30" />
126
127 <Audio codec="amrnb"
128 bitRate="12200"
129 sampleRate="8000"
130 channels="1" />
131 </EncoderProfile>
132
133 <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
134 <Video codec="h264"
135 bitRate="1536000"
136 width="352"
137 height="288"
138 frameRate="30" />
139
140 <Audio codec="amrnb"
141 bitRate="12200"
142 sampleRate="8000"
143 channels="1" />
144 </EncoderProfile>
145
146 <EncoderProfile quality="480p" fileFormat="3gp" duration="30">
147 <Video codec="h264"
148 bitRate="4000000"
149 width="640"
150 height="480"
151 frameRate="30" />
152
153 <Audio codec="aac"
154 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700155 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700156 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530157 </EncoderProfile>
158
159 <EncoderProfile quality="720p" fileFormat="3gp" duration="30">
160 <Video codec="h264"
161 bitRate="8000000"
162 width="1280"
163 height="720"
164 frameRate="30" />
165
166 <Audio codec="aac"
167 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700168 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700169 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530170 </EncoderProfile>
171
172 <EncoderProfile quality="1080p" fileFormat="3gp" duration="30">
173 <Video codec="h264"
174 bitRate="14000000"
175 width="1920"
176 height="1080"
177 frameRate="30" />
178
179 <Audio codec="aac"
180 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700181 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700182 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530183 </EncoderProfile>
184
185 <EncoderProfile quality="timelapselow" fileFormat="3gp" duration="30">
186 <Video codec="h264"
187 bitRate="384000"
188 width="176"
189 height="144"
190 frameRate="30" />
191
192 <!--
193 The Audio part of the profile will not be used since time lapse mode
194 does not capture audio
195 -->
196 <Audio codec="amrnb"
197 bitRate="12200"
198 sampleRate="8000"
199 channels="1" />
200 </EncoderProfile>
201
202 <EncoderProfile quality="timelapsehigh" fileFormat="3gp" duration="30">
203 <Video codec="h264"
204 bitRate="14000000"
205 width="1920"
206 height="1080"
207 frameRate="30" />
208
209 <!--
210 The Audio part of the profile will not be used since time lapse mode
211 does not capture audio
212 -->
213 <Audio codec="aac"
214 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700215 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700216 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530217 </EncoderProfile>
218
219 <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30">
220 <Video codec="h264"
221 bitRate="384000"
222 width="176"
223 height="144"
224 frameRate="30" />
225
226 <!--
227 The Audio part of the profile will not be used since time lapse mode
228 does not capture audio
229 -->
230 <Audio codec="amrnb"
231 bitRate="12200"
232 sampleRate="8000"
233 channels="1" />
234 </EncoderProfile>
235
236 <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
237 <Video codec="h264"
238 bitRate="1536000"
239 width="352"
240 height="288"
241 frameRate="30" />
242
243 <!--
244 The Audio part of the profile will not be used since time lapse mode
245 does not capture audio
246 -->
247 <Audio codec="amrnb"
248 bitRate="12200"
249 sampleRate="8000"
250 channels="1" />
251 </EncoderProfile>
252
253 <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="30">
254 <Video codec="h264"
255 bitRate="4000000"
256 width="640"
257 height="480"
258 frameRate="30" />
259
260 <!--
261 The Audio part of the profile will not be used since time lapse mode
262 does not capture audio
263 -->
264 <Audio codec="aac"
265 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700266 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700267 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530268 </EncoderProfile>
269
270 <EncoderProfile quality="timelapse720p" fileFormat="3gp" duration="30">
271 <Video codec="h264"
272 bitRate="8000000"
273 width="1280"
274 height="720"
275 frameRate="30" />
276
277 <!--
278 The Audio part of the profile will not be used since time lapse mode
279 does not capture audio
280 -->
281 <Audio codec="aac"
282 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700283 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700284 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530285 </EncoderProfile>
286
287 <EncoderProfile quality="timelapse1080p" fileFormat="3gp" duration="30">
288 <Video codec="h264"
289 bitRate="14000000"
290 width="1920"
291 height="1080"
292 frameRate="30" />
293
294 <!--
295 The Audio part of the profile will not be used since time lapse mode
296 does not capture audio
297 -->
298 <Audio codec="aac"
299 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700300 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700301 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530302 </EncoderProfile>
303
304 <ImageEncoding quality="90" />
305 <ImageEncoding quality="80" />
306 <ImageEncoding quality="70" />
307 <ImageDecoding memCap="20000000" />
308
309 </CamcorderProfiles>
310
311 <!-- Front Camera -->
312 <CamcorderProfiles cameraId="1">
313
314 <EncoderProfile quality="low" fileFormat="3gp" duration="30">
315 <Video codec="h264"
316 bitRate="384000"
317 width="176"
318 height="144"
Sasha Levitskiy6475e502014-09-27 10:40:00 -0700319 frameRate="30" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530320
321 <Audio codec="amrnb"
322 bitRate="12200"
323 sampleRate="8000"
324 channels="1" />
325 </EncoderProfile>
326
327 <EncoderProfile quality="high" fileFormat="3gp" duration="30">
328 <Video codec="h264"
snchen8037a152014-07-16 14:10:42 +0800329 bitRate="8000000"
330 width="1280"
331 height="720"
Sasha Levitskiy6475e502014-09-27 10:40:00 -0700332 frameRate="30" />
snchen8037a152014-07-16 14:10:42 +0800333
334 <Audio codec="aac"
335 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700336 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700337 channels="2" />
snchen8037a152014-07-16 14:10:42 +0800338 </EncoderProfile>
339
340 <EncoderProfile quality="720p" fileFormat="3gp" duration="30">
341 <Video codec="h264"
342 bitRate="8000000"
343 width="1280"
344 height="720"
Sasha Levitskiy6475e502014-09-27 10:40:00 -0700345 frameRate="30" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530346
347 <Audio codec="aac"
348 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700349 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700350 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530351 </EncoderProfile>
352
353 <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
354 <Video codec="h264"
355 bitRate="384000"
356 width="176"
357 height="144"
Sasha Levitskiy6475e502014-09-27 10:40:00 -0700358 frameRate="30" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530359
360 <Audio codec="amrnb"
361 bitRate="12200"
362 sampleRate="8000"
363 channels="1" />
364 </EncoderProfile>
365
366 <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
367 <Video codec="h264"
368 bitRate="1536000"
369 width="352"
370 height="288"
Sasha Levitskiy6475e502014-09-27 10:40:00 -0700371 frameRate="30" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530372
373 <Audio codec="amrnb"
374 bitRate="12200"
375 sampleRate="8000"
376 channels="1" />
377 </EncoderProfile>
378
379 <EncoderProfile quality="480p" fileFormat="3gp" duration="30">
380 <Video codec="h264"
381 bitRate="4000000"
382 width="640"
383 height="480"
Sasha Levitskiy6475e502014-09-27 10:40:00 -0700384 frameRate="30" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530385
386 <Audio codec="aac"
387 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700388 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700389 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530390 </EncoderProfile>
391
392 <EncoderProfile quality="timelapselow" fileFormat="3gp" duration="30">
393 <Video codec="h264"
394 bitRate="384000"
395 width="176"
396 height="144"
Sasha Levitskiy6475e502014-09-27 10:40:00 -0700397 frameRate="30" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530398
399 <!--
400 The Audio part of the profile will not be used since time lapse mode
401 does not capture audio
402 -->
403 <Audio codec="amrnb"
404 bitRate="12200"
405 sampleRate="8000"
406 channels="1" />
407 </EncoderProfile>
408
409 <EncoderProfile quality="timelapsehigh" fileFormat="3gp" duration="30">
410 <Video codec="h264"
411 bitRate="4000000"
412 width="640"
413 height="480"
Sasha Levitskiy6475e502014-09-27 10:40:00 -0700414 frameRate="30" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530415
416 <!--
417 The Audio part of the profile will not be used since time lapse mode
418 does not capture audio
419 -->
420 <Audio codec="aac"
421 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700422 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700423 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530424 </EncoderProfile>
425
426 <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30">
427 <Video codec="h264"
428 bitRate="384000"
429 width="176"
430 height="144"
Sasha Levitskiy6475e502014-09-27 10:40:00 -0700431 frameRate="30" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530432
433 <!--
434 The Audio part of the profile will not be used since time lapse mode
435 does not capture audio
436 -->
437 <Audio codec="amrnb"
438 bitRate="12200"
439 sampleRate="8000"
440 channels="1" />
441 </EncoderProfile>
442
443 <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
444 <Video codec="h264"
445 bitRate="1536000"
446 width="352"
447 height="288"
Sasha Levitskiy6475e502014-09-27 10:40:00 -0700448 frameRate="30" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530449
450 <!--
451 The Audio part of the profile will not be used since time lapse mode
452 does not capture audio
453 -->
454 <Audio codec="amrnb"
455 bitRate="12200"
456 sampleRate="8000"
457 channels="1" />
458 </EncoderProfile>
459
460 <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="30">
461 <Video codec="h264"
462 bitRate="4000000"
463 width="640"
464 height="480"
Sasha Levitskiy6475e502014-09-27 10:40:00 -0700465 frameRate="30" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530466
467 <!--
468 The Audio part of the profile will not be used since time lapse mode
469 does not capture audio
470 -->
471 <Audio codec="aac"
472 bitRate="96000"
Glenn Kasten44c6f982014-08-21 18:05:50 -0700473 sampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700474 channels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530475 </EncoderProfile>
476
477 <ImageEncoding quality="90" />
478 <ImageEncoding quality="80" />
479 <ImageEncoding quality="70" />
480 <ImageDecoding memCap="20000000" />
481
482 </CamcorderProfiles>
483
484 <EncoderOutputFileFormat name="3gp" />
485
486 <!--
487 If a codec is not enabled, it is invisible to the applications
488 In other words, the applications won't be able to use the codec
489 or query the capabilities of the codec at all if it is disabled
490 -->
491 <VideoEncoderCap name="h264" enabled="true"
492 minBitRate="64000" maxBitRate="20000000"
493 minFrameWidth="176" maxFrameWidth="1920"
494 minFrameHeight="144" maxFrameHeight="1080"
495 minFrameRate="1" maxFrameRate="30" />
496
497 <VideoEncoderCap name="h263" enabled="true"
498 minBitRate="64000" maxBitRate="8000000"
499 minFrameWidth="176" maxFrameWidth="704"
500 minFrameHeight="144" maxFrameHeight="576"
501 minFrameRate="1" maxFrameRate="30" />
502
503 <VideoEncoderCap name="m4v" enabled="true"
504 minBitRate="64000" maxBitRate="10000000"
505 minFrameWidth="176" maxFrameWidth="1280"
506 minFrameHeight="144" maxFrameHeight="720"
507 minFrameRate="1" maxFrameRate="30" />
508
509 <AudioEncoderCap name="aac" enabled="true"
510 minBitRate="8000" maxBitRate="320000"
511 minSampleRate="8000" maxSampleRate="48000"
Glenn Kasten0a05dec2014-08-28 07:45:23 -0700512 minChannels="1" maxChannels="2" />
Yogesh Agrawal9240c1a2013-10-16 15:13:32 +0530513
514 <AudioEncoderCap name="amrwb" enabled="true"
515 minBitRate="6600" maxBitRate="23050"
516 minSampleRate="16000" maxSampleRate="16000"
517 minChannels="1" maxChannels="1" />
518
519 <AudioEncoderCap name="amrnb" enabled="true"
520 minBitRate="4750" maxBitRate="12200"
521 minSampleRate="8000" maxSampleRate="8000"
522 minChannels="1" maxChannels="1" />
523
524 <VideoDecoderCap name="wmv" enabled="true"/>
525 <AudioDecoderCap name="wma" enabled="true"/>
526 <VideoEditorCap maxInputFrameWidth="1920"
527 maxInputFrameHeight="1080"
528 maxOutputFrameWidth="1920"
529 maxOutputFrameHeight="1080"
530 maxPrefetchYUVFrames="10" />
531 <!--
532 The VideoEditor Export codec profile and level values
533 correspond to the values in OMX_Video.h.
534 E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
535 and level 512 means OMX_VIDEO_AVCLevel31.
536 Please note that the values are in decimal.
537 These values are for video encoder.
538 -->
539 <!--
540 Codec = h.263, Baseline profile, level 1
541 -->
542 <ExportVideoProfile name="h263" profile="1"
543 level="1" />
544 <!--
545 Codec = h.264, Baseline profile, level 4
546 -->
547 <ExportVideoProfile name="h264" profile="1"
548 level="2048" />
549 <!--
550 Codec = mpeg4, Simple profile, level 5
551 -->
552 <ExportVideoProfile name="m4v" profile="1"
553 level="128" />
554</MediaSettings>