diff options
-rw-r--r-- | common.mk | 7 | ||||
-rwxr-xr-x | configs/media_codecs.xml | 56 | ||||
-rw-r--r-- | configs/media_codecs_google_video_le.xml | 101 |
3 files changed, 151 insertions, 13 deletions
@@ -98,11 +98,12 @@ PRODUCT_PACKAGES += \ # libOMX.SEC.VP8.Decoder PRODUCT_COPY_FILES += \ - $(COMMON_PATH)/configs/media_profiles.xml:system/etc/media_profiles.xml \ - $(COMMON_PATH)/configs/media_codecs.xml:system/etc/media_codecs.xml \ frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ 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.xml:system/etc/media_codecs_google_video.xml + frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ + $(COMMON_PATH)/configs/media_profiles.xml:system/etc/media_profiles.xml \ + $(COMMON_PATH)/configs/media_codecs.xml:system/etc/media_codecs.xml \ + $(COMMON_PATH)/configs/media_codecs_google_video_le.xml:system/etc/media_codecs_google_video_le.xml # Filesystem management tools PRODUCT_PACKAGES += \ diff --git a/configs/media_codecs.xml b/configs/media_codecs.xml index b628b68..48c516c 100755 --- a/configs/media_codecs.xml +++ b/configs/media_codecs.xml @@ -78,18 +78,54 @@ Only the three quirks included above are recognized at this point: <MediaCodecs> <Include href="media_codecs_google_audio.xml" /> <Include href="media_codecs_google_telephony.xml" /> - <Decoders> - <MediaCodec name="OMX.SEC.MPEG4.Decoder" type="video/mp4v-es" /> - <MediaCodec name="OMX.SEC.H263.Decoder" type="video/3gpp" /> - <MediaCodec name="OMX.SEC.AVC.Decoder" type="video/avc" /> + <MediaCodec name="OMX.SEC.MPEG4.Decoder" type="video/mp4v-es" > + <Limit name="size" min="64x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="244800" /> + <Limit name="bitrate" range="1-20000000" /> + </MediaCodec> + <MediaCodec name="OMX.SEC.H263.Decoder" type="video/3gpp" > + <Limit name="size" min="64x64" max="800x480" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="45000" /> + <Limit name="bitrate" range="1-6000000" /> + </MediaCodec> + <MediaCodec name="OMX.SEC.AVC.Decoder" type="video/avc" > + <Limit name="size" min="64x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="244800" /> + <Limit name="bitrate" range="1-20000000" /> + </MediaCodec> </Decoders> - <Encoders> - <MediaCodec name="OMX.SEC.MPEG4.Encoder" type="video/mp4v-es" /> - <MediaCodec name="OMX.SEC.H263.Encoder" type="video/3gpp" /> - <MediaCodec name="OMX.SEC.AVC.Encoder" type="video/avc" /> + <MediaCodec name="OMX.SEC.MPEG4.Encoder" type="video/mp4v-es" > + <Quirk name="requires-loaded-to-idle-after-allocation"/> + <Limit name="size" min="96x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="244800" /> + <Limit name="bitrate" range="1-20000000" /> + </MediaCodec> + <MediaCodec name="OMX.SEC.H263.Encoder" type="video/3gpp" > + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="96x64" max="800x480" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="244800" /> + <Limit name="bitrate" range="1-6000000" /> + </MediaCodec> + <MediaCodec name="OMX.SEC.AVC.Encoder" type="video/avc" > + <Quirk name="requires-loaded-to-idle-after-allocation" /> + <Limit name="size" min="96x64" max="1920x1088" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" min="1" max="244800" /> + <Limit name="bitrate" range="1-20000000" /> + </MediaCodec> </Encoders> - <Include href="media_codecs_google_video.xml" /> - <Include href="media_codecs_ffmpeg.xml" /> + <Include href="media_codecs_google_video_le.xml" /> </MediaCodecs> diff --git a/configs/media_codecs_google_video_le.xml b/configs/media_codecs_google_video_le.xml new file mode 100644 index 0000000..368823e --- /dev/null +++ b/configs/media_codecs_google_video_le.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="utf-8" ?> +<!-- Copyright (C) 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. +--> + +<Included> + <Decoders> + <MediaCodec name="OMX.google.mpeg4.decoder" type="video/mp4v-es"> + <!-- profiles and levels: ProfileSimple : Level3 --> + <Limit name="size" min="2x2" max="352x288" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" range="12-11880" /> + <Limit name="bitrate" range="1-384000" /> + </MediaCodec> + <MediaCodec name="OMX.google.h263.decoder" type="video/3gpp"> + <!-- profiles and levels: ProfileBaseline : Level30, ProfileBaseline : Level45 + ProfileISWV2 : Level30, ProfileISWV2 : Level45 --> + <Limit name="size" min="2x2" max="352x288" /> + <Limit name="alignment" value="2x2" /> + <Limit name="bitrate" range="1-384000" /> + </MediaCodec> + <MediaCodec name="OMX.google.h264.decoder" type="video/avc"> + <!-- profiles and levels: ProfileBaseline : Level51 --> + <Limit name="size" min="2x2" max="2048x2048" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="block-count" range="1-8160" /> + <Limit name="blocks-per-second" range="1-489600" /> + <Limit name="bitrate" range="1-40000000" /> + </MediaCodec> + <MediaCodec name="OMX.google.hevc.decoder" type="video/hevc"> + <!-- profiles and levels: ProfileMain : MainTierLevel51 --> + <Limit name="size" min="2x2" max="1280x1280" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="8x8" /> + <Limit name="block-count" range="1-139264" /> + <Limit name="blocks-per-second" range="1-432000" /> + <Limit name="bitrate" range="1-5000000" /> + </MediaCodec> + <MediaCodec name="OMX.google.vp8.decoder" type="video/x-vnd.on2.vp8"> + <Limit name="size" min="2x2" max="2048x2048" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="block-count" range="1-8160" /> + <Limit name="blocks-per-second" range="1-500000" /> + <Limit name="bitrate" range="1-40000000" /> + </MediaCodec> + <MediaCodec name="OMX.google.vp9.decoder" type="video/x-vnd.on2.vp9"> + <Limit name="size" min="2x2" max="1280x1280" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-size" value="16x16" /> + <Limit name="block-count" range="1-3600" /> + <Limit name="blocks-per-second" range="1-108000" /> + <Limit name="bitrate" range="1-5000000" /> + </MediaCodec> + </Decoders> + <Encoders> + <MediaCodec name="OMX.google.h263.encoder" type="video/3gpp"> + <!-- profiles and levels: ProfileBaseline : Level45 --> + <Limit name="size" min="176x144" max="176x144" /> + <Limit name="alignment" value="16x16" /> + <Limit name="bitrate" range="1-128000" /> + </MediaCodec> + <MediaCodec name="OMX.google.h264.encoder" type="video/avc"> + <!-- profiles and levels: ProfileBaseline : Level2 --> + <Limit name="size" min="16x16" max="896x896" /> + <Limit name="alignment" value="16x16" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" range="1-11880" /> + <Limit name="bitrate" range="1-2000000" /> + </MediaCodec> + <MediaCodec name="OMX.google.mpeg4.encoder" type="video/mp4v-es"> + <!-- profiles and levels: ProfileCore : Level2 --> + <Limit name="size" min="16x16" max="176x144" /> + <Limit name="alignment" value="16x16" /> + <Limit name="block-size" value="16x16" /> + <Limit name="blocks-per-second" range="12-1485" /> + <Limit name="bitrate" range="1-64000" /> + </MediaCodec> + <MediaCodec name="OMX.google.vp8.encoder" type="video/x-vnd.on2.vp8"> + <!-- profiles and levels: ProfileMain : Level_Version0-3 --> + <Limit name="size" min="2x2" max="1280x1280" /> + <Limit name="alignment" value="2x2" /> + <Limit name="block-count" range="1-3600" /> + <Limit name="bitrate" range="1-20000000" /> + <Feature name="bitrate-modes" value="VBR,CBR" /> + </MediaCodec> + </Encoders> +</Included> |