hardware_dolby/dolby.mk
2025-04-01 06:11:18 +05:30

115 lines
3.4 KiB
Makefile

#
# Copyright (C) 2022 FlamingoOS 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.
#
# Dolby path
DOLBY_PATH := hardware/dolby
# Soong Namespace
PRODUCT_SOONG_NAMESPACES += \
$(DOLBY_PATH)
# Enable codec support
AUDIO_FEATURE_ENABLED_DS2_DOLBY_DAP := true
# SEPolicy
BOARD_VENDOR_SEPOLICY_DIRS += $(DOLBY_PATH)/sepolicy/vendor
# HIDL
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE += $(DOLBY_PATH)/dolby_framework_matrix.xml
DEVICE_MANIFEST_FILE += $(DOLBY_PATH)/vendor.dolby.hardware.dms@2.0-service.xml
# Configs
PRODUCT_COPY_FILES += \
$(DOLBY_PATH)/configs/dax-default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/dolby/dax-default.xml \
$(DOLBY_PATH)/configs/media_codecs_dolby_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_dolby_audio.xml
# Dolby VNDK libs
PRODUCT_PACKAGES += \
libstagefright_foundation-v33
# Overlays
PRODUCT_PACKAGES += \
DolbyFrameworksResCommon
# Spatial Audio
PRODUCT_COPY_FILES += \
$(DOLBY_PATH)/configs/android.hardware.sensor.dynamic.head_tracker.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.sensor.dynamic.head_tracker.xml \
# Spatial Audio: optimize spatializer effect
PRODUCT_PROPERTY_OVERRIDES += \
audio.spatializer.effect.util_clamp_min=300
# Spatial Audio: declare use of spatial audio
PRODUCT_PROPERTY_OVERRIDES += \
ro.audio.spatializer_enabled=true \
ro.audio.headtracking_enabled=true \
ro.audio.spatializer_transaural_enabled_default=false \
persist.vendor.audio.spatializer.speaker_enabled=true \
# Spatial Audio Proprietary blobs
PRODUCT_PACKAGES += \
libspatialaudio \
# Media C2 Vendor
PRODUCT_PACKAGES += \
libcodec2_hidl@1.0.vendor \
libcodec2_soft_common.vendor \
libstagefright_softomx.vendor \
libstagefright_softomx_plugin.vendor \
# Dolby Props
PRODUCT_VENDOR_PROPERTIES += \
ro.vendor.dolby.dax.version=DAX3_3.6.0.12_r1 \
vendor.audio.dolby.ds2.enabled=false \
vendor.audio.dolby.ds2.hardbypass=false \
ro.vendor.audio.dolby.dax.support=true \
ro.vendor.audio.dolby.surround.enable=true \
persist.vendor.audio_fx.current=dolby
# Remove Packages for Dolby Support
PRODUCT_PACKAGES += \
RemovePackagesDolby
# DSP Volume Synchronizer
PRODUCT_PACKAGES += \
DSPVolumeSynchronizer
# XiaomiDolby
PRODUCT_PACKAGES += \
XiaomiDolby \
# Dolby Proprietary blobs
PRODUCT_COPY_FILES += \
$(DOLBY_PATH)/proprietary/vendor/etc/init/vendor.dolby.hardware.dms@2.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/vendor.dolby.hardware.dms@2.0-service.rc \
PRODUCT_PACKAGES += \
libdapparamstorage \
libdeccfg \
vendor.dolby.hardware.dms@2.0 \
vendor.dolby.hardware.dms@2.0-impl \
vendor.dolby.hardware.dms@2.0-service \
libhwdap \
libswgamedap \
libswvqe \
libstagefright_soft_ac4dec \
libstagefright_soft_ddpdec \
libstagefrightdolby \
libdlbdsservice \
# Not Xiaomi Proprietary Blobs
PRODUCT_PACKAGES += \
libdlbpreg \
libdlbvol \