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 VideoEditorCap, 24 ExportVideoProfile+)> 25 <!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding)> 26 <!ELEMENT EncoderProfile (Video, Audio)> 27 <!ATTLIST EncoderProfile quality (timelapse480p|timelapsecif|timelapseqcif|480p|cif|qcif) #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 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|heaac|aaceld|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 <!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED> 74 <!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED> 75 <!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED> 76 <!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED> 77 <!ATTLIST VideoEditorCap maxPrefetchYUVFrames 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 <!-- Front Camera --> 90 <CamcorderProfiles cameraId="0"> 91 92 <EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> 93 <Video codec="h264" 94 bitRate="384000" 95 width="176" 96 height="144" 97 frameRate="30" /> 98 99 <Audio codec="amrnb" 100 bitRate="12200" 101 sampleRate="8000" 102 channels="1" /> 103 </EncoderProfile> 104 105 <EncoderProfile quality="cif" fileFormat="3gp" duration="30"> 106 <Video codec="h264" 107 bitRate="1536000" 108 width="352" 109 height="288" 110 frameRate="30" /> 111 112 <Audio codec="amrnb" 113 bitRate="12200" 114 sampleRate="8000" 115 channels="1" /> 116 </EncoderProfile> 117 118 <EncoderProfile quality="480p" fileFormat="3gp" duration="30"> 119 <Video codec="h264" 120 bitRate="4000000" 121 width="640" 122 height="480" 123 frameRate="30" /> 124 125 <Audio codec="aac" 126 bitRate="96000" 127 sampleRate="44100" 128 channels="1" /> 129 </EncoderProfile> 130 131 <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30"> 132 <Video codec="h264" 133 bitRate="384000" 134 width="176" 135 height="144" 136 frameRate="30" /> 137 138 <!-- 139 The Audio part of the profile will not be used since time lapse mode 140 does not capture audio 141 --> 142 <Audio codec="amrnb" 143 bitRate="12200" 144 sampleRate="8000" 145 channels="1" /> 146 </EncoderProfile> 147 148 <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30"> 149 <Video codec="h264" 150 bitRate="1536000" 151 width="352" 152 height="288" 153 frameRate="30" /> 154 155 <!-- 156 The Audio part of the profile will not be used since time lapse mode 157 does not capture audio 158 --> 159 <Audio codec="amrnb" 160 bitRate="12200" 161 sampleRate="8000" 162 channels="1" /> 163 </EncoderProfile> 164 165 <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="30"> 166 <Video codec="h264" 167 bitRate="4000000" 168 width="640" 169 height="480" 170 frameRate="30" /> 171 172 <!-- 173 The Audio part of the profile will not be used since time lapse mode 174 does not capture audio 175 --> 176 <Audio codec="aac" 177 bitRate="96000" 178 sampleRate="44100" 179 channels="1" /> 180 </EncoderProfile> 181 182 <ImageEncoding quality="90" /> 183 <ImageEncoding quality="80" /> 184 <ImageEncoding quality="70" /> 185 <ImageDecoding memCap="20000000" /> 186 187 </CamcorderProfiles> 188 189 <EncoderOutputFileFormat name="3gp" /> 190 191 <!-- 192 If a codec is not enabled, it is invisible to the applications 193 In other words, the applications won't be able to use the codec 194 or query the capabilities of the codec at all if it is disabled 195 --> 196 <VideoEncoderCap name="h264" enabled="true" 197 minBitRate="64000" maxBitRate="20000000" 198 minFrameWidth="176" maxFrameWidth="1920" 199 minFrameHeight="144" maxFrameHeight="1080" 200 minFrameRate="5" maxFrameRate="30" /> 201 202 <VideoEncoderCap name="h263" enabled="true" 203 minBitRate="64000" maxBitRate="8000000" 204 minFrameWidth="176" maxFrameWidth="704" 205 minFrameHeight="144" maxFrameHeight="576" 206 minFrameRate="5" maxFrameRate="30" /> 207 208 <VideoEncoderCap name="m4v" enabled="true" 209 minBitRate="64000" maxBitRate="10000000" 210 minFrameWidth="176" maxFrameWidth="1280" 211 minFrameHeight="144" maxFrameHeight="720" 212 minFrameRate="5" maxFrameRate="30" /> 213 214 <AudioEncoderCap name="aac" enabled="true" 215 minBitRate="758" maxBitRate="288000" 216 minSampleRate="8000" maxSampleRate="48000" 217 minChannels="1" maxChannels="1" /> 218 219 <AudioEncoderCap name="heaac" enabled="true" 220 minBitRate="8000" maxBitRate="64000" 221 minSampleRate="16000" maxSampleRate="48000" 222 minChannels="1" maxChannels="1" /> 223 224 <AudioEncoderCap name="aaceld" enabled="true" 225 minBitRate="16000" maxBitRate="192000" 226 minSampleRate="16000" maxSampleRate="48000" 227 minChannels="1" maxChannels="1" /> 228 229 <AudioEncoderCap name="amrwb" enabled="true" 230 minBitRate="6600" maxBitRate="23050" 231 minSampleRate="16000" maxSampleRate="16000" 232 minChannels="1" maxChannels="1" /> 233 234 <AudioEncoderCap name="amrnb" enabled="true" 235 minBitRate="4750" maxBitRate="12200" 236 minSampleRate="8000" maxSampleRate="8000" 237 minChannels="1" maxChannels="1" /> 238 239 <!-- 240 We do not check decoder capabilities at present 241 At present, we only check whether windows media is visible 242 for TEST applications. For other applications, we do 243 not perform any checks at all. 244 --> 245 <VideoDecoderCap name="wmv" enabled="false"/> 246 <AudioDecoderCap name="wma" enabled="false"/> 247 248 249 <VideoEditorCap maxInputFrameWidth="1920" 250 maxInputFrameHeight="1080" 251 maxOutputFrameWidth="1920" 252 maxOutputFrameHeight="1080" 253 maxPrefetchYUVFrames="10" /> 254 <!-- 255 The VideoEditor Export codec profile and level values 256 correspond to the values in OMX_Video.h. 257 E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline 258 and level 512 means OMX_VIDEO_AVCLevel31. 259 Please note that the values are in decimal. 260 These values are for video encoder. 261 --> 262 <!-- 263 Codec = h.263, Baseline profile, level 1 264 --> 265 <ExportVideoProfile name="h263" profile="1" level="1" /> 266 <!-- 267 Codec = h.264, Baseline profile, level 4 268 --> 269 <ExportVideoProfile name="h264" profile="1" level="2048" /> 270 <!-- 271 Codec = mpeg4, Simple profile, level 5 272 --> 273 <ExportVideoProfile name="m4v" profile="1" level="128" /> 274 </MediaSettings> 275