<?xml version ="1.0" encoding ="utf-8" ?>
<!-- Copyright (C) 2012 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 .
-->
<!--
< ! DOCTYPE MediaCodecs [
< ! ELEMENT MediaCodecs ( Decoders , Encoders ) >
< ! ELEMENT Decoders ( MediaCodec * ) >
< ! ELEMENT Encoders ( MediaCodec * ) >
< ! ELEMENT MediaCodec ( Type * , Quirk * ) >
< ! ATTLIST MediaCodec name CDATA # REQUIRED >
< ! ATTLIST MediaCodec type CDATA >
< ! ELEMENT Type EMPTY >
< ! ATTLIST Type name CDATA # REQUIRED >
< ! ELEMENT Quirk EMPTY >
< ! ATTLIST Quirk name CDATA # REQUIRED >
] >
There ' s a simple and a complex syntax to declare the availability of a
media codec :
A codec that properly follows the OpenMax spec and therefore doesn ' t have any
quirks and that only supports a single content type can be declared like so :
< MediaCodec name = " OMX . foo . bar " type = " something / interesting " / >
If a codec has quirks OR supports multiple content types , the following syntax
can be used :
< MediaCodec name = " OMX . foo . bar " >
< Type name = " something / interesting " / >
< Type name = " something / else " / >
. . .
< Quirk name = " requires - allocate - on - input - ports " / >
< Quirk name = " requires - allocate - on - output - ports " / >
< Quirk name = " output - buffers - are - unreadable " / >
< / MediaCodec >
Only the three quirks included above are recognized at this point :
" requires - allocate - on - input - ports "
must be advertised if the component does not properly support specification
of input buffers using the OMX_UseBuffer ( . . . ) API but instead requires
OMX_AllocateBuffer to be used .
" requires - allocate - on - output - ports "
must be advertised if the component does not properly support specification
of output buffers using the OMX_UseBuffer ( . . . ) API but instead requires
OMX_AllocateBuffer to be used .
" output - buffers - are - unreadable "
must be advertised if the emitted output buffers of a decoder component
are not readable , i . e . use a custom format even though abusing one of
the official OMX colorspace constants .
Clients of such decoders will not be able to access the decoded data ,
naturally making the component much less useful . The only use for
a component with this quirk is to render the output to the screen .
Audio decoders MUST NOT advertise this quirk .
Video decoders that advertise this quirk must be accompanied by a
corresponding color space converter for thumbnail extraction ,
matching surfaceflinger support that can render the custom format to
a texture and possibly other code , so just DON ' T USE THIS QUIRK .
-->
<MediaCodecs>
<Include href ="media_codecs_google_audio.xml" />
<Decoders>
<MediaCodec name="OMX.hisi.video.decoder.avc" type ="video/avc" >
<Quirk name="needs-flush-on-all-ports" />
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="1" max="972000" />
<Limit name="bitrate" range="1-100000000" />
<Feature name="adaptive-playback" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.hisi.video.decoder.hevc" type ="video/hevc" >
<Quirk name="needs-flush-on-all-ports" />
<Limit name="size" min="128x128" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="block-count" range="64-36896" />
<Limit name="blocks-per-second" range="99-1106880" />
<Limit name="bitrate" range="1-52428800" />
<Feature name="adaptive-playback" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.hisi.video.decoder.mpeg4" type ="video/mp4v-es" >
<Quirk name="needs-flush-on-all-ports" />
<Limit name="size" min="128x128" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" range="99-244800" />
<Limit name="bitrate" range="1-60000000" />
<Feature name="adaptive-playback" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.hisi.video.decoder.mpeg2" >
<Quirk name="needs-flush-on-all-ports" />
<Limit name="size" min="128x128" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" range="99-244800" />
<Limit name="bitrate" range="1-60000000" />
<Feature name="adaptive-playback" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="concurrent-instances" max="16" />
<Type name="video/mpeg2" >
<Limit name="concurrent-instances" max="16" />
</Type >
<Type name="video/mpeg" >
<Limit name="concurrent-instances" max="16" />
</Type >
</MediaCodec>
<MediaCodec name="OMX.hisi.video.decoder.vp8" type ="video/x-vnd.on2.vp8" >
<Limit name="size" min="128x128" max="1920x1088" />
<Quirk name="needs-flush-on-all-ports" />
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Feature name="adaptive-playback" />
<Limit name="concurrent-instances" max="16" />
</MediaCodec>
<MediaCodec name="OMX.google.mpeg4.decoder" type ="video/mp4v-es" />
<MediaCodec name="OMX.google.h263.decoder" type ="video/3gpp" />
<MediaCodec name="OMX.google.h264.decoder" type ="video/avc" />
<MediaCodec name="OMX.google.vp8.decoder" type ="video/x-vnd.on2.vp8" />
<MediaCodec name="OMX.google.vp9.decoder" type ="video/x-vnd.on2.vp9" />
</Decoders>
<Encoders>
<MediaCodec name="OMX.google.h263.encoder" type ="video/3gpp" />
<MediaCodec name="OMX.google.h264.encoder" type ="video/avc" />
<MediaCodec name="OMX.google.mpeg4.encoder" type ="video/mp4v-es" />
<MediaCodec name="OMX.google.vp8.encoder" type ="video/x-vnd.on2.vp8" />
</Encoders>
</MediaCodecs>
Messung V0.5 in Prozent C=94 H=93 G=93
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-06-27)
¤
*© Formatika GbR, Deutschland