blob: d9bc3cad6492b10f0c51857af303e6b3d0e9c2f5 [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>
Hong Teng376e7b82011-07-06 18:52:08 -070073<!ELEMENT VideoEditorCap EMPTY>
74<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
75<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
76<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
77<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
Colin Crossc151bcf2011-04-11 18:49:38 -070078]>
79<!--
80 This file is used to declare the multimedia profiles and capabilities
81 on an android-powered device.
82-->
83<MediaSettings>
84 <!-- Each camcorder profile defines a set of predefined configuration parameters -->
85 <CamcorderProfiles cameraId="0">
86
Iliyan Malchev90be2ab2011-07-12 13:02:41 -070087 <EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
88 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +053089 bitRate="192000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -070090 width="176"
91 height="144"
92 frameRate="30" />
93 <Audio codec="aac"
94 bitRate="12200"
95 sampleRate="8000"
96 channels="1" />
97 </EncoderProfile>
98
99 <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
100 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530101 bitRate="1200000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700102 width="352"
103 height="288"
104 frameRate="30" />
105 <Audio codec="aac"
106 bitRate="12200"
107 sampleRate="8000"
108 channels="1" />
109 </EncoderProfile>
110
111 <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
112 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530113 bitRate="5000000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700114 width="720"
115 height="480"
116 frameRate="30" />
117 <Audio codec="aac"
118 bitRate="12200"
119 sampleRate="8000"
120 channels="1" />
121 </EncoderProfile>
122
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700123 <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700124 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530125 bitRate="17000000"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700126 width="1920"
127 height="1080"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700128 frameRate="30" />
129 <Audio codec="aac"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700130 bitRate="96000"
Iliyan Malchev51378922011-07-18 11:56:37 -0700131 sampleRate="48000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700132 channels="1" />
133 </EncoderProfile>
134
135 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
136 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530137 bitRate="192000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700138 width="176"
139 height="144"
140 frameRate="30" />
141 <Audio codec="aac"
142 bitRate="12200"
143 sampleRate="8000"
144 channels="1" />
145 </EncoderProfile>
146
147 <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
148 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530149 bitRate="1200000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700150 width="352"
151 height="288"
152 frameRate="30" />
153 <Audio codec="aac"
154 bitRate="12200"
155 sampleRate="8000"
156 channels="1" />
157 </EncoderProfile>
158
159 <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
160 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530161 bitRate="5000000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700162 width="720"
163 height="480"
164 frameRate="30" />
165 <Audio codec="aac"
166 bitRate="12200"
167 sampleRate="8000"
168 channels="1" />
169 </EncoderProfile>
170
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700171 <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
172 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530173 bitRate="17000000"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700174 width="1920"
175 height="1080"
176 frameRate="30" />
177 <Audio codec="aac"
178 bitRate="96000"
Iliyan Malchev51378922011-07-18 11:56:37 -0700179 sampleRate="48000"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700180 channels="1" />
181 </EncoderProfile>
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700182
Colin Crossc151bcf2011-04-11 18:49:38 -0700183 <ImageEncoding quality="90" />
184 <ImageEncoding quality="80" />
185 <ImageEncoding quality="70" />
186 <ImageDecoding memCap="20000000" />
187
188 </CamcorderProfiles>
189
190 <CamcorderProfiles cameraId="1">
191
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700192 <EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
193 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530194 bitRate="192000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700195 width="176"
196 height="144"
197 frameRate="30" />
198 <Audio codec="aac"
199 bitRate="12200"
200 sampleRate="8000"
201 channels="1" />
202 </EncoderProfile>
203
204 <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
205 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530206 bitRate="1200000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700207 width="352"
208 height="288"
209 frameRate="30" />
210 <Audio codec="aac"
211 bitRate="12200"
212 sampleRate="8000"
213 channels="1" />
214 </EncoderProfile>
215
216 <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
217 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530218 bitRate="5000000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700219 width="720"
220 height="480"
221 frameRate="30" />
222 <Audio codec="aac"
223 bitRate="12200"
224 sampleRate="8000"
225 channels="1" />
226 </EncoderProfile>
227
228 <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
229 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530230 bitRate="12000000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700231 width="1280"
232 height="720"
233 frameRate="30" />
234 <Audio codec="aac"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700235 bitRate="96000"
Iliyan Malchev51378922011-07-18 11:56:37 -0700236 sampleRate="48000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700237 channels="1" />
238 </EncoderProfile>
239
240 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
241 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530242 bitRate="192000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700243 width="176"
244 height="144"
245 frameRate="30" />
246 <Audio codec="aac"
247 bitRate="12200"
248 sampleRate="8000"
249 channels="1" />
250 </EncoderProfile>
251
252 <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
253 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530254 bitRate="1200000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700255 width="352"
256 height="288"
257 frameRate="30" />
258 <Audio codec="aac"
259 bitRate="12200"
260 sampleRate="8000"
261 channels="1" />
262 </EncoderProfile>
263
264 <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
265 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530266 bitRate="5000000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700267 width="720"
268 height="480"
269 frameRate="30" />
270 <Audio codec="aac"
271 bitRate="12200"
272 sampleRate="8000"
273 channels="1" />
274 </EncoderProfile>
275
276 <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
277 <Video codec="h264"
Kalpesh Patil13194782011-07-29 05:09:56 +0530278 bitRate="12000000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700279 width="1280"
280 height="720"
281 frameRate="30" />
282 <Audio codec="aac"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700283 bitRate="96000"
Iliyan Malchev51378922011-07-18 11:56:37 -0700284 sampleRate="48000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700285 channels="1" />
Colin Crossc151bcf2011-04-11 18:49:38 -0700286 </EncoderProfile>
287
288 <ImageEncoding quality="90" />
289 <ImageEncoding quality="80" />
290 <ImageEncoding quality="70" />
291 <ImageDecoding memCap="20000000" />
292
293 </CamcorderProfiles>
294
Colin Crossc151bcf2011-04-11 18:49:38 -0700295 <EncoderOutputFileFormat name="3gp" />
296 <EncoderOutputFileFormat name="mp4" />
297
298 <!--
299 If a codec is not enabled, it is invisible to the applications
300 In other words, the applications won't be able to use the codec
301 or query the capabilities of the codec at all if it is disabled
302 -->
303 <VideoEncoderCap name="h264" enabled="true"
Kalpesh Patil13194782011-07-29 05:09:56 +0530304 minBitRate="64000" maxBitRate="17000000"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700305 minFrameWidth="176" maxFrameWidth="1920"
306 minFrameHeight="144" maxFrameHeight="1080"
Colin Crossc151bcf2011-04-11 18:49:38 -0700307 minFrameRate="1" maxFrameRate="30" />
308
309 <VideoEncoderCap name="h263" enabled="true"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700310 minBitRate="64000" maxBitRate="4000000"
311 minFrameWidth="176" maxFrameWidth="1920"
312 minFrameHeight="144" maxFrameHeight="1080"
Colin Crossc151bcf2011-04-11 18:49:38 -0700313 minFrameRate="1" maxFrameRate="30" />
314
315 <VideoEncoderCap name="m4v" enabled="true"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700316 minBitRate="64000" maxBitRate="4000000"
317 minFrameWidth="176" maxFrameWidth="1920"
318 minFrameHeight="144" maxFrameHeight="1080"
Colin Crossc151bcf2011-04-11 18:49:38 -0700319 minFrameRate="1" maxFrameRate="30" />
320
321 <AudioEncoderCap name="aac" enabled="true"
Iliyan Malchev51378922011-07-18 11:56:37 -0700322 minBitRate="8000" maxBitRate="96000"
323 minSampleRate="8000" maxSampleRate="48000"
Colin Crossc151bcf2011-04-11 18:49:38 -0700324 minChannels="1" maxChannels="1" />
325
326 <AudioEncoderCap name="amrwb" enabled="true"
327 minBitRate="6600" maxBitRate="23050"
328 minSampleRate="16000" maxSampleRate="16000"
329 minChannels="1" maxChannels="1" />
330
331 <AudioEncoderCap name="amrnb" enabled="true"
332 minBitRate="5525" maxBitRate="12200"
333 minSampleRate="8000" maxSampleRate="8000"
334 minChannels="1" maxChannels="1" />
335
336 <!--
337 FIXME:
338 We do not check decoder capabilities at present
339 At present, we only check whether windows media is visible
340 for TEST applications. For other applications, we do
341 not perform any checks at all.
342 -->
343 <VideoDecoderCap name="wmv" enabled="false"/>
344 <AudioDecoderCap name="wma" enabled="false"/>
Chih-Chung Chang9d1e2512011-07-25 19:38:35 +0800345 <VideoEditorCap maxInputFrameWidth="1920"
346 maxInputFrameHeight="1080" maxOutputFrameWidth="1920"
347 maxOutputFrameHeight="1080"/>
Colin Crossc151bcf2011-04-11 18:49:38 -0700348</MediaSettings>