From 16901c9eb6773be6ba6a1fa2c069e818e6389ace Mon Sep 17 00:00:00 2001 From: Jerry Huang Date: Fri, 22 Nov 2019 15:32:41 +0800 Subject: [PATCH] media: sunfish: enable Codec 2.0 - Build Codec2 vendor binaries and install xml files - Serve Codec2 data from media_codecs.xml - Add sepolicy for vendor Codec2 service - Add OMX components and lower default OMX ranks Bug: 141594577 Test: local/youtube playback, sceenrecord Change-Id: I72e37dbc96ee1585190e08b0210e9d5e5b968463 --- device.mk | 10 + device_framework_matrix.xml | 2 +- manifest.xml | 11 + media_codecs.xml | 381 +----------------------- media_codecs_omx.xml | 259 ++++++++++++++++ seccomp_policy/codec2.vendor.ext.policy | 9 + 6 files changed, 304 insertions(+), 368 deletions(-) create mode 100644 media_codecs_omx.xml create mode 100644 seccomp_policy/codec2.vendor.ext.policy diff --git a/device.mk b/device.mk index e4586d7d..47ad8b98 100644 --- a/device.mk +++ b/device.mk @@ -394,6 +394,14 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \ libqcodec2 \ vendor.qti.media.c2@1.0-service \ + media_codecs_c2.xml + +# TODO: remove once we generate ours +PRODUCT_PACKAGES += \ + media_codecs_performance_c2.xml + +PRODUCT_PROPERTY_OVERRIDES += \ + debug.stagefright.omx_default_rank=512 PRODUCT_PACKAGES += \ android.hardware.camera.provider@2.4-impl-google \ @@ -548,6 +556,7 @@ PRODUCT_PACKAGES += \ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ + $(LOCAL_PATH)/media_codecs_omx.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_omx.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 \ @@ -555,6 +564,7 @@ PRODUCT_COPY_FILES += \ # Vendor seccomp policy files for media components: PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/seccomp_policy/codec2.vendor.ext.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/codec2.vendor.ext.policy \ $(LOCAL_PATH)/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy PRODUCT_PROPERTY_OVERRIDES += \ diff --git a/device_framework_matrix.xml b/device_framework_matrix.xml index 3dee0e69..04b0ac2c 100644 --- a/device_framework_matrix.xml +++ b/device_framework_matrix.xml @@ -41,7 +41,7 @@ - hardware.google.media.c2 + android.hardware.media.c2 1.0 IComponentStore diff --git a/manifest.xml b/manifest.xml index d48b17ad..4e44baeb 100644 --- a/manifest.xml +++ b/manifest.xml @@ -117,6 +117,17 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. default + + + android.hardware.media.c2 + hwbinder + 1.0 + + IComponentStore + default + + + android.hardware.media.omx diff --git a/media_codecs.xml b/media_codecs.xml index 12eb7cb3..e2b3fd99 100644 --- a/media_codecs.xml +++ b/media_codecs.xml @@ -1,378 +1,25 @@ - - - + - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/media_codecs_omx.xml b/media_codecs_omx.xml new file mode 100644 index 00000000..08757a3e --- /dev/null +++ b/media_codecs_omx.xml @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/seccomp_policy/codec2.vendor.ext.policy b/seccomp_policy/codec2.vendor.ext.policy new file mode 100644 index 00000000..07b7bf70 --- /dev/null +++ b/seccomp_policy/codec2.vendor.ext.policy @@ -0,0 +1,9 @@ +# device specific syscalls +pselect6: 1 +eventfd2: 1 +sendto: 1 +recvfrom: 1 +_llseek: 1 +sysinfo: 1 +getcwd: 1 +getdents64: 1