<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2016 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="max-video-encoder-input-buffers" value="4" />
    </Settings>
    <Decoders>
        <MediaCodec name="ARC.h264.decode" type="video/avc" >
            <Limit name="size" min="64x64" max="4096x2304" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="blocks-per-second" min="1" max="1542240" />
            <Limit name="bitrate" range="1-60000000" />
            <Limit name="concurrent-instances" max="8" />
            <Feature name="adaptive-playback" />
        </MediaCodec>
        <MediaCodec name="ARC.vp8.decode" type="video/x-vnd.on2.vp8" >
            <Limit name="size" min="64x64" max="4096x2304" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="blocks-per-second" min="1" max="1377000" />
            <Limit name="bitrate" range="1-60000000" />
            <Limit name="concurrent-instances" max="8" />
            <Feature name="adaptive-playback" />
        </MediaCodec>
        <MediaCodec name="ARC.vp9.decode" type="video/x-vnd.on2.vp9" >
            <Limit name="size" min="64x64" max="4096x2304" />
            <Limit name="alignment" value="2x2" />
            <Limit name="block-size" value="16x16" />
            <Limit name="blocks-per-second" min="1" max="1044480" />
            <Limit name="bitrate" range="1-60000000" />
            <Limit name="concurrent-instances" max="8" />
            <Feature name="adaptive-playback" />
        </MediaCodec>
    </Decoders>
    <Include href="media_codecs_google_audio.xml" />
    <Include href="media_codecs_google_video.xml" />
    <Include href="media_codecs_cheets.xml" />
</MediaCodecs>
