diff options
author | Mahesh Lanka <mlanka@codeaurora.org> | 2021-03-10 14:29:22 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2021-03-17 06:25:29 -0700 |
commit | 453c35e361aa3a975ff959a6cfa44696b293a86c (patch) | |
tree | 7807a33bc5a15c6e14007b2e8e8d9b366c8e032e | |
parent | 9110f5697bb523ab0acaadc4c8c32cf128d26d7b (diff) |
media:conf_files: Add configuration files for khaje
Add khaje configuration files and specify make rules
to copy correct versions to target to maintain binary compatibility.
Change-Id: Ib47d6a9574956469ca96f5858b08055f52d8f105
-rw-r--r-- | conf_files/bengal/bengal.mk | 8 | ||||
-rw-r--r-- | conf_files/bengal/media_codecs_performance_khaje_v0.xml | 177 | ||||
-rw-r--r-- | conf_files/bengal/media_codecs_vendor_khaje_v0.xml | 351 | ||||
-rw-r--r-- | conf_files/bengal/media_codecs_vendor_khaje_v0_32.xml | 297 | ||||
-rw-r--r-- | conf_files/bengal/media_profiles_khaje.xml | 1197 |
5 files changed, 2028 insertions, 2 deletions
diff --git a/conf_files/bengal/bengal.mk b/conf_files/bengal/bengal.mk index 86e3e619..664cd0cf 100644 --- a/conf_files/bengal/bengal.mk +++ b/conf_files/bengal/bengal.mk @@ -7,8 +7,10 @@ PRODUCT_COPY_FILES += \ $(CONFIG_PATH)/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \ $(CONFIG_PATH)/media_codecs_performance_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_v1.xml \ $(CONFIG_PATH)/media_codecs_performance_scuba_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_v2.xml \ + $(CONFIG_PATH)/media_codecs_performance_khaje_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_v3.xml \ $(CONFIG_PATH)/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \ $(CONFIG_PATH)/media_profiles_scuba.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_scuba.xml \ + $(CONFIG_PATH)/media_profiles_khaje.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_khaje.xml \ $(CONFIG_PATH)/mediacodec-seccomp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ $(CONFIG_PATH)/system_properties.xml:$(TARGET_COPY_OUT_VENDOR)/etc/system_properties.xml \ device/qcom/common/media/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml @@ -17,12 +19,14 @@ ifneq ($(strip $(TARGET_BOARD_SUFFIX)),) PRODUCT_COPY_FILES += \ $(CONFIG_PATH)/media_codecs_vendor_32.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \ $(CONFIG_PATH)/media_codecs_vendor_v1_32.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v1.xml \ - $(CONFIG_PATH)/media_codecs_vendor_scuba_v0_32.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v2.xml + $(CONFIG_PATH)/media_codecs_vendor_scuba_v0_32.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v2.xml \ + $(CONFIG_PATH)/media_codecs_vendor_khaje_v0_32.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v3.xml else PRODUCT_COPY_FILES += \ $(CONFIG_PATH)/media_codecs_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \ $(CONFIG_PATH)/media_codecs_vendor_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v1.xml \ - $(CONFIG_PATH)/media_codecs_vendor_scuba_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v2.xml + $(CONFIG_PATH)/media_codecs_vendor_scuba_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v2.xml \ + $(CONFIG_PATH)/media_codecs_vendor_khaje_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v3.xml endif # Vendor property overrides diff --git a/conf_files/bengal/media_codecs_performance_khaje_v0.xml b/conf_files/bengal/media_codecs_performance_khaje_v0.xml new file mode 100644 index 00000000..4185b1ce --- /dev/null +++ b/conf_files/bengal/media_codecs_performance_khaje_v0.xml @@ -0,0 +1,177 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- +Copyright (c) 2015-2017, 2019-2021 The Linux Foundation. All rights reserved. + +Not a Contribution. + +Copyright 2015 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. +u 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. +--> + +<MediaCodecs> + <Encoders> + <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="238-238" /> + <Limit name="measured-frame-rate-720x480" range="123-123" /> + <Limit name="measured-frame-rate-1280x720" range="50-50" /> + <Limit name="measured-frame-rate-1920x1080" range="55-65" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true"> + <Limit name="measured-frame-rate-320x240" range="226-226" /> + <Limit name="measured-frame-rate-720x480" range="121-121" /> + <Limit name="measured-frame-rate-1280x720" range="49-49" /> + <Limit name="measured-frame-rate-1920x1080" range="55-65" /> + <Limit name="measured-frame-rate-3840x2160" range="20-27" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" update="true"> + <Limit name="measured-frame-rate-320x240" range="226-226" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="150-240" /> + <Limit name="measured-frame-rate-352x288" range="80-160" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" update="true"> + <Limit name="measured-frame-rate-176x144" range="120-290" /> + <Limit name="measured-frame-rate-352x288" range="55-85" /> + <Limit name="measured-frame-rate-640x480" range="47-52" /> + <Limit name="measured-frame-rate-1280x720" range="30-50" /> + </MediaCodec> + <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="215-215" /> + <Limit name="measured-frame-rate-720x480" range="100-100" /> + <Limit name="measured-frame-rate-1280x720" range="56-56" /> + <Limit name="measured-frame-rate-1920x1080" range="30-30" /> + </MediaCodec> + <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="200-200" /> + </MediaCodec> + <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true"> + <Limit name="measured-frame-rate-176x144" range="250-320" /> + </MediaCodec> + <MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="124-176" /> + <Limit name="measured-frame-rate-720x480" range="53-76" /> + <Limit name="measured-frame-rate-1280x720" range="35-50" /> + <Limit name="measured-frame-rate-1920x1080" range="19-28" /> + </MediaCodec> + <MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true"> + <Limit name="measured-frame-rate-320x240" range="17-24" /> + <Limit name="measured-frame-rate-720x480" range="8-11" /> + </MediaCodec> + <MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="320-345" /> + </MediaCodec> + <MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true"> + <Limit name="measured-frame-rate-176x144" range="300-340" /> + </MediaCodec> + <MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true"> + <Limit name="measured-frame-rate-320x180" range="85-119" /> + <Limit name="measured-frame-rate-640x360" range="41-65" /> + <Limit name="measured-frame-rate-1280x720" range="21-30" /> + <Limit name="measured-frame-rate-1920x1080" range="10-15" /> + </MediaCodec> + </Encoders> + <Decoders> + <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="440-990" /> + <Limit name="measured-frame-rate-720x480" range="460-490" /> + <Limit name="measured-frame-rate-1280x720" range="350-400" /> + <Limit name="measured-frame-rate-1920x1088" range="180-190" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true"> + <Limit name="measured-frame-rate-352x288" range="510-530" /> + <Limit name="measured-frame-rate-720x480" range="465-620" /> + <Limit name="measured-frame-rate-1280x720" range="200-390" /> + <Limit name="measured-frame-rate-1920x1080" range="210-230" /> + <Limit name="measured-frame-rate-3840x2160" range="65-75" /> + </MediaCodec> + <MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="356-356" /> + <Limit name="measured-frame-rate-352x288" range="292-292" /> + </MediaCodec> + <MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es" update="true"> + <Limit name="measured-frame-rate-176x144" range="270-295" /> + <Limit name="measured-frame-rate-480x360" range="245-265" /> + <Limit name="measured-frame-rate-1280x720" range="80-200" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true"> + <Limit name="measured-frame-rate-320x180" range="820-850"/> + <Limit name="measured-frame-rate-320x240" range="377-377" /> + <Limit name="measured-frame-rate-640x360" range="323-323" /> + <Limit name="measured-frame-rate-1280x720" range="262-262" /> + <Limit name="measured-frame-rate-1920x1080" range="65-72" /> + <Limit name="measured-frame-rate-3840x2160" range="51-51" /> + </MediaCodec> + <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="270-310" /> + <Limit name="measured-frame-rate-720x480" range="68-68" /> + <Limit name="measured-frame-rate-1280x720" range="32-32" /> + <Limit name="measured-frame-rate-1920x1080" range="6-10" /> + </MediaCodec> + <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="104-279" /> + <Limit name="measured-frame-rate-352x288" range="200-200" /> + </MediaCodec> + <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true"> + <Limit name="measured-frame-rate-352x288" range="520-650" /> + <Limit name="measured-frame-rate-640x360" range="145-190" /> + <Limit name="measured-frame-rate-720x480" range="235-245" /> + <Limit name="measured-frame-rate-1280x720" range="88-100" /> + <Limit name="measured-frame-rate-1920x1080" range="48-52" /> + </MediaCodec> + <MediaCodec name="OMX.google.mpeg4.decoder" update="true"> + <Type name="video/mp4v-es"> + <Limit name="measured-frame-rate-176x144" range="430-450" /> + </Type> + </MediaCodec> + <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true"> + <Limit name="measured-frame-rate-320x180" range="640-720" /> + <Limit name="measured-frame-rate-320x240" range="200-230" /> + <Limit name="measured-frame-rate-640x360" range="81-90" /> + <Limit name="measured-frame-rate-1280x720" range="60-85" /> + <Limit name="measured-frame-rate-1920x1080" range="33-55" /> + </MediaCodec> + <MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true"> + <Limit name="measured-frame-rate-320x240" range="63-165" /> + <Limit name="measured-frame-rate-720x480" range="42-59" /> + <Limit name="measured-frame-rate-1280x720" range="17-24" /> + <Limit name="measured-frame-rate-1920x1080" range="8-12" /> + </MediaCodec> + <MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true"> + <Limit name="measured-frame-rate-352x288" range="67-232" /> + <Limit name="measured-frame-rate-640x360" range="57-89" /> + <Limit name="measured-frame-rate-720x480" range="69-99" /> + <Limit name="measured-frame-rate-1280x720" range="35-51" /> + <Limit name="measured-frame-rate-1920x1080" range="20-29" /> + </MediaCodec> + <MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true"> + <Limit name="measured-frame-rate-176x144" range="376-524" /> + <Limit name="measured-frame-rate-352x288" range="310-415" /> + </MediaCodec> + <MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true"> + <Limit name="measured-frame-rate-176x144" range="406-543" /> + </MediaCodec> + <MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true"> + <Limit name="measured-frame-rate-320x180" range="160-480" /> + <Limit name="measured-frame-rate-640x360" range="133-184" /> + <Limit name="measured-frame-rate-1920x1080" range="15-22" /> + </MediaCodec> + <MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true"> + <Limit name="measured-frame-rate-320x180" range="182-360" /> + <Limit name="measured-frame-rate-640x360" range="85-200" /> + <Limit name="measured-frame-rate-1280x720" range="35-49" /> + <Limit name="measured-frame-rate-1920x1080" range="23-33" /> + </MediaCodec> + </Decoders> +</MediaCodecs> diff --git a/conf_files/bengal/media_codecs_vendor_khaje_v0.xml b/conf_files/bengal/media_codecs_vendor_khaje_v0.xml new file mode 100644 index 00000000..33b5f26e --- /dev/null +++ b/conf_files/bengal/media_codecs_vendor_khaje_v0.xml @@ -0,0 +1,351 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2012-2021 The Linux Foundation. All rights reserved. + Not a contribution. + Copyright (C) 2012-2013 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 MediaCodecs [ +<!ELEMENT Include EMPTY> +<!ATTLIST Include href CDATA #REQUIRED> +<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*> +<!ELEMENT Decoders (MediaCodec|Include)*> +<!ELEMENT Encoders (MediaCodec|Include)*> +<!ELEMENT MediaCodec (Type|Quirk|Include)*> +<!ATTLIST MediaCodec name CDATA #REQUIRED> +<!ATTLIST MediaCodec type CDATA> +<!ELEMENT Type EMPTY> +<!ATTLIST Type name CDATA #REQUIRED> +<!ELEMENT Quirk EMPTY> +<!ATTLIST Quirk name CDATA #REQUIRED> +]> + +There's a simple and a complex syntax to declare the availability of a +media codec: + +A codec that properly follows the OpenMax spec and therefore doesn't have any +quirks and that only supports a single content type can be declared like so: + + <MediaCodec name="OMX.foo.bar" type="something/interesting" /> + +If a codec has quirks OR supports multiple content types, the following syntax +can be used: + + <MediaCodec name="OMX.foo.bar" > + <Type name="something/interesting" /> + <Type name="something/else" /> + ... + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="output-buffers-are-unreadable" /> + </MediaCodec> + +Only the three quirks included above are recognized at this point: + +"requires-allocate-on-input-ports" + must be advertised if the component does not properly support specification + of input buffers using the OMX_UseBuffer(...) API but instead requires + OMX_AllocateBuffer to be used. + +"requires-allocate-on-output-ports" + must be advertised if the component does not properly support specification + of output buffers using the OMX_UseBuffer(...) API but instead requires + OMX_AllocateBuffer to be used. + +"output-buffers-are-unreadable" + must be advertised if the emitted output buffers of a decoder component + are not readable, i.e. use a custom format even though abusing one of + the official OMX colorspace constants. + Clients of such decoders will not be able to access the decoded data, + naturally making the component much less useful. The only use for + a component with this quirk is to render the output to the screen. + Audio decoders MUST NOT advertise this quirk. + Video decoders that advertise this quirk must be accompanied by a + corresponding color space converter for thumbnail extraction, + matching surfaceflinger support that can render the custom format to + a texture and possibly other code, so just DON'T USE THIS QUIRK. + + +--> +<!-- + Non-Secure decoder capabilities + (MB is defined as 16x16) + + _______________________________________________________ + | Codec | W H fps Mbps MB/s | + |_____________|_________________________________________| + | h264 | 1920 1088 30 60 244800 | + | hevc | 1920 1080 30 60 244800 | + | vp9 | 1920 1088 30 60 244800 | + | mpeg4-sw | 1920 1088 30 40 244800 | + | h263-sw | 864 480 30 16 48600 | + |_____________|_________________________________________| + + Secure decoder capabilities + (MB is defined as 16x16) + + _____________________________________________________ + | Codec | W H fps Mbps MB/s | + |__________|_________________________________________| + | h264 | 1920 1088 30 35 244800 | + | vp9 | 1920 1088 30 35 244800 | + | hevc | 1920 1088 30 35 244800 | + |__________|_________________________________________| + + + Non-Secure encoder capabilities (Secure not supported) + (MB is defined as 16x16) + + ______________________________________________________ + | Codec | W H fps Mbps MB/s | + |__________|_________________________________________| + | h264 | 1920 1088 30 60 244800 | + | hevc | 1920 1088 30 60 244800 | + | mpeg4-sw | 864 480 30 8 48600 | + | h263-sw | 864 480 30 2 48600 | + |__________|_________________________________________| +--> + +<MediaCodecs> + <Include href="media_codecs_google_audio.xml" /> + <Include href="media_codecs_vendor_audio.xml" /> + <Include href="media_codecs_google_telephony.xml" /> + <Settings> + <Setting name="max-video-encoder-input-buffers" value="11" /> + </Settings> + <Encoders> + <!-- Video Hardware --> + <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-60000000" /> + <Limit name="frame-rate" range="1-120" /> + <Limit name="concurrent-instances" max="16" /> + <Limit name="performance-point-1920x1080" value="30" /> + <Limit name="performance-point-1280x720" value="60" /> + <Limit name="performance-point-720x480" value="120" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-60000000" /> + <Limit name="frame-rate" range="1-120" /> + <Limit name="concurrent-instances" max="16" /> + <Limit name="quality" range="0-100" default="80" /> + <Feature name="bitrate-modes" value="VBR,CBR" /> + <Limit name="performance-point-1920x1080" value="30" /> + <Limit name="performance-point-1280x720" value="60" /> + <Limit name="performance-point-720x480" value="120" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="128x128" max="512x512" /> + <Limit name="frame-rate" range="1-20" /> + <Limit name="concurrent-instances" max="16" /> + <Limit name="quality" range="0-100" default="80" /> + <Feature name="bitrate-modes" value="CQ" /> + <Limit name="performance-point-512x512" value="2025" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.heic" type="image/vnd.android.heic" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="512x512" max="8192x8192" /> + <Limit name="frame-rate" range="1-20" /> + <Limit name="concurrent-instances" max="6" /> + <Limit name="quality" range="0-100" default="80" /> + <Feature name="bitrate-modes" value="CQ" /> + <Limit name="performance-point-8192x4320" value="3" /> + <Limit name="performance-point-1920x1080" value="6" /> + </MediaCodec> + <!-- Video Software --> + <MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="96x96" max="864x480" /> + <Limit name="alignment" value="4x4" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="36" max="48600" /> + <Limit name="bitrate" range="1-2000000" /> + <Limit name="frame-rate" range="1-30" /> + <Limit name="concurrent-instances" max="3" /> + <Limit name="performance-point-720x480" value="30" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="96x96" max="864x480" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="36" max="48600" /> + <Limit name="bitrate" range="1-8000000" /> + <Limit name="frame-rate" range="1-30" /> + <Limit name="concurrent-instances" max="3" /> + <Limit name="performance-point-720x480" value="30" /> + </MediaCodec> + </Encoders> + <Decoders> + <!-- Video Hardware --> + <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-60000000" /> + <Limit name="frame-rate" range="1-120" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + <Limit name="performance-point-1920x1080" value="30" /> + <Limit name="performance-point-1280x720" value="60" /> + <Limit name="performance-point-720x480" value="120" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-35000000" /> + <Limit name="frame-rate" range="1-60" /> + <Feature name="adaptive-playback" /> + <Feature name="secure-playback" required="true" /> + <Limit name="concurrent-instances" max="3" /> + <Limit name="performance-point-1920x1080" value="30" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-60000000" /> + <Limit name="frame-rate" range="1-120" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="6" /> + <Limit name="performance-point-1920x1080" value="30" /> + <Limit name="performance-point-1280x720" value="60" /> + <Limit name="performance-point-720x480" value="120" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-35000000" /> + <Limit name="frame-rate" range="1-60" /> + <Feature name="adaptive-playback" /> + <Feature name="secure-playback" required="true" /> + <Limit name="concurrent-instances" max="3" /> + <Limit name="performance-point-1920x1080" value="30" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-60000000" /> + <Limit name="frame-rate" range="1-120" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + <Limit name="performance-point-1920x1080" value="30" /> + <Limit name="performance-point-1280x720" value="60" /> + <Limit name="performance-point-720x480" value="120" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-35000000" /> + <Limit name="frame-rate" range="1-60" /> + <Feature name="adaptive-playback" /> + <Feature name="secure-playback" required="true" /> + <Limit name="concurrent-instances" max="3" /> + <Limit name="performance-point-1920x1080" value="30" /> + </MediaCodec> + <!-- Video Software --> + <MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="96x96" max="864x480" /> + <Limit name="alignment" value="4x4" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="36" max="48600" /> + <Limit name="bitrate" range="1-16000000" /> + <Limit name="frame-rate" range="1-30" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="4" /> + <Limit name="performance-point-720x480" value="30" /> + </MediaCodec> + <MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es"> + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="96x96" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="36" max="244800" /> + <Limit name="bitrate" range="1-40000000" /> + <Limit name="frame-rate" range="1-30" /> + <Limit name="concurrent-instances" max="4" /> + <Limit name="performance-point-1920x1080" value="30" /> + </MediaCodec> + <MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true"> + <!-- profiles and levels: ProfileMain : MainTierLevel51 --> + <Limit name="size" min="2x2" max="1280x720" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="8x8" /> + <Limit name="block-count" range="1-3600" /> + <Limit name="blocks-per-second" range="1-108000" /> + <Limit name="bitrate" range="1-2000000" /> + </MediaCodec> + <MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true"> + <!-- profiles and levels: ProfileHigh : Level51 --> + <Limit name="size" min="2x2" max="1280x720" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="block-count" range="1-3600" /> + <Limit name="blocks-per-second" range="1-108000" /> + <Limit name="bitrate" range="1-20000000" /> + <Feature name="adaptive-playback" /> + </MediaCodec> + </Decoders> + <Include href="media_codecs_google_video_le.xml" /> +</MediaCodecs> diff --git a/conf_files/bengal/media_codecs_vendor_khaje_v0_32.xml b/conf_files/bengal/media_codecs_vendor_khaje_v0_32.xml new file mode 100644 index 00000000..4bc00641 --- /dev/null +++ b/conf_files/bengal/media_codecs_vendor_khaje_v0_32.xml @@ -0,0 +1,297 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2012-2021 The Linux Foundation. All rights reserved. + Not a contribution. + Copyright (C) 2012-2013 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 MediaCodecs [ +<!ELEMENT Include EMPTY> +<!ATTLIST Include href CDATA #REQUIRED> +<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*> +<!ELEMENT Decoders (MediaCodec|Include)*> +<!ELEMENT Encoders (MediaCodec|Include)*> +<!ELEMENT MediaCodec (Type|Quirk|Include)*> +<!ATTLIST MediaCodec name CDATA #REQUIRED> +<!ATTLIST MediaCodec type CDATA> +<!ELEMENT Type EMPTY> +<!ATTLIST Type name CDATA #REQUIRED> +<!ELEMENT Quirk EMPTY> +<!ATTLIST Quirk name CDATA #REQUIRED> +]> + +There's a simple and a complex syntax to declare the availability of a +media codec: + +A codec that properly follows the OpenMax spec and therefore doesn't have any +quirks and that only supports a single content type can be declared like so: + + <MediaCodec name="OMX.foo.bar" type="something/interesting" /> + +If a codec has quirks OR supports multiple content types, the following syntax +can be used: + + <MediaCodec name="OMX.foo.bar" > + <Type name="something/interesting" /> + <Type name="something/else" /> + ... + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="output-buffers-are-unreadable" /> + </MediaCodec> + +Only the three quirks included above are recognized at this point: + +"requires-allocate-on-input-ports" + must be advertised if the component does not properly support specification + of input buffers using the OMX_UseBuffer(...) API but instead requires + OMX_AllocateBuffer to be used. + +"requires-allocate-on-output-ports" + must be advertised if the component does not properly support specification + of output buffers using the OMX_UseBuffer(...) API but instead requires + OMX_AllocateBuffer to be used. + +"output-buffers-are-unreadable" + must be advertised if the emitted output buffers of a decoder component + are not readable, i.e. use a custom format even though abusing one of + the official OMX colorspace constants. + Clients of such decoders will not be able to access the decoded data, + naturally making the component much less useful. The only use for + a component with this quirk is to render the output to the screen. + Audio decoders MUST NOT advertise this quirk. + Video decoders that advertise this quirk must be accompanied by a + corresponding color space converter for thumbnail extraction, + matching surfaceflinger support that can render the custom format to + a texture and possibly other code, so just DON'T USE THIS QUIRK. + + +--> +<!-- + Non-Secure decoder capabilities + (MB is defined as 16x16) + + _______________________________________________________ + | Codec | W H fps Mbps MB/s | + |_____________|_________________________________________| + | h264 | 1920 1088 30 60 244800 | + | hevc | 1920 1080 30 60 244800 | + | vp9 | 1920 1088 30 60 244800 | + | mpeg4-sw | 1920 1088 30 40 244800 | + | h263-sw | 864 480 30 16 48600 | + |_____________|_________________________________________| + + Non-Secure encoder capabilities (Secure not supported) + (MB is defined as 16x16) + + ______________________________________________________ + | Codec | W H fps Mbps MB/s | + |__________|_________________________________________| + | h264 | 1920 1088 30 60 244800 | + | hevc | 1920 1088 30 60 244800 | + | mpeg4-sw | 864 480 30 8 48600 | + | h263-sw | 864 480 30 2 48600 | + |__________|_________________________________________| +--> + +<MediaCodecs> + <Include href="media_codecs_google_audio.xml" /> + <Include href="media_codecs_vendor_audio.xml" /> + <Include href="media_codecs_google_telephony.xml" /> + <Settings> + <Setting name="max-video-encoder-input-buffers" value="11" /> + </Settings> + <Encoders> + <!-- Video Hardware --> + <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-60000000" /> + <Limit name="frame-rate" range="1-120" /> + <Limit name="concurrent-instances" max="16" /> + <Limit name="performance-point-1920x1080" value="30" /> + <Limit name="performance-point-1280x720" value="60" /> + <Limit name="performance-point-720x480" value="120" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-60000000" /> + <Limit name="frame-rate" range="1-120" /> + <Limit name="concurrent-instances" max="16" /> + <Limit name="quality" range="0-100" default="80" /> + <Feature name="bitrate-modes" value="VBR,CBR" /> + <Limit name="performance-point-1920x1080" value="30" /> + <Limit name="performance-point-1280x720" value="60" /> + <Limit name="performance-point-720x480" value="120" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="128x128" max="512x512" /> + <Limit name="frame-rate" range="1-20" /> + <Limit name="concurrent-instances" max="16" /> + <Limit name="quality" range="0-100" default="80" /> + <Feature name="bitrate-modes" value="CQ" /> + <Limit name="performance-point-512x512" value="2025" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.heic" type="image/vnd.android.heic" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="512x512" max="8192x8192" /> + <Limit name="frame-rate" range="1-20" /> + <Limit name="concurrent-instances" max="6" /> + <Limit name="quality" range="0-100" default="80" /> + <Feature name="bitrate-modes" value="CQ" /> + <Limit name="performance-point-8192x4320" value="3" /> + <Limit name="performance-point-1920x1080" value="6" /> + </MediaCodec> + <!-- Video Software --> + <MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="96x96" max="864x480" /> + <Limit name="alignment" value="4x4" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="36" max="48600" /> + <Limit name="bitrate" range="1-2000000" /> + <Limit name="frame-rate" range="1-30" /> + <Limit name="concurrent-instances" max="3" /> + <Limit name="performance-point-720x480" value="30" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="96x96" max="864x480" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="36" max="48600" /> + <Limit name="bitrate" range="1-8000000" /> + <Limit name="frame-rate" range="1-30" /> + <Limit name="concurrent-instances" max="3" /> + <Limit name="performance-point-720x480" value="30" /> + </MediaCodec> + </Encoders> + <Decoders> + <!-- Video Hardware --> + <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-60000000" /> + <Limit name="frame-rate" range="1-120" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + <Limit name="performance-point-1920x1080" value="30" /> + <Limit name="performance-point-1280x720" value="60" /> + <Limit name="performance-point-720x480" value="120" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-60000000" /> + <Limit name="frame-rate" range="1-120" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="6" /> + <Limit name="performance-point-1920x1080" value="30" /> + <Limit name="performance-point-1280x720" value="60" /> + <Limit name="performance-point-720x480" value="120" /> + </MediaCodec> + <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="128x128" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="64" max="244800" /> + <Limit name="bitrate" range="1-60000000" /> + <Limit name="frame-rate" range="1-120" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="16" /> + <Limit name="performance-point-1920x1080" value="30" /> + <Limit name="performance-point-1280x720" value="60" /> + <Limit name="performance-point-720x480" value="120" /> + </MediaCodec> + <!-- Video Software --> + <MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" > + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="96x96" max="864x480" /> + <Limit name="alignment" value="4x4" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="36" max="48600" /> + <Limit name="bitrate" range="1-16000000" /> + <Limit name="frame-rate" range="1-30" /> + <Feature name="adaptive-playback" /> + <Limit name="concurrent-instances" max="4" /> + <Limit name="performance-point-720x480" value="30" /> + </MediaCodec> + <MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es"> + <Quirk name="requires-allocate-on-input-ports" /> + <Quirk name="requires-allocate-on-output-ports" /> + <Limit name="size" min="96x96" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="36" max="244800" /> + <Limit name="bitrate" range="1-40000000" /> + <Limit name="frame-rate" range="1-30" /> + <Limit name="concurrent-instances" max="4" /> + <Limit name="performance-point-1920x1080" value="30" /> + </MediaCodec> + <MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true"> + <!-- profiles and levels: ProfileMain : MainTierLevel51 --> + <Limit name="size" min="2x2" max="1280x720" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="8x8" /> + <Limit name="block-count" range="1-3600" /> + <Limit name="blocks-per-second" range="1-108000" /> + <Limit name="bitrate" range="1-2000000" /> + </MediaCodec> + <MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true"> + <!-- profiles and levels: ProfileHigh : Level51 --> + <Limit name="size" min="2x2" max="1280x720" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="block-count" range="1-3600" /> + <Limit name="blocks-per-second" range="1-108000" /> + <Limit name="bitrate" range="1-20000000" /> + <Feature name="adaptive-playback" /> + </MediaCodec> + </Decoders> + <Include href="media_codecs_google_video_le.xml" /> +</MediaCodecs> diff --git a/conf_files/bengal/media_profiles_khaje.xml b/conf_files/bengal/media_profiles_khaje.xml new file mode 100644 index 00000000..facb2400 --- /dev/null +++ b/conf_files/bengal/media_profiles_khaje.xml @@ -0,0 +1,1197 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2012-2021 The Linux Foundation. All rights reserved. + Not a contribution. + 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 (high|low) #REQUIRED> +<!ATTLIST EncoderProfile fileFormat (mp4|3gp) #REQUIRED> +<!ATTLIST EncoderProfile duration (30|60) #REQUIRED> +<!ATTLIST EncoderProfile cameraId (0|1|2|3) #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|lpcm) #REQUIRED> +<!ATTLIST Audio bitRate CDATA #REQUIRED> +<!ATTLIST Audio sampleRate CDATA #REQUIRED> +<!ATTLIST Audio channels (1|2|6) #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> +<!ELEMENT EncoderOutputFileFormat EMPTY> +<!ATTLIST EncoderOutputFileFormat name (mp4|3gp) #REQUIRED> +<!ELEMENT VideoEncoderCap EMPTY> +<!ATTLIST VideoEncoderCap name (hevc|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> +<!ATTLIST VideoEncoderCap maxHFRFrameWidth CDATA #REQUIRED> +<!ATTLIST VideoEncoderCap maxHFRFrameHeight CDATA #REQUIRED> +<!ATTLIST VideoEncoderCap maxHFRMode CDATA #REQUIRED> +<!ELEMENT AudioEncoderCap EMPTY> +<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma|lpcm) #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|6) #REQUIRED> +<!ATTLIST AudioEncoderCap maxChannels (1|2|6) #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="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="high" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qvga" fileFormat="mp4" duration="60"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="cif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="720000" + width="352" + height="288" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="720" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + 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="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="vga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="720000" + width="352" + height="288" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + + <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <ImageEncoding quality="95" /> + <ImageEncoding quality="80" /> + <ImageEncoding quality="70" /> + <ImageDecoding memCap="20000000" /> + + </CamcorderProfiles> + <!-- Front Camera --> + <CamcorderProfiles cameraId="1"> + + <EncoderProfile quality="low" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="high" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qvga" fileFormat="mp4" duration="60"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="cif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="720000" + width="352" + height="288" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="720" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + 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="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="vga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <!-- TIMELAPSE profiles for front camera --> + <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="1200000" + width="352" + height="288" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="96000" + sampleRate="48000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="5000000" + width="720" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="96000" + sampleRate="48000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="8000000" + width="1280" + height="720" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="96000" + sampleRate="48000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <ImageEncoding quality="95" /> + <ImageEncoding quality="80" /> + <ImageEncoding quality="70" /> + <ImageDecoding memCap="20000000" /> + + </CamcorderProfiles> + + <!-- Camera ID 2 --> + <CamcorderProfiles cameraId="2"> + + <EncoderProfile quality="low" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="high" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qvga" fileFormat="mp4" duration="60"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="cif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="720000" + width="352" + height="288" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="720" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + 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="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="vga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="720000" + width="352" + height="288" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + + <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse1080p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="20000000" + width="1920" + height="1080" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <ImageEncoding quality="95" /> + <ImageEncoding quality="80" /> + <ImageEncoding quality="70" /> + <ImageDecoding memCap="20000000" /> + + </CamcorderProfiles> + + <!-- Camera ID 3 --> + <CamcorderProfiles cameraId="3"> + + <EncoderProfile quality="low" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="high" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qvga" fileFormat="mp4" duration="60"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="cif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="720000" + width="352" + height="288" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="720" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="qcif" fileFormat="3gp" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="vga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapselow" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapseqcif" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="192000" + width="176" + height="144" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsecif" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="720000" + width="352" + height="288" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + + <EncoderProfile quality="timelapseqvga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="512000" + width="320" + height="240" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapsevga" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="amrnb" + bitRate="12200" + sampleRate="8000" + channels="1" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse480p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="2000000" + width="640" + height="480" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30"> + <Video codec="h264" + bitRate="14000000" + width="1280" + height="720" + frameRate="30" /> + + <!-- audio setting is ignored --> + <Audio codec="aac" + bitRate="156000" + sampleRate="48000" + channels="2" /> + </EncoderProfile> + + <ImageEncoding quality="95" /> + <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="60000000" + minFrameWidth="176" maxFrameWidth="1920" + minFrameHeight="144" maxFrameHeight="1080" + minFrameRate="15" maxFrameRate="30" + maxHFRFrameWidth="1920" maxHFRFrameHeight="1080" + maxHFRMode="120" /> + + <VideoEncoderCap name="h263" enabled="true" + minBitRate="64000" maxBitRate="2000000" + minFrameWidth="176" maxFrameWidth="800" + minFrameHeight="144" maxFrameHeight="480" + minFrameRate="15" maxFrameRate="30" + maxHFRFrameWidth="0" maxHFRFrameHeight="0" + maxHFRMode="0" /> + + <VideoEncoderCap name="m4v" enabled="true" + minBitRate="64000" maxBitRate="8000000" + minFrameWidth="176" maxFrameWidth="800" + minFrameHeight="144" maxFrameHeight="480" + minFrameRate="15" maxFrameRate="30" + maxHFRFrameWidth="0" maxHFRFrameHeight="0" + maxHFRMode="0" /> + + <VideoEncoderCap name="hevc" enabled="true" + minBitRate="64000" maxBitRate="60000000" + minFrameWidth="176" maxFrameWidth="1920" + minFrameHeight="144" maxFrameHeight="1080" + minFrameRate="15" maxFrameRate="30" + maxHFRFrameWidth="0" maxHFRFrameHeight="0" + maxHFRMode="0" /> + + <AudioEncoderCap name="aac" enabled="true" + minBitRate="8000" maxBitRate="96000" + minSampleRate="8000" maxSampleRate="48000" + minChannels="1" maxChannels="6" /> + + <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="23850" + 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" /> + + <AudioEncoderCap name="lpcm" enabled="true" + minBitRate="768000" maxBitRate="4608000" + minSampleRate="8000" maxSampleRate="48000" + minChannels="1" maxChannels="6" /> + + <!-- + 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="true"/> + <AudioDecoderCap name="wma" enabled="true"/> + + <!-- + 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="1088" 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.0 + --> + <ExportVideoProfile name="h264" profile= "1" level="2048"/> + <!-- + Codec = h.263, Baseline profile, level 70 + --> + <ExportVideoProfile name="h263" profile= "1" level="128"/> + <!-- + Codec = mpeg4, Simple profile, level 5 + --> + <ExportVideoProfile name="m4v" profile= "1" level="128"/> +</MediaSettings> |