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<!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> 78<!ELEMENT ExportVideoProfile EMPTY> 79<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED> 80<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED> 81<!ATTLIST ExportVideoProfile level CDATA #REQUIRED> 82]> 83<!-- 84 This file is used to declare the multimedia profiles and capabilities 85 on an android-powered device. 86--> 87<MediaSettings> 88 <!-- Each camcorder profile defines a set of predefined configuration parameters --> 89 <CamcorderProfiles cameraId="0"> 90 91 <EncoderProfile quality="qvga" fileFormat="mp4" duration="60"> 92 <Video codec="m4v" 93 bitRate="128000" 94 width="320" 95 height="240" 96 frameRate="15" /> 97 <Audio codec="amrnb" 98 bitRate="12200" 99 sampleRate="8000" 100 channels="1" /> 101 </EncoderProfile> 102 103 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> 104 <Video codec="h264" 105 bitRate="192000" 106 width="176" 107 height="144" 108 frameRate="30" /> 109 <!-- audio setting is ignored --> 110 <Audio codec="amrnb" 111 bitRate="12200" 112 sampleRate="8000" 113 channels="1" /> 114 </EncoderProfile> 115 116 <ImageEncoding quality="95" /> 117 <ImageEncoding quality="80" /> 118 <ImageEncoding quality="70" /> 119 <ImageDecoding memCap="20000000" /> 120 121 </CamcorderProfiles> 122 123 <CamcorderProfiles cameraId="1"> 124 125 <EncoderProfile quality="qvga" fileFormat="mp4" duration="60"> 126 <Video codec="m4v" 127 bitRate="128000" 128 width="320" 129 height="240" 130 frameRate="15" /> 131 <Audio codec="amrnb" 132 bitRate="12200" 133 sampleRate="8000" 134 channels="1" /> 135 </EncoderProfile> 136 137 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> 138 <Video codec="h264" 139 bitRate="192000" 140 width="176" 141 height="144" 142 frameRate="30" /> 143 <!-- audio setting is ignored --> 144 <Audio codec="amrnb" 145 bitRate="12200" 146 sampleRate="8000" 147 channels="1" /> 148 </EncoderProfile> 149 150 <ImageEncoding quality="95" /> 151 <ImageEncoding quality="80" /> 152 <ImageEncoding quality="70" /> 153 <ImageDecoding memCap="20000000" /> 154 155 </CamcorderProfiles> 156 157 <CamcorderProfiles cameraId="2"> 158 159 <EncoderProfile quality="qvga" fileFormat="mp4" duration="60"> 160 <Video codec="m4v" 161 bitRate="128000" 162 width="320" 163 height="240" 164 frameRate="15" /> 165 <Audio codec="amrnb" 166 bitRate="12200" 167 sampleRate="8000" 168 channels="1" /> 169 </EncoderProfile> 170 171 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> 172 <Video codec="h264" 173 bitRate="192000" 174 width="176" 175 height="144" 176 frameRate="30" /> 177 <!-- audio setting is ignored --> 178 <Audio codec="amrnb" 179 bitRate="12200" 180 sampleRate="8000" 181 channels="1" /> 182 </EncoderProfile> 183 184 <ImageEncoding quality="95" /> 185 <ImageEncoding quality="80" /> 186 <ImageEncoding quality="70" /> 187 <ImageDecoding memCap="20000000" /> 188 189 </CamcorderProfiles> 190 191 <CamcorderProfiles cameraId="3"> 192 193 <EncoderProfile quality="qvga" fileFormat="mp4" duration="60"> 194 <Video codec="m4v" 195 bitRate="128000" 196 width="320" 197 height="240" 198 frameRate="15" /> 199 <Audio codec="amrnb" 200 bitRate="12200" 201 sampleRate="8000" 202 channels="1" /> 203 </EncoderProfile> 204 205 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> 206 <Video codec="h264" 207 bitRate="192000" 208 width="176" 209 height="144" 210 frameRate="30" /> 211 <!-- audio setting is ignored --> 212 <Audio codec="amrnb" 213 bitRate="12200" 214 sampleRate="8000" 215 channels="1" /> 216 </EncoderProfile> 217 218 <ImageEncoding quality="95" /> 219 <ImageEncoding quality="80" /> 220 <ImageEncoding quality="70" /> 221 <ImageDecoding memCap="20000000" /> 222 223 </CamcorderProfiles> 224 225 <CamcorderProfiles cameraId="4"> 226 227 <EncoderProfile quality="qvga" fileFormat="mp4" duration="60"> 228 <Video codec="m4v" 229 bitRate="128000" 230 width="320" 231 height="240" 232 frameRate="15" /> 233 <Audio codec="amrnb" 234 bitRate="12200" 235 sampleRate="8000" 236 channels="1" /> 237 </EncoderProfile> 238 239 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> 240 <Video codec="h264" 241 bitRate="192000" 242 width="176" 243 height="144" 244 frameRate="30" /> 245 <!-- audio setting is ignored --> 246 <Audio codec="amrnb" 247 bitRate="12200" 248 sampleRate="8000" 249 channels="1" /> 250 </EncoderProfile> 251 252 <ImageEncoding quality="95" /> 253 <ImageEncoding quality="80" /> 254 <ImageEncoding quality="70" /> 255 <ImageDecoding memCap="20000000" /> 256 257 </CamcorderProfiles> 258 259 <CamcorderProfiles cameraId="5"> 260 261 <EncoderProfile quality="qvga" fileFormat="mp4" duration="60"> 262 <Video codec="m4v" 263 bitRate="128000" 264 width="320" 265 height="240" 266 frameRate="15" /> 267 <Audio codec="amrnb" 268 bitRate="12200" 269 sampleRate="8000" 270 channels="1" /> 271 </EncoderProfile> 272 273 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> 274 <Video codec="h264" 275 bitRate="192000" 276 width="176" 277 height="144" 278 frameRate="30" /> 279 <!-- audio setting is ignored --> 280 <Audio codec="amrnb" 281 bitRate="12200" 282 sampleRate="8000" 283 channels="1" /> 284 </EncoderProfile> 285 286 <ImageEncoding quality="95" /> 287 <ImageEncoding quality="80" /> 288 <ImageEncoding quality="70" /> 289 <ImageDecoding memCap="20000000" /> 290 291 </CamcorderProfiles> 292 293 <CamcorderProfiles cameraId="6"> 294 295 <EncoderProfile quality="qvga" fileFormat="mp4" duration="60"> 296 <Video codec="m4v" 297 bitRate="128000" 298 width="320" 299 height="240" 300 frameRate="15" /> 301 <Audio codec="amrnb" 302 bitRate="12200" 303 sampleRate="8000" 304 channels="1" /> 305 </EncoderProfile> 306 307 <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> 308 <Video codec="h264" 309 bitRate="192000" 310 width="176" 311 height="144" 312 frameRate="30" /> 313 <!-- audio setting is ignored --> 314 <Audio codec="amrnb" 315 bitRate="12200" 316 sampleRate="8000" 317 channels="1" /> 318 </EncoderProfile> 319 320 <ImageEncoding quality="95" /> 321 <ImageEncoding quality="80" /> 322 <ImageEncoding quality="70" /> 323 <ImageDecoding memCap="20000000" /> 324 325 </CamcorderProfiles> 326 327 <EncoderOutputFileFormat name="3gp" /> 328 <EncoderOutputFileFormat name="mp4" /> 329 330 <!-- 331 If a codec is not enabled, it is invisible to the applications 332 In other words, the applications won't be able to use the codec 333 or query the capabilities of the codec at all if it is disabled 334 --> 335 <VideoEncoderCap name="h264" enabled="true" 336 minBitRate="64000" maxBitRate="192000" 337 minFrameWidth="176" maxFrameWidth="320" 338 minFrameHeight="144" maxFrameHeight="240" 339 minFrameRate="15" maxFrameRate="30" /> 340 341 <VideoEncoderCap name="h263" enabled="true" 342 minBitRate="64000" maxBitRate="192000" 343 minFrameWidth="176" maxFrameWidth="320" 344 minFrameHeight="144" maxFrameHeight="240" 345 minFrameRate="15" maxFrameRate="30" /> 346 347 <VideoEncoderCap name="m4v" enabled="true" 348 minBitRate="64000" maxBitRate="192000" 349 minFrameWidth="176" maxFrameWidth="320" 350 minFrameHeight="144" maxFrameHeight="240" 351 minFrameRate="15" maxFrameRate="30" /> 352 353 <AudioEncoderCap name="aac" enabled="true" 354 minBitRate="8000" maxBitRate="96000" 355 minSampleRate="8000" maxSampleRate="48000" 356 minChannels="1" maxChannels="1" /> 357 358 <AudioEncoderCap name="amrwb" enabled="true" 359 minBitRate="6600" maxBitRate="23050" 360 minSampleRate="16000" maxSampleRate="16000" 361 minChannels="1" maxChannels="1" /> 362 363 <AudioEncoderCap name="amrnb" enabled="true" 364 minBitRate="5525" maxBitRate="12200" 365 minSampleRate="8000" maxSampleRate="8000" 366 minChannels="1" maxChannels="1" /> 367 368 <!-- 369 FIXME: 370 We do not check decoder capabilities at present 371 At present, we only check whether windows media is visible 372 for TEST applications. For other applications, we do 373 not perform any checks at all. 374 --> 375 <VideoDecoderCap name="wmv" enabled="false"/> 376 <AudioDecoderCap name="wma" enabled="false"/> 377 <VideoEditorCap maxInputFrameWidth="320" 378 maxInputFrameHeight="240" maxOutputFrameWidth="320" 379 maxOutputFrameHeight="240"/> 380 <!-- 381 The VideoEditor Export codec profile and level values 382 correspond to the values in OMX_Video.h. 383 E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline 384 and level 4096 means OMX_VIDEO_AVCLevel41. 385 Please note that the values are in decimal. 386 These values are for video encoder. 387 --> 388 <!-- 389 Codec = h.264, Baseline profile, level 4.1 390 --> 391 <ExportVideoProfile name="h264" profile= "1" level="512"/> 392 <!-- 393 Codec = h.263, Baseline profile, level 0 394 --> 395 <ExportVideoProfile name="h263" profile= "1" level="1"/> 396 <!-- 397 Codec = mpeg4, Simple profile, level 3 398 --> 399 <ExportVideoProfile name="m4v" profile= "1" level="16"/> 400</MediaSettings> 401