diff --git a/Android.bp b/Android.bp index 5b1dbf6..e4eb08c 100644 --- a/Android.bp +++ b/Android.bp @@ -168,6 +168,15 @@ prebuilt_etc_xml { soc_specific: true, } +prebuilt_etc_xml { + name: "c2_manifest_vendor.xml", + owner: "samsung", + src: "proprietary/vendor/etc/vintf/manifest/c2_manifest_vendor.xml", + filename_from_src: true, + sub_dir: "vintf/manifest", + soc_specific: true, +} + prebuilt_etc_xml { name: "manifest_android.hardware.drm@1.3-service.widevine.xml", owner: "samsung", diff --git a/proprietary/vendor/bin/hw/vendor.qti.media.c2@1.0-service b/proprietary/vendor/bin/hw/vendor.qti.media.c2@1.0-service new file mode 100755 index 0000000..ec1550a Binary files /dev/null and b/proprietary/vendor/bin/hw/vendor.qti.media.c2@1.0-service differ diff --git a/proprietary/vendor/etc/init/vendor.qti.media.c2@1.0-service.rc b/proprietary/vendor/etc/init/vendor.qti.media.c2@1.0-service.rc new file mode 100644 index 0000000..2f29a12 --- /dev/null +++ b/proprietary/vendor/etc/init/vendor.qti.media.c2@1.0-service.rc @@ -0,0 +1,7 @@ +service vendor-qti-media-c2-hal-1-0 /vendor/bin/hw/vendor.qti.media.c2@1.0-service + class hal + user mediacodec + group mediadrm camera drmrpc system + ioprio rt 4 + writepid /dev/cpuset/foreground/tasks + diff --git a/proprietary/vendor/etc/seccomp_policy/codec2.vendor.base-arm.policy b/proprietary/vendor/etc/seccomp_policy/codec2.vendor.base-arm.policy new file mode 100644 index 0000000..396e7f6 --- /dev/null +++ b/proprietary/vendor/etc/seccomp_policy/codec2.vendor.base-arm.policy @@ -0,0 +1,92 @@ +################################################################################################### +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +################################################################################################### +# +# Not a Contribution. +# + +# Copyright (C) 2019 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. + +futex: 1 +# ioctl calls are filtered via the selinux policy. +ioctl: 1 +sched_yield: 1 +close: 1 +dup: 1 +ppoll: 1 +mprotect: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +mmap2: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE +memfd_create: 1 +ftruncate: 1 +ftruncate64: 1 + +mremap: arg3 == 3 +munmap: 1 +prctl: 1 +getuid32: 1 +writev: 1 +sigaltstack: 1 +clone: 1 +exit: 1 +lseek: 1 +rt_sigprocmask: 1 +openat: 1 +open: 1 +fstat64: 1 +write: 1 +nanosleep: 1 +setpriority: 1 +set_tid_address: 1 +getdents64: 1 +readlinkat: 1 +readlink: 1 +read: 1 +pread64: 1 +fstatfs64: 1 +gettimeofday: 1 +faccessat: 1 +_llseek: 1 +fstatat64: 1 +ugetrlimit: 1 +exit_group: 1 +restart_syscall: 1 +rt_sigreturn: 1 +getrandom: 1 +madvise: 1 + +# crash dump policy additions +sigreturn: 1 +clock_gettime: 1 +futex: 1 +getpid: 1 +gettid: 1 +pipe2: 1 +recvmsg: 1 +process_vm_readv: 1 +tgkill: 1 +rt_sigaction: 1 +rt_tgsigqueueinfo: 1 +#prctl: arg0 == PR_GET_NO_NEW_PRIVS || arg0 == 0x53564d41 +#mprotect: arg2 in 0x1|0x2 +#mmap2: arg2 in 0x1|0x2 +geteuid32: 1 +getgid32: 1 +getegid32: 1 +getgroups32: 1 + +#video process sys +inotify_add_watch: 1 diff --git a/proprietary/vendor/etc/seccomp_policy/codec2.vendor.ext-arm.policy b/proprietary/vendor/etc/seccomp_policy/codec2.vendor.ext-arm.policy new file mode 100644 index 0000000..6930da8 --- /dev/null +++ b/proprietary/vendor/etc/seccomp_policy/codec2.vendor.ext-arm.policy @@ -0,0 +1,13 @@ +#Copyright (c) 2019-2020 Qualcomm Technologies, Inc. +#All Rights Reserved. +#Confidential and Proprietary - Qualcomm Technologies, Inc. + +# device specific syscalls +pselect6: 1 +eventfd2: 1 +sendto: 1 +recvfrom: 1 +_llseek: 1 +sysinfo: 1 +getcwd: 1 +getdents64: 1 diff --git a/proprietary/vendor/etc/vintf/manifest/c2_manifest_vendor.xml b/proprietary/vendor/etc/vintf/manifest/c2_manifest_vendor.xml new file mode 100644 index 0000000..f6c22c1 --- /dev/null +++ b/proprietary/vendor/etc/vintf/manifest/c2_manifest_vendor.xml @@ -0,0 +1,40 @@ + + + + + android.hardware.media.c2 + hwbinder + 1.0 + + IComponentStore + default + software + + + diff --git a/proprietary/vendor/lib/libqcodec2_base.so b/proprietary/vendor/lib/libqcodec2_base.so new file mode 100644 index 0000000..f7ef2ff Binary files /dev/null and b/proprietary/vendor/lib/libqcodec2_base.so differ diff --git a/proprietary/vendor/lib/libqcodec2_basecodec.so b/proprietary/vendor/lib/libqcodec2_basecodec.so new file mode 100644 index 0000000..c411e09 Binary files /dev/null and b/proprietary/vendor/lib/libqcodec2_basecodec.so differ diff --git a/proprietary/vendor/lib/libqcodec2_core.so b/proprietary/vendor/lib/libqcodec2_core.so new file mode 100644 index 0000000..86af771 Binary files /dev/null and b/proprietary/vendor/lib/libqcodec2_core.so differ diff --git a/proprietary/vendor/lib/libqcodec2_platform.so b/proprietary/vendor/lib/libqcodec2_platform.so new file mode 100644 index 0000000..e7d5b8b Binary files /dev/null and b/proprietary/vendor/lib/libqcodec2_platform.so differ diff --git a/proprietary/vendor/lib/libqcodec2_utils.so b/proprietary/vendor/lib/libqcodec2_utils.so new file mode 100644 index 0000000..3d58a44 Binary files /dev/null and b/proprietary/vendor/lib/libqcodec2_utils.so differ diff --git a/proprietary/vendor/lib/libqcodec2_v4l2codec.so b/proprietary/vendor/lib/libqcodec2_v4l2codec.so new file mode 100644 index 0000000..ce8baa0 Binary files /dev/null and b/proprietary/vendor/lib/libqcodec2_v4l2codec.so differ diff --git a/sm8250-common-vendor.mk b/sm8250-common-vendor.mk index 9874928..4b443cf 100644 --- a/sm8250-common-vendor.mk +++ b/sm8250-common-vendor.mk @@ -29,6 +29,7 @@ PRODUCT_COPY_FILES += \ vendor/samsung/sm8250-common/proprietary/vendor/bin/hw/vendor.qti.hardware.qseecom@1.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.qti.hardware.qseecom@1.0-service \ vendor/samsung/sm8250-common/proprietary/vendor/bin/hw/vendor.qti.hardware.qteeconnector@1.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.qti.hardware.qteeconnector@1.0-service \ vendor/samsung/sm8250-common/proprietary/vendor/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti \ + vendor/samsung/sm8250-common/proprietary/vendor/bin/hw/vendor.qti.media.c2@1.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.qti.media.c2@1.0-service \ vendor/samsung/sm8250-common/proprietary/vendor/bin/hw/vendor.samsung.hardware.thermal@1.0-service:$(TARGET_COPY_OUT_VENDOR)/bin/hw/vendor.samsung.hardware.thermal@1.0-service \ vendor/samsung/sm8250-common/proprietary/vendor/bin/init.qti.chg_policy.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qti.chg_policy.sh \ vendor/samsung/sm8250-common/proprietary/vendor/bin/init.qti.qcv.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.qti.qcv.sh \ @@ -108,6 +109,7 @@ PRODUCT_COPY_FILES += \ vendor/samsung/sm8250-common/proprietary/vendor/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc \ vendor/samsung/sm8250-common/proprietary/vendor/etc/init/vendor.qti.hardware.qteeconnector@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.qteeconnector@1.0-service.rc \ vendor/samsung/sm8250-common/proprietary/vendor/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc \ + vendor/samsung/sm8250-common/proprietary/vendor/etc/init/vendor.qti.media.c2@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.media.c2@1.0-service.rc \ vendor/samsung/sm8250-common/proprietary/vendor/etc/init/vendor.qti.rmt_storage.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.rmt_storage.rc \ vendor/samsung/sm8250-common/proprietary/vendor/etc/init/vendor.qti.tftp.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.qti.tftp.rc \ vendor/samsung/sm8250-common/proprietary/vendor/etc/init/vendor.samsung.hardware.thermal@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.samsung.hardware.thermal@1.0-service.rc \ @@ -133,6 +135,8 @@ PRODUCT_COPY_FILES += \ vendor/samsung/sm8250-common/proprietary/vendor/etc/sap.conf:$(TARGET_COPY_OUT_VENDOR)/etc/sap.conf \ vendor/samsung/sm8250-common/proprietary/vendor/etc/sec_config:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config \ vendor/samsung/sm8250-common/proprietary/vendor/etc/sec_config_oem:$(TARGET_COPY_OUT_VENDOR)/etc/sec_config_oem \ + vendor/samsung/sm8250-common/proprietary/vendor/etc/seccomp_policy/codec2.vendor.base-arm.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/codec2.vendor.base-arm.policy \ + vendor/samsung/sm8250-common/proprietary/vendor/etc/seccomp_policy/codec2.vendor.ext-arm.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/codec2.vendor.ext-arm.policy \ vendor/samsung/sm8250-common/proprietary/vendor/etc/seccomp_policy/mediacodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ vendor/samsung/sm8250-common/proprietary/vendor/etc/seccomp_policy/vendor.qti.hardware.dsp.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/vendor.qti.hardware.dsp.policy \ vendor/samsung/sm8250-common/proprietary/vendor/etc/sensors/config/ak991x_dri_0.json:$(TARGET_COPY_OUT_VENDOR)/etc/sensors/config/ak991x_dri_0.json \ @@ -539,6 +543,12 @@ PRODUCT_COPY_FILES += \ vendor/samsung/sm8250-common/proprietary/vendor/lib/libqcc_file_agent.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqcc_file_agent.so \ vendor/samsung/sm8250-common/proprietary/vendor/lib/libqcci_legacy.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqcci_legacy.so \ vendor/samsung/sm8250-common/proprietary/vendor/lib/libqcmaputils.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqcmaputils.so \ + vendor/samsung/sm8250-common/proprietary/vendor/lib/libqcodec2_base.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqcodec2_base.so \ + vendor/samsung/sm8250-common/proprietary/vendor/lib/libqcodec2_basecodec.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqcodec2_basecodec.so \ + vendor/samsung/sm8250-common/proprietary/vendor/lib/libqcodec2_core.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqcodec2_core.so \ + vendor/samsung/sm8250-common/proprietary/vendor/lib/libqcodec2_platform.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqcodec2_platform.so \ + vendor/samsung/sm8250-common/proprietary/vendor/lib/libqcodec2_utils.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqcodec2_utils.so \ + vendor/samsung/sm8250-common/proprietary/vendor/lib/libqcodec2_v4l2codec.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqcodec2_v4l2codec.so \ vendor/samsung/sm8250-common/proprietary/vendor/lib/libqdi.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqdi.so \ vendor/samsung/sm8250-common/proprietary/vendor/lib/libqdma_file_agent.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqdma_file_agent.so \ vendor/samsung/sm8250-common/proprietary/vendor/lib/libqdp.so:$(TARGET_COPY_OUT_VENDOR)/lib/libqdp.so \ @@ -1298,6 +1308,7 @@ PRODUCT_PACKAGES += \ android.hardware.gnss@2.1-service-qti.xml \ android.hardware.neuralnetworks@1.3-service-qti-hta.xml \ android.hardware.neuralnetworks@1.3-service-qti.xml \ + c2_manifest_vendor.xml \ manifest_android.hardware.drm@1.3-service.widevine.xml \ vendor.samsung.hardware.thermal@1.0-manifest.xml \ android.hardware.keymaster@4.0-strongbox-service-qti