1<?xml version="1.0" encoding="utf-8" ?>
2<!--
3Copyright (c) 2015-2017, 2019-2020 The Linux Foundation. All rights reserved.
4
5Not a Contribution.
6
7Copyright 2015 The Android Open Source Project
8
9Licensed under the Apache License, Version 2.0 (the "License");
10you may not use this file except in compliance with the License.
11u may obtain a copy of the License at
12
13     http://www.apache.org/licenses/LICENSE-2.0
14
15Unless required by applicable law or agreed to in writing, software
16distributed under the License is distributed on an "AS IS" BASIS,
17WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18See the License for the specific language governing permissions and
19limitations under the License.
20
21Changes from Qualcomm Innovation Center are provided under the following license:
22
23Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
24
25Redistribution and use in source and binary forms, with or without
26modification, are permitted (subject to the limitations in the
27disclaimer below) provided that the following conditions are met:
28
29   * Redistributions of source code must retain the above copyright
30     notice, this list of conditions and the following disclaimer.
31
32   * Redistributions in binary form must reproduce the above
33     copyright notice, this list of conditions and the following
34     disclaimer in the documentation and/or other materials provided
35     with the distribution.
36
37   * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
38     contributors may be used to endorse or promote products derived
39     from this software without specific prior written permission.
40
41NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
42GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
43HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
44WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
45MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
46IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
47ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
48DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
49GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
50INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
51IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
52OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
53IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
54
55-->
56
57<MediaCodecs>
58    <Encoders>
59        <MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
60            <Limit name="measured-frame-rate-320x240" range="238-238" />
61            <Limit name="measured-frame-rate-720x480" range="123-123" />
62            <Limit name="measured-frame-rate-1280x720" range="50-50" />
63            <Limit name="measured-frame-rate-1920x1080" range="55-65" />
64        </MediaCodec>
65        <MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
66            <Limit name="measured-frame-rate-320x240" range="226-226" />
67            <Limit name="measured-frame-rate-720x480" range="121-121" />
68            <Limit name="measured-frame-rate-1280x720" range="49-49" />
69            <Limit name="measured-frame-rate-1920x1080" range="55-65" />
70            <Limit name="measured-frame-rate-3840x2160" range="20-27" />
71        </MediaCodec>
72        <MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" update="true">
73            <Limit name="measured-frame-rate-320x240" range="226-226" />
74        </MediaCodec>
75        <MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" update="true">
76            <Limit name="measured-frame-rate-176x144" range="150-240" />
77            <Limit name="measured-frame-rate-352x288" range="80-160" />
78        </MediaCodec>
79        <MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" update="true">
80            <Limit name="measured-frame-rate-176x144" range="120-290" />
81            <Limit name="measured-frame-rate-352x288" range="55-85" />
82            <Limit name="measured-frame-rate-640x480" range="47-52" />
83            <Limit name="measured-frame-rate-1280x720" range="30-50" />
84        </MediaCodec>
85        <MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
86            <Limit name="measured-frame-rate-320x240" range="215-215" />
87            <Limit name="measured-frame-rate-720x480" range="100-100" />
88            <Limit name="measured-frame-rate-1280x720" range="56-56" />
89            <Limit name="measured-frame-rate-1920x1080" range="30-30" />
90        </MediaCodec>
91        <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
92            <Limit name="measured-frame-rate-176x144" range="200-200" />
93        </MediaCodec>
94        <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
95            <Limit name="measured-frame-rate-176x144" range="250-320" />
96        </MediaCodec>
97        <MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
98            <Limit name="measured-frame-rate-320x240" range="124-176" />
99            <Limit name="measured-frame-rate-720x480" range="53-76" />
100            <Limit name="measured-frame-rate-1280x720" range="35-50" />
101            <Limit name="measured-frame-rate-1920x1080" range="19-28" />
102        </MediaCodec>
103        <MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
104            <Limit name="measured-frame-rate-320x240" range="17-24" />
105            <Limit name="measured-frame-rate-720x480" range="8-11" />
106        </MediaCodec>
107        <MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
108            <Limit name="measured-frame-rate-176x144" range="320-345" />
109        </MediaCodec>
110        <MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
111            <Limit name="measured-frame-rate-176x144" range="300-340" />
112        </MediaCodec>
113        <MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
114            <Limit name="measured-frame-rate-320x180" range="85-119" />
115            <Limit name="measured-frame-rate-640x360" range="41-65" />
116            <Limit name="measured-frame-rate-1280x720" range="21-30" />
117            <Limit name="measured-frame-rate-1920x1080" range="10-15" />
118        </MediaCodec>
119    </Encoders>
120    <Decoders>
121        <MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
122            <Limit name="measured-frame-rate-320x240" range="440-990" />
123            <Limit name="measured-frame-rate-720x480" range="460-490" />
124            <Limit name="measured-frame-rate-1280x720" range="350-400" />
125            <Limit name="measured-frame-rate-1920x1088" range="180-190" />
126        </MediaCodec>
127            <MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
128            <Limit name="measured-frame-rate-352x288" range="510-530" />
129            <Limit name="measured-frame-rate-720x480" range="465-620" />
130            <Limit name="measured-frame-rate-1280x720" range="200-390" />
131            <Limit name="measured-frame-rate-1920x1080" range="210-230" />
132            <Limit name="measured-frame-rate-3840x2160" range="65-75" />
133        </MediaCodec>
134        <MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" update="true">
135            <Limit name="measured-frame-rate-176x144" range="356-356" />
136            <Limit name="measured-frame-rate-352x288" range="292-292" />
137        </MediaCodec>
138        <MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es" update="true">
139            <Limit name="measured-frame-rate-176x144" range="270-295" />
140            <Limit name="measured-frame-rate-480x360" range="245-265" />
141            <Limit name="measured-frame-rate-1280x720" range="80-200" />
142        </MediaCodec>
143        <MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
144            <Limit name="measured-frame-rate-320x180" range="820-850"/>
145            <Limit name="measured-frame-rate-320x240" range="377-377" />
146            <Limit name="measured-frame-rate-640x360" range="323-323" />
147            <Limit name="measured-frame-rate-1280x720" range="262-262" />
148            <Limit name="measured-frame-rate-1920x1080" range="65-72" />
149            <Limit name="measured-frame-rate-3840x2160" range="51-51" />
150        </MediaCodec>
151        <MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
152            <Limit name="measured-frame-rate-320x240" range="270-310" />
153            <Limit name="measured-frame-rate-720x480" range="68-68" />
154            <Limit name="measured-frame-rate-1280x720" range="32-32" />
155            <Limit name="measured-frame-rate-1920x1080" range="6-10" />
156        </MediaCodec>
157        <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
158            <Limit name="measured-frame-rate-176x144" range="104-279" />
159            <Limit name="measured-frame-rate-352x288" range="200-200" />
160        </MediaCodec>
161        <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
162            <Limit name="measured-frame-rate-352x288" range="520-650" />
163            <Limit name="measured-frame-rate-640x360" range="145-190" />
164            <Limit name="measured-frame-rate-720x480" range="235-245" />
165            <Limit name="measured-frame-rate-1280x720" range="88-100" />
166            <Limit name="measured-frame-rate-1920x1080" range="48-52" />
167        </MediaCodec>
168        <MediaCodec name="OMX.google.mpeg4.decoder" update="true">
169            <Type name="video/mp4v-es">
170                <Limit name="measured-frame-rate-176x144" range="430-450" />
171            </Type>
172        </MediaCodec>
173        <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
174            <Limit name="measured-frame-rate-320x180" range="640-720" />
175            <Limit name="measured-frame-rate-320x240" range="200-230" />
176            <Limit name="measured-frame-rate-640x360" range="81-90" />
177            <Limit name="measured-frame-rate-1280x720" range="60-85" />
178            <Limit name="measured-frame-rate-1920x1080" range="33-55" />
179        </MediaCodec>
180        <MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
181            <Limit name="measured-frame-rate-320x240" range="63-165" />
182            <Limit name="measured-frame-rate-720x480" range="42-59" />
183            <Limit name="measured-frame-rate-1280x720" range="17-24" />
184            <Limit name="measured-frame-rate-1920x1080" range="8-12" />
185        </MediaCodec>
186        <MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
187            <Limit name="measured-frame-rate-352x288" range="67-232" />
188            <Limit name="measured-frame-rate-640x360" range="57-89" />
189            <Limit name="measured-frame-rate-720x480" range="69-99" />
190            <Limit name="measured-frame-rate-1280x720" range="35-51" />
191            <Limit name="measured-frame-rate-1920x1080" range="20-29" />
192        </MediaCodec>
193        <MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
194            <Limit name="measured-frame-rate-176x144" range="376-524" />
195            <Limit name="measured-frame-rate-352x288" range="310-415" />
196        </MediaCodec>
197        <MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
198            <Limit name="measured-frame-rate-176x144" range="406-543" />
199            <Limit name="measured-frame-rate-480x360" range="195-262" />
200            <Limit name="measured-frame-rate-1280x720" range="59-84" />
201        </MediaCodec>
202        <MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
203            <Limit name="measured-frame-rate-320x180" range="160-480" />
204            <Limit name="measured-frame-rate-640x360" range="133-184" />
205            <Limit name="measured-frame-rate-1920x1080" range="15-22" />
206        </MediaCodec>
207        <MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
208            <Limit name="measured-frame-rate-320x180" range="182-360" />
209            <Limit name="measured-frame-rate-640x360" range="85-200" />
210            <Limit name="measured-frame-rate-1280x720" range="35-49" />
211            <Limit name="measured-frame-rate-1920x1080" range="23-33" />
212        </MediaCodec>
213    </Decoders>
214</MediaCodecs>
215