sm8450-common: Add support for Dolby Vision
* Also import Media codecs for Dolby Vision support * Fixes taken from multiple trees which mentioned below * Let's make it easy and clean adaption in a single commit xD * Thanks to the authors of: - https://github.com/flakeforever/device_xiaomi_mondrian - https://github.com/Nabu-upsidedowncake/device_xiaomi_marble - https://github.com/AOSPA/android_device_xiaomi_sm8450-common - https://github.com/AOSPA/android_device_xiaomi_sm8550-common - https://github.com/blazerpaul15 Signed-off-by: swiitchOFF <120115258+swiitchOFF@users.noreply.github.com>
This commit is contained in:
@@ -153,6 +153,9 @@ PRODUCT_COPY_FILES += \
|
||||
# Dolby
|
||||
$(call inherit-product, hardware/dolby/dolby.mk)
|
||||
|
||||
# Dolby Vision
|
||||
$(call soong_config_set, dolby_vision, enabled, true)
|
||||
|
||||
# DRM
|
||||
PRODUCT_PACKAGES += \
|
||||
android.hardware.drm-service.clearkey
|
||||
@@ -256,6 +259,10 @@ PRODUCT_PACKAGES += \
|
||||
init.qti.media.sh \
|
||||
libstagefright_softomx_plugin.vendor
|
||||
|
||||
# Media - Dolby vision
|
||||
PRODUCT_PACKAGES += \
|
||||
libcodec2_hidl_shim.vendor
|
||||
|
||||
# Network
|
||||
PRODUCT_COPY_FILES += \
|
||||
frameworks/native/data/etc/android.software.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.xml \
|
||||
|
||||
@@ -100,10 +100,14 @@ blob_fixups: blob_fixups_user_type = {
|
||||
): blob_fixup()
|
||||
.regex_replace('.+media_codecs_(google_audio|google_c2|google_telephony|vendor_audio).+\n', '')
|
||||
.regex_replace(r'(?s)(<MediaCodecs.*?>)',r'\1\n <Include href="media_codecs_dolby_audio.xml" />'),
|
||||
'vendor/etc/vintf/manifest/c2_manifest_vendor.xml': blob_fixup()
|
||||
.regex_replace('.+dolby.+\n', ''),
|
||||
'vendor/lib64/vendor.libdpmframework.so': blob_fixup()
|
||||
.add_needed('libhidlbase_shim.so'),
|
||||
('vendor/lib/c2.dolby.avc.dec.so', 'vendor/lib/c2.dolby.avc.sec.dec.so', 'vendor/lib/c2.dolby.hevc.dec.so', 'vendor/lib/c2.dolby.hevc.sec.dec.so'): blob_fixup()
|
||||
.add_needed('libstagefright_foundation-v33.so'),
|
||||
('vendor/bin/hw/dolbycodec2'): blob_fixup()
|
||||
.add_needed('libstagefright_foundation-v33.so'),
|
||||
('vendor/lib/c2.dolby.client.so'): blob_fixup()
|
||||
.add_needed('libcodec2_hidl_shim.so'),
|
||||
} # fmt: skip
|
||||
|
||||
module = ExtractUtilsModule(
|
||||
|
||||
@@ -465,7 +465,6 @@ vendor/etc/media_taro/video_system_specs.json
|
||||
vendor/etc/media_ukee/video_system_specs.json
|
||||
vendor/etc/seccomp_policy/codec2.vendor.base-arm64.policy
|
||||
vendor/etc/seccomp_policy/codec2.vendor.ext-arm64.policy
|
||||
vendor/etc/vintf/manifest/c2_manifest_vendor.xml
|
||||
vendor/etc/vintf/manifest/c2_manifest_vendor_audio.xml
|
||||
vendor/lib64/libAlacSwDec.so
|
||||
vendor/lib64/libApeSwDec.so
|
||||
@@ -497,6 +496,36 @@ vendor/lib64/libqcodec2_v4l2codec.so
|
||||
vendor/lib64/libvideotxr.so
|
||||
vendor/lib64/qti.video.utils.videobufferlayout.so
|
||||
|
||||
# Media configs
|
||||
vendor/etc/media_codecs_ukee_vendor.xml|433d0a01f3c3911a3bf8ee2fe17a35412dde3d20
|
||||
vendor/etc/media_codecs_with_dolby_taro.xml|13696738db61eea9937158d69dae316092efe458
|
||||
|
||||
# Media (Dolby Vision)
|
||||
vendor/bin/hw/dolbycodec2|bf9f899668ae3dfc9d8f82b089dd936fbe499e9d
|
||||
vendor/etc/dolby_vision.cfg|1154eef94f2a9c73120c728d9513f1364d9fe018
|
||||
vendor/etc/init/vendor.dolbyvision.media.c2@1.0-service.rc|1ea8b363e94fd4f5410cadceb30de8229fb38045
|
||||
vendor/etc/vintf/manifest/c2_manifest_vendor.xml|dfaad7360e85bf2d1a8293bb878a4f0edc70b1db
|
||||
vendor/lib/c2.dolby.avc.dec.so|5fee9dce283b417d68ae7103b0721c80df05d6c6
|
||||
vendor/lib/c2.dolby.avc.sec.dec.so|658a83dd5a33d4ff506c5f6b2cf7e6c442d11afd
|
||||
vendor/lib/c2.dolby.client.so|0f0cc6ef7ae749d461805cbf5afec5f020c3ea07;DISABLE_CHECKELF
|
||||
vendor/lib/c2.dolby.egl.so|b6ba40013e45514cdaf94cab9a3a23c9a3b6f98f
|
||||
vendor/lib/c2.dolby.hevc.dec.so|f64bc25b028a2a81b084caa76f44d43ad8400a58
|
||||
vendor/lib/c2.dolby.hevc.enc.so|7e2d292742a08e9d703d02ea1a6619b3c228eae7
|
||||
vendor/lib/c2.dolby.hevc.sec.dec.so|8937fd7a72e84ba81ae9f31439791cd6c73aca73
|
||||
vendor/lib/c2.dolby.store.so|a262a67d5264731651f98a2353f95361684d8995
|
||||
vendor/lib/libdolbyottcameracontrol.so|b0e2b145c2714c523d5f765f0691b9dffed906f8
|
||||
vendor/lib/libdolbyvision.so|052effa6e1c2c34079fc28c463c1639ca63b9e40
|
||||
vendor/lib64/c2.dolby.avc.dec.so|439a00c49d07e4fa2451162f75ad1ec6dc5b1ede
|
||||
vendor/lib64/c2.dolby.avc.sec.dec.so|9dfdde23db39260bcba3a1d417dd07a5b521f411
|
||||
vendor/lib64/c2.dolby.client.so|88bf13140ff1cd767e86a221b579c17c662d9c48;DISABLE_CHECKELF
|
||||
vendor/lib64/c2.dolby.egl.so|8acc4f5f81efc2d4d590a6f7b8584cd993ffd74a
|
||||
vendor/lib64/c2.dolby.hevc.dec.so|1bbf42f25506585e782bd26590c47d952dafe2a0
|
||||
vendor/lib64/c2.dolby.hevc.enc.so|e148e4c26d9185b2ebb00be93ae849ec8116be0a
|
||||
vendor/lib64/c2.dolby.hevc.sec.dec.so|eb4b421de11c209f2270d5bea5f80a1d8380907a
|
||||
vendor/lib64/c2.dolby.store.so|7a6964871f5c6ac19025f5fc7682219bc37c4357
|
||||
vendor/lib64/libdolbyottcameracontrol.so|60cf0e7e42ad4b6b3e5a64f2098b99d5d55d1b51
|
||||
vendor/lib64/libdolbyvision.so|22c517e552288fb1482201f731ef183f917c69da
|
||||
|
||||
# Mlipay
|
||||
vendor/bin/mlipayd@1.1
|
||||
vendor/etc/init/vendor.xiaomi.hardware.mlipay@1.1-service.rc
|
||||
|
||||
3
sepolicy/vendor/file_contexts
vendored
3
sepolicy/vendor/file_contexts
vendored
@@ -60,6 +60,9 @@
|
||||
/data/vendor/mac_addr(/.*)? u:object_r:vendor_mac_vendor_data_file:s0
|
||||
/vendor/bin/nv_mac u:object_r:vendor_wcnss_service_exec:s0
|
||||
|
||||
# Media
|
||||
/vendor/bin/hw/dolbycodec2 u:object_r:mediacodec_exec:s0
|
||||
|
||||
# Mlipay
|
||||
/(vendor|system/vendor)/bin/mlipayd@1.1 u:object_r:hal_mlipay_default_exec:s0
|
||||
|
||||
|
||||
15
shim/Android.bp
Normal file
15
shim/Android.bp
Normal file
@@ -0,0 +1,15 @@
|
||||
//
|
||||
// Copyright (C) 2020 The LineageOS Project
|
||||
// Copyright (C) 2024 Flakeforever
|
||||
//
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
//
|
||||
|
||||
cc_library_shared {
|
||||
name: "libcodec2_hidl_shim",
|
||||
srcs: ["libcodec2_hidl_shim/libcodec2_hidl_shim.cpp"],
|
||||
shared_libs: [
|
||||
"libcodec2_hidl@1.0",
|
||||
],
|
||||
vendor_available: true,
|
||||
}
|
||||
11
shim/libcodec2_hidl_shim/libcodec2_hidl_shim.cpp
Normal file
11
shim/libcodec2_hidl_shim/libcodec2_hidl_shim.cpp
Normal file
@@ -0,0 +1,11 @@
|
||||
#include <stdint.h>
|
||||
|
||||
namespace android {
|
||||
extern "C" void _ZN7android8hardware5media2c24V1_05utils6objcpyEPNS3_10WorkBundleERKNSt3__14listINS7_10unique_ptrI6C2WorkNS7_14default_deleteISA_EEEENS7_9allocatorISD_EEEEPNS_16BufferPoolSenderINS4_15BufferPoolTypesEEE(
|
||||
void* thisptr, void* list, bool param1, bool param2);
|
||||
|
||||
extern "C" void _ZN7android8hardware5media2c24V1_05utils6objcpyEPNS3_10WorkBundleERKNSt3__14listINS7_10unique_ptrI6C2WorkNS7_14default_deleteISA_EEEENS7_9allocatorISD_EEEEPNS4_16BufferPoolSenderE(
|
||||
void* thisptr, void* list, bool param1, bool param2) {
|
||||
_ZN7android8hardware5media2c24V1_05utils6objcpyEPNS3_10WorkBundleERKNSt3__14listINS7_10unique_ptrI6C2WorkNS7_14default_deleteISA_EEEENS7_9allocatorISD_EEEEPNS_16BufferPoolSenderINS4_15BufferPoolTypesEEE(thisptr, list, param1, param2);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user