1<?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 82 <EncoderProfile quality="qvga" fileFormat="3gp" duration="60"> 83 <Video codec="m4v" 84 bitRate="128000" 85 width="320" 86 height="240" 87 frameRate="30" /> 88 <Audio codec="amrnb" 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="1200000" 97 width="352" 98 height="288" 99 frameRate="30" /> 100 <Audio codec="aac" 101 bitRate="96000" 102 sampleRate="48000" 103 channels="1" /> 104 </EncoderProfile> 105 106 <EncoderProfile quality="480p" fileFormat="mp4" duration="30"> 107 <Video codec="h264" 108 bitRate="5000000" 109 width="720" 110 height="480" 111 frameRate="30" /> 112 <Audio codec="aac" 113 bitRate="96000" 114 sampleRate="48000" 115 channels="1" /> 116 </EncoderProfile> 117 118 <EncoderProfile quality="720p" fileFormat="mp4" duration="30"> 119 <Video codec="h264" 120 bitRate="8000000" 121 width="1280" 122 height="720" 123 frameRate="30" /> 124 <Audio codec="aac" 125 bitRate="96000" 126 sampleRate="48000" 127 channels="1" /> 128 </EncoderProfile> 129 130 <EncoderProfile quality="1080p" fileFormat="mp4" duration="30"> 131 <Video codec="h264" 132 bitRate="12000000" 133 width="1920" 134 height="1080" 135 frameRate="30" /> 136 <Audio codec="aac" 137 bitRate="96000" 138 sampleRate="48000" 139 channels="1" /> 140 </EncoderProfile> 141 142 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> 143 <Video codec="h264" 144 bitRate="192000" 145 width="176" 146 height="144" 147 frameRate="30" /> 148 <!-- audio setting is ignored --> 149 <Audio codec="amrnb" 150 bitRate="12200" 151 sampleRate="8000" 152 channels="1" /> 153 </EncoderProfile> 154 155 <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30"> 156 <Video codec="h264" 157 bitRate="1200000" 158 width="352" 159 height="288" 160 frameRate="30" /> 161 <!-- audio setting is ignored --> 162 <Audio codec="aac" 163 bitRate="96000" 164 sampleRate="48000" 165 channels="1" /> 166 </EncoderProfile> 167 168 <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30"> 169 <Video codec="h264" 170 bitRate="5000000" 171 width="720" 172 height="480" 173 frameRate="30" /> 174 <!-- audio setting is ignored --> 175 <Audio codec="aac" 176 bitRate="96000" 177 sampleRate="48000" 178 channels="1" /> 179 </EncoderProfile> 180 181 <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30"> 182 <Video codec="h264" 183 bitRate="8000000" 184 width="1280" 185 height="720" 186 frameRate="30" /> 187 <!-- audio setting is ignored --> 188 <Audio codec="aac" 189 bitRate="96000" 190 sampleRate="48000" 191 channels="1" /> 192 </EncoderProfile> 193 194 <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30"> 195 <Video codec="h264" 196 bitRate="12000000" 197 width="1920" 198 height="1080" 199 frameRate="30" /> 200 <!-- audio setting is ignored --> 201 <Audio codec="aac" 202 bitRate="96000" 203 sampleRate="48000" 204 channels="1" /> 205 </EncoderProfile> 206 207 <ImageEncoding quality="95" /> 208 <ImageEncoding quality="80" /> 209 <ImageEncoding quality="70" /> 210 <ImageDecoding memCap="20000000" /> 211 212 </CamcorderProfiles> 213 214 <CamcorderProfiles cameraId="1"> 215 216 <EncoderProfile quality="qvga" fileFormat="3gp" duration="60"> 217 <Video codec="m4v" 218 bitRate="128000" 219 width="320" 220 height="240" 221 frameRate="30" /> 222 <Audio codec="amrnb" 223 bitRate="12200" 224 sampleRate="8000" 225 channels="1" /> 226 </EncoderProfile> 227 228 <EncoderProfile quality="cif" fileFormat="mp4" duration="30"> 229 <Video codec="h264" 230 bitRate="1200000" 231 width="352" 232 height="288" 233 frameRate="30" /> 234 <Audio codec="aac" 235 bitRate="96000" 236 sampleRate="48000" 237 channels="1" /> 238 </EncoderProfile> 239 240 <EncoderProfile quality="480p" fileFormat="mp4" duration="30"> 241 <Video codec="h264" 242 bitRate="5000000" 243 width="720" 244 height="480" 245 frameRate="30" /> 246 <Audio codec="aac" 247 bitRate="96000" 248 sampleRate="48000" 249 channels="1" /> 250 </EncoderProfile> 251 252 <EncoderProfile quality="720p" fileFormat="mp4" duration="30"> 253 <Video codec="h264" 254 bitRate="8000000" 255 width="1280" 256 height="720" 257 frameRate="30" /> 258 <Audio codec="aac" 259 bitRate="96000" 260 sampleRate="48000" 261 channels="1" /> 262 </EncoderProfile> 263 264 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> 265 <Video codec="h264" 266 bitRate="192000" 267 width="176" 268 height="144" 269 frameRate="30" /> 270 <!-- audio setting is ignored --> 271 <Audio codec="amrnb" 272 bitRate="12200" 273 sampleRate="8000" 274 channels="1" /> 275 </EncoderProfile> 276 277 <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30"> 278 <Video codec="h264" 279 bitRate="1200000" 280 width="352" 281 height="288" 282 frameRate="30" /> 283 <!-- audio setting is ignored --> 284 <Audio codec="aac" 285 bitRate="96000" 286 sampleRate="48000" 287 channels="1" /> 288 </EncoderProfile> 289 290 <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30"> 291 <Video codec="h264" 292 bitRate="5000000" 293 width="720" 294 height="480" 295 frameRate="30" /> 296 <!-- audio setting is ignored --> 297 <Audio codec="aac" 298 bitRate="96000" 299 sampleRate="48000" 300 channels="1" /> 301 </EncoderProfile> 302 303 <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30"> 304 <Video codec="h264" 305 bitRate="8000000" 306 width="1280" 307 height="720" 308 frameRate="30" /> 309 <!-- audio setting is ignored --> 310 <Audio codec="aac" 311 bitRate="96000" 312 sampleRate="48000" 313 channels="1" /> 314 </EncoderProfile> 315 316 <ImageEncoding quality="95" /> 317 <ImageEncoding quality="80" /> 318 <ImageEncoding quality="70" /> 319 <ImageDecoding memCap="20000000" /> 320 321 </CamcorderProfiles> 322 323 <EncoderOutputFileFormat name="3gp" /> 324 <EncoderOutputFileFormat name="mp4" /> 325 326 <!-- 327 If a codec is not enabled, it is invisible to the applications 328 In other words, the applications won't be able to use the codec 329 or query the capabilities of the codec at all if it is disabled 330 --> 331 <VideoEncoderCap name="h264" enabled="true" 332 minBitRate="64000" maxBitRate="12000000" 333 minFrameWidth="176" maxFrameWidth="1920" 334 minFrameHeight="144" maxFrameHeight="1080" 335 minFrameRate="15" maxFrameRate="30" /> 336 337 <VideoEncoderCap name="h263" enabled="true" 338 minBitRate="64000" maxBitRate="2000000" 339 minFrameWidth="176" maxFrameWidth="800" 340 minFrameHeight="144" maxFrameHeight="480" 341 minFrameRate="15" maxFrameRate="30" /> 342 343 <VideoEncoderCap name="m4v" enabled="true" 344 minBitRate="64000" maxBitRate="4000000" 345 minFrameWidth="176" maxFrameWidth="1920" 346 minFrameHeight="144" maxFrameHeight="1080" 347 minFrameRate="15" maxFrameRate="30" /> 348 349 <AudioEncoderCap name="aac" enabled="true" 350 minBitRate="758" maxBitRate="288000" 351 minSampleRate="8000" maxSampleRate="48000" 352 minChannels="1" maxChannels="1" /> 353 354 <AudioEncoderCap name="heaac" enabled="true" 355 minBitRate="8000" maxBitRate="64000" 356 minSampleRate="16000" maxSampleRate="48000" 357 minChannels="1" maxChannels="1" /> 358 359 <AudioEncoderCap name="aaceld" enabled="true" 360 minBitRate="16000" maxBitRate="192000" 361 minSampleRate="16000" maxSampleRate="48000" 362 minChannels="1" maxChannels="1" /> 363 364 <AudioEncoderCap name="amrwb" enabled="true" 365 minBitRate="6600" maxBitRate="23050" 366 minSampleRate="16000" maxSampleRate="16000" 367 minChannels="1" maxChannels="1" /> 368 369 <AudioEncoderCap name="amrnb" enabled="true" 370 minBitRate="5525" maxBitRate="12200" 371 minSampleRate="8000" maxSampleRate="8000" 372 minChannels="1" maxChannels="1" /> 373 374 <!-- 375 FIXME: 376 We do not check decoder capabilities at present 377 At present, we only check whether windows media is visible 378 for TEST applications. For other applications, we do 379 not perform any checks at all. 380 --> 381 <VideoDecoderCap name="wmv" enabled="false"/> 382 <AudioDecoderCap name="wma" enabled="false"/> 383</MediaSettings> 384