We are too late to upgrade the latest version of libyuv in Android T to fix color conversion (BT.709 YUV to RGB) accuracy issue in HeifWriterTest when we exposed CQ mode for H/W hevc encoder. Move CQ mode support in Android U. Note: remove CQ mode support, HeifWriterTest will use software hevc encoder to run the test. Since software encoder only support 512x512 resolution the default color primary is using BT.601 which will not meet color accuracy issue. Bug: 242466144 Test: atest android.media.misc.cts.HeifWriterTest Change-Id: I4e0cf6995980603c9473086a385617e47a16b4b9
235 lines
13 KiB
XML
235 lines
13 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<!-- Copyright 2018 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>
|
|
<Settings>
|
|
<Setting name="supports-multiple-secure-codecs" value="true" />
|
|
<Setting name="supports-secure-with-non-secure-codec" value="true" />
|
|
</Settings>
|
|
<Decoders>
|
|
<MediaCodec name="c2.exynos.h264.decoder" type="video/avc">
|
|
<Limit name="size" min="32x32" max="3840x2160" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-32400" />
|
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
|
<Limit name="bitrate" range="1-120000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-3840x2160" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Feature name="adaptive-playback" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.h264.decoder.secure" type="video/avc">
|
|
<Limit name="size" min="32x32" max="3840x2160" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-32400" />
|
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
|
<Limit name="bitrate" range="1-120000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-3840x2160" range="120" />
|
|
<Limit name="concurrent-instances" max="2" />
|
|
<Feature name="adaptive-playback" />
|
|
<Feature name="secure-playback" required="true" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.hevc.decoder" type="video/hevc" >
|
|
<Limit name="size" min="64x64" max="3840x2160" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-32400" />
|
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
|
<Limit name="bitrate" range="1-120000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-3840x2160" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Feature name="adaptive-playback" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.hevc.decoder.secure" type="video/hevc" >
|
|
<Limit name="size" min="64x64" max="3840x2160" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-32400" />
|
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
|
<Limit name="bitrate" range="1-120000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-3840x2160" range="120" />
|
|
<Limit name="concurrent-instances" max="2" />
|
|
<Feature name="adaptive-playback" />
|
|
<Feature name="secure-playback" required="true" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.mpeg4.decoder" type="video/mp4v-es">
|
|
<Limit name="size" min="32x32" max="2048x2048" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-16384" />
|
|
<Limit name="blocks-per-second" min="1" max="979200" />
|
|
<Limit name="bitrate" range="1-80000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-1920x1080" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Feature name="adaptive-playback" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.h263.decoder" type="video/3gpp">
|
|
<Limit name="size" min="32x32" max="2048x1152" />
|
|
<Limit name="alignment" value="4x4" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-9216" />
|
|
<Limit name="blocks-per-second" min="1" max="979200" />
|
|
<Limit name="bitrate" range="1-80000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-1920x1080" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Feature name="adaptive-playback" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.vp8.decoder" type="video/x-vnd.on2.vp8" >
|
|
<Limit name="size" min="32x32" max="3840x2160" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-32400" />
|
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
|
<Limit name="bitrate" range="1-80000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-3840x2160" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Feature name="adaptive-playback" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.vp9.decoder" type="video/x-vnd.on2.vp9" >
|
|
<Limit name="size" min="64x64" max="3840x2176" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="64x64" />
|
|
<Limit name="block-count" range="1-2040" />
|
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
|
<Limit name="bitrate" range="1-80000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-3840x2160" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Feature name="adaptive-playback" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
|
|
<Limit name="size" min="64x64" max="3840x2176" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="64x64" />
|
|
<Limit name="block-count" range="1-2040" />
|
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
|
<Limit name="bitrate" range="1-80000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-3840x2160" range="120" />
|
|
<Limit name="concurrent-instances" max="2" />
|
|
<Feature name="adaptive-playback" />
|
|
<Feature name="secure-playback" required="true" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
</MediaCodec>
|
|
</Decoders>
|
|
|
|
<Encoders>
|
|
<MediaCodec name="c2.exynos.h264.encoder" type="video/avc">
|
|
<Limit name="size" min="32x32" max="3840x2160" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-32400" />
|
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
|
<Limit name="bitrate" range="1-120000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-3840x2160" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
<Feature name="vq-minimum-quality"/>
|
|
<Feature name="qp-bounds"/>
|
|
<Feature name="bitrate-modes" value="VBR,CBR,CBR-FD" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.hevc.encoder" type="video/hevc" >
|
|
<Limit name="size" min="64x64" max="3840x2176" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="32x32" />
|
|
<Limit name="block-count" range="1-8160" />
|
|
<Limit name="blocks-per-second" min="1" max="979200" />
|
|
<Limit name="bitrate" range="1-120000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-3840x2160" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Limit name="quality" range="0-100" default="57" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
<Feature name="vq-minimum-quality"/>
|
|
<Feature name="qp-bounds"/>
|
|
<Feature name="bitrate-modes" value="VBR,CBR,CQ,CBR-FD" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.mpeg4.encoder" type="video/mp4v-es">
|
|
<Limit name="size" min="32x32" max="2048x2048" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-16384" />
|
|
<Limit name="blocks-per-second" min="1" max="979200" />
|
|
<Limit name="bitrate" range="1-80000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-1920x1080" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
<Feature name="vq-minimum-quality"/>
|
|
<Feature name="qp-bounds"/>
|
|
<Feature name="bitrate-modes" value="VBR,CBR" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.h263.encoder" type="video/3gpp">
|
|
<Limit name="size" min="32x32" max="2048x1152" />
|
|
<Limit name="alignment" value="4x4" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-9216" />
|
|
<Limit name="blocks-per-second" min="1" max="979200" />
|
|
<Limit name="bitrate" range="1-80000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-1920x1080" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Feature name="vq-minimum-quality"/>
|
|
<Feature name="qp-bounds"/>
|
|
<Feature name="bitrate-modes" value="VBR,CBR" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.vp8.encoder" type="video/x-vnd.on2.vp8" >
|
|
<Limit name="size" min="32x32" max="3840x2160" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-32400" />
|
|
<Limit name="blocks-per-second" min="1" max="3888000" />
|
|
<Limit name="bitrate" range="1-80000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-3840x2160" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
<Feature name="vq-minimum-quality"/>
|
|
<Feature name="qp-bounds"/>
|
|
<Feature name="bitrate-modes" value="VBR,CBR" />
|
|
</MediaCodec>
|
|
<MediaCodec name="c2.exynos.vp9.encoder" type="video/x-vnd.on2.vp9" >
|
|
<Limit name="size" min="64x64" max="3840x2176" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="64x64" />
|
|
<Limit name="block-count" range="1-2040" />
|
|
<Limit name="blocks-per-second" min="1" max="243000" />
|
|
<Limit name="bitrate" range="1-80000000" />
|
|
<Limit name="performance-point-1280x720" range="240" />
|
|
<Limit name="performance-point-3840x2160" range="120" />
|
|
<Limit name="concurrent-instances" max="16" />
|
|
<Feature name="can-swap-width-height" value="1" />
|
|
<Feature name="vq-minimum-quality"/>
|
|
<Feature name="qp-bounds"/>
|
|
<Feature name="bitrate-modes" value="VBR,CBR" />
|
|
</MediaCodec>
|
|
</Encoders>
|
|
</MediaCodecs>
|