sm8450-common: Extract diwali media configs

Signed-off-by: Jens Reidel <adrian@travitia.xyz>
This commit is contained in:
Jens Reidel 2024-04-27 23:53:50 +02:00
parent a4e8045c2b
commit ec9369f673
No known key found for this signature in database
GPG Key ID: 23C1E5F512C12303
13 changed files with 7254 additions and 0 deletions

View File

@ -0,0 +1,318 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2022 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.
-->
<!--
Diwali Non-Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|_____________|_____________________________________________________|
| h264 | 1920 1088 480 220 3916800 3916800 |
| | 3840 2176 120 220 3916800 |
| | 7680 4320 30 220 3888000 |
| | 8192 4320 24 220 3317760 |
| hevc | 1920 1088 480 220 3916800 3916800 |
| | 3840 2176 120 220 3916800 |
| | 7680 4320 30 220 3888000 |
| | 8192 4320 24 220 3317760 |
| vp9 | 1920 1088 60 100 489600 2211840 |
| | 4096 2304 60 100 2211840 |
|_____________|_____________________________________________________|
Diwali Secure decoder capabilities
(MB is defined as 16x16)
_________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 60 40 220800 2211840 |
| | 1920 1088 60 40 489600 |
| | 4096 2304 60 40 2211840 |
| hevc | 1280 720 60 40 220800 2211840 |
| | 1920 1088 60 40 489600 |
| | 4096 2304 60 40 2211840 |
| vp9 | 1280 720 60 40 220800 2211840 |
| | 1920 1088 60 40 489600 |
| | 4096 2304 60 40 2211840 |
|__________|_____________________________________________________|
Diwali Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1920 1088 240 160 1958400 2211840 |
| | 4096 2304 60 160 2211840 |
| hevc | 1920 1088 240 160 1958400 2211840 |
| | 4096 2304 60 160 2211840 |
|__________|_____________________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_vendor_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Include href="media_codecs_c2_audio.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="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-138240" />
<Limit name="blocks-per-second" range="36-3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</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="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-138240" />
<Limit name="blocks-per-second" range="36-3916800" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</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="4096x4096" />
<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="2211840" />
<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-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" 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="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-138240" />
<Limit name="blocks-per-second" min="36" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</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="8192x8192" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="36-138240" />
<Limit name="blocks-per-second" min="36" max="3916800" />
<Limit name="bitrate" range="1-70000000" />
<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-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-7680x4320" value="30" />
</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="4096x4096" />
<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="2211840" />
<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-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" 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="4096x4096" />
<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="2211840" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.low_latency" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9.low_latency"/>
<Limit name="size" min="96x96" max="4096x4096" />
<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="2211840" />
<Limit name="bitrate" range="1-30000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" 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="4096x4096" />
<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="2211840" />
<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-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2211840" />
<Limit name="block-count" range="64-34816" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Feature name="video-minimum-quality" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc"/>
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2211840" />
<Limit name="block-count" range="64-34816" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Feature name="video-minimum-quality" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="3916800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<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="3825" />
</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-100000000" />
<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

@ -0,0 +1,303 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2021 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.
-->
<!--
Diwali Non-Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1920 1088 240 180 1958400 2211840 |
| | 4096 2304 60 180 2211840 |
| hevc | 1920 1088 240 180 1958400 2211840 |
| | 4096 2304 60 180 2211840 |
| vp9 | 1920 1088 240 100 1958400 2211840 |
| | 4096 2304 60 100 2211840 |
|__________|_____________________________________________________|
Diwali Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________
| Codec | W H fps Mbps MB/s |
|__________|_____________________________________|
| h264 | 4096 2304 60 40 2211840 |
| vp9 | 4096 2304 60 40 2211840 |
| hevc | 4096 2304 60 40 2211840 |
|__________|_____________________________________|
Diwali Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1920 1088 240 100 1958400 2211840 |
| | 4096 2304 60 100 2211840 |
| hevc | 1920 1088 240 100 1958400 2211840 |
| | 4096 2304 60 100 2211840 |
|__________|_____________________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_google_audio.xml" />
<Include href="media_codecs_vendor_audio.xml" />
<Include href="media_codecs_google_telephony.xml" />
<Include href="media_codecs_c2_audio.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="4096x4096" />
<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-2211840" />
<Limit name="bitrate" range="1-180000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="4096x4096" />
<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-2211840" />
<Limit name="bitrate" range="1-70000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="4096x4096" />
<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="2211840" />
<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-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" 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="4096x4096" />
<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="2211840" />
<Limit name="bitrate" range="1-180000000" />
<Limit name="frame-rate" range="1-480" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="4096x4096" />
<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="2211840" />
<Limit name="bitrate" range="1-70000000" />
<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-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="4096x4096" />
<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="2211840" />
<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-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" 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="4096x4096" />
<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="2211840" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.low_latency" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9.low_latency"/>
<Limit name="size" min="96x96" max="4096x4096" />
<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="2211840" />
<Limit name="bitrate" range="1-30000000" />
<Limit name="frame-rate" range="1-60" />
<Feature name="adaptive-playback" />
<Feature name="low-latency" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" 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="4096x4096" />
<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="2211840" />
<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-3840x2160" value="60" />
<Limit name="performance-point-4096x2304" value="60" />
</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="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2211840" />
<Limit name="block-count" range="64-34816" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Feature name="video-minimum-quality" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc"/>
<Limit name="size" min="128x128" max="4096x4096" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="64" max="2211840" />
<Limit name="block-count" range="64-34816" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Feature name="video-minimum-quality" />
<Limit name="performance-point-1280x720" value="480" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-3840x2160" value="60" />
</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="3916800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-480" />
<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="3825" />
</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-100000000" />
<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

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<MediaCodecs>
<Include href="media_codecs_system_default.xml" />
<Include href="media_codecs_dolby_audio.xml" />
<Include href="media_codecs_with_dolby_taro.xml" />
<Include href="media_codecs_with_dolby_diwali.xml" />
<Include href="media_codecs_with_dolby_cape.xml" />
</MediaCodecs>

View File

@ -0,0 +1,186 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2021 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="720-2500" />
<Limit name="measured-frame-rate-720x480" range="450-1700" />
<Limit name="measured-frame-rate-1280x720" range="250-950" />
<Limit name="measured-frame-rate-1920x1088" range="120-500" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="380-2000" />
<Limit name="measured-frame-rate-720x480" range="380-2000" />
<Limit name="measured-frame-rate-1280x720" range="253-950" />
<Limit name="measured-frame-rate-1920x1080" range="120-410" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="465-1900" />
<Limit name="measured-frame-rate-720x480" range="370-1550" />
<Limit name="measured-frame-rate-1280x720" range="270-2600" />
<Limit name="measured-frame-rate-1920x1080" range="260-1200" />
<Limit name="measured-frame-rate-3840x2160" range="67-505" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="390-1850" />
<Limit name="measured-frame-rate-720x480" range="380-1700" />
<Limit name="measured-frame-rate-1280x720" range="315-1920" />
<Limit name="measured-frame-rate-1920x1080" range="220-800" />
<Limit name="measured-frame-rate-3840x2160" range="67-240" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="415-1700" />
<Limit name="measured-frame-rate-640x360" range="280-1600" />
<Limit name="measured-frame-rate-1280x720" range="165-450" />
<Limit name="measured-frame-rate-1920x1080" range="130-450" />
<Limit name="measured-frame-rate-3840x2160" range="39-255" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.low_latency" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="415-1700" />
<Limit name="measured-frame-rate-640x360" range="280-1600" />
<Limit name="measured-frame-rate-1280x720" range="165-450" />
<Limit name="measured-frame-rate-1920x1080" range="130-450" />
<Limit name="measured-frame-rate-3840x2160" range="39-255" />
</MediaCodec>
<!-- C2 SW codecs -->
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<!-- measured 98%:153-414 med:193/192 FLAKY(mn=61.7 < 96 - 414 < mx=423.7) -->
<Limit name="measured-frame-rate-320x240" range="211-600" /> <!-- N=266 v98%=1.6 -->
<Limit name="measured-frame-rate-720x480" range="57-405" /> <!-- N=266 v98%=1.5 -->
<Limit name="measured-frame-rate-1280x720" range="17-98" /> <!-- N=236 v98%=1.5 (-PD1A.180712.003) -->
<Limit name="measured-frame-rate-1920x1080" range="14-32" /> <!-- N=272 v98%=1.4 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="220-950" /> <!-- N=270 v98%=1.6 -->
<!-- measured 98%:77-220 med:165/169 FLAKY(mn=74.9 < 75 - 338) -->
<Limit name="measured-frame-rate-640x360" range="120-830" /> <!-- TWEAKED N=269 v98%=1.7 -->
<!-- measured 98%:85-223 med:194/186 FLAKY(mn=80.8 < 85 - 372) -->
<Limit name="measured-frame-rate-720x480" range="129-563" /> <!-- TWEAKED N=270 v98%=1.6 -->
<Limit name="measured-frame-rate-1280x720" range="41-200" /> <!-- N=270 v98%=1.4 -->
<Limit name="measured-frame-rate-1920x1080" range="25-100" /> <!-- N=230 v98%=1.2 (-PD1A.180706.000) -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 98%:191-657 med:617/613 FLAKY(mn=183.9 < 191 - 1226) -->
<Limit name="measured-frame-rate-320x180" range="550-1850" /> <!-- TWEAKED N=270 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-640x360" range="250-800" /> <!-- N=230 v98%=1.3 -->
<!-- measured 98%:35-54 med:36/36 N=64 -->
<Limit name="measured-frame-rate-1280x720" range="59-360" /> <!-- v98%=1.2 (PD1A.180706.000-) -->
<Limit name="measured-frame-rate-1920x1080" range="23-113" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 98%:173-698 med:670/668 FLAKY(mn=161.4 < 162 - 1336) variance:2.0 -->
<Limit name="measured-frame-rate-320x180" range="488-1500" /> <!-- TWEAKED N=228 -->
<Limit name="measured-frame-rate-640x360" range="265-900" /> <!-- N=272 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1280x720" range="95-400" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1920x1080" range="50-215" /> <!-- N=230 v98%=1.2 -->
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<!-- measured 98%:151-1143 med:437/432 FLAKY(111 - 972 < mx=1146.8) variance:2.8 -->
<Limit name="measured-frame-rate-176x144" range="800-2600" /> <!-- N=270 -->
<Limit name="measured-frame-rate-352x288" range="620-1900" /> <!-- N=270 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<!-- measured 90%:149-1332 med:379/360 FLAKY(109 - 958 < mx=1400.6) RG.VARIANCE:2.1 -->
<Limit name="measured-frame-rate-176x144" range="865-2800" /> <!-- N=272 v90%=3.0 -->
<Limit name="measured-frame-rate-480x360" range="843-1097" />
<Limit name="measured-frame-rate-1280x720" range="170-465" />
</MediaCodec>
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="186-426" />
<Limit name="measured-frame-rate-640x360" range="129-297" />
<Limit name="measured-frame-rate-720x480" range="102-228" />
<Limit name="measured-frame-rate-1280x720" range="52-116" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 HW encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="200-600" />
<Limit name="measured-frame-rate-720x480" range="110-240" />
<Limit name="measured-frame-rate-1280x720" range="65-150" />
<Limit name="measured-frame-rate-1920x1080" range="35-80" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="480-535" />
<Limit name="measured-frame-rate-720x480" range="165-210" />
<Limit name="measured-frame-rate-1280x720" range="133-184" />
<Limit name="measured-frame-rate-1920x1080" range="84-131" />
<Limit name="measured-frame-rate-3840x2160" range="31-44" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="388-897" />
</MediaCodec>
<!-- C2 SW encoders -->
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<!-- measured 95%:144-637 med:343/343 FLAKY(mn=40.8 < 144 - 808 < mx=916.6) variance:2.1 -->
<Limit name="measured-frame-rate-176x144" range="287-459" /> <!-- TWEAKED N=224 -->
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<!-- measured 90%:42-420 med:146/160 FLAKY(mn=39.0 < 42 - 368 < mx=569.5) RG.VARIANCE:2.2 -->
<Limit name="measured-frame-rate-320x240" range="140-980" /> <!-- SHOULDN'T HAVE TWEAKED N=266 v90%=3.2 -->
<!-- measured 98%:29-166 med:66/63 FLAKY(24 - 166 < mx=166.5) variance:2.4 -->
<Limit name="measured-frame-rate-720x480" range="47-90" /> <!-- N=262 -->
<!-- measured 98%:11-68 med:30/30 FLAKY(mn=10.5 < 11 - 68 < mx=82.1) variance:2.5 -->
<Limit name="measured-frame-rate-1280x720" range="30-200" /> <!-- TWEAKED N=236 -->
<!-- measured 98%:10-38 med:18/18 FLAKY(mn=5.2 < 9 - 38 < mx=38.8) -->
<Limit name="measured-frame-rate-1920x1080" range="20-80" /> <!-- N=288 v98%=2.0 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<!-- measured 90%:29-451 med:208/206 FLAKY(mn=19.2 < 47 - 412 < mx=888.9) RG.VARIANCE:2.5 -->
<Limit name="measured-frame-rate-176x144" range="203-445" /> <!-- SHOULDN'T HAVE TWEAKED N=220 v90%=4.0 -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 90%:6-36 med:30/29 FLAKY(mn=0.0 < 7 - 58) variance:2.5 -->
<Limit name="measured-frame-rate-320x180" range="299-429" /> <!-- SHOULDN'T HAVE TWEAKED N=214 -->
<!-- measured 98%:3-24 med:12/12 FLAKY(mn=2.8 < 3 - 24 < mx=26.6) variance:2.8 -->
<Limit name="measured-frame-rate-640x360" range="75-350" /> <!-- N=220 -->
<!-- measured 98%:3-11 med:6/6 FLAKY(mn=0.0 < 3 - 12) -->
<Limit name="measured-frame-rate-1280x720" range="24-85" /> <!-- N=202 v98%=2.0 -->
<!-- measured 98%:3-7 med:5/5 FLAKY(mn=0.0 < 2 - 10 < mx=11.2) -->
<Limit name="measured-frame-rate-1920x1080" range="10-115" /> <!-- N=212 v98%=1.5 -->
</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="116-260" /> <!-- v93%=1.3 -->
<!-- measured 95%:54-67 med:61/61 N=36 -->
<Limit name="measured-frame-rate-640x360" range="35-75" /> <!-- 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>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="38-47" />
<Limit name="measured-frame-rate-720x480" range="8-15" />
</MediaCodec>
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="175-390" />
<Limit name="measured-frame-rate-720x480" range="60-130" />
<Limit name="measured-frame-rate-1280x720" range="20-35" />
</MediaCodec>
</Encoders>
</MediaCodecs>

View File

@ -0,0 +1,186 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2021 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="720-2500" />
<Limit name="measured-frame-rate-720x480" range="450-1700" />
<Limit name="measured-frame-rate-1280x720" range="250-950" />
<Limit name="measured-frame-rate-1920x1088" range="120-500" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="380-2000" />
<Limit name="measured-frame-rate-720x480" range="380-2000" />
<Limit name="measured-frame-rate-1280x720" range="253-950" />
<Limit name="measured-frame-rate-1920x1080" range="120-410" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="465-1900" />
<Limit name="measured-frame-rate-720x480" range="370-1550" />
<Limit name="measured-frame-rate-1280x720" range="270-2600" />
<Limit name="measured-frame-rate-1920x1080" range="260-1200" />
<Limit name="measured-frame-rate-3840x2160" range="67-505" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="390-1850" />
<Limit name="measured-frame-rate-720x480" range="380-1700" />
<Limit name="measured-frame-rate-1280x720" range="315-1920" />
<Limit name="measured-frame-rate-1920x1080" range="220-800" />
<Limit name="measured-frame-rate-3840x2160" range="67-240" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="415-1700" />
<Limit name="measured-frame-rate-640x360" range="280-1600" />
<Limit name="measured-frame-rate-1280x720" range="165-450" />
<Limit name="measured-frame-rate-1920x1080" range="130-450" />
<Limit name="measured-frame-rate-3840x2160" range="39-255" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.low_latency" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="415-1700" />
<Limit name="measured-frame-rate-640x360" range="280-1600" />
<Limit name="measured-frame-rate-1280x720" range="165-450" />
<Limit name="measured-frame-rate-1920x1080" range="130-450" />
<Limit name="measured-frame-rate-3840x2160" range="39-255" />
</MediaCodec>
<!-- C2 SW codecs -->
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<!-- measured 98%:153-414 med:193/192 FLAKY(mn=61.7 < 96 - 414 < mx=423.7) -->
<Limit name="measured-frame-rate-320x240" range="211-600" /> <!-- N=266 v98%=1.6 -->
<Limit name="measured-frame-rate-720x480" range="57-405" /> <!-- N=266 v98%=1.5 -->
<Limit name="measured-frame-rate-1280x720" range="17-98" /> <!-- N=236 v98%=1.5 (-PD1A.180712.003) -->
<Limit name="measured-frame-rate-1920x1080" range="14-32" /> <!-- N=272 v98%=1.4 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="220-950" /> <!-- N=270 v98%=1.6 -->
<!-- measured 98%:77-220 med:165/169 FLAKY(mn=74.9 < 75 - 338) -->
<Limit name="measured-frame-rate-640x360" range="120-830" /> <!-- TWEAKED N=269 v98%=1.7 -->
<!-- measured 98%:85-223 med:194/186 FLAKY(mn=80.8 < 85 - 372) -->
<Limit name="measured-frame-rate-720x480" range="129-563" /> <!-- TWEAKED N=270 v98%=1.6 -->
<Limit name="measured-frame-rate-1280x720" range="41-200" /> <!-- N=270 v98%=1.4 -->
<Limit name="measured-frame-rate-1920x1080" range="25-100" /> <!-- N=230 v98%=1.2 (-PD1A.180706.000) -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 98%:191-657 med:617/613 FLAKY(mn=183.9 < 191 - 1226) -->
<Limit name="measured-frame-rate-320x180" range="550-1850" /> <!-- TWEAKED N=270 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-640x360" range="250-800" /> <!-- N=230 v98%=1.3 -->
<!-- measured 98%:35-54 med:36/36 N=64 -->
<Limit name="measured-frame-rate-1280x720" range="59-360" /> <!-- v98%=1.2 (PD1A.180706.000-) -->
<Limit name="measured-frame-rate-1920x1080" range="23-113" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 98%:173-698 med:670/668 FLAKY(mn=161.4 < 162 - 1336) variance:2.0 -->
<Limit name="measured-frame-rate-320x180" range="488-1500" /> <!-- TWEAKED N=228 -->
<Limit name="measured-frame-rate-640x360" range="265-900" /> <!-- N=272 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1280x720" range="95-400" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1920x1080" range="50-215" /> <!-- N=230 v98%=1.2 -->
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<!-- measured 98%:151-1143 med:437/432 FLAKY(111 - 972 < mx=1146.8) variance:2.8 -->
<Limit name="measured-frame-rate-176x144" range="800-2600" /> <!-- N=270 -->
<Limit name="measured-frame-rate-352x288" range="620-1900" /> <!-- N=270 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<!-- measured 90%:149-1332 med:379/360 FLAKY(109 - 958 < mx=1400.6) RG.VARIANCE:2.1 -->
<Limit name="measured-frame-rate-176x144" range="865-2800" /> <!-- N=272 v90%=3.0 -->
<Limit name="measured-frame-rate-480x360" range="843-1097" />
<Limit name="measured-frame-rate-1280x720" range="170-465" />
</MediaCodec>
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="186-426" />
<Limit name="measured-frame-rate-640x360" range="129-297" />
<Limit name="measured-frame-rate-720x480" range="102-228" />
<Limit name="measured-frame-rate-1280x720" range="52-116" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 HW encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="200-600" />
<Limit name="measured-frame-rate-720x480" range="110-240" />
<Limit name="measured-frame-rate-1280x720" range="65-150" />
<Limit name="measured-frame-rate-1920x1080" range="35-80" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="480-535" />
<Limit name="measured-frame-rate-720x480" range="165-210" />
<Limit name="measured-frame-rate-1280x720" range="133-184" />
<Limit name="measured-frame-rate-1920x1080" range="84-131" />
<Limit name="measured-frame-rate-3840x2160" range="31-44" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="388-897" />
</MediaCodec>
<!-- C2 SW encoders -->
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<!-- measured 95%:144-637 med:343/343 FLAKY(mn=40.8 < 144 - 808 < mx=916.6) variance:2.1 -->
<Limit name="measured-frame-rate-176x144" range="287-459" /> <!-- TWEAKED N=224 -->
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<!-- measured 90%:42-420 med:146/160 FLAKY(mn=39.0 < 42 - 368 < mx=569.5) RG.VARIANCE:2.2 -->
<Limit name="measured-frame-rate-320x240" range="140-980" /> <!-- SHOULDN'T HAVE TWEAKED N=266 v90%=3.2 -->
<!-- measured 98%:29-166 med:66/63 FLAKY(24 - 166 < mx=166.5) variance:2.4 -->
<Limit name="measured-frame-rate-720x480" range="47-90" /> <!-- N=262 -->
<!-- measured 98%:11-68 med:30/30 FLAKY(mn=10.5 < 11 - 68 < mx=82.1) variance:2.5 -->
<Limit name="measured-frame-rate-1280x720" range="30-200" /> <!-- TWEAKED N=236 -->
<!-- measured 98%:10-38 med:18/18 FLAKY(mn=5.2 < 9 - 38 < mx=38.8) -->
<Limit name="measured-frame-rate-1920x1080" range="20-80" /> <!-- N=288 v98%=2.0 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<!-- measured 90%:29-451 med:208/206 FLAKY(mn=19.2 < 47 - 412 < mx=888.9) RG.VARIANCE:2.5 -->
<Limit name="measured-frame-rate-176x144" range="203-445" /> <!-- SHOULDN'T HAVE TWEAKED N=220 v90%=4.0 -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 90%:6-36 med:30/29 FLAKY(mn=0.0 < 7 - 58) variance:2.5 -->
<Limit name="measured-frame-rate-320x180" range="299-429" /> <!-- SHOULDN'T HAVE TWEAKED N=214 -->
<!-- measured 98%:3-24 med:12/12 FLAKY(mn=2.8 < 3 - 24 < mx=26.6) variance:2.8 -->
<Limit name="measured-frame-rate-640x360" range="75-350" /> <!-- N=220 -->
<!-- measured 98%:3-11 med:6/6 FLAKY(mn=0.0 < 3 - 12) -->
<Limit name="measured-frame-rate-1280x720" range="24-85" /> <!-- N=202 v98%=2.0 -->
<!-- measured 98%:3-7 med:5/5 FLAKY(mn=0.0 < 2 - 10 < mx=11.2) -->
<Limit name="measured-frame-rate-1920x1080" range="10-115" /> <!-- N=212 v98%=1.5 -->
</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="116-260" /> <!-- v93%=1.3 -->
<!-- measured 95%:54-67 med:61/61 N=36 -->
<Limit name="measured-frame-rate-640x360" range="35-75" /> <!-- 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>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="38-47" />
<Limit name="measured-frame-rate-720x480" range="8-15" />
</MediaCodec>
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="175-390" />
<Limit name="measured-frame-rate-720x480" range="60-130" />
<Limit name="measured-frame-rate-1280x720" range="20-35" />
</MediaCodec>
</Encoders>
</MediaCodecs>

View File

@ -0,0 +1,186 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2018-2022 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="720-2500" />
<Limit name="measured-frame-rate-720x480" range="450-1700" />
<Limit name="measured-frame-rate-1280x720" range="250-950" />
<Limit name="measured-frame-rate-1920x1088" range="120-500" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="380-2000" />
<Limit name="measured-frame-rate-720x480" range="380-2000" />
<Limit name="measured-frame-rate-1280x720" range="253-950" />
<Limit name="measured-frame-rate-1920x1080" range="120-410" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="465-1900" />
<Limit name="measured-frame-rate-720x480" range="370-1550" />
<Limit name="measured-frame-rate-1280x720" range="212-329" />
<Limit name="measured-frame-rate-1920x1080" range="130-184" />
<Limit name="measured-frame-rate-3840x2160" range="35-49" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="390-1850" />
<Limit name="measured-frame-rate-720x480" range="380-1700" />
<Limit name="measured-frame-rate-1280x720" range="315-1920" />
<Limit name="measured-frame-rate-1920x1080" range="220-800" />
<Limit name="measured-frame-rate-3840x2160" range="67-240" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="415-1700" />
<Limit name="measured-frame-rate-640x360" range="280-1600" />
<Limit name="measured-frame-rate-1280x720" range="165-450" />
<Limit name="measured-frame-rate-1920x1080" range="130-450" />
<Limit name="measured-frame-rate-3840x2160" range="39-255" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.low_latency" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="415-1700" />
<Limit name="measured-frame-rate-640x360" range="280-1600" />
<Limit name="measured-frame-rate-1280x720" range="165-450" />
<Limit name="measured-frame-rate-1920x1080" range="130-450" />
<Limit name="measured-frame-rate-3840x2160" range="39-255" />
</MediaCodec>
<!-- C2 SW codecs -->
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<!-- measured 98%:153-414 med:193/192 FLAKY(mn=61.7 < 96 - 414 < mx=423.7) -->
<Limit name="measured-frame-rate-320x240" range="211-600" /> <!-- N=266 v98%=1.6 -->
<Limit name="measured-frame-rate-720x480" range="57-405" /> <!-- N=266 v98%=1.5 -->
<Limit name="measured-frame-rate-1280x720" range="17-98" /> <!-- N=236 v98%=1.5 (-PD1A.180712.003) -->
<Limit name="measured-frame-rate-1920x1080" range="14-32" /> <!-- N=272 v98%=1.4 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="220-950" /> <!-- N=270 v98%=1.6 -->
<!-- measured 98%:77-220 med:165/169 FLAKY(mn=74.9 < 75 - 338) -->
<Limit name="measured-frame-rate-640x360" range="120-830" /> <!-- TWEAKED N=269 v98%=1.7 -->
<!-- measured 98%:85-223 med:194/186 FLAKY(mn=80.8 < 85 - 372) -->
<Limit name="measured-frame-rate-720x480" range="129-563" /> <!-- TWEAKED N=270 v98%=1.6 -->
<Limit name="measured-frame-rate-1280x720" range="41-200" /> <!-- N=270 v98%=1.4 -->
<Limit name="measured-frame-rate-1920x1080" range="25-100" /> <!-- N=230 v98%=1.2 (-PD1A.180706.000) -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 98%:191-657 med:617/613 FLAKY(mn=183.9 < 191 - 1226) -->
<Limit name="measured-frame-rate-320x180" range="550-1850" /> <!-- TWEAKED N=270 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-640x360" range="250-800" /> <!-- N=230 v98%=1.3 -->
<!-- measured 98%:35-54 med:36/36 N=64 -->
<Limit name="measured-frame-rate-1280x720" range="59-360" /> <!-- v98%=1.2 (PD1A.180706.000-) -->
<Limit name="measured-frame-rate-1920x1080" range="23-113" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<!-- measured 98%:173-698 med:670/668 FLAKY(mn=161.4 < 162 - 1336) variance:2.0 -->
<Limit name="measured-frame-rate-320x180" range="488-1500" /> <!-- TWEAKED N=228 -->
<Limit name="measured-frame-rate-640x360" range="265-900" /> <!-- N=272 v98%=1.9 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1280x720" range="95-400" /> <!-- N=270 v98%=1.3 (-PD1A.180717.001) -->
<Limit name="measured-frame-rate-1920x1080" range="50-215" /> <!-- N=230 v98%=1.2 -->
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<!-- measured 98%:151-1143 med:437/432 FLAKY(111 - 972 < mx=1146.8) variance:2.8 -->
<Limit name="measured-frame-rate-176x144" range="800-2600" /> <!-- N=270 -->
<Limit name="measured-frame-rate-352x288" range="620-1900" /> <!-- N=270 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<!-- measured 90%:149-1332 med:379/360 FLAKY(109 - 958 < mx=1400.6) RG.VARIANCE:2.1 -->
<Limit name="measured-frame-rate-176x144" range="865-2800" /> <!-- N=272 v90%=3.0 -->
<Limit name="measured-frame-rate-480x360" range="843-1097" />
<Limit name="measured-frame-rate-1280x720" range="170-465" />
</MediaCodec>
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="186-426" />
<Limit name="measured-frame-rate-640x360" range="129-297" />
<Limit name="measured-frame-rate-720x480" range="102-228" />
<Limit name="measured-frame-rate-1280x720" range="52-116" />
</MediaCodec>
</Decoders>
<Encoders>
<!-- C2 HW encoders -->
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="200-600" />
<Limit name="measured-frame-rate-720x480" range="110-240" />
<Limit name="measured-frame-rate-1280x720" range="65-150" />
<Limit name="measured-frame-rate-1920x1080" range="35-80" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="480-535" />
<Limit name="measured-frame-rate-720x480" range="165-210" />
<Limit name="measured-frame-rate-1280x720" range="133-184" />
<Limit name="measured-frame-rate-1920x1080" range="84-131" />
<Limit name="measured-frame-rate-3840x2160" range="31-44" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="388-897" />
</MediaCodec>
<!-- C2 SW encoders -->
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<!-- measured 95%:144-637 med:343/343 FLAKY(mn=40.8 < 144 - 808 < mx=916.6) variance:2.1 -->
<Limit name="measured-frame-rate-176x144" range="287-459" /> <!-- TWEAKED N=224 -->
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<!-- measured 90%:42-420 med:146/160 FLAKY(mn=39.0 < 42 - 368 < mx=569.5) RG.VARIANCE:2.2 -->
<Limit name="measured-frame-rate-320x240" range="140-980" /> <!-- SHOULDN'T HAVE TWEAKED N=266 v90%=3.2 -->
<!-- measured 98%:29-166 med:66/63 FLAKY(24 - 166 < mx=166.5) variance:2.4 -->
<Limit name="measured-frame-rate-720x480" range="47-90" /> <!-- N=262 -->
<!-- measured 98%:11-68 med:30/30 FLAKY(mn=10.5 < 11 - 68 < mx=82.1) variance:2.5 -->
<Limit name="measured-frame-rate-1280x720" range="30-200" /> <!-- TWEAKED N=236 -->
<!-- measured 98%:10-38 med:18/18 FLAKY(mn=5.2 < 9 - 38 < mx=38.8) -->
<Limit name="measured-frame-rate-1920x1080" range="20-80" /> <!-- N=288 v98%=2.0 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<!-- measured 90%:29-451 med:208/206 FLAKY(mn=19.2 < 47 - 412 < mx=888.9) RG.VARIANCE:2.5 -->
<Limit name="measured-frame-rate-176x144" range="203-445" /> <!-- SHOULDN'T HAVE TWEAKED N=220 v90%=4.0 -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 90%:6-36 med:30/29 FLAKY(mn=0.0 < 7 - 58) variance:2.5 -->
<Limit name="measured-frame-rate-320x180" range="299-429" /> <!-- SHOULDN'T HAVE TWEAKED N=214 -->
<!-- measured 98%:3-24 med:12/12 FLAKY(mn=2.8 < 3 - 24 < mx=26.6) variance:2.8 -->
<Limit name="measured-frame-rate-640x360" range="75-350" /> <!-- N=220 -->
<!-- measured 98%:3-11 med:6/6 FLAKY(mn=0.0 < 3 - 12) -->
<Limit name="measured-frame-rate-1280x720" range="24-85" /> <!-- N=202 v98%=2.0 -->
<!-- measured 98%:3-7 med:5/5 FLAKY(mn=0.0 < 2 - 10 < mx=11.2) -->
<Limit name="measured-frame-rate-1920x1080" range="10-115" /> <!-- N=212 v98%=1.5 -->
</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="116-260" /> <!-- v93%=1.3 -->
<!-- measured 95%:54-67 med:61/61 N=36 -->
<Limit name="measured-frame-rate-640x360" range="35-75" /> <!-- 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>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="38-47" />
<Limit name="measured-frame-rate-720x480" range="8-15" />
</MediaCodec>
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="175-390" />
<Limit name="measured-frame-rate-720x480" range="60-130" />
<Limit name="measured-frame-rate-1280x720" range="20-35" />
</MediaCodec>
</Encoders>
</MediaCodecs>

View File

@ -0,0 +1,230 @@
// If you modify this file,
// 1. Push it to /vendor/etc/video_system_specs.json on the device
// 2. Kill media.hwcodec to get the new changed values.
// Note: Please do not use hexadecimal values 0x in this file.
{
"Video": {
// feature list used for enable/disable
"Features": {
// This enables single buffer multi-offset feature for decoder input buffer
"api_same_input_buffer_support": true,
// This is used for encoder color space conversion with custom matrix.
// custom matrix is defined in kernel driver
// this triggers to enable CSC to 709LR with custom matrix
"enc_csc_custom_matrix": false,
// this enables adaptive blur if possible by encoder.
// this is preprocessing of encoder input YUV buffers
"enc_auto_blur": true,
// this enables encoding rotate by C2D. it is used for some low tier end chipsets which
// don't support rotate feature in video core. TODO - Rename as enc_vpss_rotation
"enc_c2d_rotation": false,
// target supports cvp for all encode usecases.
"enc_cvp_enable": true,
// encoder csc enable
"enc_csc_enable": false,
// perf hints support for decoder
"perf_control_enable": true,
// this enables pipeline code for querying capabilities and creating codecs
"pipelining": true,
// this enables pre-processing pipeline
"pre_processing_pipelining": false,
// It is used to enable fastCV engine for flip support in the absence of VPSS hardware
// support.
"enc_vpss_flip": true,
// this enables RGB conversion with image convertor
"rgb_image_converter": true,
// perf controller support for decoder and encoder
"perf_control_enable": true,
// this will enable the graphics pipeline for
// CSC and converting images to other format and
// Rotating the frame etc
"vtxr_enable": true,
// this will enable software I/O chache coherency
"sw_cache_coherency": false
},
"Presets": {
// this is used for secure decoding performance boost handling
// prefech sizes of internal & output buffers
// internal : 200 MB (200 X 1)
// output : 200 MB (12.5 X 16)
"dec_sec_prefetch_size_internal": 209715200,
"dec_sec_prefetch_size_output": 13434880,
// control to force enable linear color format for decoder
// if this is enable, then decoder will produce linear color format output.
// it is bitmask:
// 0x0: no override,
// 0x1: enable 8 bit: linear format. 10 bit: compressed format
// 0x2: 8 bit: compressed format. 10 bit: linear format
// 0x3: 8 bit: linear format. 10 bit: linear format
"dec_linear_color_format": 0,
// maximum MB/sec for default single non-ref b-frame enablement case
// 3840x2160@30fps
"enc_single_nonref_b_max_mbs_per_sec": 972000,
// maximum MB/frame for default adaptive b-frame enablement case
// 3840x2160/256
"enc_single_nonref_b_max_mbs_per_frame": 32400,
// maximum width for default adaptive b-frame enablement case
// Max Width=3840, Max Height=3840
"enc_single_nonref_b_max_width": 3840,
// maximum MB/sec for default Hier-B enablement case
// 1920x1088@60fps
"enc_hier_b_max_mbs_per_sec": 489600,
// maximum MB/frame for default Hier-B enablement case
// 1920x1088/256
"enc_hier_b_max_mbs_per_frame": 8160,
// maximum width for default Hier-B enablement case
// Max Width=1920, Max Height=1920
"enc_hier_b_max_width": 1920,
// maximum decoder output rate if it is Nuplayer path and
// player sets max refresh rate
"max_supported_render_rate": 120,
// control to force enable linear color format for encoder
// if this is enable, then encoder will ask camera via
// consumer flag to inform usage of linear color format.
// it is used only for camera path. can't be used for non-camera producer case
// it is bitmask:
// 0x0: no override,
// 0x1: enable 8 bit: linear format. 10 bit: compressed format
// 0x2: 8 bit: compressed format. 10 bit: linear format
// 0x3: 8 bit: linear format. 10 bit: linear format
"enc_linear_color_format": 0,
// override chroma qp offset value for 8 and 10 bits:
// default: 0
// allowed override value: -12
"enc_chroma_qp_offset_10_bit": 0,
"enc_chroma_qp_offset_8_bit": 0,
//encoder bitrate savings control (CAC) - content adaptive coding feature
// it is bitmask.
// 0x0: disable CAC
// 0x1: 8 bit: enable. 10 bit: disable
// 0x2: 8 bit: disable. 10 bit: enable
// 0x3: 8 bit: enable. 10 bit: enable
"enc_bitrate_savings": 3,
// minimum encoder bitrate boost
"enc_bitrate_boost": 25,
// maximum and minimum QPs for Encoders
// default: 10 - 40
// allowed override value: 0 - 51
"enc_qp_min": 10,
"enc_qp_max": 40,
// additional buffers to be added while computing pipeline delays
"pipeline_extra_output_buffers": 2,
// time threshold of output buffer allocation loop since last input buffer queued(ms)
// 0 --> no such limitation (loop until allocation done)
"max_retry_alloc_output_timeout": 10000,
// Frameworks adds 4 buffers to achive smoothness for all resolutions. To reduce memory usage
// for higher resolutions(> 4k) reduce the output delay by smoothnessFactor.
"smoothnessFactor": 4,
// override default primaries to BT709 for >=UHD decode
"default_primaries_override" : 0,
// WARNING:
// Please DON'T change these values, if you don't know what you are doing.
// These are the Video HAL capabilities. Video HAL may not function properly with wrong values.
// below are various capability used
"num_vpp_pipes": 2,
// video driver version capability used for skype MediaCodec
// Hex Value : 0xPPPPYYMM
// PPPP [2 Bytes] - Product ID
// YY [1 Byte ] - Year (last two digits of year {00..99})
// MM [1 Byte ] - Month (01..12)
"vt_driver_version": 553784585,
// maximum LTR cont for encoder
"ltr_max_count": 2,
// Encoder preprocessing: maximum encoder downscalar factor possible in width or height or both direction
"preprocess_max_downscale_factor": 8,
// encoder support rotation as preprocessing
"preprocess_rotation": 1,
// Allowed encoder Hier-P maximum layer count: [0 - 6]
"enc_hier_p_max_temporal_layer_count": 6,
// Allowed encoder Hier-B maximum layer count: [0 - 4]
"enc_hier_b_max_temporal_layer_count": 4
},
// list of codec plugin libraries to be loaded into codec registry
"QC2CodecPlugins": [
"libqc2vppfilter.so"
],
// list of filters used in pre processing
// each filter shall have properties codec_name/lib_name/input_streams/output_streams
// input_streams lists the id of input streams those are consumed by the filter
// output streams lists the is of output streams those are generated by the filter
// main stream id must be 0
// An example multiple-stream topology:
// "QC2PreProcessingFilters": [
// {
// // do not include .secure filter
// // both non-secure and secure filters are covered by non-secure filter name
// "codec_name": "mock.c2.qti.filter.colorconverter",
// "lib_name": "libqcodec2_mock_color_converter.so",
// // the initial input stream must be main stream (id 0)
// "input_streams": [0],
// "output_streams": [0, 1]
// },
// {
// "codec_name": "mock.c2.qti.filter.vpp",
// "lib_name": "libqcodec2_mock_vpp.so",
// "input_streams": [0],
// "output_streams": [0]
// },
// {
// "codec_name": "mock.c2.qti.filter.saliency",
// "lib_name": "libqcodec2_mock_saliency.so",
// "input_streams": [1],
// "output_streams": [1]
// },
// {
// "codec_name": "mock.c2.qti.filter.streamintegrator",
// "lib_name": "libqcodec2_mock_stream_integrator.so",
// "input_streams": [0, 1],
// "output_streams": [0]
// }
// ],
//
"QC2PreProcessingFilters": [
{
// do not include .secure filter
// both non-secure and secure filters are covered by non-secure filter name
"codec_name": "c2.qti.colorconvert.filter",
"lib_name": "libqc2colorconvertfilter.so",
"input_streams": [0],
"output_streams": [0]
},
{
"codec_name": "mock.c2.qti.filter",
"lib_name": "libqcodec2_mockfilter.so",
"input_streams": [0],
"output_streams": [0]
}
],
// List of HW codecs enabled for this target
"codecs-available": {
"decoders": [
"c2.qti.avc.decoder",
"c2.qti.avc.decoder.low_latency",
"c2.qti.hevc.decoder",
"c2.qti.hevc.decoder.low_latency",
"c2.qti.vp9.decoder",
"c2.qti.vp9.decoder.low_latency",
"c2.qti.avc.decoder.secure",
"c2.qti.hevc.decoder.secure",
"c2.qti.vp9.decoder.secure"
],
"encoders": [
"c2.qti.avc.encoder",
"c2.qti.hevc.encoder",
"c2.qti.hevc.encoder.cq",
"c2.qti.heic.encoder",
"c2.qti.avc.encoder.secure",
"c2.qti.hevc.encoder.secure"
]
},
"QC2PostProcessingFilters": {
"vppFilter": [
"c2.qti.vpp.filter",
"c2.qti.vpp.filter.secure"
]
}
}
}

View File

@ -0,0 +1,230 @@
// If you modify this file,
// 1. Push it to /vendor/etc/video_system_specs.json on the device
// 2. Kill media.hwcodec to get the new changed values.
// Note: Please do not use hexadecimal values 0x in this file.
{
"Video": {
// feature list used for enable/disable
"Features": {
// This enables single buffer multi-offset feature for decoder input buffer
"api_same_input_buffer_support": true,
// This is used for encoder color space conversion with custom matrix.
// custom matrix is defined in kernel driver
// this triggers to enable CSC to 709LR with custom matrix
"enc_csc_custom_matrix": false,
// this enables adaptive blur if possible by encoder.
// this is preprocessing of encoder input YUV buffers
"enc_auto_blur": true,
// this enables encoding rotate by C2D. it is used for some low tier end chipsets which
// don't support rotate feature in video core. TODO - Rename as enc_vpss_rotation
"enc_c2d_rotation": false,
// target supports cvp for all encode usecases.
"enc_cvp_enable": true,
// encoder csc enable
"enc_csc_enable": false,
// perf hints support for decoder
"perf_control_enable": true,
// this enables pipeline code for querying capabilities and creating codecs
"pipelining": true,
// this enables pre-processing pipeline
"pre_processing_pipelining": false,
// It is used to enable fastCV engine for flip support in the absence of VPSS hardware
// support.
"enc_vpss_flip": true,
// this enables RGB conversion with image convertor
"rgb_image_converter": true,
// perf controller support for decoder and encoder
"perf_control_enable": true,
// this will enable the graphics pipeline for
// CSC and converting images to other format and
// Rotating the frame etc
"vtxr_enable": true,
// this will enable software I/O chache coherency
"sw_cache_coherency": false
},
"Presets": {
// this is used for secure decoding performance boost handling
// prefech sizes of internal & output buffers
// internal : 200 MB (200 X 1)
// output : 200 MB (12.5 X 16)
"dec_sec_prefetch_size_internal": 209715200,
"dec_sec_prefetch_size_output": 13434880,
// control to force enable linear color format for decoder
// if this is enable, then decoder will produce linear color format output.
// it is bitmask:
// 0x0: no override,
// 0x1: enable 8 bit: linear format. 10 bit: compressed format
// 0x2: 8 bit: compressed format. 10 bit: linear format
// 0x3: 8 bit: linear format. 10 bit: linear format
"dec_linear_color_format": 0,
// maximum MB/sec for default single non-ref b-frame enablement case
// 3840x2160@30fps
"enc_single_nonref_b_max_mbs_per_sec": 972000,
// maximum MB/frame for default adaptive b-frame enablement case
// 3840x2160/256
"enc_single_nonref_b_max_mbs_per_frame": 32400,
// maximum width for default adaptive b-frame enablement case
// Max Width=3840, Max Height=3840
"enc_single_nonref_b_max_width": 3840,
// maximum MB/sec for default Hier-B enablement case
// 1920x1088@60fps
"enc_hier_b_max_mbs_per_sec": 489600,
// maximum MB/frame for default Hier-B enablement case
// 1920x1088/256
"enc_hier_b_max_mbs_per_frame": 8160,
// maximum width for default Hier-B enablement case
// Max Width=1920, Max Height=1920
"enc_hier_b_max_width": 1920,
// maximum decoder output rate if it is Nuplayer path and
// player sets max refresh rate
"max_supported_render_rate": 120,
// control to force enable linear color format for encoder
// if this is enable, then encoder will ask camera via
// consumer flag to inform usage of linear color format.
// it is used only for camera path. can't be used for non-camera producer case
// it is bitmask:
// 0x0: no override,
// 0x1: enable 8 bit: linear format. 10 bit: compressed format
// 0x2: 8 bit: compressed format. 10 bit: linear format
// 0x3: 8 bit: linear format. 10 bit: linear format
"enc_linear_color_format": 0,
// override chroma qp offset value for 8 and 10 bits:
// default: 0
// allowed override value: -12
"enc_chroma_qp_offset_10_bit": 0,
"enc_chroma_qp_offset_8_bit": 0,
//encoder bitrate savings control (CAC) - content adaptive coding feature
// it is bitmask.
// 0x0: disable CAC
// 0x1: 8 bit: enable. 10 bit: disable
// 0x2: 8 bit: disable. 10 bit: enable
// 0x3: 8 bit: enable. 10 bit: enable
"enc_bitrate_savings": 3,
// minimum encoder bitrate boost
"enc_bitrate_boost": 25,
// maximum and minimum QPs for Encoders
// default: 10 - 40
// allowed override value: 0 - 51
"enc_qp_min": 10,
"enc_qp_max": 40,
// additional buffers to be added while computing pipeline delays
"pipeline_extra_output_buffers": 2,
// time threshold of output buffer allocation loop since last input buffer queued(ms)
// 0 --> no such limitation (loop until allocation done)
"max_retry_alloc_output_timeout": 10000,
// Frameworks adds 4 buffers to achive smoothness for all resolutions. To reduce memory usage
// for higher resolutions(> 4k) reduce the output delay by smoothnessFactor.
"smoothnessFactor": 0,
// override default primaries to BT709 for >=UHD decode
"default_primaries_override" : 0,
// WARNING:
// Please DON'T change these values, if you don't know what you are doing.
// These are the Video HAL capabilities. Video HAL may not function properly with wrong values.
// below are various capability used
"num_vpp_pipes": 2,
// video driver version capability used for skype MediaCodec
// Hex Value : 0xPPPPYYMM
// PPPP [2 Bytes] - Product ID
// YY [1 Byte ] - Year (last two digits of year {00..99})
// MM [1 Byte ] - Month (01..12)
"vt_driver_version": 553784585,
// maximum LTR cont for encoder
"ltr_max_count": 2,
// Encoder preprocessing: maximum encoder downscalar factor possible in width or height or both direction
"preprocess_max_downscale_factor": 8,
// encoder support rotation as preprocessing
"preprocess_rotation": 1,
// Allowed encoder Hier-P maximum layer count: [0 - 6]
"enc_hier_p_max_temporal_layer_count": 6,
// Allowed encoder Hier-B maximum layer count: [0 - 4]
"enc_hier_b_max_temporal_layer_count": 4
},
// list of codec plugin libraries to be loaded into codec registry
"QC2CodecPlugins": [
"libqc2vppfilter.so"
],
// list of filters used in pre processing
// each filter shall have properties codec_name/lib_name/input_streams/output_streams
// input_streams lists the id of input streams those are consumed by the filter
// output streams lists the is of output streams those are generated by the filter
// main stream id must be 0
// An example multiple-stream topology:
// "QC2PreProcessingFilters": [
// {
// // do not include .secure filter
// // both non-secure and secure filters are covered by non-secure filter name
// "codec_name": "mock.c2.qti.filter.colorconverter",
// "lib_name": "libqcodec2_mock_color_converter.so",
// // the initial input stream must be main stream (id 0)
// "input_streams": [0],
// "output_streams": [0, 1]
// },
// {
// "codec_name": "mock.c2.qti.filter.vpp",
// "lib_name": "libqcodec2_mock_vpp.so",
// "input_streams": [0],
// "output_streams": [0]
// },
// {
// "codec_name": "mock.c2.qti.filter.saliency",
// "lib_name": "libqcodec2_mock_saliency.so",
// "input_streams": [1],
// "output_streams": [1]
// },
// {
// "codec_name": "mock.c2.qti.filter.streamintegrator",
// "lib_name": "libqcodec2_mock_stream_integrator.so",
// "input_streams": [0, 1],
// "output_streams": [0]
// }
// ],
//
"QC2PreProcessingFilters": [
{
// do not include .secure filter
// both non-secure and secure filters are covered by non-secure filter name
"codec_name": "c2.qti.colorconvert.filter",
"lib_name": "libqc2colorconvertfilter.so",
"input_streams": [0],
"output_streams": [0]
},
{
"codec_name": "mock.c2.qti.filter",
"lib_name": "libqcodec2_mockfilter.so",
"input_streams": [0],
"output_streams": [0]
}
],
// List of HW codecs enabled for this target
"codecs-available": {
"decoders": [
"c2.qti.avc.decoder",
"c2.qti.avc.decoder.low_latency",
"c2.qti.hevc.decoder",
"c2.qti.hevc.decoder.low_latency",
"c2.qti.vp9.decoder",
"c2.qti.vp9.decoder.low_latency",
"c2.qti.avc.decoder.secure",
"c2.qti.hevc.decoder.secure",
"c2.qti.vp9.decoder.secure"
],
"encoders": [
"c2.qti.avc.encoder",
"c2.qti.hevc.encoder",
"c2.qti.hevc.encoder.cq",
"c2.qti.heic.encoder",
"c2.qti.avc.encoder.secure",
"c2.qti.hevc.encoder.secure"
]
},
"QC2PostProcessingFilters": {
"vppFilter": [
"c2.qti.vpp.filter",
"c2.qti.vpp.filter.secure"
]
}
}
}

View File

@ -0,0 +1,230 @@
// If you modify this file,
// 1. Push it to /vendor/etc/video_system_specs.json on the device
// 2. Kill media.hwcodec to get the new changed values.
// Note: Please do not use hexadecimal values 0x in this file.
{
"Video": {
// feature list used for enable/disable
"Features": {
// This enables single buffer multi-offset feature for decoder input buffer
"api_same_input_buffer_support": true,
// This is used for encoder color space conversion with custom matrix.
// custom matrix is defined in kernel driver
// this triggers to enable CSC to 709LR with custom matrix
"enc_csc_custom_matrix": false,
// this enables adaptive blur if possible by encoder.
// this is preprocessing of encoder input YUV buffers
"enc_auto_blur": true,
// this enables encoding rotate by C2D. it is used for some low tier end chipsets which
// don't support rotate feature in video core. TODO - Rename as enc_vpss_rotation
"enc_c2d_rotation": false,
// target supports cvp for all encode usecases.
"enc_cvp_enable": true,
// encoder csc enable
"enc_csc_enable": false,
// perf hints support for decoder
"perf_control_enable": true,
// this enables pipeline code for querying capabilities and creating codecs
"pipelining": true,
// this enables pre-processing pipeline
"pre_processing_pipelining": false,
// It is used to enable fastCV engine for flip support in the absence of VPSS hardware
// support.
"enc_vpss_flip": true,
// this enables RGB conversion with image convertor
"rgb_image_converter": true,
// perf controller support for decoder and encoder
"perf_control_enable": true,
// this will enable the graphics pipeline for
// CSC and converting images to other format and
// Rotating the frame etc
"vtxr_enable": true,
// this will enable software I/O chache coherency
"sw_cache_coherency": false
},
"Presets": {
// this is used for secure decoding performance boost handling
// prefech sizes of internal & output buffers
// internal : 200 MB (200 X 1)
// output : 200 MB (12.5 X 16)
"dec_sec_prefetch_size_internal": 209715200,
"dec_sec_prefetch_size_output": 13434880,
// control to force enable linear color format for decoder
// if this is enable, then decoder will produce linear color format output.
// it is bitmask:
// 0x0: no override,
// 0x1: enable 8 bit: linear format. 10 bit: compressed format
// 0x2: 8 bit: compressed format. 10 bit: linear format
// 0x3: 8 bit: linear format. 10 bit: linear format
"dec_linear_color_format": 0,
// maximum MB/sec for default single non-ref b-frame enablement case
// 3840x2160@30fps
"enc_single_nonref_b_max_mbs_per_sec": 972000,
// maximum MB/frame for default adaptive b-frame enablement case
// 3840x2160/256
"enc_single_nonref_b_max_mbs_per_frame": 32400,
// maximum width for default adaptive b-frame enablement case
// Max Width=3840, Max Height=3840
"enc_single_nonref_b_max_width": 3840,
// maximum MB/sec for default Hier-B enablement case
// 1920x1088@60fps
"enc_hier_b_max_mbs_per_sec": 489600,
// maximum MB/frame for default Hier-B enablement case
// 1920x1088/256
"enc_hier_b_max_mbs_per_frame": 8160,
// maximum width for default Hier-B enablement case
// Max Width=1920, Max Height=1920
"enc_hier_b_max_width": 1920,
// maximum decoder output rate if it is Nuplayer path and
// player sets max refresh rate
"max_supported_render_rate": 120,
// control to force enable linear color format for encoder
// if this is enable, then encoder will ask camera via
// consumer flag to inform usage of linear color format.
// it is used only for camera path. can't be used for non-camera producer case
// it is bitmask:
// 0x0: no override,
// 0x1: enable 8 bit: linear format. 10 bit: compressed format
// 0x2: 8 bit: compressed format. 10 bit: linear format
// 0x3: 8 bit: linear format. 10 bit: linear format
"enc_linear_color_format": 0,
// override chroma qp offset value for 8 and 10 bits:
// default: 0
// allowed override value: -12
"enc_chroma_qp_offset_10_bit": 0,
"enc_chroma_qp_offset_8_bit": 0,
//encoder bitrate savings control (CAC) - content adaptive coding feature
// it is bitmask.
// 0x0: disable CAC
// 0x1: 8 bit: enable. 10 bit: disable
// 0x2: 8 bit: disable. 10 bit: enable
// 0x3: 8 bit: enable. 10 bit: enable
"enc_bitrate_savings": 3,
// minimum encoder bitrate boost
"enc_bitrate_boost": 25,
// maximum and minimum QPs for Encoders
// default: 10 - 40
// allowed override value: 0 - 51
"enc_qp_min": 10,
"enc_qp_max": 40,
// additional buffers to be added while computing pipeline delays
"pipeline_extra_output_buffers": 2,
// time threshold of output buffer allocation loop since last input buffer queued(ms)
// 0 --> no such limitation (loop until allocation done)
"max_retry_alloc_output_timeout": 10000,
// Frameworks adds 4 buffers to achive smoothness for all resolutions. To reduce memory usage
// for higher resolutions(> 4k) reduce the output delay by smoothnessFactor.
"smoothnessFactor": 0,
// override default primaries to BT709 for >=UHD decode
"default_primaries_override" : 0,
// WARNING:
// Please DON'T change these values, if you don't know what you are doing.
// These are the Video HAL capabilities. Video HAL may not function properly with wrong values.
// below are various capability used
"num_vpp_pipes": 2,
// video driver version capability used for skype MediaCodec
// Hex Value : 0xPPPPYYMM
// PPPP [2 Bytes] - Product ID
// YY [1 Byte ] - Year (last two digits of year {00..99})
// MM [1 Byte ] - Month (01..12)
"vt_driver_version": 553784585,
// maximum LTR cont for encoder
"ltr_max_count": 2,
// Encoder preprocessing: maximum encoder downscalar factor possible in width or height or both direction
"preprocess_max_downscale_factor": 8,
// encoder support rotation as preprocessing
"preprocess_rotation": 1,
// Allowed encoder Hier-P maximum layer count: [0 - 6]
"enc_hier_p_max_temporal_layer_count": 6,
// Allowed encoder Hier-B maximum layer count: [0 - 4]
"enc_hier_b_max_temporal_layer_count": 4
},
// list of codec plugin libraries to be loaded into codec registry
"QC2CodecPlugins": [
"libqc2vppfilter.so"
],
// list of filters used in pre processing
// each filter shall have properties codec_name/lib_name/input_streams/output_streams
// input_streams lists the id of input streams those are consumed by the filter
// output streams lists the is of output streams those are generated by the filter
// main stream id must be 0
// An example multiple-stream topology:
// "QC2PreProcessingFilters": [
// {
// // do not include .secure filter
// // both non-secure and secure filters are covered by non-secure filter name
// "codec_name": "mock.c2.qti.filter.colorconverter",
// "lib_name": "libqcodec2_mock_color_converter.so",
// // the initial input stream must be main stream (id 0)
// "input_streams": [0],
// "output_streams": [0, 1]
// },
// {
// "codec_name": "mock.c2.qti.filter.vpp",
// "lib_name": "libqcodec2_mock_vpp.so",
// "input_streams": [0],
// "output_streams": [0]
// },
// {
// "codec_name": "mock.c2.qti.filter.saliency",
// "lib_name": "libqcodec2_mock_saliency.so",
// "input_streams": [1],
// "output_streams": [1]
// },
// {
// "codec_name": "mock.c2.qti.filter.streamintegrator",
// "lib_name": "libqcodec2_mock_stream_integrator.so",
// "input_streams": [0, 1],
// "output_streams": [0]
// }
// ],
//
"QC2PreProcessingFilters": [
{
// do not include .secure filter
// both non-secure and secure filters are covered by non-secure filter name
"codec_name": "c2.qti.colorconvert.filter",
"lib_name": "libqc2colorconvertfilter.so",
"input_streams": [0],
"output_streams": [0]
},
{
"codec_name": "mock.c2.qti.filter",
"lib_name": "libqcodec2_mockfilter.so",
"input_streams": [0],
"output_streams": [0]
}
],
// List of HW codecs enabled for this target
"codecs-available": {
"decoders": [
"c2.qti.avc.decoder",
"c2.qti.avc.decoder.low_latency",
"c2.qti.hevc.decoder",
"c2.qti.hevc.decoder.low_latency",
"c2.qti.vp9.decoder",
"c2.qti.vp9.decoder.low_latency",
"c2.qti.avc.decoder.secure",
"c2.qti.hevc.decoder.secure",
"c2.qti.vp9.decoder.secure"
],
"encoders": [
"c2.qti.avc.encoder",
"c2.qti.hevc.encoder",
"c2.qti.hevc.encoder.cq",
"c2.qti.heic.encoder",
"c2.qti.avc.encoder.secure",
"c2.qti.hevc.encoder.secure"
]
},
"QC2PostProcessingFilters": {
"vppFilter": [
"c2.qti.vpp.filter",
"c2.qti.vpp.filter.secure"
]
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -380,12 +380,24 @@ PRODUCT_COPY_FILES += \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/lm/sPLHFeature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/lm/sPLHFeature.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/lm/sPLHFeature.xml:$(TARGET_COPY_OUT_VENDOR)/etc/lm/sPLHFeature.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_cape/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_cape/video_system_specs.json \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_cape/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_cape/video_system_specs.json \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_cape.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_cape.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_cape.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_cape.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_diwali_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_diwali_v0.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_diwali_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_diwali_v1.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_diwali_v2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_diwali_v2.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_cape.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_cape.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_cape.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_cape.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_diwali_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_diwali_v0.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_diwali_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_diwali_v1.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_diwali_v2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_diwali_v2.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_taro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_taro.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_taro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_taro.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_ukee.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_ukee.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_performance_ukee.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_ukee.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_taro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_taro.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_taro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_taro.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_ukee.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_ukee.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_codecs_ukee.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_ukee.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_diwali_v0/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_diwali_v0/video_system_specs.json \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_diwali_v1/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_diwali_v1/video_system_specs.json \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_diwali_v2/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_diwali_v2/video_system_specs.json \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_cape.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_cape.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_cape.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_cape.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_diwali_v0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_diwali_v0.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_diwali_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_diwali_v1.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_diwali_v2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_diwali_v2.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_taro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_taro.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_taro.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_taro.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_ukee.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_ukee.xml \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_profiles_ukee.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_ukee.xml \
vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_taro/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_taro/video_system_specs.json \ vendor/xiaomi/sm8450-common/proprietary/vendor/etc/media_taro/video_system_specs.json:$(TARGET_COPY_OUT_VENDOR)/etc/media_taro/video_system_specs.json \