<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<!DOCTYPE MediaSettings [
  <!ELEMENT MediaSettings (CamcorderProfiles,
                         EncoderOutputFileFormat+,
                         VideoEncoderCap+,
                         AudioEncoderCap+,
                         VideoDecoderCap,
                         AudioDecoderCap)>
  <!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
  <!ELEMENT EncoderProfile (Video, Audio)>
  <!ATTLIST EncoderProfile quality (timelapse1080p|timelapse720p|timelapse480p|timelapsecif|timelapseqcif|720p|480p|cif|qcif) #REQUIRED>
  <!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
  <!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
  <!ELEMENT Video EMPTY>
  <!ATTLIST Video codec (h264|h263|m4v) #REQUIRED>
  <!ATTLIST Video bitRate CDATA #REQUIRED>
  <!ATTLIST Video width CDATA #REQUIRED>
  <!ATTLIST Video height CDATA #REQUIRED>
  <!ATTLIST Video frameRate CDATA #REQUIRED>
  <!ELEMENT Audio EMPTY>
  <!ATTLIST Audio codec (amrnb|amrwb|aac) #REQUIRED>
  <!ATTLIST Audio bitRate CDATA #REQUIRED>
  <!ATTLIST Audio sampleRate CDATA #REQUIRED>
  <!ATTLIST Audio channels (1|2) #REQUIRED>
  <!ELEMENT ImageEncoding EMPTY>
  <!ATTLIST ImageEncoding quality (90|80|70|60|50|40) #REQUIRED>
  <!ELEMENT ImageDecoding EMPTY>
  <!ATTLIST ImageDecoding memCap CDATA #REQUIRED>
  <!ELEMENT Camera EMPTY>
  <!ATTLIST Camera previewFrameRate CDATA #REQUIRED>
  <!ELEMENT EncoderOutputFileFormat EMPTY>
  <!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED>
  <!ELEMENT VideoEncoderCap EMPTY>
  <!ATTLIST VideoEncoderCap name (h264|h263|m4v|wmv) #REQUIRED>
  <!ATTLIST VideoEncoderCap enabled (true|false) #REQUIRED>
  <!ATTLIST VideoEncoderCap minBitRate CDATA #REQUIRED>
  <!ATTLIST VideoEncoderCap maxBitRate CDATA #REQUIRED>
  <!ATTLIST VideoEncoderCap minFrameWidth CDATA #REQUIRED>
  <!ATTLIST VideoEncoderCap maxFrameWidth CDATA #REQUIRED>
  <!ATTLIST VideoEncoderCap minFrameHeight CDATA #REQUIRED>
  <!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
  <!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
  <!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
  <!ELEMENT AudioEncoderCap EMPTY>
  <!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|heaac|aaceld|wma) #REQUIRED>
  <!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
  <!ATTLIST AudioEncoderCap minBitRate CDATA #REQUIRED>
  <!ATTLIST AudioEncoderCap maxBitRate CDATA #REQUIRED>
  <!ATTLIST AudioEncoderCap minSampleRate CDATA #REQUIRED>
  <!ATTLIST AudioEncoderCap maxSampleRate CDATA #REQUIRED>
  <!ATTLIST AudioEncoderCap minChannels (1|2) #REQUIRED>
  <!ATTLIST AudioEncoderCap maxChannels (1|2) #REQUIRED>
  <!ELEMENT VideoDecoderCap EMPTY>
  <!ATTLIST VideoDecoderCap name (wmv) #REQUIRED>
  <!ATTLIST VideoDecoderCap enabled (true|false) #REQUIRED>
  <!ELEMENT AudioDecoderCap EMPTY>
  <!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
  <!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
  <!ELEMENT VideoEditorCap EMPTY>
  <!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
  <!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
  <!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
  <!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
  <!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
  <!ELEMENT ExportVideoProfile EMPTY>
  <!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
  <!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
  <!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
]>
<!--
     This file is used to declare the multimedia profiles and capabilities
     on an android-powered device.
-->
<MediaSettings>
  <!-- Each camcorder profile defines a set of predefined configuration parameters -->
  <!-- Back Camera -->
  <CamcorderProfiles cameraId="0">

    <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="384000"
             width="176"
             height="144"
             frameRate="30" />

      <Audio codec="amrnb"
             bitRate="12200"
             sampleRate="8000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="1536000"
             width="352"
             height="288"
             frameRate="30" />

      <Audio codec="amrnb"
             bitRate="12200"
             sampleRate="8000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="480p" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="4000000"
             width="640"
             height="480"
             frameRate="30" />

      <Audio codec="aac"
             bitRate="24000"
             sampleRate="16000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="720p" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="8000000"
             width="1280"
             height="720"
             frameRate="30" />

      <Audio codec="aac"
             bitRate="24000"
             sampleRate="16000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="384000"
             width="176"
             height="144"
             frameRate="30" />

      <!--
            The Audio part of the profile will not be used since time lapse mode
            does not capture audio
      -->
      <Audio codec="amrnb"
             bitRate="12200"
             sampleRate="8000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="1536000"
             width="352"
             height="288"
             frameRate="30" />

      <!--
            The Audio part of the profile will not be used since time lapse mode
            does not capture audio
      -->
      <Audio codec="amrnb"
             bitRate="12200"
             sampleRate="8000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="4000000"
             width="640"
             height="480"
             frameRate="30" />

      <!--
            The Audio part of the profile will not be used since time lapse mode
            does not capture audio
      -->
      <Audio codec="aac"
             bitRate="24000"
             sampleRate="16000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="timelapse720p" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="8000000"
             width="1280"
             height="720"
             frameRate="30" />

      <!--
            The Audio part of the profile will not be used since time lapse mode
            does not capture audio
      -->
      <Audio codec="aac"
             bitRate="24000"
             sampleRate="16000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="timelapse1080p" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="14000000"
             width="1920"
             height="1088"
             frameRate="30" />

      <!--
            The Audio part of the profile will not be used since time lapse mode
            does not capture audio
      -->
      <Audio codec="aac"
             bitRate="24000"
             sampleRate="16000"
             channels="1" />
    </EncoderProfile>

    <ImageEncoding quality="90" />
    <ImageEncoding quality="80" />
    <ImageEncoding quality="70" />
    <ImageDecoding memCap="20000000" />

  </CamcorderProfiles>

  <!-- Front Camera -->
  <CamcorderProfiles cameraId="1">
    <EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="384000"
             width="176"
             height="144"
             frameRate="30" />

      <Audio codec="amrnb"
             bitRate="12200"
             sampleRate="8000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="cif" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="1536000"
             width="352"
             height="288"
             frameRate="30" />

      <Audio codec="amrnb"
             bitRate="12200"
             sampleRate="8000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="480p" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="4000000"
             width="640"
             height="480"
             frameRate="30" />

      <Audio codec="aac"
             bitRate="24000"
             sampleRate="16000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="384000"
             width="176"
             height="144"
             frameRate="30" />

      <!--
            The Audio part of the profile will not be used since time lapse mode
            does not capture audio
      -->
      <Audio codec="amrnb"
             bitRate="12200"
             sampleRate="8000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="timelapsecif" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="1536000"
             width="352"
             height="288"
             frameRate="30" />

      <!--
            The Audio part of the profile will not be used since time lapse mode
            does not capture audio
      -->
      <Audio codec="amrnb"
             bitRate="12200"
             sampleRate="8000"
             channels="1" />
    </EncoderProfile>

    <EncoderProfile quality="timelapse480p" fileFormat="3gp" duration="30">
      <Video codec="h264"
             bitRate="4000000"
             width="640"
             height="480"
             frameRate="30" />

      <!--
            The Audio part of the profile will not be used since time lapse mode
            does not capture audio
      -->
      <Audio codec="aac"
             bitRate="24000"
             sampleRate="16000"
             channels="1" />
    </EncoderProfile>

    <ImageEncoding quality="90" />
    <ImageEncoding quality="80" />
    <ImageEncoding quality="70" />
    <ImageDecoding memCap="20000000" />

  </CamcorderProfiles>

  <EncoderOutputFileFormat name="3gp" />

  <!--
         If a codec is not enabled, it is invisible to the applications
         In other words, the applications won't be able to use the codec
         or query the capabilities of the codec at all if it is disabled
    -->
  <VideoEncoderCap name="h264" enabled="true"
      minBitRate="64000" maxBitRate="14000000"
      minFrameWidth="176" maxFrameWidth="1920"
      minFrameHeight="144" maxFrameHeight="1088"
      minFrameRate="1" maxFrameRate="30" />

  <VideoEncoderCap name="h263" enabled="true"
      minBitRate="64000" maxBitRate="8000000"
      minFrameWidth="176" maxFrameWidth="704"
      minFrameHeight="144" maxFrameHeight="576"
      minFrameRate="1" maxFrameRate="30" />

  <VideoEncoderCap name="m4v" enabled="true"
      minBitRate="64000" maxBitRate="10000000"
      minFrameWidth="176" maxFrameWidth="1280"
      minFrameHeight="144" maxFrameHeight="720"
      minFrameRate="1" maxFrameRate="30" />

  <AudioEncoderCap name="aac" enabled="true"
      minBitRate="758" maxBitRate="288000"
      minSampleRate="8000" maxSampleRate="48000"
      minChannels="1" maxChannels="1" />

  <AudioEncoderCap name="heaac" enabled="true"
      minBitRate="8000" maxBitRate="64000"
      minSampleRate="16000" maxSampleRate="48000"
      minChannels="1" maxChannels="1" />

  <AudioEncoderCap name="aaceld" enabled="true"
      minBitRate="16000" maxBitRate="192000"
      minSampleRate="16000" maxSampleRate="48000"
      minChannels="1" maxChannels="1" />

  <AudioEncoderCap name="amrwb" enabled="true"
        minBitRate="6600" maxBitRate="23050"
        minSampleRate="16000" maxSampleRate="16000"
        minChannels="1" maxChannels="1" />

  <AudioEncoderCap name="amrnb" enabled="true"
      minBitRate="4750" maxBitRate="12200"
      minSampleRate="8000" maxSampleRate="8000"
      minChannels="1" maxChannels="1" />

  <VideoDecoderCap name="wmv" enabled="false"/>
  <AudioDecoderCap name="wma" enabled="false"/>
  <!--
      The VideoEditor Capability configuration:
      - maxInputFrameWidth: maximum video width of imported video clip.
      - maxInputFrameHeight: maximum video height of imported video clip.
      - maxOutputFrameWidth: maximum video width of exported video clip.
      - maxOutputFrameHeight: maximum video height of exported video clip.
      - maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder,
      used to limit the amount of memory for prefetched YUV frames.
      For this platform, it allows maximum 13MB(1.3MB per 720p frame x 10
      frames) memory.
  -->
  <VideoEditorCap maxInputFrameWidth="1280"
      maxInputFrameHeight="720" maxOutputFrameWidth="1280"
      maxOutputFrameHeight="720" maxPrefetchYUVFrames="10"/>
  <!--
      The VideoEditor Export codec profile and level values
      correspond to the values in OMX_Video.h.
      E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
      and  level 2048 means OMX_VIDEO_AVCLevel4.
      Please note that the values are in decimal.
      These values are for video encoder.
  -->
  <!--
      Codec = h.264, Baseline profile, level 4
  -->
  <ExportVideoProfile name="h264" profile= "1" level="2048"/>
  <!--
      Codec = h.263, Baseline profile, level 0
  -->
  <ExportVideoProfile name="h263" profile= "1" level="1"/>
  <!--
      Codec = mpeg4, Simple profile, level 5
  -->
  <ExportVideoProfile name="m4v" profile= "1" level="128"/>
</MediaSettings>
