Home | History | Annotate | Download | only in manta
      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 <!ELEMENT Video EMPTY>
     29 <!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
     30 <!ATTLIST Video bitRate CDATA #REQUIRED>
     31 <!ATTLIST Video width CDATA #REQUIRED>
     32 <!ATTLIST Video height CDATA #REQUIRED>
     33 <!ATTLIST Video frameRate CDATA #REQUIRED>
     34 <!ELEMENT Audio EMPTY>
     35 <!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
     36 <!ATTLIST Audio bitRate CDATA #REQUIRED>
     37 <!ATTLIST Audio sampleRate CDATA #REQUIRED>
     38 <!ATTLIST Audio channels (1|2) #REQUIRED>
     39 <!ELEMENT ImageEncoding EMPTY>
     40 <!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
     41 <!ELEMENT ImageDecoding EMPTY>
     42 <!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
     43 <!ELEMENT Camera EMPTY>
     44 <!ATTLIST Camera previewFrameRate 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|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="1080p" fileFormat="mp4" duration="60">
     83             <Video codec="h264"
     84                    bitRate="12000000"
     85                    width="1920"
     86                    height="1080"
     87                    frameRate="30" />
     88 
     89             <Audio codec="aac"
     90                    bitRate="96000"
     91                    sampleRate="44100"
     92                    channels="1" />
     93         </EncoderProfile>
     94 
     95         <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
     96             <Video codec="h264"
     97                    bitRate="8000000"
     98                    width="1280"
     99                    height="720"
    100                    frameRate="30" />
    101 
    102             <Audio codec="aac"
    103                    bitRate="96000"
    104                    sampleRate="44100"
    105                    channels="1" />
    106 
    107         </EncoderProfile>
    108 
    109         <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
    110             <Video codec="h264"
    111                    bitRate="3000000"
    112                    width="720"
    113                    height="480"
    114                    frameRate="30" />
    115 
    116             <Audio codec="aac"
    117                    bitRate="96000"
    118                    sampleRate="44100"
    119                    channels="1" />
    120 
    121         </EncoderProfile>
    122 
    123         <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="60">
    124             <Video codec="h264"
    125                    bitRate="12000000"
    126                    width="1920"
    127                    height="1080"
    128                    frameRate="30" />
    129 
    130             <!-- Audio settings are not used for timealpse video recording -->
    131             <Audio codec="aac"
    132                    bitRate="96000"
    133                    sampleRate="44100"
    134                    channels="1" />
    135         </EncoderProfile>
    136 
    137         <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
    138             <Video codec="h264"
    139                    bitRate="8000000"
    140                    width="1280"
    141                    height="720"
    142                    frameRate="30" />
    143 
    144             <!-- Audio settings are not used for timealpse video recording -->
    145             <Audio codec="aac"
    146                    bitRate="96000"
    147                    sampleRate="44100"
    148                    channels="1" />
    149         </EncoderProfile>
    150 
    151         <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
    152             <Video codec="h264"
    153                    bitRate="3000000"
    154                    width="720"
    155                    height="480"
    156                    frameRate="30" />
    157 
    158             <!-- Audio settings are not used for timealpse video recording -->
    159             <Audio codec="aac"
    160                    bitRate="96000"
    161                    sampleRate="44100"
    162                    channels="1" />
    163         </EncoderProfile>
    164 
    165         <ImageEncoding quality="90" />
    166         <ImageEncoding quality="80" />
    167         <ImageEncoding quality="70" />
    168         <ImageDecoding memCap="20000000" />
    169 
    170     </CamcorderProfiles>
    171     
    172        <CamcorderProfiles cameraId="1">
    173 
    174         <EncoderProfile quality="720p" fileFormat="mp4" duration="60">
    175             <Video codec="h264"
    176                    bitRate="8000000"
    177                    width="1280"
    178                    height="720"
    179                    frameRate="30" />
    180 
    181             <Audio codec="aac"
    182                    bitRate="96000"
    183                    sampleRate="44100"
    184                    channels="1" />
    185 
    186         </EncoderProfile>
    187         <EncoderProfile quality="480p" fileFormat="mp4" duration="60">
    188             <Video codec="h264"
    189                    bitRate="3000000"
    190                    width="720"
    191                    height="480"
    192                    frameRate="30" />
    193 
    194             <Audio codec="aac"
    195                    bitRate="96000"
    196                    sampleRate="44100"
    197                    channels="1" />
    198 
    199         </EncoderProfile>
    200 
    201         <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
    202             <Video codec="h264"
    203                    bitRate="8000000"
    204                    width="1280"
    205                    height="720"
    206                    frameRate="30" />
    207 
    208             <!-- Audio settings are not used for timealpse video recording -->
    209             <Audio codec="aac"
    210                    bitRate="96000"
    211                    sampleRate="44100"
    212                    channels="1" />
    213         </EncoderProfile>
    214 
    215         <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="60">
    216             <Video codec="h264"
    217                    bitRate="3000000"
    218                    width="720"
    219                    height="480"
    220                    frameRate="30" />
    221 
    222             <!-- Audio settings are not used for timealpse video recording -->
    223             <Audio codec="aac"
    224                    bitRate="96000"
    225                    sampleRate="44100"
    226                    channels="1" />
    227         </EncoderProfile>
    228 
    229         <ImageEncoding quality="90" />
    230         <ImageEncoding quality="80" />
    231         <ImageEncoding quality="70" />
    232         <ImageDecoding memCap="20000000" />
    233         
    234     </CamcorderProfiles>
    235 
    236     <EncoderOutputFileFormat name="3gp" />
    237     <EncoderOutputFileFormat name="mp4" />
    238 
    239     <!--
    240          If a codec is not enabled, it is invisible to the applications
    241          In other words, the applications won't be able to use the codec
    242          or query the capabilities of the codec at all if it is disabled
    243     -->
    244 
    245     <!--
    246 	FIXME : we only check Mpeg4 encorder cap and other codec doesn't check 
    247 	        codec cap
    248     -->
    249     <VideoEncoderCap name="h264" enabled="true"
    250         minBitRate="64000" maxBitRate="12000000"
    251         minFrameWidth="128" maxFrameWidth="1920"
    252         minFrameHeight="96" maxFrameHeight="1080"
    253         minFrameRate="15" maxFrameRate="30" />
    254 
    255     <VideoEncoderCap name="h263" enabled="true"
    256         minBitRate="64000" maxBitRate="1000000"
    257         minFrameWidth="128" maxFrameWidth="1920"
    258         minFrameHeight="96" maxFrameHeight="1080"
    259         minFrameRate="15" maxFrameRate="30" />
    260 
    261     <VideoEncoderCap name="m4v" enabled="true"
    262         minBitRate="64000" maxBitRate="2000000"
    263         minFrameWidth="128" maxFrameWidth="1920"
    264         minFrameHeight="96" maxFrameHeight="1080"
    265         minFrameRate="15" maxFrameRate="30" />
    266 
    267     <AudioEncoderCap name="aac" enabled="true"
    268         minBitRate="758" maxBitRate="288000"
    269         minSampleRate="8000" maxSampleRate="48000"
    270         minChannels="1" maxChannels="1" />
    271 
    272     <AudioEncoderCap name="heaac" enabled="true"
    273         minBitRate="8000" maxBitRate="64000"
    274         minSampleRate="16000" maxSampleRate="48000"
    275         minChannels="1" maxChannels="1" />
    276 
    277     <AudioEncoderCap name="aaceld" enabled="true"
    278         minBitRate="16000" maxBitRate="192000"
    279         minSampleRate="16000" maxSampleRate="48000"
    280         minChannels="1" maxChannels="1" />
    281 
    282     <AudioEncoderCap name="amrwb" enabled="true"
    283         minBitRate="6600" maxBitRate="23050"
    284         minSampleRate="16000" maxSampleRate="16000"
    285         minChannels="1" maxChannels="1" />
    286 
    287     <AudioEncoderCap name="amrnb" enabled="true"
    288         minBitRate="5525" maxBitRate="12200"
    289         minSampleRate="8000" maxSampleRate="8000"
    290         minChannels="1" maxChannels="1" />
    291 
    292     <!--
    293         FIXME:
    294         We do not check decoder capabilities at present
    295         At present, we only check whether windows media is visible
    296         for TEST applications. For other applications, we do
    297         not perform any checks at all.
    298     -->
    299     <VideoDecoderCap name="wmv" enabled="false"/>
    300     <AudioDecoderCap name="wma" enabled="false"/>
    301 
    302     <!--
    303         The VideoEditor Capability configuration:
    304         - maxInputFrameWidth: maximum video width of imported video clip.
    305         - maxInputFrameHeight: maximum video height of imported video clip.
    306         - maxOutputFrameWidth: maximum video width of exported video clip.
    307         - maxOutputFrameHeight: maximum video height of exported video clip.
    308         - maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder,
    309         used to limit the amount of memory for prefetched YUV frames.
    310         For this platform, it allows maximum 30MB(3MB per 1080p frame x 10
    311         frames) memory.
    312     -->
    313     <VideoEditorCap  maxInputFrameWidth="1920"
    314         maxInputFrameHeight="1080" maxOutputFrameWidth="1920"
    315         maxOutputFrameHeight="1080" maxPrefetchYUVFrames="10"/>
    316     <!--
    317         The VideoEditor Export codec profile and level values
    318         correspond to the values in OMX_Video.h.
    319         E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
    320         and  level 4096 means OMX_VIDEO_AVCLevel41.
    321         Please note that the values are in decimal.
    322         These values are for video encoder.
    323     -->
    324     <!--
    325       Codec = h.264, Baseline profile, level 4.2
    326     -->
    327     <ExportVideoProfile name="h264" profile= "1" level="8192"/>
    328     <!--
    329       Codec = h.263, Baseline profile, level 45
    330     -->
    331     <ExportVideoProfile name="h263" profile= "1" level="16"/>
    332     <!--
    333       Codec = mpeg4, Simple profile, level 5
    334     -->
    335     <ExportVideoProfile name="m4v" profile= "1" level="128"/>
    336 </MediaSettings>
    337