Home | History | Annotate | Download | only in marlin
      1 <?xml version="1.0" encoding="utf-8"?>
      2 <!-- Copyright 2016 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 (hevc|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="low" fileFormat="3gp" duration="60">
     83             <Video codec="h264"
     84                    bitRate="128000"
     85                    width="176"
     86                    height="144"
     87                    frameRate="30" />
     88 
     89             <Audio codec="amrnb"
     90                    bitRate="12200"
     91                    sampleRate="8000"
     92                    channels="1" />
     93         </EncoderProfile>
     94 
     95         <EncoderProfile quality="high" fileFormat="mp4" duration="30">
     96             <Video codec="h264"
     97                    bitRate="42000000"
     98                    width="3840"
     99                    height="2160"
    100                    frameRate="30" />
    101             <Audio codec="aac"
    102                    bitRate="96000"
    103                    sampleRate="48000"
    104                    channels="1" />
    105         </EncoderProfile>
    106 
    107         <EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
    108             <Video codec="h264"
    109                    bitRate="128000"
    110                    width="176"
    111                    height="144"
    112                    frameRate="30" />
    113             <Audio codec="amrnb"
    114                    bitRate="12200"
    115                    sampleRate="8000"
    116                    channels="1" />
    117         </EncoderProfile>
    118 
    119         <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
    120             <Video codec="h264"
    121                    bitRate="512000"
    122                    width="320"
    123                    height="240"
    124                    frameRate="30" />
    125             <Audio codec="aac"
    126                    bitRate="156000"
    127                    sampleRate="48000"
    128                    channels="2" />
    129         </EncoderProfile>
    130 
    131         <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
    132             <Video codec="h264"
    133                    bitRate="1200000"
    134                    width="352"
    135                    height="288"
    136                    frameRate="30" />
    137             <Audio codec="aac"
    138                    bitRate="96000"
    139                    sampleRate="48000"
    140                    channels="1" />
    141         </EncoderProfile>
    142 
    143         <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
    144             <Video codec="h264"
    145                    bitRate="6000000"
    146                    width="720"
    147                    height="480"
    148                    frameRate="30" />
    149             <Audio codec="aac"
    150                    bitRate="96000"
    151                    sampleRate="48000"
    152                    channels="1" />
    153         </EncoderProfile>
    154 
    155         <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
    156             <Video codec="h264"
    157                    bitRate="18000000"
    158                    width="1280"
    159                    height="720"
    160                    frameRate="60" />
    161             <Audio codec="aac"
    162                    bitRate="96000"
    163                    sampleRate="48000"
    164                    channels="1" />
    165         </EncoderProfile>
    166 
    167         <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
    168             <Video codec="h264"
    169                    bitRate="33000000"
    170                    width="1920"
    171                    height="1080"
    172                    frameRate="60" />
    173             <Audio codec="aac"
    174                    bitRate="96000"
    175                    sampleRate="48000"
    176                    channels="1" />
    177         </EncoderProfile>
    178 
    179         <EncoderProfile quality="2160p" fileFormat="mp4" duration="30">
    180             <Video codec="h264"
    181                    bitRate="42000000"
    182                    width="3840"
    183                    height="2160"
    184                    frameRate="30" />
    185             <Audio codec="aac"
    186                    bitRate="96000"
    187                    sampleRate="48000"
    188                    channels="1" />
    189         </EncoderProfile>
    190 
    191         <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
    192             <Video codec="h264"
    193                    bitRate="192000"
    194                    width="176"
    195                    height="144"
    196                    frameRate="30" />
    197             <!-- audio setting is ignored -->
    198             <Audio codec="amrnb"
    199                    bitRate="12200"
    200                    sampleRate="8000"
    201                    channels="1" />
    202         </EncoderProfile>
    203 
    204         <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
    205             <Video codec="h264"
    206                    bitRate="1200000"
    207                    width="352"
    208                    height="288"
    209                    frameRate="30" />
    210             <!-- audio setting is ignored -->
    211             <Audio codec="aac"
    212                    bitRate="96000"
    213                    sampleRate="48000"
    214                    channels="1" />
    215         </EncoderProfile>
    216 
    217         <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
    218             <Video codec="h264"
    219                    bitRate="6000000"
    220                    width="720"
    221                    height="480"
    222                    frameRate="30" />
    223             <!-- audio setting is ignored -->
    224             <Audio codec="aac"
    225                    bitRate="96000"
    226                    sampleRate="48000"
    227                    channels="1" />
    228         </EncoderProfile>
    229 
    230         <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
    231             <Video codec="h264"
    232                    bitRate="12000000"
    233                    width="1280"
    234                    height="720"
    235                    frameRate="30" />
    236             <!-- audio setting is ignored -->
    237             <Audio codec="aac"
    238                    bitRate="96000"
    239                    sampleRate="48000"
    240                    channels="1" />
    241         </EncoderProfile>
    242 
    243         <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30">
    244             <Video codec="h264"
    245                    bitRate="17000000"
    246                    width="1920"
    247                    height="1080"
    248                    frameRate="30" />
    249             <!-- audio setting is ignored -->
    250             <Audio codec="aac"
    251                    bitRate="96000"
    252                    sampleRate="48000"
    253                    channels="1" />
    254         </EncoderProfile>
    255 
    256         <EncoderProfile quality="timelapse2160p" fileFormat="mp4" duration="30">
    257             <Video codec="h264"
    258                    bitRate="42000000"
    259                    width="3840"
    260                    height="2160"
    261                    frameRate="30" />
    262             <!-- audio setting is ignored -->
    263             <Audio codec="aac"
    264                    bitRate="96000"
    265                    sampleRate="48000"
    266                    channels="1" />
    267         </EncoderProfile>
    268 
    269         <!-- CAMCORDER_QUALITY_HIGH_SPEED_LOW/720P : 720p@240fps; 42.0 Mbps -->
    270         <EncoderProfile quality="highspeedlow" fileFormat="mp4" duration="30">
    271             <Video codec="h264"
    272                    bitRate="42000000"
    273                    width="1280"
    274                    height="720"
    275                    frameRate="240" />
    276             <!-- audio setting is ignored -->
    277             <Audio codec="aac"
    278                    bitRate="96000"
    279                    sampleRate="48000"
    280                    channels="1" />
    281         </EncoderProfile>
    282 
    283         <!-- CAMCORDER_QUALITY_HIGH_SPEED_HIGH/1080P : 1080p@120fps; 42.0 Mbps -->
    284         <EncoderProfile quality="highspeedhigh" fileFormat="mp4" duration="30">
    285             <Video codec="h264"
    286                    bitRate="42000000"
    287                    width="1920"
    288                    height="1080"
    289                    frameRate="120" />
    290             <!-- audio setting is ignored -->
    291             <Audio codec="aac"
    292                    bitRate="96000"
    293                    sampleRate="48000"
    294                    channels="1" />
    295         </EncoderProfile>
    296 
    297         <EncoderProfile quality="highspeed720p" fileFormat="mp4" duration="30">
    298             <Video codec="h264"
    299                    bitRate="42000000"
    300                    width="1280"
    301                    height="720"
    302                    frameRate="240" />
    303             <!-- audio setting is ignored -->
    304             <Audio codec="aac"
    305                    bitRate="96000"
    306                    sampleRate="48000"
    307                    channels="1" />
    308         </EncoderProfile>
    309 
    310         <EncoderProfile quality="highspeed1080p" fileFormat="mp4" duration="30">
    311             <Video codec="h264"
    312                    bitRate="42000000"
    313                    width="1920"
    314                    height="1080"
    315                    frameRate="120" />
    316             <!-- audio setting is ignored -->
    317             <Audio codec="aac"
    318                    bitRate="96000"
    319                    sampleRate="48000"
    320                    channels="1" />
    321         </EncoderProfile>
    322 
    323         <ImageEncoding quality="95" />
    324         <ImageEncoding quality="80" />
    325         <ImageEncoding quality="70" />
    326         <ImageDecoding memCap="20000000" />
    327 
    328     </CamcorderProfiles>
    329 
    330     <CamcorderProfiles cameraId="1">
    331 
    332         <EncoderProfile quality="low" fileFormat="3gp" duration="60">
    333             <Video codec="h264"
    334                    bitRate="128000"
    335                     width="176"
    336                     height="144"
    337                     frameRate="30" />
    338 
    339             <Audio codec="amrnb"
    340                     bitRate="12200"
    341                     sampleRate="8000"
    342                     channels="1" />
    343         </EncoderProfile>
    344 
    345         <EncoderProfile quality="high" fileFormat="mp4" duration="30">
    346             <Video codec="h264"
    347                    bitRate="17000000"
    348                    width="1920"
    349                    height="1080"
    350                    frameRate="30" />
    351             <Audio codec="aac"
    352                    bitRate="96000"
    353                    sampleRate="48000"
    354                    channels="1" />
    355         </EncoderProfile>
    356 
    357         <EncoderProfile quality="qcif" fileFormat="3gp" duration="60">
    358             <Video codec="h264"
    359                    bitRate="128000"
    360                    width="176"
    361                    height="144"
    362                    frameRate="30" />
    363             <Audio codec="amrnb"
    364                    bitRate="12200"
    365                    sampleRate="8000"
    366                    channels="1" />
    367         </EncoderProfile>
    368 
    369         <EncoderProfile quality="qvga" fileFormat="mp4" duration="60">
    370             <Video codec="h264"
    371                    bitRate="512000"
    372                    width="320"
    373                    height="240"
    374                    frameRate="30" />
    375             <Audio codec="aac"
    376                    bitRate="156000"
    377                    sampleRate="48000"
    378                    channels="2" />
    379         </EncoderProfile>
    380 
    381         <EncoderProfile quality="cif" fileFormat="mp4" duration="30">
    382             <Video codec="h264"
    383                    bitRate="1200000"
    384                    width="352"
    385                    height="288"
    386                    frameRate="30" />
    387             <Audio codec="aac"
    388                    bitRate="96000"
    389                    sampleRate="48000"
    390                    channels="1" />
    391         </EncoderProfile>
    392 
    393         <EncoderProfile quality="480p" fileFormat="mp4" duration="30">
    394             <Video codec="h264"
    395                    bitRate="6000000"
    396                    width="720"
    397                    height="480"
    398                    frameRate="30" />
    399             <Audio codec="aac"
    400                    bitRate="96000"
    401                    sampleRate="48000"
    402                    channels="1" />
    403         </EncoderProfile>
    404 
    405         <EncoderProfile quality="720p" fileFormat="mp4" duration="30">
    406             <Video codec="h264"
    407                    bitRate="12000000"
    408                    width="1280"
    409                    height="720"
    410                    frameRate="30" />
    411             <Audio codec="aac"
    412                    bitRate="96000"
    413                    sampleRate="48000"
    414                    channels="1" />
    415         </EncoderProfile>
    416 
    417         <EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
    418             <Video codec="h264"
    419                    bitRate="17000000"
    420                    width="1920"
    421                    height="1080"
    422                    frameRate="30" />
    423             <Audio codec="aac"
    424                    bitRate="96000"
    425                    sampleRate="48000"
    426                    channels="1" />
    427         </EncoderProfile>
    428 
    429         <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30">
    430             <Video codec="h264"
    431                    bitRate="192000"
    432                    width="176"
    433                    height="144"
    434                    frameRate="30" />
    435             <!-- audio setting is ignored -->
    436             <Audio codec="amrnb"
    437                    bitRate="12200"
    438                    sampleRate="8000"
    439                    channels="1" />
    440         </EncoderProfile>
    441 
    442         <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30">
    443             <Video codec="h264"
    444                    bitRate="1200000"
    445                    width="352"
    446                    height="288"
    447                    frameRate="30" />
    448             <!-- audio setting is ignored -->
    449             <Audio codec="aac"
    450                    bitRate="96000"
    451                    sampleRate="48000"
    452                    channels="1" />
    453         </EncoderProfile>
    454 
    455         <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30">
    456             <Video codec="h264"
    457                    bitRate="6000000"
    458                    width="720"
    459                    height="480"
    460                    frameRate="30" />
    461             <!-- audio setting is ignored -->
    462             <Audio codec="aac"
    463                    bitRate="96000"
    464                    sampleRate="48000"
    465                    channels="1" />
    466         </EncoderProfile>
    467 
    468         <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
    469             <Video codec="h264"
    470                    bitRate="12000000"
    471                    width="1280"
    472                    height="720"
    473                    frameRate="30" />
    474             <!-- audio setting is ignored -->
    475             <Audio codec="aac"
    476                    bitRate="96000"
    477                    sampleRate="48000"
    478                    channels="1" />
    479         </EncoderProfile>
    480 
    481         <ImageEncoding quality="95" />
    482         <ImageEncoding quality="80" />
    483         <ImageEncoding quality="70" />
    484         <ImageDecoding memCap="20000000" />
    485 
    486     </CamcorderProfiles>
    487 
    488     <EncoderOutputFileFormat name="3gp" />
    489     <EncoderOutputFileFormat name="mp4" />
    490 
    491     <!--
    492          If a codec is not enabled, it is invisible to the applications
    493          In other words, the applications won't be able to use the codec
    494          or query the capabilities of the codec at all if it is disabled
    495     -->
    496     <VideoEncoderCap name="hevc" enabled="true"
    497         minBitRate="64000" maxBitRate="100000000"
    498         minFrameWidth="176" maxFrameWidth="3840"
    499         minFrameHeight="144" maxFrameHeight="2160"
    500         minFrameRate="15" maxFrameRate="30" />
    501 
    502     <VideoEncoderCap name="h264" enabled="true"
    503         minBitRate="64000" maxBitRate="100000000"
    504         minFrameWidth="176" maxFrameWidth="3840"
    505         minFrameHeight="144" maxFrameHeight="2160"
    506         minFrameRate="15" maxFrameRate="30" />
    507 
    508     <VideoEncoderCap name="h263" enabled="true"
    509         minBitRate="64000" maxBitRate="2000000"
    510         minFrameWidth="176" maxFrameWidth="800"
    511         minFrameHeight="144" maxFrameHeight="480"
    512         minFrameRate="15" maxFrameRate="30" />
    513 
    514     <VideoEncoderCap name="m4v" enabled="true"
    515         minBitRate="64000" maxBitRate="40000000"
    516         minFrameWidth="176" maxFrameWidth="1920"
    517         minFrameHeight="144" maxFrameHeight="1080"
    518         minFrameRate="15" maxFrameRate="30" />
    519 
    520     <AudioEncoderCap name="aac" enabled="true"
    521         minBitRate="758" maxBitRate="288000"
    522         minSampleRate="8000" maxSampleRate="48000"
    523         minChannels="1" maxChannels="1" />
    524 
    525     <AudioEncoderCap name="heaac" enabled="true"
    526         minBitRate="8000" maxBitRate="64000"
    527         minSampleRate="16000" maxSampleRate="48000"
    528         minChannels="1" maxChannels="1" />
    529 
    530     <AudioEncoderCap name="aaceld" enabled="true"
    531         minBitRate="16000" maxBitRate="192000"
    532         minSampleRate="16000" maxSampleRate="48000"
    533         minChannels="1" maxChannels="1" />
    534 
    535     <AudioEncoderCap name="amrwb" enabled="true"
    536         minBitRate="6600" maxBitRate="23050"
    537         minSampleRate="16000" maxSampleRate="16000"
    538         minChannels="1" maxChannels="1" />
    539 
    540     <AudioEncoderCap name="amrnb" enabled="true"
    541         minBitRate="5525" maxBitRate="12200"
    542         minSampleRate="8000" maxSampleRate="8000"
    543         minChannels="1" maxChannels="1" />
    544 
    545     <!--
    546         FIXME:
    547         We do not check decoder capabilities at present
    548         At present, we only check whether windows media is visible
    549         for TEST applications. For other applications, we do
    550         not perform any checks at all.
    551     -->
    552     <VideoDecoderCap name="wmv" enabled="false"/>
    553     <AudioDecoderCap name="wma" enabled="false"/>
    554 </MediaSettings>
    555