From e4e88dd0a3e92e31e6862d6c97e5f4541e71e69a Mon Sep 17 00:00:00 2001 From: Albert I Date: Thu, 1 Jul 2021 02:45:33 +0800 Subject: [PATCH] sm7250-common: Import QTI Codec2 HAL * Enable Codec2 input surface * Move QTI Codec2 media_codecs to where they actually belong * Provides hardware-accelerated Codec2 decoding for most codecs Signed-off-by: Albert I --- lito.mk | 17 +- media/media_codecs.xml | 1984 ++++++++++++++++++++++++ media/media_codecs_c2.xml | 440 ++++++ media/media_codecs_performance.xml | 203 +++ media/media_codecs_performance_c2.xml | 221 +++ media/media_codecs_performance_v1.xml | 200 +++ media/media_codecs_vendor.xml | 414 +++++ media/media_codecs_vendor_audio.xml | 23 + media/media_codecs_vendor_v1.xml | 409 +++++ media/media_profiles.xml | 1984 ++++++++++++++++++++++++ media/media_profiles_V1_0.xml | 867 +++++++++++ media/media_profiles_vendor.xml | 1998 +++++++++++++++++++++++++ properties.mk | 10 +- proprietary-files.txt | 32 +- 14 files changed, 8783 insertions(+), 19 deletions(-) create mode 100644 media/media_codecs.xml create mode 100644 media/media_codecs_c2.xml create mode 100644 media/media_codecs_performance.xml create mode 100644 media/media_codecs_performance_c2.xml create mode 100644 media/media_codecs_performance_v1.xml create mode 100644 media/media_codecs_vendor.xml create mode 100644 media/media_codecs_vendor_audio.xml create mode 100644 media/media_codecs_vendor_v1.xml create mode 100644 media/media_profiles.xml create mode 100644 media/media_profiles_V1_0.xml create mode 100644 media/media_profiles_vendor.xml diff --git a/lito.mk b/lito.mk index dfa78b3..2df73fb 100644 --- a/lito.mk +++ b/lito.mk @@ -273,7 +273,22 @@ PRODUCT_PACKAGES += \ PRODUCT_PACKAGES += \ libavservices_minijail \ libavservices_minijail.vendor \ - libavservices_minijail_vendor + libavservices_minijail_vendor \ + libcodec2_hidl@1.0.vendor \ + libcodec2_vndk.vendor + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/media/media_codecs_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \ + $(LOCAL_PATH)/media/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \ + $(LOCAL_PATH)/media/media_codecs_performance_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_v1.xml \ + $(LOCAL_PATH)/media/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \ + $(LOCAL_PATH)/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \ + $(LOCAL_PATH)/media/media_codecs_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \ + $(LOCAL_PATH)/media/media_codecs_vendor_v1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_v1.xml \ + $(LOCAL_PATH)/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ + $(LOCAL_PATH)/media/media_profiles_V1_0.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml \ + $(LOCAL_PATH)/media/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml \ + $(LOCAL_PATH)/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml PRODUCT_COPY_FILES += \ frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml \ diff --git a/media/media_codecs.xml b/media/media_codecs.xml new file mode 100644 index 0000000..371305a --- /dev/null +++ b/media/media_codecs.xml @@ -0,0 +1,1984 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/media_codecs_c2.xml b/media/media_codecs_c2.xml new file mode 100644 index 0000000..769fff6 --- /dev/null +++ b/media/media_codecs_c2.xml @@ -0,0 +1,440 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/media_codecs_performance.xml b/media/media_codecs_performance.xml new file mode 100644 index 0000000..1be041a --- /dev/null +++ b/media/media_codecs_performance.xml @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/media_codecs_performance_c2.xml b/media/media_codecs_performance_c2.xml new file mode 100644 index 0000000..7f996d0 --- /dev/null +++ b/media/media_codecs_performance_c2.xml @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/media_codecs_performance_v1.xml b/media/media_codecs_performance_v1.xml new file mode 100644 index 0000000..d02b672 --- /dev/null +++ b/media/media_codecs_performance_v1.xml @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/media_codecs_vendor.xml b/media/media_codecs_vendor.xml new file mode 100644 index 0000000..20ec969 --- /dev/null +++ b/media/media_codecs_vendor.xml @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/media_codecs_vendor_audio.xml b/media/media_codecs_vendor_audio.xml new file mode 100644 index 0000000..2749bc6 --- /dev/null +++ b/media/media_codecs_vendor_audio.xml @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/media/media_codecs_vendor_v1.xml b/media/media_codecs_vendor_v1.xml new file mode 100644 index 0000000..3a84d8d --- /dev/null +++ b/media/media_codecs_vendor_v1.xml @@ -0,0 +1,409 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/media_profiles.xml b/media/media_profiles.xml new file mode 100644 index 0000000..371305a --- /dev/null +++ b/media/media_profiles.xml @@ -0,0 +1,1984 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/media_profiles_V1_0.xml b/media/media_profiles_V1_0.xml new file mode 100644 index 0000000..66128d6 --- /dev/null +++ b/media/media_profiles_V1_0.xml @@ -0,0 +1,867 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/media/media_profiles_vendor.xml b/media/media_profiles_vendor.xml new file mode 100644 index 0000000..5bdec78 --- /dev/null +++ b/media/media_profiles_vendor.xml @@ -0,0 +1,1998 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/properties.mk b/properties.mk index 3591f78..ee3c0e4 100644 --- a/properties.mk +++ b/properties.mk @@ -283,8 +283,10 @@ ro.hardware.keystore_desede=true # Media PRODUCT_VENDOR_PROPERTIES += \ -debug.stagefright.ccodec=1 \ -debug.stagefright.omx_default_rank=0 \ +debug.stagefright.ccodec=4 \ +debug.media.codec2=2 \ +debug.stagefright.omx_default_rank=1000 \ +debug.stagefright.c2inputsurface=-1 \ media.stagefright.enable-player=true \ media.stagefright.enable-http=true \ media.stagefright.enable-aac=true \ @@ -295,9 +297,7 @@ mmp.enable.3g2=true \ media.stagefright.thumbnail.prefer_hw_codecs=true \ media.aac_51_output_enabled=true \ mm.enable.smoothstreaming=true \ -#13631487 is decimal sum of supported codecs in AAL -#codecs:(PARSER_)AAC AC3 AMR_NB AMR_WB ASF AVI DTS FLV 3GP 3G2 MKV MP2PS MP2TS MP3 OGG QCP WAV FLAC AIFF APE DSD MOV XVID -mm.enable.qcom_parser=63963135 \ +mm.enable.qcom_parser=16711679 \ persist.mm.enable.prefetch=true PRODUCT_SYSTEM_PROPERTIES += \ diff --git a/proprietary-files.txt b/proprietary-files.txt index 30fe766..c876116 100644 --- a/proprietary-files.txt +++ b/proprietary-files.txt @@ -548,6 +548,25 @@ system_ext/lib64/libmmosal.so|928a1da9ef313083ea5b48cba769100f385c9b02 vendor/etc/system_properties.xml|df9a0232bce88a3ca15b21de79b18a6917ea5e67 vendor/lib64/libmmosal.so|60b7a94d6cd73c6d5be0e76dd503179adafd79a7 +# Media (Codec2) - from LA.UM.9.12.r1-14000.04-SMxx50.QSSI12.0 +vendor/bin/hw/vendor.qti.media.c2@1.0-service|cd2c5d4f2050f7d72bb1116899da5abb49eb1864 +vendor/etc/init/vendor.qti.media.c2@1.0-service.rc|11209316ba8aae64b689217bc13b0804f6620678 +vendor/etc/media_codecs_c2.xml|5c2ab87923210f36952b41c043b7f05b0674d7e5 +vendor/etc/media_codecs_performance_c2.xml|f6597764a06e7d86ad28b69320b371a6cce5006b +vendor/etc/seccomp_policy/codec2.vendor.base-arm.policy|3c396a276dfb589501105e7158459fa2d644607e +vendor/etc/seccomp_policy/codec2.vendor.ext-arm.policy|a134d3d5d74294ca8164056b42389b1c7dbb2b65 +-vendor/etc/vintf/manifest/c2_manifest_vendor.xml|0e532bf1c7d6a0ee2e7e03a9cc3283a5bffc7f8e +vendor/lib/libcodec2_hidl@1.0.so|78f2b61ad3b818729f93fed57200ba64292da0fc +vendor/lib/libcodec2_vndk.so|a8ba77ae6afcd6492113149f9756712c517db09a +vendor/lib/libqcodec2_base.so|5bec0dec355c90d2a9739105b6d9810291ab9995 +vendor/lib/libqcodec2_basecodec.so|a517b6a89bf54d58c46758621c6dce9056cb92f7 +vendor/lib/libqcodec2_core.so|b92991b36af312411eb4779fea1a5c22550c1d56 +vendor/lib/libqcodec2_platform.so|77f33c008a7b7c0b8f2b4c992b26c2da8e69fe24 +vendor/lib/libqcodec2_utils.so|867b95c219f59126bbf19bb63fba43f9f7a30462 +vendor/lib/libqcodec2_v4l2codec.so|ffd18f2c4cfad643a3409165281cf1115488ad0a +vendor/lib64/libcodec2_hidl@1.0.so|28d291883503fd280cd2016967753029a4e9a4fd +vendor/lib64/libcodec2_vndk.so|b33e53a931c89c6d6c629969888836202c6526d0 + # Neural networks - from LA.UM.9.12.r1-14200.02-SMxx50.QSSI12.0 vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-qti|f2c199f2929ad26a2cbdc0bdb18615e8304dc264 vendor/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc|4b7f2c5f914f3eef38f19936c0a06efc09b5b28c @@ -568,19 +587,6 @@ vendor/lib64/libkeymasterprovision.so vendor/lib64/libkeymasterutils.so vendor/lib64/libqtikeymaster4.so -# Media configs -vendor/etc/system_properties.xml -vendor/etc/media_codecs.xml -vendor/etc/media_codecs_c2.xml -vendor/etc/media_codecs_performance.xml -vendor/etc/media_codecs_performance_c2.xml -vendor/etc/media_codecs_vendor.xml -vendor/etc/media_codecs_vendor_audio.xml -vendor/etc/media_profiles.xml -vendor/etc/media_profiles_vendor.xml -odm/etc/media_profiles_V1_0.xml - - # Mink-Lowi Interface daemon vendor/bin/mlid vendor/lib64/libminksocket.so