sm8350-common: media: Import shima_v1 media codecs configs from odin V12.5.12.0.RKMCNXM

Change-Id: I6631222c1522a5e6845b6efc12ed0b5bef2ef341
This commit is contained in:
Arian 2022-02-16 00:49:20 +01:00
parent f7c1d550c3
commit b0ecaf4dca
4 changed files with 452 additions and 0 deletions

View File

@ -271,6 +271,10 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/media/lahaina/media_codecs_lahaina.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_lahaina.xml \
$(LOCAL_PATH)/media/lahaina/media_codecs_performance_lahaina.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_lahaina.xml
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/media/shima/media_codecs_performance_shima_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_shima_v1.xml \
$(LOCAL_PATH)/media/shima/media_codecs_shima_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_shima_v1.xml
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \

View File

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2017 The Linux Foundation. All rights reserved.
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.
-->
<MediaCodecs>
<Decoders>
<!-- C2 HW decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="480-510" />
<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="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="296-641" />
<Limit name="measured-frame-rate-720x480" range="278-594" />
<Limit name="measured-frame-rate-1280x720" range="200-420" />
<Limit name="measured-frame-rate-1920x1080" range="76-167" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" 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="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="800-850" />
<Limit name="measured-frame-rate-720x480" range="440-600" />
<Limit name="measured-frame-rate-1280x720" range="215-425" />
<Limit name="measured-frame-rate-1920x1080" range="118-259" />
<Limit name="measured-frame-rate-3840x2160" range="30-66" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="377-377" />
<Limit name="measured-frame-rate-640x360" range="486-751" />
<Limit name="measured-frame-rate-1280x720" range="262-262" />
<Limit name="measured-frame-rate-1920x1080" range="220-220" />
<Limit name="measured-frame-rate-3840x2160" range="51-51" />
</MediaCodec>
<!-- TODO: add C2 mpeg2 decoder performance data -->
<!-- C2 SW codecs -->
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="115-169" />
<Limit name="measured-frame-rate-720x480" range="40-60" />
<Limit name="measured-frame-rate-1280x720" range="17-24" />
<Limit name="measured-frame-rate-1920x1080" range="10-13" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="128-178" />
<Limit name="measured-frame-rate-640x360" range="84-96" />
<Limit name="measured-frame-rate-720x480" range="66-94" />
<Limit name="measured-frame-rate-1280x720" range="47-74" />
<Limit name="measured-frame-rate-1920x1080" range="29-43" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="310-690" />
<Limit name="measured-frame-rate-640x360" range="233-321" />
<Limit name="measured-frame-rate-1280x720" range="64-91" />
<Limit name="measured-frame-rate-1920x1080" range="22-33" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="234-450" />
<Limit name="measured-frame-rate-640x360" range="203-330" />
<Limit name="measured-frame-rate-1280x720" range="34-49" />
<Limit name="measured-frame-rate-1920x1080" range="20-31" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="450-850" />
<Limit name="measured-frame-rate-352x288" range="650-780" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="408-888" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 HW encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="337-452" />
<Limit name="measured-frame-rate-720x480" range="182-312" />
<Limit name="measured-frame-rate-1280x720" range="66-94" />
<Limit name="measured-frame-rate-1920x1080" range="55-65" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="332-443" />
<Limit name="measured-frame-rate-720x480" range="194-317" />
<Limit name="measured-frame-rate-1280x720" range="65-94" />
<Limit name="measured-frame-rate-1920x1080" range="55-65" />
<Limit name="measured-frame-rate-3840x2160" range="20-27" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="340-400" />
</MediaCodec>
<!-- C2 SW encoders -->
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="523-746" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="167-248" />
<Limit name="measured-frame-rate-720x480" range="62-90" />
<Limit name="measured-frame-rate-1280x720" range="48-56" />
<Limit name="measured-frame-rate-1920x1080" range="24-34" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="28-40" />
<Limit name="measured-frame-rate-720x480" range="10-16" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="315-379" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="104-156" />
<Limit name="measured-frame-rate-640x360" range="76-105" />
<Limit name="measured-frame-rate-1280x720" range="26-32" />
<Limit name="measured-frame-rate-1920x1080" range="19-26" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 93%:99-156 med:109/109 N=24 -->
<Limit name="measured-frame-rate-320x180" range="109-109" /> <!-- v93%=1.3 -->
<!-- measured 95%:54-67 med:61/61 N=36 -->
<Limit name="measured-frame-rate-640x360" range="61-61" /> <!-- v95%=1.1 -->
<!-- measured 95%:16-26 med:20/20 N=32 -->
<Limit name="measured-frame-rate-1280x720" range="20-20" /> <!-- v95%=1.3 -->
</MediaCodec>
</Encoders>
</MediaCodecs>

View File

@ -0,0 +1,298 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2020 Qualcomm Technologies, Inc.
All Rights Reserved.
Confidential and Proprietary - Qualcomm Technologies, Inc.
Not a Contribution.
Copyright (C) 2012-2018 The Linux Foundation. All rights reserved.
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.
-->
<!--
"performance-point"
Vendor-guaranteed performance advertised to the applications
<Limit name="performance-point-widthxheight" value="fps" />
-For each of the resolutions, the advertised fps is the max supported,
with HW-friendly color format and considering video-only.
-Performance for any intermediate resolution will be that of the
next-higher-advertised-resolution.
standard sizes: 480p/576p (SD), 720p (HD), 1080p (FHD), 2160p (UHD)
standard frame rates: 24, 25, 30, 48+, 50, 60, 100*, 120*, 200*, 240* fps
* HD+ only
+ SD only
- All supported standard performance points are listed (unless they are
covered by another listed standard performance point)
- Non-standard performance points are listed along with all the standard
performance points covered by them.
-->
<!--
Shima Non-Secure decoder capabilities
(MB is defined as 16x16)
_______________________________________________________
| Codec | W H fps Mbps MB/s |
|_____________|_______________________________________|
| h264 | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| hevc | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| vp9 | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| mpeg2 | 1920 1088 30 40 244800 |
|_____________|_______________________________________|
Shima Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_____________________________________|
| h264 | 3840 2176 60 40 1958400 |
| | 4096 2176 48 40 |
| vp9 | 3840 2176 60 40 1958400 |
| | 4096 2176 48 40 |
| hevc | 3840 2176 60 40 1958400 |
| | 4096 2176 48 40 |
|__________|_____________________________________|
Shima Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_____________________________________|
| h264 | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
| hevc | 3840 2176 60 100 1958400 |
| | 4096 2176 48 100 |
|__________|_____________________________________|
-->
<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>
<Decoders>
<!-- C2 decoders -->
<MediaCodec name="c2.qti.avc.decoder" type="video/avc">
<Alias name="OMX.qcom.video.decoder.avc"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" range="36-1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc">
<Alias name="OMX.qcom.video.decoder.avc.low_latency"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" range="36-1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
<Alias name="OMX.qcom.video.decoder.avc.secure"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.low_latency"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.secure"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9.secure"/>
<Limit name="size" min="96x96" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-34816" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-40000000" />
<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-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.mpeg2.decoder" type="video/mpeg2" >
<Alias name="OMX.qcom.video.decoder.mpeg2"/>
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-8160" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc">
<Alias name="OMX.qcom.video.encoder.avc"/>
<Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1958400" />
<Limit name="block-count" range="64-34816" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc"/>
<Limit name="size" min="128x128" max="4096x2176" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="1958400" />
<Limit name="block-count" range="64-34816" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc.cq"/>
<Limit name="size" min="128x128" max="512x512" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="20480" />
<Limit name="bitrate" range="1-160000000" />
<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="c2.qti.heic.encoder" type="image/vnd.android.heic">
<Alias name="OMX.qcom.video.encoder.heic"/>
<Limit name="size" min="512x512" max="16384x16384" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="3916800" />
<Limit name="bitrate" range="1-160000000" />
<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-16384x8192" value="3" />
<Limit name="performance-point-1920x1080" value="6" />
</MediaCodec>
</Encoders>
<Include href="media_codecs_google_c2.xml" />
</MediaCodecs>

View File

@ -416,6 +416,7 @@ vendor/etc/init/init.qti.media.rc
vendor/etc/init/vendor.qti.media.c2@1.0-service.rc
vendor/etc/media/video_system_specs.json
vendor/etc/media_lahaina/video_system_specs.json
vendor/etc/media_shima_v1/video_system_specs.json
vendor/etc/seccomp_policy/codec2.vendor.base-arm.policy
vendor/etc/seccomp_policy/codec2.vendor.ext-arm.policy
vendor/etc/video_system_specs.json