blob: 05ef3329d628aafa606ca955928565c3244f4ca9 [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="qcif" fileFormat="mp4" duration="30">
83 <Video codec="h264"
84 bitRate="256000"
85 width="176"
86 height="144"
87 frameRate="30" />
88 <Audio codec="aac"
89 bitRate="12200"
90 sampleRate="8000"
91 channels="1" />
92 </EncoderProfile>
93
94 <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
95 <Video codec="h264"
96 bitRate="256000"
97 width="352"
98 height="288"
99 frameRate="30" />
100 <Audio codec="aac"
101 bitRate="12200"
102 sampleRate="8000"
103 channels="1" />
104 </EncoderProfile>
105
106 <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
107 <Video codec="h264"
108 bitRate="256000"
109 width="720"
110 height="480"
111 frameRate="30" />
112 <Audio codec="aac"
113 bitRate="12200"
114 sampleRate="8000"
115 channels="1" />
116 </EncoderProfile>
117
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700118 <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700119 <Video codec="h264"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700120 bitRate="1000000"
121 width="1280"
122 height="720"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700123 frameRate="30" />
124 <Audio codec="aac"
125 bitRate="96000"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700126 sampleRate="8000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700127 channels="1" />
128 </EncoderProfile>
129
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700130 <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700131 <Video codec="h264"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700132 bitRate="4000000"
133 width="1920"
134 height="1080"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700135 frameRate="30" />
136 <Audio codec="aac"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700137 bitRate="96000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700138 sampleRate="8000"
139 channels="1" />
140 </EncoderProfile>
141
142 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
143 <Video codec="h264"
144 bitRate="256000"
145 width="176"
146 height="144"
147 frameRate="30" />
148 <Audio codec="aac"
149 bitRate="12200"
150 sampleRate="8000"
151 channels="1" />
152 </EncoderProfile>
153
154 <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
155 <Video codec="h264"
156 bitRate="256000"
157 width="352"
158 height="288"
159 frameRate="30" />
160 <Audio codec="aac"
161 bitRate="12200"
162 sampleRate="8000"
163 channels="1" />
164 </EncoderProfile>
165
166 <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
167 <Video codec="h264"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700168 bitRate="1000000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700169 width="720"
170 height="480"
171 frameRate="30" />
172 <Audio codec="aac"
173 bitRate="12200"
174 sampleRate="8000"
175 channels="1" />
176 </EncoderProfile>
177
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700178 <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
179 <Video codec="h264"
180 bitRate="1000000"
181 width="1280"
182 height="720"
183 frameRate="30" />
184 <Audio codec="aac"
185 bitRate="96000"
186 sampleRate="8000"
187 channels="1" />
188 </EncoderProfile>
189
190 <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
191 <Video codec="h264"
192 bitRate="4000000"
193 width="1920"
194 height="1080"
195 frameRate="30" />
196 <Audio codec="aac"
197 bitRate="96000"
198 sampleRate="8000"
199 channels="1" />
200 </EncoderProfile>
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700201
Colin Crossc151bcf2011-04-11 18:49:38 -0700202 <ImageEncoding quality="90" />
203 <ImageEncoding quality="80" />
204 <ImageEncoding quality="70" />
205 <ImageDecoding memCap="20000000" />
206
207 </CamcorderProfiles>
208
209 <CamcorderProfiles cameraId="1">
210
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700211 <EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
212 <Video codec="h264"
213 bitRate="256000"
214 width="176"
215 height="144"
216 frameRate="30" />
217 <Audio codec="aac"
218 bitRate="12200"
219 sampleRate="8000"
220 channels="1" />
221 </EncoderProfile>
222
223 <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
224 <Video codec="h264"
225 bitRate="256000"
226 width="352"
227 height="288"
228 frameRate="30" />
229 <Audio codec="aac"
230 bitRate="12200"
231 sampleRate="8000"
232 channels="1" />
233 </EncoderProfile>
234
235 <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
236 <Video codec="h264"
237 bitRate="256000"
238 width="720"
239 height="480"
240 frameRate="30" />
241 <Audio codec="aac"
242 bitRate="12200"
243 sampleRate="8000"
244 channels="1" />
245 </EncoderProfile>
246
247 <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
248 <Video codec="h264"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700249 bitRate="1000000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700250 width="1280"
251 height="720"
252 frameRate="30" />
253 <Audio codec="aac"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700254 bitRate="96000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700255 sampleRate="8000"
256 channels="1" />
257 </EncoderProfile>
258
259 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
260 <Video codec="h264"
261 bitRate="256000"
262 width="176"
263 height="144"
264 frameRate="30" />
265 <Audio codec="aac"
266 bitRate="12200"
267 sampleRate="8000"
268 channels="1" />
269 </EncoderProfile>
270
271 <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
272 <Video codec="h264"
273 bitRate="256000"
274 width="352"
275 height="288"
276 frameRate="30" />
277 <Audio codec="aac"
278 bitRate="12200"
279 sampleRate="8000"
280 channels="1" />
281 </EncoderProfile>
282
283 <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
284 <Video codec="h264"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700285 bitRate="1000000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700286 width="720"
287 height="480"
288 frameRate="30" />
289 <Audio codec="aac"
290 bitRate="12200"
291 sampleRate="8000"
292 channels="1" />
293 </EncoderProfile>
294
295 <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
296 <Video codec="h264"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700297 bitRate="1000000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700298 width="1280"
299 height="720"
300 frameRate="30" />
301 <Audio codec="aac"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700302 bitRate="96000"
Iliyan Malchev90be2ab2011-07-12 13:02:41 -0700303 sampleRate="8000"
304 channels="1" />
Colin Crossc151bcf2011-04-11 18:49:38 -0700305 </EncoderProfile>
306
307 <ImageEncoding quality="90" />
308 <ImageEncoding quality="80" />
309 <ImageEncoding quality="70" />
310 <ImageDecoding memCap="20000000" />
311
312 </CamcorderProfiles>
313
314
315 <EncoderOutputFileFormat name="3gp" />
316 <EncoderOutputFileFormat name="mp4" />
317
318 <!--
319 If a codec is not enabled, it is invisible to the applications
320 In other words, the applications won't be able to use the codec
321 or query the capabilities of the codec at all if it is disabled
322 -->
323 <VideoEncoderCap name="h264" enabled="true"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700324 minBitRate="64000" maxBitRate="4000000"
325 minFrameWidth="176" maxFrameWidth="1920"
326 minFrameHeight="144" maxFrameHeight="1080"
Colin Crossc151bcf2011-04-11 18:49:38 -0700327 minFrameRate="1" maxFrameRate="30" />
328
329 <VideoEncoderCap name="h263" enabled="true"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700330 minBitRate="64000" maxBitRate="4000000"
331 minFrameWidth="176" maxFrameWidth="1920"
332 minFrameHeight="144" maxFrameHeight="1080"
Colin Crossc151bcf2011-04-11 18:49:38 -0700333 minFrameRate="1" maxFrameRate="30" />
334
335 <VideoEncoderCap name="m4v" enabled="true"
Iliyan Malchevd47d7852011-07-15 15:43:25 -0700336 minBitRate="64000" maxBitRate="4000000"
337 minFrameWidth="176" maxFrameWidth="1920"
338 minFrameHeight="144" maxFrameHeight="1080"
Colin Crossc151bcf2011-04-11 18:49:38 -0700339 minFrameRate="1" maxFrameRate="30" />
340
341 <AudioEncoderCap name="aac" enabled="true"
342 minBitRate="8192" maxBitRate="96000"
343 minSampleRate="8000" maxSampleRate="16000"
344 minChannels="1" maxChannels="1" />
345
346 <AudioEncoderCap name="amrwb" enabled="true"
347 minBitRate="6600" maxBitRate="23050"
348 minSampleRate="16000" maxSampleRate="16000"
349 minChannels="1" maxChannels="1" />
350
351 <AudioEncoderCap name="amrnb" enabled="true"
352 minBitRate="5525" maxBitRate="12200"
353 minSampleRate="8000" maxSampleRate="8000"
354 minChannels="1" maxChannels="1" />
355
356 <!--
357 FIXME:
358 We do not check decoder capabilities at present
359 At present, we only check whether windows media is visible
360 for TEST applications. For other applications, we do
361 not perform any checks at all.
362 -->
363 <VideoDecoderCap name="wmv" enabled="false"/>
364 <AudioDecoderCap name="wma" enabled="false"/>
365</MediaSettings>