blob: 9ac4a332248a2661e4d659250f5fa4732873aa44 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2020 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>
<Encoders>
<MediaCodec name="c2.vea.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="599-599" />
<Limit name="measured-frame-rate-720x480" range="317-323" />
<!-- Set wider ranges to cover SKU variance: b/154660894 -->
<Limit name="measured-frame-rate-1280x720" range="122-270" />
<Limit name="measured-frame-rate-1920x1080" range="56-123" />
</MediaCodec>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="437-437" /> <!-- N=48 v95%=1.1 -->
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="289-294" /> <!-- N=48 v95%=1.1 -->
<!-- measured 95%:103-139 med:109 SLOW -->
<Limit name="measured-frame-rate-720x480" range="108-120" /> <!-- N=48 v95%=1.2 -->
<!-- measured 95%:51-81 med:52 SLOW -->
<Limit name="measured-frame-rate-1280x720" range="52-64" /> <!-- N=48 v95%=1.3 -->
<!-- measured 95%:25-41 med:25 SLOW -->
<Limit name="measured-frame-rate-1920x1080" range="25-32" /> <!-- N=48 v95%=1.3 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="36-36" /> <!-- N=48 v95%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="441-442" /> <!-- N=48 v95%=1.1 -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="178-181" /> <!-- N=48 v95%=1.1 -->
<Limit name="measured-frame-rate-640x360" range="104-104" /> <!-- N=48 v95%=1.0 -->
<Limit name="measured-frame-rate-1280x720" range="35-35" /> <!-- N=48 v95%=1.0 -->
<Limit name="measured-frame-rate-1920x1080" range="25-25" /> <!-- N=48 v95%=1.0 -->
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="c2.vda.avc.decoder" type="video/avc" update="true">
<!-- b/155707252: Enlarge range for small resolution, geometric mean: 1604 -->
<Limit name="measured-frame-rate-320x240" range="1082-2380" />
<Limit name="measured-frame-rate-720x480" range="1082-1920" />
<Limit name="measured-frame-rate-1280x720" range="1082-1253" />
<Limit name="measured-frame-rate-1920x1088" range="710-710" />
</MediaCodec>
<MediaCodec name="c2.vda.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<!-- b/155707252: Enlarge range for small resolution, geometric mean: 1639 -->
<Limit name="measured-frame-rate-320x180" range="1105-2432" />
<Limit name="measured-frame-rate-640x360" range="1105-2268" />
<Limit name="measured-frame-rate-1280x720" range="1105-1302" />
<Limit name="measured-frame-rate-1920x1080" range="659-659" />
</MediaCodec>
<MediaCodec name="c2.vda.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<!-- (b/153827927): FPS at small resolution differ a lot in different SKUs.
FPS of Kohaku is about 2600 and FPS of Kindred is about 1038.
We calculate the geometric mean of 1038 and 2600 as "value",
and enlarge the range to value/(2.2)^0.5 to value*(2.2)^0.5.
Then the real range becomes value/(2.2)^1.5 to value*(2.2)^1.5.
(i.e. 503-5360) -->
<Limit name="measured-frame-rate-320x180" range="1108-2437" />
<Limit name="measured-frame-rate-640x360" range="1108-2437" />
<Limit name="measured-frame-rate-1280x720" range="1272-1280" />
<Limit name="measured-frame-rate-1920x1080" range="836-854" />
<Limit name="measured-frame-rate-3840x2160" range="203-203" />
</MediaCodec>
<MediaCodec name="c2.v4l2.avc.decoder" type="video/avc" update="true">
<!-- b/155707252: Enlarge range for small resolution, geometric mean: 1604 -->
<Limit name="measured-frame-rate-320x240" range="1082-2380" />
<Limit name="measured-frame-rate-720x480" range="1082-1920" />
<Limit name="measured-frame-rate-1280x720" range="1082-1253" />
<Limit name="measured-frame-rate-1920x1088" range="710-710" />
</MediaCodec>
<MediaCodec name="c2.v4l2.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<!-- b/155707252: Enlarge range for small resolution, geometric mean: 1639 -->
<Limit name="measured-frame-rate-320x180" range="1105-2432" />
<Limit name="measured-frame-rate-640x360" range="1105-2268" />
<Limit name="measured-frame-rate-1280x720" range="1105-1302" />
<Limit name="measured-frame-rate-1920x1080" range="659-659" />
</MediaCodec>
<MediaCodec name="c2.v4l2.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<!-- (b/153827927): FPS at small resolution differ a lot in different SKUs.
FPS of Kohaku is about 2600 and FPS of Kindred is about 1038.
We calculate the geometric mean of 1038 and 2600 as "value",
and enlarge the range to value/(2.2)^0.5 to value*(2.2)^0.5.
Then the real range becomes value/(2.2)^1.5 to value*(2.2)^1.5.
(i.e. 503-5360) -->
<Limit name="measured-frame-rate-320x180" range="1108-2437" />
<Limit name="measured-frame-rate-640x360" range="1108-2437" />
<Limit name="measured-frame-rate-1280x720" range="1272-1280" />
<Limit name="measured-frame-rate-1920x1080" range="836-854" />
<Limit name="measured-frame-rate-3840x2160" range="203-203" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<!-- measured 95%:441-801 med:476 SLOW -->
<Limit name="measured-frame-rate-176x144" range="476-594" /> <!-- N=40 v95%=1.3 -->
<!-- measured 95%:391-670 med:428 SLOW -->
<Limit name="measured-frame-rate-352x288" range="428-512" /> <!-- N=40 v95%=1.3 -->
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<!-- measured 95%:240-489 med:294 SLOW FLAKY(mn=56.6 < 147 - 686) -->
<Limit name="measured-frame-rate-320x240" range="294-343" /> <!-- N=41 v95%=1.4 -->
<!-- measured 90%:150-210 med:156 SLOW FLAKY(mn=48.6 < 78 - 356) -->
<Limit name="measured-frame-rate-720x480" range="156-178" /> <!-- N=42 v90%=1.2 -->
<!-- measured 95%:59-81 med:62 SLOW -->
<Limit name="measured-frame-rate-1280x720" range="61-69" /> <!-- N=40 v95%=1.2 -->
<!-- measured 95%:27-37 med:29 SLOW -->
<Limit name="measured-frame-rate-1920x1080" range="28-32" /> <!-- N=41 v95%=1.1 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="340-340" /> <!-- N=40 v95%=1.1 -->
<Limit name="measured-frame-rate-640x360" range="211-211" /> <!-- N=40 v95%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="176-176" /> <!-- N=40 v95%=1.2 -->
<Limit name="measured-frame-rate-1280x720" range="96-100" /> <!-- N=40 v95%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="57-63" /> <!-- N=40 v93%=1.1 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<!-- measured 95%:401-821 med:429 SLOW -->
<Limit name="measured-frame-rate-176x144" range="428-574" /> <!-- N=40 v95%=1.4 -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<!-- measured 95%:357-603 med:376 SLOW -->
<Limit name="measured-frame-rate-320x180" range="375-464" /> <!-- N=40 v95%=1.3 -->
<!-- measured 95%:216-356 med:234 SLOW -->
<Limit name="measured-frame-rate-640x360" range="234-277" /> <!-- N=40 v95%=1.3 -->
<!-- measured 95%:32-54 med:33 SLOW -->
<Limit name="measured-frame-rate-1920x1080" range="33-42" /> <!-- N=40 v95%=1.3 -->
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="341-375" /> <!-- N=40 v95%=1.4 -->
<!-- measured 95%:187-320 med:219 SLOW -->
<Limit name="measured-frame-rate-640x360" range="218-245" /> <!-- N=40 v95%=1.3 -->
<!-- measured 95%:94-153 med:96 SLOW -->
<Limit name="measured-frame-rate-1280x720" range="96-120" /> <!-- N=40 v95%=1.3 -->
<!-- measured 95%:61-98 med:62 SLOW -->
<Limit name="measured-frame-rate-1920x1080" range="62-77" /> <!-- N=40 v95%=1.3 -->
</MediaCodec>
</Decoders>
</MediaCodecs>