media: fix-up codec support
special thanks and credit go to Ziona @xda
This commit is contained in:
@@ -77,7 +77,10 @@ Only the three quirks included above are recognized at this point:
|
||||
-->
|
||||
|
||||
<MediaCodecs>
|
||||
<Decoders>
|
||||
<Include href="media_codecs_google_audio.xml" />
|
||||
<Include href="media_codecs_google_telephony.xml" />
|
||||
|
||||
<Decoders>
|
||||
<MediaCodec name="OMX.MTK.AUDIO.DECODER.MP3" type="audio/mpeg" >
|
||||
<Quirk name="decoder-lies-about-number-of-channels" />
|
||||
<Quirk name="supports-multiple-frames-per-input-buffer" />
|
||||
@@ -113,24 +116,55 @@ Only the three quirks included above are recognized at this point:
|
||||
<Feature name="adaptive-playback"/>
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
|
||||
<Decoders>
|
||||
<!-- ffmpeg video decoders -->
|
||||
<MediaCodec name="OMX.ffmpeg.h263.decoder" type="video/3gpp">
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
|
||||
<MediaCodec name="OMX.ffmpeg.h264.decoder" type="video/avc">
|
||||
<Limit name="size" min="1088h1920" max="2048x2048" />
|
||||
<Limit name="alignment" value="720x1280" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
|
||||
<MediaCodec name="OMX.ffmpeg.hevc.decoder" type="video/hevc">
|
||||
<Limit name="size" min="2x2" max="2048x2048" />
|
||||
<Limit name="alignment" value="2x2" />
|
||||
<Feature name="adaptive-playback" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
|
||||
<Encoders>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.H263" type="video/3gpp" >
|
||||
<Limit name="size" min="176x144" max="176x144" />
|
||||
<!-- mediatek video encoders -->
|
||||
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.MPEG4" type="video/mp4v-es" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Limit name="alignment" value="16x16" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
|
||||
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.H263" type="video/3gpp" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Limit name="alignment" value="16x16" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
|
||||
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.AVC" type="video/avc" >
|
||||
<Limit name="size" min="128x96" max="1920x1088" />
|
||||
<Limit name="size" min="128x96" max="1920x1080" />
|
||||
<Limit name="alignment" value="16x16" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
<Include href="media_codecs_google_audio.xml" />
|
||||
<Include href="media_codecs_google_telephony.xml" />
|
||||
|
||||
<Include href="media_codecs_google_video.xml" />
|
||||
<Include href="media_codecs_ffmpeg.xml" />
|
||||
</MediaCodecs>
|
||||
|
||||
@@ -0,0 +1,221 @@
|
||||
<?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.
|
||||
|
||||
2012/07/13 config for MTK OMX Media Codecs, created by Morris Yang (mtk03147)
|
||||
-->
|
||||
|
||||
<Included>
|
||||
<Decoders>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.DECODER.MPEG2" type="video/mpeg2" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.DECODER.HEVC" type="video/hevc" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<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.MTK.VIDEO.DECODER.HEVC.secure" type="video/hevc" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="adaptive-playback"/>
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.DECODER.MPEG4" type="video/mp4v-es" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<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.MTK.VIDEO.DECODER.H263" type="video/3gpp" >
|
||||
<Limit name="size" min="128x96" max="1408x1152" />
|
||||
<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.MTK.VIDEO.DECODER.AVC" type="video/avc" >
|
||||
<Limit name="size" min="64x64" max="1920x1088" />
|
||||
<Quirk name="wants-NAL-fragments" />
|
||||
<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.MTK.VIDEO.DECODER.AVC.secure" type="video/avc" >
|
||||
<Limit name="size" min="64x64" max="1920x1088" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Feature name="secure-playback" required="true" />
|
||||
<Feature name="adaptive-playback"/>
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.DECODER.VPX" type="video/x-vnd.on2.vp8" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<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.MTK.VIDEO.DECODER.VP9" type="video/x-vnd.on2.vp9" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<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.MTK.VIDEO.DECODER.VC1" type="video/x-ms-wmv" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.DECODER.DIVX" type="video/divx" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.DECODER.DIVX3" type="video/divx3" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.DECODER.XVID" type="video/xvid" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.DECODER.S263" type="video/flv1" >
|
||||
<Limit name="size" min="16x16" max="1920x1088" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
|
||||
<Encoders>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.MPEG4" type="video/mp4v-es" >
|
||||
<Limit name="size" min="176x144" max="176x144" />
|
||||
<Limit name="alignment" value="16x16" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.H263" type="video/3gpp" >
|
||||
<Limit name="size" min="176x144" max="176x144" />
|
||||
<Limit name="alignment" value="16x16" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.AVC" type="video/avc" >
|
||||
<Limit name="size" min="128x96" max="1920x1080" />
|
||||
<Limit name="alignment" value="16x16" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.HEVC" type="video/hevc" >
|
||||
<Limit name="size" min="160x128" max="3840x2176" />
|
||||
<Limit name="alignment" value="16x16" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.VPX" type="video/x-vnd.on2.vp8" >
|
||||
<Limit name="size" min="64x64" max="1280x720" />
|
||||
<Limit name="alignment" value="16x16" />
|
||||
<Limit name="block-size" value="16x16" />
|
||||
<Quirk name="requires-allocate-on-input-ports" />
|
||||
<Quirk name="requires-allocate-on-output-ports" />
|
||||
<Quirk name="avoid-memcpy-input-recording-frames" />
|
||||
<Limit name="concurrent-instances" max="16" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
</Included>
|
||||
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2015 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>
|
||||
<Encoders>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.ENCODER.AVC" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="412-412" />
|
||||
<Limit name="measured-frame-rate-720x480" range="99-99" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="42-42" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.h264.encoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="274-274" />
|
||||
<Limit name="measured-frame-rate-720x480" range="82-82" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.h263.encoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="477-477" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="541-541" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="304-304" />
|
||||
<Limit name="measured-frame-rate-640x360" range="139-139" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="41-41" />
|
||||
</MediaCodec>
|
||||
</Encoders>
|
||||
<Decoders>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.DECODER.AVC" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="1456-1456" />
|
||||
<Limit name="measured-frame-rate-720x480" range="1155-1155" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="507-507" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="140-140" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.DECODER.H263" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="1093-1093" />
|
||||
<Limit name="measured-frame-rate-352x288" range="900-900" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.MTK.VIDEO.DECODER.MPEG4" type="video/mp4v-es" update="true">
|
||||
<Limit name="measured-frame-rate-480x360" range="731-731" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.h264.decoder" type="video/avc" update="true">
|
||||
<Limit name="measured-frame-rate-320x240" range="654-654" />
|
||||
<Limit name="measured-frame-rate-720x480" range="213-213" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="58-58" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="24-24" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.h263.decoder" type="video/3gpp" update="true">
|
||||
<Limit name="measured-frame-rate-176x144" range="1311-1311" />
|
||||
<Limit name="measured-frame-rate-352x288" range="645-645" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.hevc.decoder" type="video/hevc" update="true">
|
||||
<Limit name="measured-frame-rate-352x288" range="498-498" />
|
||||
<Limit name="measured-frame-rate-640x360" range="304-304" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="118-118" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="635-635" />
|
||||
<Limit name="measured-frame-rate-640x360" range="208-208" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="64-64" />
|
||||
<Limit name="measured-frame-rate-1920x1080" range="30-30" />
|
||||
</MediaCodec>
|
||||
<MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
|
||||
<Limit name="measured-frame-rate-320x180" range="301-301" />
|
||||
<Limit name="measured-frame-rate-640x360" range="239-239" />
|
||||
<Limit name="measured-frame-rate-1280x720" range="69-69" />
|
||||
</MediaCodec>
|
||||
</Decoders>
|
||||
</MediaCodecs>
|
||||
+30
-30
@@ -93,19 +93,19 @@
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="high" fileFormat="mp4" duration="30">
|
||||
<EncoderProfile quality="high" fileFormat="mp4" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="128000"
|
||||
sampleRate="48000"
|
||||
@@ -117,7 +117,7 @@
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
@@ -129,19 +129,19 @@
|
||||
bitRate="6000000"
|
||||
width="640"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="128000"
|
||||
sampleRate="48000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="720p" fileFormat="mp4" duration="30">
|
||||
<EncoderProfile quality="720p" fileFormat="mp4" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="128000"
|
||||
sampleRate="48000"
|
||||
@@ -153,19 +153,19 @@
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="30">
|
||||
<EncoderProfile quality="timelapsehigh" fileFormat="mp4" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="128000"
|
||||
sampleRate="48000"
|
||||
@@ -177,7 +177,7 @@
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="12200"
|
||||
@@ -190,7 +190,7 @@
|
||||
bitRate="360000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
@@ -203,7 +203,7 @@
|
||||
bitRate="6000000"
|
||||
width="640"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
@@ -211,12 +211,12 @@
|
||||
channels="1" />
|
||||
</EncoderProfile>
|
||||
|
||||
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="30">
|
||||
<EncoderProfile quality="timelapse720p" fileFormat="mp4" duration="60">
|
||||
<Video codec="h264"
|
||||
bitRate="12000000"
|
||||
width="1280"
|
||||
height="720"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="128000"
|
||||
@@ -237,7 +237,7 @@
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
@@ -249,7 +249,7 @@
|
||||
bitRate="6000000"
|
||||
width="640"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="128000"
|
||||
sampleRate="48000"
|
||||
@@ -261,7 +261,7 @@
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
@@ -273,7 +273,7 @@
|
||||
bitRate="6000000"
|
||||
width="640"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="128000"
|
||||
sampleRate="48000"
|
||||
@@ -285,7 +285,7 @@
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<Audio codec="aac"
|
||||
bitRate="12200"
|
||||
sampleRate="8000"
|
||||
@@ -297,7 +297,7 @@
|
||||
bitRate="4200000"
|
||||
width="640"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="128000"
|
||||
@@ -310,7 +310,7 @@
|
||||
bitRate="192000"
|
||||
width="176"
|
||||
height="144"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="12200"
|
||||
@@ -323,7 +323,7 @@
|
||||
bitRate="360000"
|
||||
width="352"
|
||||
height="288"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="96000"
|
||||
@@ -336,7 +336,7 @@
|
||||
bitRate="4200000"
|
||||
width="640"
|
||||
height="480"
|
||||
frameRate="30" />
|
||||
frameRate="60" />
|
||||
<!-- audio setting is ignored -->
|
||||
<Audio codec="aac"
|
||||
bitRate="128000"
|
||||
@@ -363,19 +363,19 @@
|
||||
minBitRate="64000" maxBitRate="40000000"
|
||||
minFrameWidth="96" maxFrameWidth="1920"
|
||||
minFrameHeight="96" maxFrameHeight="1920"
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
minFrameRate="15" maxFrameRate="60" />
|
||||
|
||||
<VideoEncoderCap name="h263" enabled="true"
|
||||
minBitRate="64000" maxBitRate="2000000"
|
||||
minFrameWidth="96" maxFrameWidth="800"
|
||||
minFrameHeight="96" maxFrameHeight="480"
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
minFrameRate="15" maxFrameRate="60" />
|
||||
|
||||
<VideoEncoderCap name="m4v" enabled="true"
|
||||
minBitRate="64000" maxBitRate="40000000"
|
||||
minFrameWidth="96" maxFrameWidth="1920"
|
||||
minFrameHeight="96" maxFrameHeight="1080"
|
||||
minFrameRate="15" maxFrameRate="30" />
|
||||
minFrameRate="15" maxFrameRate="60" />
|
||||
|
||||
<AudioEncoderCap name="aac" enabled="true"
|
||||
minBitRate="758" maxBitRate="288000"
|
||||
@@ -409,8 +409,8 @@
|
||||
for TEST applications. For other applications, we do
|
||||
not perform any checks at all.
|
||||
-->
|
||||
<VideoDecoderCap name="wmv" enabled="false"/>
|
||||
<AudioDecoderCap name="wma" enabled="false"/>
|
||||
<VideoDecoderCap name="wmv" enabled="true"/>
|
||||
<AudioDecoderCap name="wma" enabled="true"/>
|
||||
|
||||
<!--
|
||||
The VideoEditor Capability configuration:
|
||||
@@ -425,7 +425,7 @@
|
||||
-->
|
||||
<VideoEditorCap maxInputFrameWidth="1920"
|
||||
maxInputFrameHeight="1088" maxOutputFrameWidth="1280"
|
||||
maxOutputFrameHeight="720" maxPrefetchYUVFrames="6"/>
|
||||
maxOutputFrameHeight="720" maxPrefetchYUVFrames="10"/>
|
||||
<!--
|
||||
The VideoEditor Export codec profile and level values
|
||||
correspond to the values in OMX_Video.h.
|
||||
|
||||
@@ -1,22 +1,42 @@
|
||||
OMX.MTK.VIDEO.DECODER.HEVC video_decoder.hevc libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.HEVC.secure video_decoder.hevc libMtkOmxVdecEx.so
|
||||
OMX.MTK.VIDEO.DECODER.H263 video_decoder.h263 libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.MPEG4 video_decoder.mpeg4 libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.AVC video_decoder.avc libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.HEVC video_decoder.hevc libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.HEVC.secure video_decoder.hevc libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.H263 video_decoder.h263 libMtkOmxVdecEx.so
|
||||
OMX.MTK.VIDEO.DECODER.MPEG4 video_decoder.mpeg4 libMtkOmxVdecEx.so
|
||||
OMX.MTK.VIDEO.DECODER.AVC video_decoder.avc libMtkOmxVdecEx.so
|
||||
OMX.MTK.VIDEO.DECODER.RV video_decoder.rv libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.VC1 video_decoder.vc1 libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.VPX video_decoder.vpx libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.AVC.secure video_decoder.avc libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.ENCODER.AVC video_encoder.avc libMtkOmxVenc.so
|
||||
OMX.MTK.VIDEO.ENCODER.H263 video_encoder.h263 libMtkOmxVenc.so
|
||||
OMX.MTK.VIDEO.DECODER.VP9 video_decoder.vp9 libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.DIVX video_decoder.divx libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.XVID video_decoder.xvid libMtkOmxVdec.so
|
||||
OMX.MTK.VIDEO.DECODER.S263 video_decoder.s263 libMtkOmxVdec.so
|
||||
AIV.play AIV.play.101 libMtkOmxAIVPlayer.so
|
||||
AIV.play.avcddp play.avcddp libMtkOmxAIVPlayer.so
|
||||
AIV.play.generic AIV.play.role.generic libMtkOmxAIVPlayer.so
|
||||
OMX.MTK.AUDIO.DECODER.RA audio_decoder.ra libMtkOmxCookDec.so
|
||||
OMX.MTK.AUDIO.DECODER.MP3 audio_decoder.mp3 libMtkOmxMp3Dec.so
|
||||
OMX.MTK.AUDIO.DECODER.AAC audio_decoder.aac libMtkOmxAacDec.so
|
||||
OMX.MTK.AUDIO.DECODER.G711 audio_decoder.g711 libMtkOmxG711Dec.so
|
||||
OMX.MTK.AUDIO.DECODER.RAW audio_decoder.raw libMtkOmxRawDec.so
|
||||
OMX.MTK.AUDIO.DECODER.AMR.NB audio_decoder.amrnb libMtkOmxAMRNBDec.so
|
||||
OMX.MTK.AUDIO.DECODER.AMR.WB audio_decoder.amrwb libMtkOmxAMRWBDec.so
|
||||
OMX.MTK.AUDIO.DECODER.WMAPRO audio_decoder.wma libMtkOmxWmaDec.so
|
||||
OMX.MTK.AUDIO.DECODER.WMA audio_decoder.wma libMtkOmxWmaDec.so
|
||||
OMX.MTK.AUDIO.ENCODER.AMR audio_encoder.amrnb libMtkOmxAmrEnc.so
|
||||
OMX.MTK.AUDIO.ENCODER.AWB audio_encoder.amrwb libMtkOmxAwbEnc.so
|
||||
OMX.MTK.AUDIO.ENCODER.AAC audio_encoder.aac libMtkOmxAacEnc.so
|
||||
OMX.MTK.VIDEO.ENCODER.AVC video_encoder.avc libMtkOmxVenc.so
|
||||
OMX.MTK.VIDEO.ENCODER.H263 video_encoder.h263 libMtkOmxVenc.so
|
||||
OMX.MTK.VIDEO.ENCODER.MPEG4 video_encoder.mpeg4 libMtkOmxVenc.so
|
||||
OMX.MTK.AUDIO.ENCODER.VORBIS audio_encoder.vorbis libMtkOmxVorbisEnc.so
|
||||
OMX.MTK.AUDIO.DECODER.VORBIS audio_decoder.vorbis libMtkOmxVorbisDec.so
|
||||
OMX.MTK.AUDIO.DECODER.APE audio_decoder.ape libMtkOmxApeDec.so
|
||||
OMX.MTK.AUDIO.DECODER.FLAC audio_decoder.flac libMtkOmxFlacDec.so
|
||||
OMX.MTK.AUDIO.DECODER.ADPCM audio_decoder.adpcm libMtkOmxAdpcmDec.so
|
||||
OMX.MTK.AUDIO.ENCODER.ADPCM audio_encoder.adpcm libMtkOmxAdpcmEnc.so
|
||||
OMX.MTK.AUDIO.DECODER.RAW audio_decoder.raw libMtkOmxRawDec.so
|
||||
OMX.MTK.AUDIO.DECODER.DDPLUS audio_decoder.ddplus libMtkOmxDdpDec.so
|
||||
OMX.MTK.AUDIO.DECODER.GSM audio_decoder.gsm libMtkOmxGsmDec.so
|
||||
OMX.MTK.AUDIO.DECODER.ALAC audio_decoder.alac libMtkOmxAlacDec.so
|
||||
|
||||
@@ -45,6 +45,8 @@ PRODUCT_COPY_FILES += \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_video_le.xml:system/etc/media_codecs_google_video_le.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \
|
||||
$(DEVICE_COMMON)/configs/media_codecs_performance.xml:system/etc/media_codecs_performance.xml \
|
||||
$(DEVICE_COMMON)/configs/media_codecs_mediatek_video.xml:system/etc/media_codecs_mediatek_video.xml \
|
||||
$(DEVICE_COMMON)/configs/media_codecs.xml:system/etc/media_codecs.xml \
|
||||
$(DEVICE_COMMON)/configs/media_profiles.xml:system/etc/media_profiles.xml \
|
||||
$(DEVICE_COMMON)/configs/mtk_omx_core.cfg:system/etc/mtk_omx_core.cfg
|
||||
|
||||
Reference in New Issue
Block a user