fleur: build C2 from stock rom

- Regen vendor to extract C2

Signed-off-by: Onelots <onelots@onelots.fr>
This commit is contained in:
2025-10-20 10:19:16 +02:00
parent 51ba120a79
commit 01abaf1121
7 changed files with 207 additions and 0 deletions

View File

@@ -26929,6 +26929,15 @@ prebuilt_etc_xml {
soc_specific: true,
}
prebuilt_etc_xml {
name: "manifest_media_c2_V1_2_default.xml",
owner: "xiaomi",
src: "proprietary/vendor/etc/vintf/manifest/manifest_media_c2_V1_2_default.xml",
filename_from_src: true,
sub_dir: "vintf/manifest",
soc_specific: true,
}
prebuilt_etc_xml {
name: "manifest_thh.xml",
owner: "xiaomi",
@@ -27279,6 +27288,49 @@ cc_prebuilt_binary {
soc_specific: true,
}
cc_prebuilt_binary {
name: "android.hardware.media.c2@1.2-mediatek-64b",
owner: "xiaomi",
target: {
android_arm64: {
srcs: [
"proprietary/vendor/bin/hw/android.hardware.media.c2@1.2-mediatek-64b",
],
shared_libs: [
"libstagefright_foundation-v33",
"libbase",
"liblog",
"libcodec2",
"libutils",
"android.hardware.media.c2@1.0",
"android.hardware.media.c2@1.1",
"android.hardware.media.c2@1.2",
"libcodec2_hidl@1.0",
"libcodec2_hidl@1.1",
"libcodec2_hidl@1.2",
"libcodec2_vndk",
"libhidlbase",
"libavservices_minijail",
"libbinder",
"libcodec2_mtk_c2store",
"libcodec2_mtk_vdec",
"libcodec2_mtk_venc",
"libc++",
"libc",
"libm",
"libdl",
],
},
},
compile_multilib: "64",
strip: {
none: true,
},
prefer: true,
relative_install_path: "hw",
soc_specific: true,
}
cc_prebuilt_binary {
name: "android.hardware.neuralnetworks-shim-service-mtk-legacy",
owner: "xiaomi",

View File

@@ -176,6 +176,7 @@ PRODUCT_COPY_FILES += \
vendor/xiaomi/fleur/proprietary/vendor/etc/init/android.hardware.drm-service.widevine.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.drm-service.widevine.rc \
vendor/xiaomi/fleur/proprietary/vendor/etc/init/android.hardware.gnss-service.mediatek.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.gnss-service.mediatek.rc \
vendor/xiaomi/fleur/proprietary/vendor/etc/init/android.hardware.keymaster@4.1-service.beanpod.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.keymaster@4.1-service.beanpod.rc \
vendor/xiaomi/fleur/proprietary/vendor/etc/init/android.hardware.media.c2@1.2-mediatek-64b.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.media.c2@1.2-mediatek-64b.rc \
vendor/xiaomi/fleur/proprietary/vendor/etc/init/android.hardware.neuralnetworks-shim-service-mtk.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.neuralnetworks-shim-service-mtk.rc \
vendor/xiaomi/fleur/proprietary/vendor/etc/init/android.hardware.tetheroffload-V1-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.tetheroffload-V1-service.rc \
vendor/xiaomi/fleur/proprietary/vendor/etc/init/camerahalserver.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/camerahalserver.rc \
@@ -214,6 +215,8 @@ PRODUCT_COPY_FILES += \
vendor/xiaomi/fleur/proprietary/vendor/etc/ipsec/strongswan.conf:$(TARGET_COPY_OUT_VENDOR)/etc/ipsec/strongswan.conf \
vendor/xiaomi/fleur/proprietary/vendor/etc/mpe.conf:$(TARGET_COPY_OUT_VENDOR)/etc/mpe.conf \
vendor/xiaomi/fleur/proprietary/vendor/etc/screen_light.xml:$(TARGET_COPY_OUT_VENDOR)/etc/screen_light.xml \
vendor/xiaomi/fleur/proprietary/vendor/etc/seccomp_policy/android.hardware.media.c2@1.2-extended-seccomp-policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/android.hardware.media.c2@1.2-extended-seccomp-policy \
vendor/xiaomi/fleur/proprietary/vendor/etc/seccomp_policy/android.hardware.media.c2@1.2-mediatek-seccomp-policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/android.hardware.media.c2@1.2-mediatek-seccomp-policy \
vendor/xiaomi/fleur/proprietary/vendor/etc/slp_conf:$(TARGET_COPY_OUT_VENDOR)/etc/slp_conf \
vendor/xiaomi/fleur/proprietary/vendor/etc/smartpa_param/fsmsdg_params.bin:$(TARGET_COPY_OUT_VENDOR)/etc/smartpa_param/fsmsdg_params.bin \
vendor/xiaomi/fleur/proprietary/vendor/etc/smsdbvisitor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/smsdbvisitor.xml \
@@ -1257,6 +1260,7 @@ PRODUCT_PACKAGES += \
gnss@2.1-service.xml \
manifest_android.hardware.drm-service.widevine.xml \
manifest_apuware_utils_aidl.xml \
manifest_media_c2_V1_2_default.xml \
manifest_thh.xml \
batterysecret \
bp_kmsetkey_ca \
@@ -1269,6 +1273,7 @@ PRODUCT_PACKAGES += \
android.hardware.gnss-service.mediatek \
android.hardware.graphics.allocator@4.0-service-mediatek \
android.hardware.keymaster@4.1-service.beanpod \
android.hardware.media.c2@1.2-mediatek-64b \
android.hardware.neuralnetworks-shim-service-mtk-legacy \
camerahalserver \
mtkfusionrild \

Binary file not shown.

View File

@@ -0,0 +1,7 @@
service android-hardware-media-c2-hal-1-2 /vendor/bin/hw/android.hardware.media.c2@1.2-mediatek-64b
class hal
user mediacodec
group camera drmrpc mediadrm media_rw sdcard_rw media system audio inet net_bt net_bt_admin net_bw_acct sdcard_r
ioprio rt 4
task_profiles ProcessCapacityHigh HighPerformance

View File

@@ -0,0 +1,41 @@
connect: 1
fcntl64: 1
socket: 1
writev: 1
clock_nanosleep: 1
eventfd2: 1
sched_getparam: 1
sched_getscheduler :1
setsockopt: 1
bind: 1
listen: 1
# Add more for 32bits process, from android.hardware.media.c2@1.1-default-arm.policy
mmap2: arg2 in ~PROT_EXEC || arg2 in ~PROT_WRITE
ftruncate64: 1
getuid32: 1
open: 1
fstat64: 1
readlink: 1
fstatfs64: 1
_llseek: 1
fstatat64: 1
ugetrlimit: 1
# crash dump policy additions
sigreturn: 1
futex: 1
#mmap2: arg2 in 0x1|0x2
geteuid32: 1
getgid32: 1
getegid32: 1
getgroups32: 1
getpriority: 1
mlock: 1
munlock: 1
fchmod: 1
getuid: 1
mmap: 1
getrlimit: 1
newfstatat: 1
fstat: 1
fstatfs: 1

View File

@@ -0,0 +1,91 @@
# 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: Ensure |flags| are (MREMAP_MAYMOVE | MREMAP_FIXED) TODO: Once minijail
# parser support for '<' is in this needs to be modified to also prevent
# |old_address| and |new_address| from touching the exception vector page, which
# on ARM is statically loaded at 0xffff 0000. See
# http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0211h/Babfeega.html
# for more details.
mremap: arg3 == 3 || arg3 == MREMAP_MAYMOVE
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
sched_setaffinity: 1
sched_getaffinity: 1
sched_getparam: 1
sched_getscheduler: 1
recvfrom: 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

View File

@@ -0,0 +1,11 @@
<manifest version="1.0" type="device">
<hal>
<name>android.hardware.media.c2</name>
<transport>hwbinder</transport>
<version>1.2</version>
<interface>
<name>IComponentStore</name>
<instance>default</instance>
</interface>
</hal>
</manifest>