498 lines
16 KiB
XML
498 lines
16 KiB
XML
<?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|timelapsehigh|timelapselow|480p|qcif|high|low) #REQUIRED>
|
|
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
|
|
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
|
|
<!ATTLIST EncoderProfile cameraId (0|1) #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|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="low" 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="high" fileFormat="3gp" duration="30">
|
|
<Video codec="h264"
|
|
bitRate="17000000"
|
|
width="1920"
|
|
height="1080"
|
|
frameRate="30" />
|
|
|
|
<Audio codec="aac"
|
|
bitRate="128000"
|
|
sampleRate="48000"
|
|
channels="1" />
|
|
</EncoderProfile>
|
|
|
|
<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="480p" fileFormat="mp4" duration="30">
|
|
<Video codec="h264"
|
|
bitRate="3078000"
|
|
width="640"
|
|
height="480"
|
|
frameRate="30" />
|
|
|
|
<Audio codec="aac"
|
|
bitRate="96000"
|
|
sampleRate="16000"
|
|
channels="1" />
|
|
</EncoderProfile>
|
|
|
|
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
|
<Video codec="h264"
|
|
bitRate="16000000"
|
|
width="1280"
|
|
height="720"
|
|
frameRate="30" />
|
|
|
|
<Audio codec="aac"
|
|
bitRate="128000"
|
|
sampleRate="48000"
|
|
channels="2" />
|
|
</EncoderProfile>
|
|
|
|
<EncoderProfile quality="1080p" fileFormat="mp4" duration="30">
|
|
<Video codec="h264"
|
|
bitRate="20000000"
|
|
width="1920"
|
|
height="1080"
|
|
frameRate="30" />
|
|
|
|
<Audio codec="aac"
|
|
bitRate="128000"
|
|
sampleRate="48000"
|
|
channels="2" />
|
|
</EncoderProfile>
|
|
|
|
<EncoderProfile quality="timelapselow" 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="timelapsehigh" fileFormat="3gp" duration="30">
|
|
<Video codec="h264"
|
|
bitRate="17000000"
|
|
width="1920"
|
|
height="1080"
|
|
frameRate="30" />
|
|
|
|
<!--
|
|
The Audio part of the profile will not be used since time lapse mode
|
|
does not capture audio
|
|
-->
|
|
<Audio codec="aac"
|
|
bitRate="96000"
|
|
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="timelapse480p" fileFormat="3gp" duration="30">
|
|
<Video codec="h264"
|
|
bitRate="3078000"
|
|
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="96000"
|
|
sampleRate="16000"
|
|
channels="1" />
|
|
</EncoderProfile>
|
|
|
|
<EncoderProfile quality="timelapse720p" fileFormat="3gp" duration="30">
|
|
<Video codec="h264"
|
|
bitRate="12000000"
|
|
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="96000"
|
|
sampleRate="16000"
|
|
channels="1" />
|
|
</EncoderProfile>
|
|
|
|
<EncoderProfile quality="timelapse1080p" fileFormat="3gp" duration="30">
|
|
<Video codec="h264"
|
|
bitRate="17000000"
|
|
width="1920"
|
|
height="1080"
|
|
frameRate="30" />
|
|
|
|
<!--
|
|
The Audio part of the profile will not be used since time lapse mode
|
|
does not capture audio
|
|
-->
|
|
<Audio codec="aac"
|
|
bitRate="96000"
|
|
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="low" fileFormat="3gp" duration="15">
|
|
<Video codec="h264"
|
|
bitRate="384000"
|
|
width="176"
|
|
height="144"
|
|
frameRate="30" />
|
|
|
|
<Audio codec="amrnb"
|
|
bitRate="12200"
|
|
sampleRate="8000"
|
|
channels="1" />
|
|
</EncoderProfile>
|
|
|
|
<EncoderProfile quality="high" fileFormat="3gp" duration="15">
|
|
<Video codec="h264"
|
|
bitRate="3078000"
|
|
width="640"
|
|
height="480"
|
|
frameRate="30" />
|
|
|
|
<Audio codec="aac"
|
|
bitRate="96000"
|
|
sampleRate="16000"
|
|
channels="1" />
|
|
</EncoderProfile>
|
|
|
|
<EncoderProfile quality="qcif" fileFormat="3gp" duration="15">
|
|
<Video codec="h264"
|
|
bitRate="384000"
|
|
width="176"
|
|
height="144"
|
|
frameRate="30" />
|
|
|
|
<Audio codec="amrnb"
|
|
bitRate="12200"
|
|
sampleRate="8000"
|
|
channels="1" />
|
|
</EncoderProfile>
|
|
|
|
<EncoderProfile quality="480p" fileFormat="mp4" duration="15">
|
|
<Video codec="h264"
|
|
bitRate="3078000"
|
|
width="640"
|
|
height="480"
|
|
frameRate="30" />
|
|
|
|
<Audio codec="aac"
|
|
bitRate="96000"
|
|
sampleRate="16000"
|
|
channels="1" />
|
|
</EncoderProfile>
|
|
|
|
<EncoderProfile quality="timelapselow" fileFormat="3gp" duration="15">
|
|
<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="timelapsehigh" fileFormat="3gp" duration="15">
|
|
<Video codec="h264"
|
|
bitRate="3078000"
|
|
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="96000"
|
|
sampleRate="16000"
|
|
channels="1" />
|
|
</EncoderProfile>
|
|
|
|
<EncoderProfile quality="timelapseqcif" fileFormat="3gp" duration="15">
|
|
<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="timelapse480p" fileFormat="3gp" duration="15">
|
|
<Video codec="h264"
|
|
bitRate="3078000"
|
|
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="96000"
|
|
sampleRate="16000"
|
|
channels="1" />
|
|
</EncoderProfile>
|
|
|
|
<ImageEncoding quality="90" />
|
|
<ImageEncoding quality="80" />
|
|
<ImageEncoding quality="70" />
|
|
<ImageDecoding memCap="20000000" />
|
|
|
|
</CamcorderProfiles>
|
|
|
|
<EncoderOutputFileFormat name="3gp" />
|
|
<EncoderOutputFileFormat name="mp4" />
|
|
|
|
<!--
|
|
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="20000000"
|
|
minFrameWidth="176" maxFrameWidth="1920"
|
|
minFrameHeight="144" maxFrameHeight="1080"
|
|
minFrameRate="1" maxFrameRate="30" />
|
|
|
|
<VideoEncoderCap name="h263" enabled="true"
|
|
minBitRate="64000" maxBitRate="1000000"
|
|
minFrameWidth="176" maxFrameWidth="800"
|
|
minFrameHeight="144" maxFrameHeight="480"
|
|
minFrameRate="1" maxFrameRate="30" />
|
|
|
|
<VideoEncoderCap name="m4v" enabled="true"
|
|
minBitRate="64000" maxBitRate="20000000"
|
|
minFrameWidth="176" maxFrameWidth="1920"
|
|
minFrameHeight="144" maxFrameHeight="1080"
|
|
minFrameRate="1" maxFrameRate="30" />
|
|
|
|
<AudioEncoderCap name="aac" enabled="true"
|
|
minBitRate="8192" maxBitRate="196000"
|
|
minSampleRate="8000" maxSampleRate="48000"
|
|
minChannels="1" maxChannels="2" />
|
|
|
|
<AudioEncoderCap name="amrwb" enabled="true"
|
|
minBitRate="6600" maxBitRate="23050"
|
|
minSampleRate="16000" maxSampleRate="16000"
|
|
minChannels="1" maxChannels="1" />
|
|
|
|
<AudioEncoderCap name="amrnb" enabled="true"
|
|
minBitRate="5525" maxBitRate="12200"
|
|
minSampleRate="8000" maxSampleRate="8000"
|
|
minChannels="1" maxChannels="1" />
|
|
|
|
<!--
|
|
FIXME:
|
|
We do not check decoder capabilities at present
|
|
At present, we only check whether windows media is visible
|
|
for TEST applications. For other applications, we do
|
|
not perform any checks at all.
|
|
-->
|
|
<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 ~1MB(~0.1MB per QVGA frame x 10
|
|
frames) memory.
|
|
-->
|
|
|
|
<VideoEditorCap maxInputFrameWidth="1280"
|
|
maxInputFrameHeight="720" maxOutputFrameWidth="1280"
|
|
maxOutputFrameHeight="720" maxPrefetchYUVFrames="5"/>
|
|
<!--
|
|
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 256 means OMX_VIDEO_AVCLevel3.
|
|
Please note that the values are in decimal.
|
|
These values are for video encoder.
|
|
-->
|
|
<!--
|
|
Codec = h.264, Baseline profile, level 3.1
|
|
-->
|
|
<ExportVideoProfile name="h264" profile= "1" level="512"/>
|
|
<!--
|
|
Codec = h.263, Baseline profile, level 0
|
|
-->
|
|
<ExportVideoProfile name="h263" profile= "1" level="1"/>
|
|
<!--
|
|
Codec = mpeg4, Simple profile, level 3
|
|
-->
|
|
<ExportVideoProfile name="m4v" profile= "1" level="16"/>
|
|
</MediaSettings>
|