<?xml version="1.0" encoding="utf-8"?>
<!--
-->
<MediaCodecs>
    <Resources>
        <!-- decoder id starting from 0x1000 and encoder id starting from 0x1010  > -->
        <!-- amount is the total capcity of resource -->
        <Video name="max.decoder.instances.count"
               amount="15" />
        <Video name="max.decoder.secure.instances.count"
               amount="15" />
        <Video name="max.encoder.instances.count"
               amount="15" />
        <Video name="max.encoder.secure.instances.count"
               amount="10" />
        <Video name="max.encoder.heif.instances.count"
               amount="2" />
        <Video name="max.encoder.secure.instances.count"
               amount="10" />
        <Video name="max.encoder.heif.instances.count"
               amount="2" />
        <!-- 8192 * 4320 * 60 -->
        <Video name="max.decoder.throughput"
               amount="2123366400" />
        <!-- 7680 * 4320 * 30 -->
        <Video name="max.encoder.throughput"
               amount="995328000" />
    </Resources>
    <Decoders>
        <!-- Performance management -->
        <!-- If width*height > minFrameArea && MemAvailable < minMemAvailableKb, then returns NO_MEMORY -->
        <Video name="configurations"
               bufferOverheadCount="1" />
        <Video name="color.converter"
               alwaysColorConvertChecker="true" />
        <Video name="low.memory.checker"
               minFrameArea="8912896"
               minMemAvailableKb="1048576" />
        <Video name="c2.mtk.avc.decoder"
               type="video/avc"
               driverIntf="v4l2"
               maxConcurrentInstances="15"
               metaBufferSize="4096"
               colorConvertPixelFormat="4096"/>
        <Video name="c2.mtk.avc.decoder.secure"
               type="video/avc"
               driverIntf="v4l2"
               maxConcurrentInstances="15"
               metaBufferSize="4096" />
        <Video name="c2.mtk.avc.decoder.lowlatency"
               type="video/avc"
               driverIntf="v4l2"
               maxConcurrentInstances="15"
               metaBufferSize="4096"
               colorConvertPixelFormat="4096"/>
        <Video name="c2.mtk.hevc.decoder"
               type="video/hevc"
               driverIntf="v4l2"
               maxConcurrentInstances="15"
               metaBufferSize="4096" />
        <Video name="c2.mtk.hevc.decoder.secure"
               type="video/hevc"
               driverIntf="v4l2"
               maxConcurrentInstances="15"
               metaBufferSize="4096" />
        <Video name="c2.mtk.hevc.decoder.lowlatency"
               type="video/hevc"
               driverIntf="v4l2"
               maxConcurrentInstances="15"
               metaBufferSize="4096" />
        <Video name="c2.mtk.chdr.decoder"
               type="video/dolby-vision"
               driverIntf="v4l2"
               maxConcurrentInstances="15"
               metaBufferSize="4096" />
        <Video name="c2.mtk.chdr.decoder.secure"
               type="video/dolby-vision"
               driverIntf="v4l2"
               maxConcurrentInstances="15"
               metaBufferSize="4096" />
        <Video name="c2.mtk.heif.decoder"
               type="image/vnd.android.heic"
               driverIntf="v4l2"
               maxConcurrentInstances="15" />
        <Video name="c2.mtk.vp9.decoder"
               type="video/x-vnd.on2.vp9"
               driverIntf="v4l2"
               maxConcurrentInstances="15" />
        <Video name="c2.mtk.vp9.decoder.secure"
               type="video/x-vnd.on2.vp9"
               driverIntf="v4l2"
               maxConcurrentInstances="15" />
        <Video name="c2.mtk.vp9.decoder.lowlatency"
               type="video/x-vnd.on2.vp9"
               driverIntf="v4l2"
               maxConcurrentInstances="15" />
        <Video name="c2.mtk.av1.decoder"
               type="video/av01"
               driverIntf="v4l2"
               maxConcurrentInstances="15"
               maxInputBufferSize="10481664"
               metaBufferSize="4096"
               applyFilmGrainEffect="true" />
        <Video name="c2.mtk.av1.decoder.secure"
               type="video/av01"
               driverIntf="v4l2"
               maxConcurrentInstances="15"
               metaBufferSize="4096" />
        <Video name="c2.mtk.av1.decoder.lowlatency"
               type="video/av01"
               driverIntf="v4l2"
               maxConcurrentInstances="15"
               metaBufferSize="4096"
               applyFilmGrainEffect="true" />
    </Decoders>
    <Encoders>
        <!-- Performance management -->
        <Video name="cpu.boost.multiple.instances"
               cluster="0,1"
               minFrequency="1200000,1000000" />
        <Video name="cpu.boost.transcode"
               cluster="0,1"
               minFrequency="1800000,2850000"
               operatingRate="960"
               usageBitmask="66048"/>
        <Video name="c2.mtk.avc.encoder"
               type="video/avc"
               driverIntf="v4l2"
               canSwapWidthHeight="true"
               maxConcurrentInstances="10"
               metaBufferSize="4096"
               supportMlvec="1" />
        <Video name="c2.mtk.avc.encoder.secure"
               type="video/avc"
               driverIntf="v4l2"
               maxConcurrentInstances="10"
               canSwapWidthHeight="true" />
        <Video name="c2.mtk.hevc.encoder"
               type="video/hevc"
               driverIntf="v4l2"
               canSwapWidthHeight="true"
               maxConcurrentInstances="10"
               metaBufferSize="4096" />
        <Video name="c2.mtk.hevc.encoder.secure"
               type="video/hevc"
               driverIntf="v4l2"
               canSwapWidthHeight="true"
               maxConcurrentInstances="10" />
        <Video name="c2.mtk.heif.encoder"
               type="image/vnd.android.heic"
               driverIntf="v4l2"
               maxConcurrentInstances="2" />
    </Encoders>
</MediaCodecs>
