allow disable OMX for 64only build
This commit is contained in:
15
android.hardware.media.omx@1.0.xml
Normal file
15
android.hardware.media.omx@1.0.xml
Normal file
@@ -0,0 +1,15 @@
|
||||
<manifest version="1.0" type="device">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.omx</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOmx</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IOmxStore</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</manifest>
|
||||
15
manifest.xml
15
manifest.xml
@@ -1,4 +1,4 @@
|
||||
<manifest version="1.0" type="device" target-level="3">
|
||||
<manifest version="1.0" type="device" target-level="4">
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.audio</name>
|
||||
<transport>hwbinder</transport>
|
||||
@@ -53,17 +53,4 @@
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
<hal format="hidl">
|
||||
<name>android.hardware.media.omx</name>
|
||||
<transport>hwbinder</transport>
|
||||
<version>1.0</version>
|
||||
<interface>
|
||||
<name>IOmx</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
<interface>
|
||||
<name>IOmxStore</name>
|
||||
<instance>default</instance>
|
||||
</interface>
|
||||
</hal>
|
||||
</manifest>
|
||||
|
||||
84
media_codecs.xml
Normal file
84
media_codecs.xml
Normal file
@@ -0,0 +1,84 @@
|
||||
<?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 Include EMPTY>
|
||||
<!ATTLIST Include href CDATA #REQUIRED>
|
||||
<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
|
||||
<!ELEMENT Decoders (MediaCodec|Include)*>
|
||||
<!ELEMENT Encoders (MediaCodec|Include)*>
|
||||
<!ELEMENT MediaCodec (Type|Quirk|Include)*>
|
||||
<!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" />
|
||||
<Include href="media_codecs_google_telephony.xml" />
|
||||
<Include href="media_codecs_google_video.xml" />
|
||||
</MediaCodecs>
|
||||
21
redroid.mk
21
redroid.mk
@@ -102,6 +102,23 @@ PRODUCT_PACKAGES += \
|
||||
android.hardware.keymaster@3.0-service \
|
||||
android.hardware.keymaster@3.0-impl \
|
||||
|
||||
|
||||
ifneq ($(REDROID_DISABLE_OMX),true)
|
||||
# Codec 1.0 requires the OMX services
|
||||
DEVICE_MANIFEST_FILE += device/redroid/android.hardware.media.omx@1.0.xml
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/redroid/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
|
||||
|
||||
else
|
||||
# use Codec 2.0
|
||||
PRODUCT_PACKAGES += android.hardware.media.c2@1.2-default-service
|
||||
endif
|
||||
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += frameworks/av/services/audiopolicy/config
|
||||
# audio policy
|
||||
PRODUCT_PACKAGES += \
|
||||
@@ -115,10 +132,6 @@ PRODUCT_PACKAGES += \
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/generic/goldfish/camera/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \
|
||||
device/generic/goldfish/camera/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_telephony.xml \
|
||||
frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \
|
||||
frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \
|
||||
frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \
|
||||
frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \
|
||||
|
||||
@@ -20,5 +20,5 @@ BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
|
||||
|
||||
BOARD_GPU_DRIVERS := virgl radeonsi
|
||||
|
||||
DEVICE_MANIFEST_FILE := device/redroid/manifest.xml
|
||||
DEVICE_MANIFEST_FILE += device/redroid/manifest.xml
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
|
||||
|
||||
REDROID_DISABLE_OMX := true
|
||||
$(call inherit-product, $(LOCAL_PATH)/redroid.mk)
|
||||
|
||||
# overrides
|
||||
|
||||
@@ -14,5 +14,5 @@ BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
|
||||
|
||||
BOARD_GPU_DRIVERS := virgl radeonsi
|
||||
|
||||
DEVICE_MANIFEST_FILE := device/redroid/manifest.xml
|
||||
DEVICE_MANIFEST_FILE += device/redroid/manifest.xml
|
||||
|
||||
|
||||
@@ -16,5 +16,5 @@ BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
|
||||
|
||||
BOARD_GPU_DRIVERS := i915 i965 r300g r600g virgl iris radeonsi
|
||||
|
||||
DEVICE_MANIFEST_FILE := device/redroid/manifest.xml
|
||||
DEVICE_MANIFEST_FILE += device/redroid/manifest.xml
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit_only.mk)
|
||||
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
|
||||
|
||||
REDROID_DISABLE_OMX := true
|
||||
$(call inherit-product, $(LOCAL_PATH)/redroid.mk)
|
||||
$(call inherit-product, $(LOCAL_PATH)/redroid_x86_64_only/device.mk)
|
||||
|
||||
|
||||
@@ -12,5 +12,5 @@ BOARD_SYSTEMIMAGE_PARTITION_RESERVED_SIZE := 16777216
|
||||
|
||||
BOARD_GPU_DRIVERS := i915 i965 r300g r600g virgl iris radeonsi
|
||||
|
||||
DEVICE_MANIFEST_FILE := device/redroid/manifest.xml
|
||||
DEVICE_MANIFEST_FILE += device/redroid/manifest.xml
|
||||
|
||||
|
||||
Reference in New Issue
Block a user