universal7570: configs/audio: Add more stock media codecs config

Change-Id: I0aceb717f5a79aa7a40b06abfcef46698104e550
This commit is contained in:
Hendra Manudinata 2021-03-09 15:12:37 +07:00
parent 6b3cf94a40
commit 3fe6746864
No known key found for this signature in database
GPG key ID: 8DB7A83A9B4EE2D6
7 changed files with 489 additions and 244 deletions

View file

@ -79,19 +79,24 @@ Only the three quirks included above are recognized at this point:
<MediaCodecs>
<Settings>
<Setting name="supports-multiple-secure-codecs" value="true" />
<Setting name="supports-multiple-secure-codecs" value="false" />
<Setting name="supports-secure-with-non-secure-codec" value="true" />
<Setting name="max-video-encoder-input-buffers" value="9" />
</Settings>
<Settings>
<Variant name="slow-cpu" enabled="true" />
</Settings>
<Decoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.Exynos.mpeg4.dec" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="32x32" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="performance-point-1920x1080" range="30" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
</MediaCodec>
@ -102,18 +107,20 @@ Only the three quirks included above are recognized at this point:
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="48600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="performance-point-1920x1080" range="30" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.avc.dec" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="32x32" max="1920x1088" />
<Limit name="size" min="32x32" max="1920x1440" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="performance-point-1920x1080" range="30" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
</MediaCodec>
@ -123,9 +130,10 @@ Only the three quirks included above are recognized at this point:
<Limit name="size" min="32x32" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="concurrent-instances" max="2" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="performance-point-1920x1080" range="30" />
<Limit name="concurrent-instances" max="1" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
</MediaCodec>
@ -135,8 +143,9 @@ Only the three quirks included above are recognized at this point:
<Limit name="size" min="32x32" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="performance-point-1920x1080" range="30" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
</MediaCodec>
@ -146,64 +155,101 @@ Only the three quirks included above are recognized at this point:
<Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-50000000" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="performance-point-1920x1080" range="30" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.vc1.dec" >
<Type name="video/wvc1" />
<Type name="video/x-ms-wmv" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="32x32" max="1920x1088" />
<Type name="video/wvc1" >
<Limit name="size" min="32x32" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="concurrent-instances" max="16"/>
<Limit name="performance-point-1920x1080" range="30" />
<Feature name="adaptive-playback" />
</Type>
<Type name="video/x-ms-wmv" >
<Limit name="size" min="32x32" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="244800" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="concurrent-instances" max="16"/>
<Limit name="performance-point-1920x1080" range="30" />
<Feature name="adaptive-playback" />
</Type>
</MediaCodec>
<!-- OVERRIDE GOOGLE C2 AVC DECODER TO LOWER MAX BLOCKS-PER-SECOND -->
<MediaCodec name="c2.android.avc.decoder" type="video/avc" variant="slow-cpu,!slow-cpu" update="true" enabled="true">
<Alias name="OMX.google.h264.decoder" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="489600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="concurrent-instances" max="16"/>
<Variant name="!slow-cpu">
<Limit name="size" min="2x2" max="4080x4080" />
<Limit name="block-count" range="1-32768" />
<Limit name="blocks-per-second" range="1-1966080" />
<Limit name="bitrate" range="1-48000000" />
</Variant>
<Variant name="slow-cpu">
<Limit name="size" min="2x2" max="2048x2048" />
<Limit name="block-count" range="1-16384" />
<Limit name="blocks-per-second" range="1-192000" />
<Limit name="bitrate" range="1-40000000" />
</Variant>
<Feature name="adaptive-playback" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.Exynos.AVC.Encoder" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="32x32" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="486000" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="blocks-per-second" min="1" max="245760" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="performance-point-1920x1080" range="30" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.H263.Encoder" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="32x32" max="1920x1088" />
<Limit name="size" min="32x32" max="1920x1080" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="486000" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="blocks-per-second" min="1" max="243000" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="performance-point-1920x1080" range="30" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.MPEG4.Encoder" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="32x32" max="1920x1088" />
<Limit name="size" min="32x32" max="1920x1080" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="486000" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="blocks-per-second" min="1" max="243000" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="performance-point-1920x1080" range="30" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.VP8.Encoder" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="32x32" max="1920x1088" />
<Limit name="size" min="32x32" max="1920x1080" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="486000" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="blocks-per-second" min="1" max="243000" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="performance-point-1920x1080" range="30" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.HEVC.Encoder" type="video/hevc" >
@ -212,12 +258,13 @@ Only the three quirks included above are recognized at this point:
<Limit name="size" min="64x64" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="64x64" />
<Limit name="blocks-per-second" min="1" max="30375" />
<Limit name="bitrate" range="1-50000000" />
<Limit name="blocks-per-second" min="1" max="15188" />
<Limit name="bitrate" range="1-20000000" />
<Limit name="performance-point-1920x1080" range="30" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
</Encoders>
<Include href="media_codecs_google_video.xml" />
<Include href="media_codecs_google_video_le.xml" />
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
</MediaCodecs>

View file

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2014 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.
-->
<Included>
<Decoders>
<MediaCodec name="OMX.google.mp3.decoder" type="audio/mpeg" rank="16">
<Limit name="channel-count" max="2" />
<Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
<Limit name="bitrate" range="8000-320000" />
</MediaCodec>
<MediaCodec name="OMX.google.amrnb.decoder" type="audio/3gpp" rank="16">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="8000" />
<Limit name="bitrate" range="4750-12200" />
</MediaCodec>
<MediaCodec name="OMX.google.amrwb.decoder" type="audio/amr-wb" rank="16">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="16000" />
<Limit name="bitrate" range="6600-23850" />
</MediaCodec>
<MediaCodec name="OMX.google.aac.decoder" type="audio/mp4a-latm" rank="16">
<Limit name="channel-count" max="8" />
<Limit name="sample-rate" ranges="7350,8000,11025,12000,16000,22050,24000,32000,44100,48000" />
<Limit name="bitrate" range="8000-960000" />
</MediaCodec>
<MediaCodec name="OMX.google.g711.alaw.decoder" type="audio/g711-alaw" rank="16">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="8000-48000" />
<Limit name="bitrate" range="64000" />
</MediaCodec>
<MediaCodec name="OMX.google.g711.mlaw.decoder" type="audio/g711-mlaw" rank="16">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="8000-48000" />
<Limit name="bitrate" range="64000" />
</MediaCodec>
<MediaCodec name="OMX.google.vorbis.decoder" type="audio/vorbis" rank="16">
<Limit name="channel-count" max="8" />
<Limit name="sample-rate" ranges="8000-96000" />
<Limit name="bitrate" range="32000-500000" />
</MediaCodec>
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" rank="16">
<Limit name="channel-count" max="8" />
<Limit name="sample-rate" ranges="48000" />
<Limit name="bitrate" range="6000-510000" />
</MediaCodec>
<MediaCodec name="OMX.google.raw.decoder" type="audio/raw" rank="16">
<Limit name="channel-count" max="8" />
<Limit name="sample-rate" ranges="8000-192000" />
<Limit name="bitrate" range="1-10000000" />
</MediaCodec>
<MediaCodec name="OMX.google.flac.decoder" type="audio/flac" rank="16">
<Limit name="channel-count" max="8" />
<Limit name="sample-rate" ranges="1-655350" />
<Limit name="bitrate" range="1-21000000" />
</MediaCodec>
</Decoders>
<Encoders>
<MediaCodec name="OMX.google.aac.encoder" type="audio/mp4a-latm" rank="16">
<Limit name="channel-count" max="6" />
<Limit name="sample-rate" ranges="8000,11025,12000,16000,22050,24000,32000,44100,48000" />
<!-- also may support 64000, 88200 and 96000 Hz -->
<Limit name="bitrate" range="8000-960000" />
</MediaCodec>
<MediaCodec name="OMX.google.amrnb.encoder" type="audio/3gpp" rank="16">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="8000" />
<Limit name="bitrate" range="4750-12200" />
<Feature name="bitrate-modes" value="CBR" />
</MediaCodec>
<MediaCodec name="OMX.google.amrwb.encoder" type="audio/amr-wb" rank="16">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="16000" />
<Limit name="bitrate" range="6600-23850" />
<Feature name="bitrate-modes" value="CBR" />
</MediaCodec>
<MediaCodec name="OMX.google.flac.encoder" type="audio/flac" rank="16">
<Limit name="channel-count" max="2" />
<Limit name="sample-rate" ranges="1-655350" />
<Limit name="bitrate" range="1-21000000" />
<Limit name="complexity" range="0-8" default="5" />
<Feature name="bitrate-modes" value="CQ" />
</MediaCodec>
</Encoders>
</Included>

View file

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2014 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.
-->
<Included>
<Decoders>
<MediaCodec name="OMX.google.gsm.decoder" type="audio/gsm">
<Limit name="channel-count" max="1" />
<Limit name="sample-rate" ranges="8000" />
<Limit name="bitrate" range="13000" />
</MediaCodec>
</Decoders>
</Included>

View file

@ -0,0 +1,122 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2014 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.
-->
<Included>
<Decoders>
<MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es">
<!-- profiles and levels: ProfileSimple : Level3 -->
<Limit name="size" min="2x2" max="352x288" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" range="12-11880" />
<Limit name="bitrate" range="1-384000" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp">
<!-- profiles and levels: ProfileBaseline : Level30, ProfileBaseline : Level45
ProfileISWV2 : Level30, ProfileISWV2 : Level45 -->
<Limit name="size" min="2x2" max="352x288" />
<Limit name="alignment" value="2x2" />
<Limit name="bitrate" range="1-384000" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.decoder" type="video/avc">
<!-- profiles and levels: ProfileHigh : Level52 -->
<Limit name="size" min="2x2" max="4080x4080" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-32768" /> <!-- max 4096x2048 equivalent -->
<Limit name="blocks-per-second" range="1-1966080" />
<Limit name="bitrate" range="1-48000000" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc">
<!-- profiles and levels: ProfileMain : MainTierLevel51 -->
<Limit name="size" min="2x2" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="8x8" />
<Limit name="block-count" range="1-196608" /> <!-- max 4096x3072 -->
<Limit name="blocks-per-second" range="1-2000000" />
<Limit name="bitrate" range="1-10000000" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8">
<Limit name="size" min="2x2" max="2048x2048" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-16384" />
<Limit name="blocks-per-second" range="1-1000000" />
<Limit name="bitrate" range="1-40000000" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9">
<Limit name="size" min="2x2" max="2048x2048" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-16384" />
<Limit name="blocks-per-second" range="1-500000" />
<Limit name="bitrate" range="1-40000000" />
<Feature name="adaptive-playback" />
</MediaCodec>
</Decoders>
<Encoders>
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp">
<!-- profiles and levels: ProfileBaseline : Level45 -->
<Limit name="size" min="176x144" max="176x144" />
<Limit name="alignment" value="16x16" />
<Limit name="bitrate" range="1-128000" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.encoder" type="video/avc">
<!-- profiles and levels: ProfileBaseline : Level41 -->
<Limit name="size" min="16x16" max="2048x2048" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="1-8192" /> <!-- max 2048x1024 -->
<Limit name="blocks-per-second" range="1-245760" />
<Limit name="bitrate" range="1-12000000" />
<Feature name="intra-refresh" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es">
<!-- profiles and levels: ProfileCore : Level2 -->
<Limit name="size" min="16x16" max="176x144" />
<Limit name="alignment" value="16x16" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" range="12-1485" />
<Limit name="bitrate" range="1-64000" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8">
<!-- profiles and levels: ProfileMain : Level_Version0-3 -->
<Limit name="size" min="2x2" max="2048x2048" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<!-- 2016 devices can encode at about 10fps at this block count -->
<Limit name="block-count" range="1-16384" />
<Limit name="bitrate" range="1-40000000" />
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec>
<MediaCodec name="OMX.google.vp9.encoder" type="video/x-vnd.on2.vp9">
<!-- profiles and levels: ProfileMain : Level_Version0-3 -->
<Limit name="size" min="2x2" max="2048x2048" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<!-- 2016 devices can encode at about 8fps at this block count -->
<Limit name="block-count" range="1-3600" /> <!-- max 1280x720 -->
<Limit name="bitrate" range="1-40000000" />
<Feature name="bitrate-modes" value="VBR,CBR" />
</MediaCodec>
</Encoders>
</Included>

View file

@ -17,142 +17,141 @@
<MediaCodecs>
<Encoders>
<MediaCodec name="OMX.Exynos.AVC.Encoder" type="video/avc" update="true" >
<Limit name="measured-frame-rate-320x240" range="180-250" />
<Limit name="measured-frame-rate-720x480" range="120-140" />
<Limit name="measured-frame-rate-1280x720" range="40-60" />
<Limit name="measured-frame-rate-1920x1080" range="20-50" />
<Limit name="measured-frame-rate-320x240" range="200-400" />
<Limit name="measured-frame-rate-720x480" range="120-200" />
<Limit name="measured-frame-rate-1280x720" range="30-120" />
<Limit name="measured-frame-rate-1920x1080" range="15-60" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.H263.Encoder" type="video/3gpp" update="true" >
<Limit name="measured-frame-rate-176x144" range="200-400" />
<Limit name="measured-frame-rate-352x288" range="150-220" />
<Limit name="measured-frame-rate-720x480" range="80-140" />
<Limit name="measured-frame-rate-1280x720" range="40-90" />
<Limit name="measured-frame-rate-1920x1080" range="10-30" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.HEVC.Encoder" type="video/hevc" update="true" >
<Limit name="measured-frame-rate-320x240" range="180-250" />
<Limit name="measured-frame-rate-720x480" range="120-140" />
<Limit name="measured-frame-rate-1280x720" range="40-60" />
<Limit name="measured-frame-rate-1920x1080" range="20-50" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.VP8.Encoder" type="video/x-vnd.on2.vp8" update="true" >
<Limit name="measured-frame-rate-320x240" range="180-250" />
<Limit name="measured-frame-rate-720x480" range="120-140" />
<Limit name="measured-frame-rate-1280x720" range="40-60" />
<Limit name="measured-frame-rate-1920x1080" range="20-50" />
<Limit name="measured-frame-rate-320x240" range="200-400" />
<Limit name="measured-frame-rate-720x480" range="120-200" />
<Limit name="measured-frame-rate-1280x720" range="30-120" />
<Limit name="measured-frame-rate-1920x1080" range="15-60" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.MPEG4.Encoder" type="video/mp4v-es" update="true" >
<Limit name="measured-frame-rate-320x240" range="180-250" />
<Limit name="measured-frame-rate-720x480" range="120-140" />
<Limit name="measured-frame-rate-1280x720" range="40-60" />
<Limit name="measured-frame-rate-1920x1080" range="20-50" />
<Limit name="measured-frame-rate-320x240" range="200-400" />
<Limit name="measured-frame-rate-720x480" range="120-200" />
<Limit name="measured-frame-rate-1280x720" range="30-120" />
<Limit name="measured-frame-rate-1920x1080" range="15-60" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="180-210" />
<Limit name="measured-frame-rate-720x480" range="50-100" />
<Limit name="measured-frame-rate-1280x720" range="20-30" />
<Limit name="measured-frame-rate-1920x1080" range="10-20" />
<MediaCodec name="OMX.Exynos.VP8.Encoder" type="video/x-vnd.on2.vp8" update="true" >
<Limit name="measured-frame-rate-320x240" range="200-400" />
<Limit name="measured-frame-rate-720x480" range="120-200" />
<Limit name="measured-frame-rate-1280x720" range="30-120" />
<Limit name="measured-frame-rate-1920x1080" range="15-60" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="350-420" />
<MediaCodec name="OMX.Exynos.HEVC.Encoder" type="video/hevc" update="true" >
<Limit name="measured-frame-rate-320x240" range="120-200" />
<Limit name="measured-frame-rate-720x480" range="180-180" />
<Limit name="measured-frame-rate-1280x720" range="30-75" />
<Limit name="measured-frame-rate-1920x1080" range="10-25" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="50-210" />
<Limit name="measured-frame-rate-640x360" range="50-100" />
<Limit name="measured-frame-rate-1280x720" range="10-20" />
<Limit name="measured-frame-rate-1920x1080" range="5-10" />
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="60-240" />
<Limit name="measured-frame-rate-720x480" range="30-100" />
<Limit name="measured-frame-rate-1280x720" range="15-60" />
<Limit name="measured-frame-rate-1920x1080" range="10-40" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="350-420" />
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="250-450" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="250-450" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="60-240" />
<Limit name="measured-frame-rate-640x360" range="30-100" />
<Limit name="measured-frame-rate-1280x720" range="15-60" />
<Limit name="measured-frame-rate-1920x1080" range="10-40" />
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="OMX.Exynos.avc.dec" type="video/avc" update="true" >
<Limit name="measured-frame-rate-320x240" range="500-1000" />
<Limit name="measured-frame-rate-720x480" range="450-900" />
<Limit name="measured-frame-rate-1280x720" range="200-400" />
<Limit name="measured-frame-rate-1920x1080" range="80-160" />
<Limit name="measured-frame-rate-320x240" range="600-1200" />
<Limit name="measured-frame-rate-720x480" range="180-360" />
<Limit name="measured-frame-rate-1280x720" range="80-160" />
<Limit name="measured-frame-rate-1920x1080" range="40-80" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.h263.dec" type="video/3gpp" update="true" >
<Limit name="measured-frame-rate-176x144" range="600-1200" />
<Limit name="measured-frame-rate-352x288" range="500-1000" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.hevc.dec" type="video/hevc" update="true" >
<Limit name="measured-frame-rate-352x288" range="400-800" />
<Limit name="measured-frame-rate-640x360" range="350-700" />
<Limit name="measured-frame-rate-1280x720" range="200-400" />
<Limit name="measured-frame-rate-1920x1080" range="90-180" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.vp8.dec" type="video/x-vnd.on2.vp8" update="true" >
<Limit name="measured-frame-rate-320x180" range="600-1200" />
<Limit name="measured-frame-rate-640x360" range="450-900" />
<Limit name="measured-frame-rate-1280x720" range="200-400" />
<Limit name="measured-frame-rate-1920x1080" range="80-160" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.mpeg4.dec" type="video/mp4v-es" update="true" >
<Limit name="measured-frame-rate-176x144" range="700-1400" />
<Limit name="measured-frame-rate-480x360" range="350-700" />
</MediaCodec>
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="250-500" />
<Limit name="measured-frame-rate-720x480" range="80-160" />
<Limit name="measured-frame-rate-1280x720" range="35-70" />
<Limit name="measured-frame-rate-1920x1080" range="15-30" />
</MediaCodec>
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="150-300" />
<Limit name="measured-frame-rate-352x288" range="150-300" />
</MediaCodec>
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="300-600" />
<Limit name="measured-frame-rate-640x360" range="150-300" />
<Limit name="measured-frame-rate-1280x720" range="65-130" />
<Limit name="measured-frame-rate-1920x1080" range="35-70" />
</MediaCodec>
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="350-700" />
<Limit name="measured-frame-rate-640x360" range="110-220" />
<Limit name="measured-frame-rate-1280x720" range="25-50" />
<Limit name="measured-frame-rate-1920x1080" range="10-20" />
</MediaCodec>
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="250-500" />
<Limit name="measured-frame-rate-640x360" range="100-200" />
<Limit name="measured-frame-rate-1280x720" range="50-100" />
<Limit name="measured-frame-rate-1920x1080" range="30-60" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.decoder" update="true">
<Type name="video/mp4v-es">
<Limit name="measured-frame-rate-176x144" range="200-400" />
</Type>
</MediaCodec>
<MediaCodec name="OMX.SEC.avc.sw.dec" type="video/avc" update="true" >
<Limit name="measured-frame-rate-320x240" range="200-400" />
<Limit name="measured-frame-rate-720x480" range="70-140" />
<Limit name="measured-frame-rate-1280x720" range="25-50" />
<Limit name="measured-frame-rate-1920x1080" range="11-22" />
</MediaCodec>
<MediaCodec name="OMX.SEC.h263.sw.dec" type="video/3gpp" update="true" >
<Limit name="measured-frame-rate-176x144" range="700-1400" />
<Limit name="measured-frame-rate-176x144" range="650-1300" />
<Limit name="measured-frame-rate-352x288" range="600-1200" />
</MediaCodec>
<MediaCodec name="OMX.SEC.hevc.sw.dec" type="video/hevc" update="true" >
<Limit name="measured-frame-rate-352x288" range="200-400" />
<Limit name="measured-frame-rate-640x360" range="100-200" />
<MediaCodec name="OMX.Exynos.hevc.dec" type="video/hevc" update="true" >
<Limit name="measured-frame-rate-352x288" range="500-1000" />
<Limit name="measured-frame-rate-640x360" range="250-500" />
<Limit name="measured-frame-rate-720x480" range="180-360" />
<Limit name="measured-frame-rate-1280x720" range="80-160" />
<Limit name="measured-frame-rate-1920x1080" range="40-80" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.mpeg4.dec" type="video/mp4v-es" update="true" >
<Limit name="measured-frame-rate-176x144" range="600-1200" />
<Limit name="measured-frame-rate-480x360" range="400-800" />
</MediaCodec>
<MediaCodec name="OMX.Exynos.vp8.dec" type="video/x-vnd.on2.vp8" update="true" >
<Limit name="measured-frame-rate-320x180" range="450-900" />
<Limit name="measured-frame-rate-640x360" range="400-800" />
<Limit name="measured-frame-rate-1280x720" range="100-200" />
<Limit name="measured-frame-rate-1920x1080" range="50-100" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="200-400" />
<Limit name="measured-frame-rate-720x480" range="70-140" />
<Limit name="measured-frame-rate-1280x720" range="30-60" />
<Limit name="measured-frame-rate-1920x1080" range="12-24" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="150-300" />
<Limit name="measured-frame-rate-352x288" range="140-280" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="150-300" />
<Limit name="measured-frame-rate-640x360" range="80-160" />
<Limit name="measured-frame-rate-1280x720" range="20-40" />
<Limit name="measured-frame-rate-1920x1080" range="10-20" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" update="true">
<Type name="video/mp4v-es">
<Limit name="measured-frame-rate-176x144" range="180-360" />
</Type>
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="300-600" />
<Limit name="measured-frame-rate-640x360" range="90-180" />
<Limit name="measured-frame-rate-1280x720" range="20-40" />
<Limit name="measured-frame-rate-1920x1080" range="7-14" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="200-400" />
<Limit name="measured-frame-rate-640x360" range="90-180" />
<Limit name="measured-frame-rate-1280x720" range="35-70" />
<Limit name="measured-frame-rate-1920x1080" range="20-40" />
</MediaCodec>
<MediaCodec name="OMX.SEC.vp8.dec" type="video/x-vnd.on2.vp8" update="true" >
<Limit name="measured-frame-rate-320x180" range="350-700" />
<Limit name="measured-frame-rate-640x360" range="100-200" />
<Limit name="measured-frame-rate-1280x720" range="25-50" />
<Limit name="measured-frame-rate-1920x1080" range="9-18" />
<MediaCodec name="OMX.SEC.avc.sw.dec" type="video/avc" update="true" >
<Limit name="measured-frame-rate-320x240" range="180-360" />
<Limit name="measured-frame-rate-720x480" range="50-100" />
<Limit name="measured-frame-rate-1280x720" range="18-36" />
<Limit name="measured-frame-rate-1920x1080" range="8-16" />
</MediaCodec>
<MediaCodec name="OMX.SEC.h263.sw.dec" type="video/3gpp" update="true" >
<Limit name="measured-frame-rate-176x144" range="750-1500" />
<Limit name="measured-frame-rate-352x288" range="450-900" />
</MediaCodec>
<MediaCodec name="OMX.SEC.hevc.sw.dec" type="video/hevc" update="true" >
<Limit name="measured-frame-rate-352x288" range="120-240" />
<Limit name="measured-frame-rate-720x480" range="50-100" />
<Limit name="measured-frame-rate-1280x720" range="22-44" />
<Limit name="measured-frame-rate-1920x1080" range="12-24" />
</MediaCodec>
<MediaCodec name="OMX.SEC.mpeg4.sw.dec" type="video/mp4v-es" update="true" >
<Limit name="measured-frame-rate-176x144" range="500-1000" />
<Limit name="measured-frame-rate-480x360" range="500-1000" />
<Limit name="measured-frame-rate-176x144" range="700-1400" />
<Limit name="measured-frame-rate-480x360" range="350-700" />
</MediaCodec>
<MediaCodec name="OMX.SEC.vp8.dec" type="video/x-vnd.on2.vp8" update="true" >
<Limit name="measured-frame-rate-320x180" range="300-600" />
<Limit name="measured-frame-rate-640x360" range="80-160" />
<Limit name="measured-frame-rate-1280x720" range="18-36" />
<Limit name="measured-frame-rate-1920x1080" range="7-14" />
</MediaCodec>
</Decoders>
</MediaCodecs>
</MediaCodecs>

View file

@ -22,7 +22,7 @@
AudioDecoderCap)>
<!ELEMENT CamcorderProfiles (EncoderProfile+, ImageEncoding+, ImageDecoding, Camera)>
<!ELEMENT EncoderProfile (Video, Audio)>
<!ATTLIST EncoderProfile quality (low|high|qcif|qvga|480p|720p|1080p|timelapselow|timelapsehigh|timelapseqcif|timelapseqvga|timelapse480p|timelapse720p|timelapse1080p) #REQUIRED>
<!ATTLIST EncoderProfile quality (low|high|qcif|qvga|480p|720p|1080p|2160p|timelapselow|timelapsehigh|timelapseqcif|timelapseqvga|timelapse480p|timelapse720p|timelapse1080p|timelapse2160p) #REQUIRED>
<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED>
<!ATTLIST EncoderProfile duration (30|60) #REQUIRED>
<!ATTLIST EncoderProfile cameraId (0|1) #REQUIRED>
@ -71,16 +71,6 @@
<!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
@ -89,19 +79,19 @@
<MediaSettings>
<!-- Each camcorder profile defines a set of predefined configuration parameters -->
<!-- Back Camera -->
<CamcorderProfiles cameraId="0" startOffsetMs="700">
<CamcorderProfiles cameraId="0">
<EncoderProfile quality="low" fileFormat="mp4" duration="30">
<EncoderProfile quality="low" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="384000"
width="176"
height="144"
frameRate="30" />
<Audio codec="aac"
bitRate="128000"
sampleRate="48000"
channels="2" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
@ -117,17 +107,17 @@
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="384000"
width="176"
height="144"
frameRate="30" />
<Audio codec="aac"
bitRate="128000"
sampleRate="48000"
channels="2" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="qvga" fileFormat="mp4" duration="30">
@ -193,10 +183,10 @@
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
<Audio codec="aac"
bitRate="128000"
sampleRate="48000"
channels="2" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
@ -227,10 +217,10 @@
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
<Audio codec="aac"
bitRate="128000"
sampleRate="48000"
channels="2" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
@ -309,19 +299,19 @@
</CamcorderProfiles>
<!-- Front Camera -->
<CamcorderProfiles cameraId="1" startOffsetMs="700">
<CamcorderProfiles cameraId="1">
<EncoderProfile quality="low" fileFormat="mp4" duration="30">
<EncoderProfile quality="low" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="384000"
width="176"
height="144"
frameRate="30" />
<Audio codec="aac"
bitRate="128000"
sampleRate="48000"
channels="2" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
@ -337,17 +327,17 @@
channels="2" />
</EncoderProfile>
<EncoderProfile quality="qcif" fileFormat="mp4" duration="30">
<EncoderProfile quality="qcif" fileFormat="3gp" duration="30">
<Video codec="h264"
bitRate="384000"
width="176"
height="144"
frameRate="30" />
<Audio codec="aac"
bitRate="128000"
sampleRate="48000"
channels="2" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="qvga" fileFormat="mp4" duration="30">
@ -413,10 +403,10 @@
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
<Audio codec="aac"
bitRate="128000"
sampleRate="48000"
channels="2" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
@ -447,10 +437,10 @@
The Audio part of the profile will not be used since time lapse mode
does not capture audio
-->
<Audio codec="aac"
bitRate="128000"
sampleRate="48000"
channels="2" />
<Audio codec="amrnb"
bitRate="12200"
sampleRate="8000"
channels="1" />
</EncoderProfile>
<EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30">
@ -542,15 +532,15 @@
codec cap
-->
<VideoEncoderCap name="h264" enabled="true"
minBitRate="64000" maxBitRate="40000000"
minBitRate="64000" maxBitRate="20000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="1" maxFrameRate="60" />
minFrameRate="1" maxFrameRate="30" />
<VideoEncoderCap name="h263" enabled="true"
minBitRate="64000" maxBitRate="1000000"
minFrameWidth="176" maxFrameWidth="800"
minFrameHeight="144" maxFrameHeight="480"
minBitRate="64000" maxBitRate="20000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="1" maxFrameRate="30" />
<VideoEncoderCap name="m4v" enabled="true"
@ -560,10 +550,10 @@
minFrameRate="1" maxFrameRate="30" />
<VideoEncoderCap name="hevc" enabled="true"
minBitRate="64000" maxBitRate="50000000"
minBitRate="64000" maxBitRate="20000000"
minFrameWidth="176" maxFrameWidth="1920"
minFrameHeight="144" maxFrameHeight="1080"
minFrameRate="1" maxFrameRate="60" />
minFrameRate="1" maxFrameRate="30" />
<AudioEncoderCap name="aac" enabled="true"
minBitRate="8192" maxBitRate="256000"
@ -599,39 +589,4 @@
-->
<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 30MB(3MB per 1080p frame x 10
frames) memory.
-->
<VideoEditorCap maxInputFrameWidth="1920"
maxInputFrameHeight="1088" maxOutputFrameWidth="1920"
maxOutputFrameHeight="1080" 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 4096 means OMX_VIDEO_AVCLevel41.
Please note that the values are in decimal.
These values are for video encoder.
-->
<!--
Codec = h.264, Baseline profile, level 4.2
-->
<ExportVideoProfile name="h264" profile= "1" level="8192"/>
<!--
Codec = h.263, Baseline profile, level 45
-->
<ExportVideoProfile name="h263" profile= "1" level="16"/>
<!--
Codec = mpeg4, Simple profile, level 5
-->
<ExportVideoProfile name="m4v" profile= "1" level="128"/>
</MediaSettings>