4 Commits
bq2 ... udc

Author SHA1 Message Date
pengfeix
290ea62e4c raphael: overlay: Enable IMS feature flags for supported carriers
- Enable VoLTE/VoWIFI for all indian cariers
- Enable VoLTE for Viettel Vietnam
- Enable VoLTE for Mobifone Vietnam
- Add full Support Carrier Smartfren VoLTE
- Enable VoLTE support for Indosat and XL Axiata
- Enable VoLTE support for Telkomsel (Indonesia)
- Enable VoLTE support for Three
- Enable VoLTE support for Bakcell (Azerbaijan)

Signed-off-by: Frost <159105703+Karan-Frost@users.noreply.github.com>
2024-10-12 04:32:18 +09:00
d71e30aa7d raphael: Initialize for Evolution X 9.x 2024-10-10 20:21:41 +09:00
kondors1995
fb6bc4908e raphael: refractor udfpshander
Based off e9c5441e07
2024-10-10 20:21:41 +09:00
kondors1995
7979a73bf3 raphael: swtich to common udfps hal 2024-10-10 20:21:38 +09:00
140 changed files with 3470 additions and 5582 deletions

34
Android.mk Normal file
View File

@@ -0,0 +1,34 @@
#
# Copyright (C) 2021-2024 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
LOCAL_PATH := $(call my-dir)
ifeq ($(TARGET_DEVICE),raphael)
include $(call all-makefiles-under,$(LOCAL_PATH))
include $(CLEAR_VARS)
# A/B builds require us to create the mount points at compile time.
# Just creating it for all cases since it does not hurt.
FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/firmware_mnt
$(FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/firmware_mnt
BT_FIRMWARE_MOUNT_POINT := $(TARGET_OUT_VENDOR)/bt_firmware
$(BT_FIRMWARE_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(BT_FIRMWARE_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/bt_firmware
DSP_MOUNT_POINT := $(TARGET_OUT_VENDOR)/dsp
$(DSP_MOUNT_POINT): $(LOCAL_INSTALLED_MODULE)
@echo "Creating $(DSP_MOUNT_POINT)"
@mkdir -p $(TARGET_OUT_VENDOR)/dsp
ALL_DEFAULT_INSTALLED_MODULES += $(FIRMWARE_MOUNT_POINT) $(BT_FIRMWARE_MOUNT_POINT) $(DSP_MOUNT_POINT)
endif

View File

@@ -6,3 +6,8 @@
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/lineage_raphael.mk
COMMON_LUNCH_CHOICES := \
lineage_raphael-user \
lineage_raphael-userdebug \
lineage_raphael-eng

View File

@@ -1,11 +1,14 @@
#
# Copyright (C) 2019-2025 The LineageOS Project
# Copyright (C) 2021-2022 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
DEVICE_PATH := device/xiaomi/raphael
# ANT+
BOARD_ANT_WIRELESS_DEVICE := "qualcomm-hidl"
# Architecture
TARGET_ARCH := arm64
TARGET_ARCH_VARIANT := armv8-2a-dotprod
@@ -13,23 +16,21 @@ TARGET_CPU_ABI := arm64-v8a
TARGET_CPU_VARIANT := cortex-a76
TARGET_CPU_VARIANT_RUNTIME := cortex-a76
ifeq (,$(filter %_64,$(TARGET_PRODUCT)))
TARGET_2ND_ARCH := arm
TARGET_2ND_ARCH_VARIANT := armv8-2a
TARGET_2ND_CPU_ABI := armeabi-v7a
TARGET_2ND_CPU_ABI2 := armeabi
TARGET_2ND_CPU_VARIANT := cortex-a76
TARGET_2ND_CPU_VARIANT_RUNTIME := cortex-a76
endif
# Assert
TARGET_OTA_ASSERT_DEVICE := raphael,raphaelin
# Audio
AUDIO_FEATURE_ENABLED_EXT_AMPLIFIER := true
AUDIO_FEATURE_ENABLED_GEF_SUPPORT := true
AUDIO_FEATURE_ENABLED_INSTANCE_ID := true
AUDIO_FEATURE_ENABLED_EXTENDED_COMPRESS_FORMAT := true
BOARD_SUPPORTS_SOUND_TRIGGER := true
BOARD_USES_ALSA_AUDIO := true
# Bootloader
TARGET_BOOTLOADER_BOARD_NAME := msmnile
@@ -44,27 +45,46 @@ BUILD_BROKEN_ENFORCE_SYSPROP_OWNER := true
TARGET_HAS_HDR_DISPLAY := true
TARGET_HAS_WIDE_COLOR_DISPLAY := true
# Camera
TARGET_CAMERA_OVERRIDE_FORMAT_FROM_RESERVED := true
# Camera - Miui
TARGET_CAMERA_PACKAGE_NAME := com.android.camera
# Display
TARGET_DISABLED_UBWC := true
TARGET_GRALLOC_HANDLE_HAS_RESERVED_SIZE := true
TARGET_SCREEN_DENSITY := 440
TARGET_USES_COLOR_METADATA := true
TARGET_USES_DISPLAY_RENDER_INTENTS := true
TARGET_USES_DRM_PP := true
TARGET_USES_GRALLOC4 := true
TARGET_USES_HWC2 := true
# Filesystem
TARGET_FS_CONFIG_GEN := $(DEVICE_PATH)/config.fs
# Fingerprint
TARGET_INPUTDISPATCHER_SKIP_EVENT_KEY := 338
TARGET_SURFACEFLINGER_UDFPS_LIB := //hardware/xiaomi:libudfps_extension.xiaomi
TARGET_USES_FOD_ZPOS := true
# FM
BOARD_HAVE_QCOM_FM := true
# HIDL
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := \
$(DEVICE_PATH)/hidl/framework_compatibility_matrix.xml \
hardware/qcom-caf/common/vendor_framework_compatibility_matrix.xml \
hardware/xiaomi/vintf/xiaomi_framework_compatibility_matrix.xml
vendor/lineage/config/device_framework_matrix.xml
DEVICE_MANIFEST_FILE := $(DEVICE_PATH)/hidl/manifest.xml
DEVICE_MATRIX_FILE := $(DEVICE_PATH)/hidl/compatibility_matrix.xml
DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE := $(DEVICE_PATH)/hidl/framework_compatibility_matrix.xml
ODM_MANIFEST_SKUS += nfc
ODM_MANIFEST_NFC_FILES := $(DEVICE_PATH)/hidl/manifest_nfc.xml
# Init
TARGET_INIT_VENDOR_LIB := //$(DEVICE_PATH):init_xiaomi_raphael
TARGET_RECOVERY_DEVICE_MODULES ?= init_xiaomi_raphael
# Kernel
BOARD_KERNEL_BASE := 0x00000000
BOARD_KERNEL_CMDLINE += console=null
@@ -81,12 +101,18 @@ BOARD_KERNEL_IMAGE_NAME := Image.gz-dtb
BOARD_KERNEL_PAGESIZE := 4096
BOARD_KERNEL_SEPARATED_DTBO := true
BOARD_RAMDISK_USE_LZ4 := true
TARGET_KERNEL_CLANG_PATH := $(shell pwd)/prebuilts/clang/host/linux-x86/clang-r522817
TARGET_KERNEL_CLANG_VERSION := r522817
TARGET_KERNEL_SOURCE := kernel/xiaomi/raphael
TARGET_KERNEL_CONFIG := raphael_defconfig
# Lineage Health
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_PATH := /sys/class/power_supply/battery/input_suspend
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_ENABLED := 0
TARGET_HEALTH_CHARGING_CONTROL_CHARGING_DISABLED := 1
TARGET_HEALTH_CHARGING_CONTROL_SUPPORTS_BYPASS := false
# Media
TARGET_DISABLED_UBWC := true
TARGET_USES_ION := true
# Partitions
@@ -144,7 +170,7 @@ TARGET_VENDOR_PROP += $(DEVICE_PATH)/vendor.prop
# Recovery
BOARD_INCLUDE_DTB_IN_BOOTIMG := true
BOARD_INCLUDE_RECOVERY_DTBO := true
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/init/fstab.qcom
TARGET_RECOVERY_FSTAB := $(DEVICE_PATH)/rootdir/etc/fstab.qcom
TARGET_RECOVERY_PIXEL_FORMAT := RGBX_8888
TARGET_RECOVERY_UI_MARGIN_HEIGHT := 120
@@ -155,7 +181,7 @@ TARGET_RELEASETOOLS_EXTENSIONS := $(DEVICE_PATH)
ENABLE_VENDOR_RIL_SERVICE := true
# Security patch level
VENDOR_SECURITY_PATCH := 2025-05-05
VENDOR_SECURITY_PATCH := $(PLATFORM_SECURITY_PATCH)
# Sepolicy
include device/qcom/sepolicy_vndr/SEPolicy.mk

View File

@@ -1,13 +1,27 @@
//
// Copyright (C) 2024 LibreMobileOS Foundation
// Copyright (C) 2020 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
// 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.
cc_library_static {
name: "libcameraservice_extension.raphael",
srcs: ["CameraProviderExtension.cpp"],
include_dirs: [
"frameworks/av/services/camera/libcameraservice/common"
],
cc_library_shared {
name: "libshim_megvii",
proprietary: true,
srcs: ["megvii_shim.cpp"],
}
cc_library_shared {
name: "libwatermark_shim",
srcs: ["libwatermark_shim.c"],
vendor: true,
}

View File

@@ -1,78 +0,0 @@
/*
* Copyright (C) 2024 LibreMobileOS Foundation
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "CameraProviderExtension.h"
#include <fstream>
#define TORCH_BRIGHTNESS "brightness"
#define TORCH_MAX_BRIGHTNESS "max_brightness"
#define TOGGLE_SWITCH "/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:switch_2/brightness"
static std::string kTorchLedPaths[] = {
"/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0",
"/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1",
};
/**
* Write value to path and close file.
*/
template <typename T>
static void set(const std::string& path, const T& value) {
std::ofstream file(path);
file << value;
}
/**
* Read value from the path and close file.
*/
template <typename T>
static T get(const std::string& path, const T& def) {
std::ifstream file(path);
T result;
file >> result;
return file.fail() ? def : result;
}
bool supportsTorchStrengthControlExt() {
return true;
}
bool supportsSetTorchModeExt() {
return false;
}
int32_t getTorchDefaultStrengthLevelExt() {
return 80;
}
int32_t getTorchMaxStrengthLevelExt() {
// 200 (out of 500) is a sane max brightness
return 200;
}
int32_t getTorchStrengthLevelExt() {
// We write same value in the both LEDs,
// so get from one.
auto node = kTorchLedPaths[0] + "/" + TORCH_BRIGHTNESS;
return get(node, 0);
}
void setTorchStrengthLevelExt(int32_t torchStrength, bool enabled) {
set(TOGGLE_SWITCH, 0);
for (auto& path : kTorchLedPaths) {
auto node = path + "/" + TORCH_BRIGHTNESS;
set(node, torchStrength);
}
if (enabled)
set(TOGGLE_SWITCH, 255);
}
void setTorchModeExt(bool enabled) {
int32_t strength = getTorchDefaultStrengthLevelExt();
setTorchStrengthLevelExt(enabled ? strength : 0, enabled);
}

View File

@@ -0,0 +1 @@
void _ZN4piex19GetPreviewImageDataEPNS_15StreamInterfaceEPNS_16PreviewImageDataE() {}

19
camera/megvii_shim.cpp Normal file
View File

@@ -0,0 +1,19 @@
/*
* Copyright (C) 2020 The LineageOS 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.
*/
namespace android {
extern "C" void mg_facepp() {}
}

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--- Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. -->
<!--- Copyright (c) 2018-2019, The Linux Foundation. All rights reserved. -->
<!--- -->
<!--- Redistribution and use in source and binary forms, with or without -->
<!--- modification, are permitted provided that the following conditions are -->
@@ -43,17 +43,7 @@
<library name="audio_pre_processing" path="libqcomvoiceprocessing.so"/>
<library name="volume_listener" path="libvolumelistener.so"/>
<library name="audiosphere" path="libasphere.so"/>
<library name="shoebox" path="libshoebox.so"/>
<library name="v4a_re" path="libv4a_re.so"/>
<!--DOLBY DAP-->
<library name="dap" path="libswdap.so"/>
<!--DOLBY END-->
<!--DOLBY GAME-->
<library name="gamedap" path="libswgamedap.so"/>
<!--DOLBY END-->
<!--DOLBY VQE-->
<library name="vqe" path="libswvqe.so"/>
<!--DOLBY END-->
</libraries>
<effects>
<effectProxy name="bassboost" library="proxy" uuid="14804144-a5ee-4d24-aa88-0002a5d5c51b">
@@ -100,17 +90,7 @@
<effect name="voice_helper" library="volume_listener" uuid="0ace5c08-0590-11e5-ae9e-0025b32654a0"/>
<effect name="notification_helper" library="volume_listener" uuid="0b776dde-0590-11e5-81ba-0025b32654a0"/>
<effect name="audiosphere" library="audiosphere" uuid="184e62ab-2d19-4364-9d1b-c0a40733866c"/>
<effect name="shoebox" library="shoebox" uuid="1eab784c-1a36-4b2a-b7fc-e34c44cab89e"/>
<effect name="v4a_standard_re" library="v4a_re" uuid="90380da3-8536-4744-a6a3-5731970e640f"/>
<!--DOLBY DAP-->
<effect name="dap" library="dap" uuid="9d4921da-8225-4f29-aefa-39537a04bcaa"/>
<!--DOLBY END-->
<!--DOLBY GAME-->
<effect name="gamedap" library="gamedap" uuid="3783c334-d3a0-4d13-874f-0032e5fb80e2"/>
<!--DOLBY END-->
<!--DOLBY VQE-->
<effect name="vqe" library="vqe" uuid="64a0f614-7fa4-48b8-b081-d59dc954616f"/>
<!--DOLBY END-->
</effects>
<postprocess>
<stream type="music">

View File

@@ -33,7 +33,7 @@ outputs {
app_type 69943
}
voip_rx {
flags AUDIO_OUTPUT_FLAG_VOIP_RX
flags AUDIO_OUTPUT_FLAG_DIRECT|AUDIO_OUTPUT_FLAG_VOIP_RX
formats AUDIO_FORMAT_PCM_16_BIT
sampling_rates 8000|16000|32000|48000
bit_width 16

View File

@@ -29,6 +29,7 @@
<device name="SND_DEVICE_OUT_SPEAKER" acdb_id="10011"/>
<device name="SND_DEVICE_OUT_SPEAKER_REVERSE" acdb_id="10011"/>
<device name="SND_DEVICE_OUT_SPEAKER_PROTECTED" acdb_id="124"/>
<device name="SND_DEVICE_OUT_GAME_SPEAKER" acdb_id="10024"/>
<device name="SND_DEVICE_IN_VOICE_REC_QMIC_FLUENCE" acdb_id="131"/>
<device name="SND_DEVICE_IN_VOICE_REC_TMIC" acdb_id="131"/>
<device name="SND_DEVICE_IN_VOICE_REC_MIC" acdb_id="132"/>
@@ -53,8 +54,10 @@
<device name="SND_DEVICE_IN_USB_HEADSET_MIC" acdb_id="10009"/>
<device name="SND_DEVICE_IN_HEADSET_MIC" acdb_id="10008"/>
<device name="SND_DEVICE_OUT_HEADPHONES" acdb_id="10012"/>
<device name="SND_DEVICE_OUT_GAME_HEADPHONES" acdb_id="10022"/>
<device name="SND_DEVICE_OUT_HEADPHONES_44_1" acdb_id="10012"/>
<device name="SND_DEVICE_OUT_USB_HEADSET" acdb_id="10012"/>
<device name="SND_DEVICE_OUT_GAME_USB_HEADSET" acdb_id="10022"/>
<device name="SND_DEVICE_OUT_USB_HEADPHONES" acdb_id="10012"/>
<device name="SND_DEVICE_OUT_BT_A2DP" acdb_id="10012"/>
<device name="SND_DEVICE_IN_USB_REALIME_LOOPBACK_MIC" acdb_id="10019"/>
@@ -66,6 +69,7 @@
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_GAME_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x01"/>
@@ -74,6 +78,7 @@
<device name="SND_DEVICE_IN_SPEAKER_TMIC_AEC_NS" module_id="0x10F35" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS_BROADSIDE" module_id="0x10F34" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_GAME_SPEAKER_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_SPEAKER_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_DMIC_AEC_NS" module_id="0x10F33" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
<device name="SND_DEVICE_IN_HANDSET_MIC_AEC_NS" module_id="0x10F31" instance_id="0x0" param_id="0x10EAF" param_value="0x02"/>
@@ -140,6 +145,7 @@
</gain_db_to_level_mapping>
<backend_names>
<device name="SND_DEVICE_OUT_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_GAME_HEADPHONES" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_BT_SCO_WB" backend="bt-sco-wb" interface="SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_BT_SCO" backend="bt-sco" interface="SLIMBUS_7_RX"/>
<device name="SND_DEVICE_OUT_BT_A2DP" backend="bt-a2dp" interface="SLIMBUS_7_RX"/>
@@ -147,6 +153,7 @@
<device name="SND_DEVICE_OUT_ANC_HEADSET" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_ANC_FB_HEADSET" backend="headphones" interface="SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER" backend="speaker" interface="QUAT_MI2S_RX"/>
<device name="SND_DEVICE_OUT_GAME_SPEAKER" backend="speaker" interface="QUAT_MI2S_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_HEADPHONES" backend="speaker-and-headphones" interface="QUAT_MI2S_RX-and-SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_LINE" backend="speaker-and-headphones" interface="QUAT_MI2S_RX-and-SLIMBUS_6_RX"/>
<device name="SND_DEVICE_OUT_SPEAKER_AND_ANC_HEADSET" backend="speaker-and-headphones" interface="QUAT_MI2S_RX-and-SLIMBUS_6_RX"/>
@@ -275,6 +282,12 @@
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_GAME_SPEAKER_DMIC_AEC_NS">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
<mic_info mic_device_id="builtin_mic_2"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>
</snd_dev>
<snd_dev in_snd_device="SND_DEVICE_IN_VOICE_SPEAKER_MIC">
<mic_info mic_device_id="builtin_mic_1"
channel_mapping="AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED"/>

View File

@@ -74,6 +74,8 @@
<mixPort name="hifi_playback" role="source" />
<mixPort name="compress_passthrough" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_COMPRESS_OFFLOAD AUDIO_OUTPUT_FLAG_NON_BLOCKING">
<profile name="" format="dynamic"
samplingRates="dynamic" channelMasks="dynamic"/>
</mixPort>
<mixPort name="direct_pcm" role="source"
flags="AUDIO_OUTPUT_FLAG_DIRECT">
@@ -140,7 +142,7 @@
samplingRates="8000 16000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>
<mixPort name="voip_rx" role="source"
flags="AUDIO_OUTPUT_FLAG_VOIP_RX">
flags="AUDIO_OUTPUT_FLAG_DIRECT AUDIO_OUTPUT_FLAG_VOIP_RX">
<profile name="" format="AUDIO_FORMAT_PCM_16_BIT"
samplingRates="8000 16000 32000 48000" channelMasks="AUDIO_CHANNEL_OUT_MONO AUDIO_CHANNEL_OUT_STEREO"/>
</mixPort>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Copyright (c) 2015-2016, The Linux Foundation. All rights reserved. -->
<!-- -->
<!-- Redistribution and use in source and binary forms, with or without -->
<!-- modification, are permitted provided that the following conditions are -->
<!-- met: -->
<!-- * Redistributions of source code must retain the above copyright -->
<!-- notice, this list of conditions and the following disclaimer. -->
<!-- * Redistributions in binary form must reproduce the above -->
<!-- copyright notice, this list of conditions and the following -->
<!-- disclaimer in the documentation and/or other materials provided -->
<!-- with the distribution. -->
<!-- * Neither the name of The Linux Foundation nor the names of its -->
<!-- contributors may be used to endorse or promote products derived -->
<!-- from this software without specific prior written permission. -->
<!-- -->
<!-- THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -->
<!-- WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -->
<!-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -->
<!-- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -->
<!-- BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -->
<!-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -->
<!-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -->
<!-- BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -->
<!-- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -->
<!-- IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -->
<mixer>
<ctl name="COMP1 Switch" value="0" />
<ctl name="COMP2 Switch" value="0" />
<ctl name="HPHL Volume" value="16" />
<ctl name="HPHR Volume" value="16" />
<path name="voice-headphones">
<path name="headphones" />
<ctl name="COMP1 Switch" value="0" />
<ctl name="COMP2 Switch" value="0" />
<ctl name="HPHL Volume" value="20" />
<ctl name="HPHR Volume" value="20" />
</path>
</mixer>

View File

@@ -0,0 +1,685 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Be careful to write the static overlay xml -->
<!-- 1. do not create the new path name here, the new path name should -->
<!-- be created in common mixer path xml -->
<!-- 2. the new path name should not contain the nested path, and should be -->
<!-- defined follow after default ctrl -->
<!-- 3. the default ctl here will override that in common mixer path xml -->
<!-- 4. the first level path will replace the path in common mixer path xml -->
<!-- 5. the max nested path can't exceed 10 -->
<mixer>
<ctl name="QUAT_MI2S_RX_Voice Mixer VoiceMMode1" value="0" />
<ctl name="QUAT_MI2S_RX_Voice Mixer VoiceMMode2" value="0" />
<ctl name="QUAT_MI2S_RX_Voice Mixer Voip" value="0" />
<ctl name="ADC1 Volume" value="8" />
<ctl name="ADC2 Volume" value="8" />
<ctl name="ADC3 Volume" value="8" />
<ctl name="ADC4 Volume" value="8" />
<ctl name="TFA Profile" value="speaker" />
<ctl name="QUAT_MI2S_RX Channels" value="Two" />
<ctl name="QUAT_MI2S_TX Channels" value="Two" />
<ctl name="QUAT_MI2S_RX Format" value="S24_LE" />
<ctl name="QUAT_MI2S_RX SampleRate" value="KHZ_48" />
<ctl name="QUATERNARY_MI2S_RX_VI_FB_MUX" value="ZERO" />
<ctl name="QUAT_MI2S_TX Channels" value="Two" />
<ctl name="QUAT_MI2S_TX Format" value="S24_LE" />
<ctl name="QUAT_MI2S_RX SampleRate" value="KHZ_48" />
<ctl name="QUAT_MI2S_TX SampleRate" value="KHZ_48" />
<ctl name="External AMIC2 Mux" value="Dual_ADC" />
<ctl name="COMP1 Switch" value="0" />
<ctl name="COMP2 Switch" value="0" />
<ctl name="HPHL Volume" value="20" />
<ctl name="HPHR Volume" value="20" />
<path name="deep-buffer-playback speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia1" value="1" />
</path>
<path name="low-latency-playback speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia5" value="1" />
</path>
<path name="audio-ull-playback speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia8" value="1" />
</path>
<path name="compress-offload-playback speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia4" value="1" />
</path>
<path name="compress-offload-playback2 speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia7" value="1" />
</path>
<path name="compress-offload-playback3 speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia10" value="1" />
</path>
<path name="compress-offload-playback4 speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia11" value="1" />
</path>
<path name="compress-offload-playback5 speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia12" value="1" />
</path>
<path name="compress-offload-playback6 speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia13" value="1" />
</path>
<path name="compress-offload-playback7 speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia14" value="1" />
</path>
<path name="compress-offload-playback8 speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia15" value="1" />
</path>
<path name="compress-offload-playback9 speaker">
<ctl name="QUAT_MI2S_RX Audio Mixer MultiMedia16" value="1" />
</path>
<path name="deep-buffer-playback speaker-protected">
<path name="deep-buffer-playback speaker" />
</path>
<path name="deep-buffer-playback speaker-and-display-port">
<path name="deep-buffer-playback display-port" />
<path name="deep-buffer-playback speaker" />
</path>
<path name="deep-buffer-playback speaker-and-usb-headphones">
<path name="deep-buffer-playback usb-headphones" />
<path name="deep-buffer-playback speaker" />
</path>
<path name="deep-buffer-playback speaker-and-headphones">
<path name="deep-buffer-playback headphones" />
<path name="deep-buffer-playback speaker" />
</path>
<path name="deep-buffer-playback speaker-and-bt-sco">
<path name="deep-buffer-playback bt-sco" />
<path name="deep-buffer-playback speaker" />
</path>
<path name="deep-buffer-playback speaker-and-bt-sco-wb">
<path name="deep-buffer-playback bt-sco-wb" />
<path name="deep-buffer-playback speaker" />
</path>
<path name="deep-buffer-playback speaker-and-bt-a2dp">
<path name="deep-buffer-playback bt-a2dp" />
<path name="deep-buffer-playback speaker" />
</path>
<path name="low-latency-playback speaker-protected">
<path name="low-latency-playback speaker" />
</path>
<path name="low-latency-playback speaker-and-bt-sco">
<path name="low-latency-playback bt-sco" />
<path name="low-latency-playback speaker" />
</path>
<path name="low-latency-playback speaker-and-bt-sco-wb">
<path name="low-latency-playback bt-sco-wb" />
<path name="low-latency-playback speaker" />
</path>
<path name="low-latency-playback speaker-and-bt-a2dp">
<path name="low-latency-playback bt-a2dp" />
<path name="low-latency-playback speaker" />
</path>
<path name="low-latency-playback speaker-and-display-port">
<path name="low-latency-playback display-port" />
<path name="low-latency-playback speaker" />
</path>
<path name="low-latency-playback speaker-and-usb-headphones">
<path name="low-latency-playback usb-headphones" />
<path name="low-latency-playback speaker" />
</path>
<path name="low-latency-playback speaker-and-headphones">
<path name="low-latency-playback headphones" />
<path name="low-latency-playback speaker" />
</path>
<path name="audio-ull-playback speaker-protected">
<path name="audio-ull-playback speaker" />
</path>
<path name="audio-ull-playback speaker-and-headphones">
<path name="audio-ull-playback speaker" />
<path name="audio-ull-playback headphones" />
</path>
<path name="audio-ull-playback speaker-and-bt-sco">
<path name="audio-ull-playback bt-sco" />
<path name="audio-ull-playback speaker" />
</path>
<path name="audio-ull-playback speaker-and-bt-a2dp">
<path name="audio-ull-playback bt-a2dp" />
<path name="audio-ull-playback speaker" />
</path>
<path name="audio-ull-playback speaker-and-bt-sco-wb">
<path name="audio-ull-playback bt-sco-wb" />
<path name="audio-ull-playback speaker" />
</path>
<path name="audio-ull-playback speaker-and-display-port">
<path name="audio-ull-playback display-port" />
<path name="audio-ull-playback speaker" />
</path>
<path name="compress-offload-playback speaker-protected">
<path name="compress-offload-playback speaker" />
</path>
<path name="compress-offload-playback speaker-and-display-port">
<path name="compress-offload-playback display-port" />
<path name="compress-offload-playback speaker" />
</path>
<path name="compress-offload-playback speaker-and-bt-sco">
<path name="compress-offload-playback bt-sco" />
<path name="compress-offload-playback speaker" />
</path>
<path name="compress-offload-playback speaker-and-bt-a2dp">
<path name="compress-offload-playback bt-a2dp" />
<path name="compress-offload-playback speaker" />
</path>
<path name="compress-offload-playback speaker-and-bt-sco-wb">
<path name="compress-offload-playback bt-sco-wb" />
<path name="compress-offload-playback speaker" />
</path>
<path name="compress-offload-playback speaker-and-usb-headphones">
<path name="compress-offload-playback usb-headphones" />
<path name="compress-offload-playback speaker" />
</path>
<path name="compress-offload-playback speaker-and-headphones">
<path name="compress-offload-playback headphones" />
<path name="compress-offload-playback speaker" />
</path>
<path name="compress-offload-playback2 speaker-and-display-port">
<path name="compress-offload-playback2 display-port" />
<path name="compress-offload-playback2 speaker" />
</path>
<path name="compress-offload-playback2 speaker-and-bt-sco">
<path name="compress-offload-playback2 bt-sco" />
<path name="compress-offload-playback2 speaker" />
</path>
<path name="compress-offload-playback2 speaker-and-bt-sco-wb">
<path name="compress-offload-playback2 bt-sco-wb" />
<path name="compress-offload-playback2 speaker" />
</path>
<path name="compress-offload-playback2 speaker-and-bt-a2dp">
<path name="compress-offload-playback2 bt-a2dp" />
<path name="compress-offload-playback2 speaker" />
</path>
<path name="compress-offload-playback2 speaker-and-usb-headphones">
<path name="compress-offload-playback2 usb-headphones" />
<path name="compress-offload-playback2 speaker" />
</path>
<path name="compress-offload-playback2 speaker-and-headphones">
<path name="compress-offload-playback2 headphones" />
<path name="compress-offload-playback2 speaker" />
</path>
<path name="compress-offload-playback3 speaker-and-display-port">
<path name="compress-offload-playback3 display-port" />
<path name="compress-offload-playback3 speaker" />
</path>
<path name="compress-offload-playback3 speaker-and-bt-sco">
<path name="compress-offload-playback3 bt-sco" />
<path name="compress-offload-playback3 speaker" />
</path>
<path name="compress-offload-playback3 speaker-and-bt-sco-wb">
<path name="compress-offload-playback3 bt-sco-wb" />
<path name="compress-offload-playback3 speaker" />
</path>
<path name="compress-offload-playback3 speaker-and-bt-a2dp">
<path name="compress-offload-playback3 bt-a2dp" />
<path name="compress-offload-playback3 speaker" />
</path>
<path name="compress-offload-playback3 speaker-and-usb-headphones">
<path name="compress-offload-playback3 usb-headphones" />
<path name="compress-offload-playback3 speaker" />
</path>
<path name="compress-offload-playback3 speaker-and-headphones">
<path name="compress-offload-playback3 headphones" />
<path name="compress-offload-playback3 speaker" />
</path>
<path name="compress-offload-playback4 speaker-and-display-port">
<path name="compress-offload-playback4 display-port" />
<path name="compress-offload-playback4 speaker" />
</path>
<path name="compress-offload-playback4 speaker-and-usb-headphones">
<path name="compress-offload-playback4 usb-headphones" />
<path name="compress-offload-playback4 speaker" />
</path>
<path name="compress-offload-playback4 speaker-and-headphones">
<path name="compress-offload-playback4 headphones" />
<path name="compress-offload-playback4 speaker" />
</path>
<path name="compress-offload-playback4 speaker-and-bt-sco">
<path name="compress-offload-playback4 bt-sco" />
<path name="compress-offload-playback4 speaker" />
</path>
<path name="compress-offload-playback4 speaker-and-bt-sco-wb">
<path name="compress-offload-playback4 bt-sco-wb" />
<path name="compress-offload-playback4 speaker" />
</path>
<path name="compress-offload-playback4 speaker-and-bt-a2dp">
<path name="compress-offload-playback4 bt-a2dp" />
<path name="compress-offload-playback4 speaker" />
</path>
<path name="compress-offload-playback5 speaker-and-display-port">
<path name="compress-offload-playback5 display-port" />
<path name="compress-offload-playback5 speaker" />
</path>
<path name="compress-offload-playback5 speaker-and-bt-sco">
<path name="compress-offload-playback5 bt-sco" />
<path name="compress-offload-playback5 speaker" />
</path>
<path name="compress-offload-playback5 speaker-and-bt-sco-wb">
<path name="compress-offload-playback5 bt-sco-wb" />
<path name="compress-offload-playback5 speaker" />
</path>
<path name="compress-offload-playback5 speaker-and-bt-a2dp">
<path name="compress-offload-playback5 bt-a2dp" />
<path name="compress-offload-playback5 speaker" />
</path>
<path name="compress-offload-playback5 speaker-and-usb-headphones">
<path name="compress-offload-playback5 usb-headphones" />
<path name="compress-offload-playback5 speaker" />
</path>
<path name="compress-offload-playback5 speaker-and-headphones">
<path name="compress-offload-playback5 headphones" />
<path name="compress-offload-playback5 speaker" />
</path>
<path name="compress-offload-playback6 speaker-and-display-port">
<path name="compress-offload-playback6 display-port" />
<path name="compress-offload-playback6 speaker" />
</path>
<path name="compress-offload-playback6 speaker-and-bt-sco">
<path name="compress-offload-playback6 bt-sco" />
<path name="compress-offload-playback6 speaker" />
</path>
<path name="compress-offload-playback6 speaker-and-bt-sco-wb">
<path name="compress-offload-playback6 bt-sco-wb" />
<path name="compress-offload-playback6 speaker" />
</path>
<path name="compress-offload-playback6 speaker-and-bt-a2dp">
<path name="compress-offload-playback6 bt-a2dp" />
<path name="compress-offload-playback6 speaker" />
</path>
<path name="compress-offload-playback6 speaker-and-usb-headphones">
<path name="compress-offload-playback6 usb-headphones" />
<path name="compress-offload-playback6 speaker" />
</path>
<path name="compress-offload-playback6 speaker-and-headphones">
<path name="compress-offload-playback6 headphones" />
<path name="compress-offload-playback6 speaker" />
</path>
<path name="compress-offload-playback7 speaker-and-display-port">
<path name="compress-offload-playback7 display-port" />
<path name="compress-offload-playback7 speaker" />
</path>
<path name="compress-offload-playback7 speaker-and-bt-sco">
<path name="compress-offload-playback7 bt-sco" />
<path name="compress-offload-playback7 speaker" />
</path>
<path name="compress-offload-playback7 speaker-and-bt-sco-wb">
<path name="compress-offload-playback7 bt-sco-wb" />
<path name="compress-offload-playback7 speaker" />
</path>
<path name="compress-offload-playback7 speaker-and-bt-a2dp">
<path name="compress-offload-playback7 bt-a2dp" />
<path name="compress-offload-playback7 speaker" />
</path>
<path name="compress-offload-playback7 speaker-and-usb-headphones">
<path name="compress-offload-playback7 usb-headphones" />
<path name="compress-offload-playback7 speaker" />
</path>
<path name="compress-offload-playback7 speaker-and-headphones">
<path name="compress-offload-playback7 headphones" />
<path name="compress-offload-playback7 speaker" />
</path>
<path name="compress-offload-playback8 speaker-and-display-port">
<path name="compress-offload-playback8 display-port" />
<path name="compress-offload-playback8 speaker" />
</path>
<path name="compress-offload-playback8 speaker-and-bt-sco">
<path name="compress-offload-playback8 bt-sco" />
<path name="compress-offload-playback8 speaker" />
</path>
<path name="compress-offload-playback8 speaker-and-bt-sco-wb">
<path name="compress-offload-playback8 bt-sco-wb" />
<path name="compress-offload-playback8 speaker" />
</path>
<path name="compress-offload-playback8 speaker-and-bt-a2dp">
<path name="compress-offload-playback8 bt-a2dp" />
<path name="compress-offload-playback8 speaker" />
</path>
<path name="compress-offload-playback8 speaker-and-usb-headphones">
<path name="compress-offload-playback8 usb-headphones" />
<path name="compress-offload-playback8 speaker" />
</path>
<path name="compress-offload-playback8 speaker-and-headphones">
<path name="compress-offload-playback8 headphones" />
<path name="compress-offload-playback8 speaker" />
</path>
<path name="compress-offload-playback9 speaker-and-display-port">
<path name="compress-offload-playback9 display-port" />
<path name="compress-offload-playback9 speaker" />
</path>
<path name="compress-offload-playback9 speaker-and-bt-sco">
<path name="compress-offload-playback9 bt-sco" />
<path name="compress-offload-playback9 speaker" />
</path>
<path name="compress-offload-playback9 speaker-and-bt-sco-wb">
<path name="compress-offload-playback9 bt-sco-wb" />
<path name="compress-offload-playback9 speaker" />
</path>
<path name="compress-offload-playback9 speaker-and-bt-a2dp">
<path name="compress-offload-playback9 bt-a2dp" />
<path name="compress-offload-playback9 speaker" />
</path>
<path name="compress-offload-playback9 speaker-and-usb-headphones">
<path name="compress-offload-playback9 usb-headphones" />
<path name="compress-offload-playback9 speaker" />
</path>
<path name="compress-offload-playback9 speaker-and-headphones">
<path name="compress-offload-playback9 headphones" />
<path name="compress-offload-playback9 speaker" />
</path>
<path name="echo-reference-voip speaker">
<ctl name="EC Reference Channels" value="One"/>
<ctl name="AUDIO_REF_EC_UL10 MUX" value="QUAT_MI2S_RX" />
</path>
<path name="echo-reference speaker">
<ctl name="EC Reference Channels" value="One"/>
<ctl name="AUDIO_REF_EC_UL1 MUX" value="QUAT_MI2S_RX" />
</path>
<path name="voicemmode1-call speaker">
<ctl name="VOC_EXT_EC MUX" value="QUAT_MI2S_RX" />
<ctl name="QUAT_MI2S_RX_Voice Mixer VoiceMMode1" value="1" />
<ctl name="VoiceMMode1_Tx Mixer SLIM_0_TX_MMode1" value="1" />
</path>
<path name="voicemmode2-call speaker">
<ctl name="VOC_EXT_EC MUX" value="QUAT_MI2S_RX" />
<ctl name="QUAT_MI2S_RX_Voice Mixer VoiceMMode2" value="1" />
<ctl name="VoiceMMode2_Tx Mixer SLIM_0_TX_MMode2" value="1" />
</path>
<path name="ultrasound-proximity">
<ctl name="Ultrasound Enable" value="On"/>
<ctl name="Ultrasound Mode" value="616"/>
</path>
<path name="ultrasound-output">
<ctl name="Ultrasound Enable" value="On" />
<ctl name="SLIM RX7 MUX" value="AIF2_PB" />
<ctl name="CDC_IF RX7 MUX" value="SLIM RX7" />
<ctl name="RX INT0_2 MUX" value="RX7" />
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
<ctl name="EAR SPKR PA Gain" value="G_6_DB" />
</path>
<path name="ultrasound-input">
<ctl name="AIF2_CAP Mixer SLIM TX4" value="1" />
<ctl name="CDC_IF TX4 MUX" value="DEC4" />
<ctl name="ADC MUX4" value="AMIC" />
<ctl name="AMIC MUX4" value="ADC1" />
<ctl name="ADC1 Volume" value="8" />
</path>
<!-- for mius start -->
<path name="mi_ultrasound-proximity">
<ctl name="MI_Ultrasound Enable" value="On"/>
<ctl name="MI_Ultrasound Mode" value="618"/>
</path>
<path name="mi_ultrasound-output">
<ctl name="MI_Ultrasound Enable" value="On" />
<ctl name="SLIM RX7 MUX" value="AIF2_PB" />
<ctl name="CDC_IF RX7 MUX" value="SLIM RX7" />
<ctl name="RX INT0_2 MUX" value="RX7" />
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
<ctl name="EAR SPKR PA Gain" value="G_6_DB" />
</path>
<path name="mi_ultrasound-input">
<ctl name="AIF2_CAP Mixer SLIM TX4" value="1" />
<ctl name="CDC_IF TX4 MUX" value="DEC4" />
<ctl name="ADC MUX4" value="AMIC" />
<ctl name="AMIC MUX4" value="ADC1" />
<ctl name="ADC1 Volume" value="8" />
</path>
<!-- for mius end -->
<path name="spkr-vi-record">
<ctl name="QUATERNARY_MI2S_RX_VI_FB_MUX" value="QUAT_MI2S_TX" />
</path>
<path name="speaker">
<ctl name="TFA Profile" value="speaker" />
</path>
<path name="speaker-protected">
<path name="speaker" />
</path>
<path name="voice-speaker">
<path name="speaker" />
</path>
<path name="voice-speaker-protected">
<path name="speaker" />
</path>
<path name="handset">
<ctl name="SLIM RX0 MUX" value="AIF1_PB" />
<ctl name="CDC_IF RX0 MUX" value="SLIM RX0" />
<ctl name="SLIM_0_RX Channels" value="One" />
<ctl name="RX INT0_1 MIX1 INP0" value="RX0" />
<ctl name="RX INT0 DEM MUX" value="CLSH_DSM_OUT" />
<ctl name="EAR SPKR PA Gain" value="G_6_DB" />
</path>
<path name="handset-mic">
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
<ctl name="ADC MUX7" value="AMIC" />
<ctl name="AMIC MUX7" value="ADC3" />
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
<ctl name="ADC MUX8" value="AMIC" />
<ctl name="AMIC MUX8" value="ADC1" />
<ctl name="SLIM_0_TX Channels" value="Two" />
<ctl name="ADC3 Volume" value="5" />
<ctl name="ADC1 Volume" value="5" />
</path>
<path name="speaker-mic">
<ctl name="AIF1_CAP Mixer SLIM TX6" value="1"/>
<ctl name="SLIM_0_TX Channels" value="One" />
<ctl name="CDC_IF TX6 MUX" value="DEC6" />
<ctl name="ADC MUX6" value="AMIC" />
<ctl name="AMIC MUX6" value="ADC1" />
<ctl name="ADC1 Volume" value="5" />
</path>
<!-- Dual MIC devices -->
<path name="handset-dmic-endfire">
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
<ctl name="ADC MUX7" value="AMIC" />
<ctl name="AMIC MUX7" value="ADC3" />
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
<ctl name="ADC MUX8" value="AMIC" />
<ctl name="AMIC MUX8" value="ADC1" />
<ctl name="SLIM_0_TX Channels" value="Two" />
<ctl name="ADC3 Volume" value="12" />
<ctl name="ADC1 Volume" value="12" />
</path>
<path name="speaker-dmic-endfire">
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
<ctl name="ADC MUX7" value="AMIC" />
<ctl name="AMIC MUX7" value="ADC3" />
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
<ctl name="ADC MUX8" value="AMIC" />
<ctl name="AMIC MUX8" value="ADC1" />
<ctl name="SLIM_0_TX Channels" value="Two" />
<ctl name="ADC3 Volume" value="10" />
<ctl name="ADC1 Volume" value="10" />
</path>
<path name="voice-headphones">
<path name="headphones" />
<ctl name="COMP1 Switch" value="0" />
<ctl name="COMP2 Switch" value="0" />
<ctl name="HPHL Volume" value="20" />
<ctl name="HPHR Volume" value="20" />
</path>
<path name="sidetone-headphones">
</path>
<path name="camcorder-dmic">
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
<ctl name="ADC MUX7" value="AMIC" />
<ctl name="AMIC MUX7" value="ADC3" />
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
<ctl name="ADC MUX8" value="AMIC" />
<ctl name="AMIC MUX8" value="ADC1" />
<ctl name="SLIM_0_TX Channels" value="Two" />
<ctl name="ADC3 Volume" value="4" />
<ctl name="ADC1 Volume" value="4" />
</path>
<path name="handset-dmic-music">
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
<ctl name="ADC MUX7" value="AMIC" />
<ctl name="AMIC MUX7" value="ADC3" />
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
<ctl name="ADC MUX8" value="AMIC" />
<ctl name="AMIC MUX8" value="ADC1" />
<ctl name="SLIM_0_TX Channels" value="Two" />
<ctl name="ADC3 Volume" value="4" />
<ctl name="ADC1 Volume" value="4" />
</path>
<path name="handset-dmic-voice">
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
<ctl name="ADC MUX7" value="AMIC" />
<ctl name="AMIC MUX7" value="ADC3" />
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
<ctl name="ADC MUX8" value="AMIC" />
<ctl name="AMIC MUX8" value="ADC1" />
<ctl name="SLIM_0_TX Channels" value="Two" />
<ctl name="ADC3 Volume" value="4" />
<ctl name="ADC1 Volume" value="4" />
</path>
<path name="handset-dmic-interview">
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
<ctl name="ADC MUX7" value="AMIC" />
<ctl name="AMIC MUX7" value="ADC3" />
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
<ctl name="ADC MUX8" value="AMIC" />
<ctl name="AMIC MUX8" value="ADC1" />
<ctl name="SLIM_0_TX Channels" value="Two" />
<ctl name="ADC3 Volume" value="6" />
<ctl name="ADC1 Volume" value="6" />
</path>
<path name="handset-dmic-hd">
<ctl name="AIF1_CAP Mixer SLIM TX7" value="1" />
<ctl name="AIF1_CAP Mixer SLIM TX8" value="1" />
<ctl name="CDC_IF TX7 MUX" value="DEC7" />
<ctl name="ADC MUX7" value="AMIC" />
<ctl name="AMIC MUX7" value="ADC3" />
<ctl name="CDC_IF TX8 MUX" value="DEC8" />
<ctl name="ADC MUX8" value="AMIC" />
<ctl name="AMIC MUX8" value="ADC1" />
<ctl name="SLIM_0_TX Channels" value="Two" />
<ctl name="ADC3 Volume" value="4" />
<ctl name="ADC1 Volume" value="4" />
</path>
</mixer>

File diff suppressed because it is too large Load Diff

View File

@@ -85,76 +85,28 @@
"DefaultIndex": 3,
"ResetOnInit": true
},
{
"Name": "Dex2oatUClampMaxBoost",
"Path": "/dev/cpuctl/dex2oat/cpu.uclamp.max",
"Values": [
"40",
"60"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "TAUClampBoost",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.min",
"Values": [
"0",
"30"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "TAUClampLatency",
"Path": "/dev/cpuctl/top-app/cpu.uclamp.latency_sensitive",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "FGUClampBoost",
"Path": "/dev/cpuctl/foreground/cpu.uclamp.min",
"Values": [
"0",
"20"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "MLUclampBoost",
"Path": "/dev/cpuctl/nnapi-hal/cpu.uclamp.min",
"Values": [
"0",
"75"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "GPUMaxFreq",
"Path": "/sys/class/kgsl/kgsl-3d0/max_pwrlevel",
"Path": "/sys/class/kgsl/kgsl-3d0/devfreq/max_freq",
"Values": [
"0",
"1",
"2"
"770000000",
"715000000",
"615000000"
],
"DefaultIndex": 0,
"ResetOnInit": true
},
{
"Name": "GPUMinFreq",
"Path": "/sys/class/kgsl/kgsl-3d0/min_pwrlevel",
"Path": "/sys/class/kgsl/kgsl-3d0/devfreq/min_freq",
"Values": [
"0",
"1",
"3",
"4",
"5",
"6"
"770000000",
"715000000",
"615000000",
"515000000",
"345000000",
"270000000",
"150000000"
],
"ResetOnInit": true
},
@@ -368,46 +320,34 @@
"Value": "SUSTAINED_PERFORMANCE"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPUBigClusterMaxFreq",
"PowerHint": "INTERACTION",
"Node": "CPUBWHystTriggerCount",
"Duration": 0,
"Value": "1401600"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 0,
"Value": "1401600"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "CPULittleClusterMaxFreq",
"Duration": 200,
"Value": "1113600"
},
{
"PowerHint": "SUSTAINED_PERFORMANCE",
"Node": "GPUMaxFreq",
"Duration": 0,
"Value": "2"
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "TAUClampBoost",
"Duration": 5000,
"Value": "30"
"Node": "CPUBWHystLength",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "TAUClampLatency",
"Duration": 5000,
"Value": "1"
"Node": "CPUBWHistMemory",
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "INTERACTION",
"Node": "FGUClampBoost",
"Duration": 3000,
"Value": "20"
"Node": "CPUBWMinFreq",
"Duration": 0,
"Value": "9155"
},
{
"PowerHint": "INTERACTION",
"Node": "LLCCBWMinFreq",
"Duration": 0,
"Value": "2597"
},
{
"PowerHint": "INTERACTION",
@@ -505,41 +445,12 @@
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "LAUNCH",
"Node": "Dex2oatUClampMaxBoost",
"Duration": 3000,
"Value": "60"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUClampBoost",
"Duration": 3000,
"Value": "30"
},
{
"PowerHint": "LAUNCH",
"Node": "TAUClampLatency",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Node": "FGUClampBoost",
"Duration": 3000,
"Value": "20"
},
{
"PowerHint": "AUDIO_LAUNCH",
"Node": "PMQoSCpuDmaLatency",
"Duration": 2000,
"Value": "2c"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "LAUNCH_EXTEND"
},
{
"PowerHint": "AUDIO_STREAMING_LOW_LATENCY",
"Node": "PowerHALAudioState",
@@ -562,13 +473,19 @@
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "GPUMinFreq",
"Duration": 0,
"Value": "1"
"Value": "345000000"
},
{
"PowerHint": "EXPENSIVE_RENDERING",
"Node": "GPUMaxFreq",
"Duration": 0,
"Value": "0"
"Value": "615000000"
},
{
"PowerHint": "ML_ACC",
"Node": "PMQoSCpuDmaLatency",
"Duration": 2000,
"Value": "2c"
},
{
"PowerHint": "DISPLAY_UPDATE_IMMINENT",
@@ -577,16 +494,130 @@
"Value": "1"
},
{
"PowerHint": "ML_ACC",
"Node": "MLUclampBoost",
"Duration": 2000,
"Value": "75"
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_50",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "844800"
},
{
"PowerHint": "ML_ACC",
"Node": "PMQoSCpuDmaLatency",
"Duration": 2000,
"Value": "2c"
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_50",
"Node": "CPULittleClusterMinFreq",
"Duration": 3600000,
"Value": "576000"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_60",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1036800"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_60",
"Node": "CPULittleClusterMinFreq",
"Duration": 3600000,
"Value": "576000"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_70",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1209600"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_80",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1382400"
},
{
"PowerHint": "LOW_POWER_LITTLE_CLUSTER_90",
"Node": "CPULittleClusterMaxFreq",
"Duration": 3600000,
"Value": "1555200"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1171200"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "1401600"
},
{
"PowerHint": "LOW_POWER_CPU_50",
"Node": "CPUBigPlusClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1497600"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "1708800"
},
{
"PowerHint": "LOW_POWER_CPU_60",
"Node": "CPUBigPlusClusterMinFreq",
"Duration": 3600000,
"Value": "0"
},
{
"PowerHint": "LOW_POWER_CPU_70",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1708800"
},
{
"PowerHint": "LOW_POWER_CPU_70",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "2015999"
},
{
"PowerHint": "LOW_POWER_CPU_80",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "1920000"
},
{
"PowerHint": "LOW_POWER_CPU_80",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "2227200"
},
{
"PowerHint": "LOW_POWER_CPU_90",
"Node": "CPUBigClusterMaxFreq",
"Duration": 3600000,
"Value": "2131200"
},
{
"PowerHint": "LOW_POWER_CPU_90",
"Node": "CPUBigPlusClusterMaxFreq",
"Duration": 3600000,
"Value": "2534400"
},
{
"PowerHint": "Flipendo",
@@ -605,6 +636,11 @@
"Node": "CPUBigClusterMaxFreq",
"Duration": 0,
"Value": "2016000"
},
{
"PowerHint": "DISPLAY_INACTIVE",
"Type": "EndHint",
"Value": "DISPLAY_UPDATE_IMMINENT"
}
]
}

View File

@@ -1,40 +1,71 @@
[SS-SKIN-GPU]
algo_type ss
sampling 2000
sensor sdm-therm
device gpu
set_point 54000
set_point_clr 52000
device_max_limit 615000000
time_constant 0
[SS-SKIN-HIGH-CPU7]
algo_type ss
sampling 2000
sensor sdm-therm
device cpu7
set_point 40000
set_point_clr 39000
device_max_limit 2131200
time_constant 0
[SS-SKIN-MID-CPU7]
algo_type ss
sampling 2000
sensor sdm-therm
device cpu7
set_point 42000
set_point_clr 41000
device_max_limit 1804800
time_constant 0
[SS-SKIN-LOW-CPU7]
algo_type ss
sampling 2000
sensor sdm-therm
device cpu7
set_point 44000
set_point_clr 43000
device_max_limit 1401600
time_constant 0
[HOT-SKIN-VIRTUAL]
algo_type virtual
trip_sensor sdm-therm
sensors gpuss-0-usr cpuss-0-usr
list_cnt 2
weights 1 -1
set_point 41000
set_point_clr 39000
sampling 1000
math 0
[VIRTUAL-SS-GPU-SKIN]
algo_type ss
sensor HOT-SKIN-VIRTUAL
device gpu
sampling 1000
set_point 8000
set_point_clr 2000
device_max_limit 427000000
[SKIN-MONITOR]
algo_type monitor
sampling 2000
sensor sdm-therm
thresholds 48000 50000 52000 54000 57000
thresholds_clr 47000 49000 51000 53000 56000
actions cpu7 cpu4+cpu7 cpu4+cpu7 cpu4+cpu7 cpu4+cpu7
action_info 2841600 2323200+2745600 1804800+1804800 1708800+1708800 1612800+1612800
[BATTERY-SKIN-VIRTUAL]
algo_type virtual
trip_sensor quiet_therm
sensors quiet_therm battery
set_point 37000
set_point_clr 29000
sampling 1000
weights
math 2
algo_type monitor
sampling 1000
sensor sdm-therm
thresholds 46000 47000 48000 58000
thresholds_clr 44000 46000 47000 57000
actions cpu0+cpu7+gpu cpu0+cpu7+gpu cpu0+cpu7+gpu shutdown
action_info 1113600+1286400+427000000 940800+1056000+345000000 672000+825600+257000000 1
[BATTERY-MONITOR]
algo_type monitor
sampling 2000
sensor BATTERY-SKIN-VIRTUAL
thresholds 38000 40000 42000 44000 46000 48000 50000 55000
thresholds_clr 30000 38000 40000 42000 44000 46000 48000 50000
actions battery battery battery battery battery battery battery battery
action_info 8 9 10 12 13 14 15 16
algo_type monitor
sampling 1000
sensor sdm-therm
thresholds 37000 38500 39000 40500 43000 44000 45500 46000
thresholds_clr 36000 37500 38000 39500 42000 43000 44500 45000
actions battery battery battery battery battery battery battery battery
action_info 1 2 3 4 5 6 7 8
[NPU-MONITOR]
algo_type monitor

View File

@@ -233,6 +233,22 @@
}
],
"CoolingDevices":[
{
"Name":"thermal-cpufreq-0",
"Type":"CPU"
},
{
"Name":"thermal-cpufreq-4",
"Type":"CPU"
},
{
"Name":"thermal-cpufreq-7",
"Type":"CPU"
},
{
"Name":"thermal-devfreq-0",
"Type":"GPU"
},
{
"Name":"npu",
"Type":"NPU"
@@ -242,4 +258,4 @@
"Type":"BATTERY"
}
]
}
}

View File

@@ -1,21 +1,458 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2012-2020 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012-2013 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.
-->
<!--
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.
<!DOCTYPE MediaCodecs [
<!ELEMENT Include EMPTY>
<!ATTLIST Include href CDATA #REQUIRED>
<!ELEMENT MediaCodecs (Decoders|Encoders|Include)*>
<!ELEMENT Decoders (MediaCodec|Include)*>
<!ELEMENT Encoders (MediaCodec|Include)*>
<!ELEMENT MediaCodec (Type|Quirk|Include)*>
<!ATTLIST MediaCodec name CDATA #REQUIRED>
<!ATTLIST MediaCodec type CDATA>
<!ELEMENT Type EMPTY>
<!ATTLIST Type name CDATA #REQUIRED>
<!ELEMENT Quirk EMPTY>
<!ATTLIST Quirk name CDATA #REQUIRED>
]>
There's a simple and a complex syntax to declare the availability of a
media codec:
A codec that properly follows the OpenMax spec and therefore doesn't have any
quirks and that only supports a single content type can be declared like so:
<MediaCodec name="OMX.foo.bar" type="something/interesting" />
If a codec has quirks OR supports multiple content types, the following syntax
can be used:
<MediaCodec name="OMX.foo.bar" >
<Type name="something/interesting" />
<Type name="something/else" />
...
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="output-buffers-are-unreadable" />
</MediaCodec>
Only the three quirks included above are recognized at this point:
"requires-allocate-on-input-ports"
must be advertised if the component does not properly support specification
of input buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"requires-allocate-on-output-ports"
must be advertised if the component does not properly support specification
of output buffers using the OMX_UseBuffer(...) API but instead requires
OMX_AllocateBuffer to be used.
"output-buffers-are-unreadable"
must be advertised if the emitted output buffers of a decoder component
are not readable, i.e. use a custom format even though abusing one of
the official OMX colorspace constants.
Clients of such decoders will not be able to access the decoded data,
naturally making the component much less useful. The only use for
a component with this quirk is to render the output to the screen.
Audio decoders MUST NOT advertise this quirk.
Video decoders that advertise this quirk must be accompanied by a
corresponding color space converter for thumbnail extraction,
matching surfaceflinger support that can render the custom format to
a texture and possibly other code, so just DON'T USE THIS QUIRK.
-->
<!--
Non-Secure decoder capabilities
(MB is defined as 16x16)
_____________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|_____________|_____________________________________________________|
| h264 | 1920 1088 480 220 3916800 3916800 |
| | 3820 2160 120 220 3888000 |
| | 4096 2160 96 220 3317760 |
| | 4096 2304 60 220 2211840 |
| | 7680 4320 30 220 3888000 |
| | 8192 4320 24 220 3317760 |
| hevc | 1920 1088 480 220 3916800 3916800 |
| | 3820 2160 120 220 3888000 |
| | 4096 2160 96 220 3317760 |
| | 4096 2304 60 220 2211840 |
| | 7680 4320 30 220 3888000 |
| | 8192 4320 24 220 3317760 |
| mpeg4-sw | 1920 1088 30 40 244800 244800 |
| vp8 | 1280 720 240 100 864000 1036800 |
| | 1920 1088 120 100 979200 |
| | 3840 2160 30 100 972000 |
| | 4096 2160 30 100 1036800 |
| | 4096 2304 24 100 884736 |
| vp9 | 1920 1088 480 220 3916800 3916800 |
| | 3820 2160 120 220 3888000 |
| | 4096 2160 96 220 3317760 |
| | 4096 2304 60 220 2211840 |
| | 7680 4320 30 220 3888000 |
| | 8192 4320 24 220 3317760 |
| h263-sw | 864 480 30 16 48600 48600 |
| mpeg2 | 1920 1088 30 40 244800 244800 |
|_____________|_____________________________________________________|
Secure decoder capabilities
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| hevc | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| vp9 | 1280 720 60 40 216000 2073600 |
| | 1920 1088 60 40 489600 |
| | 3840 2160 60 40 1944000 |
| | 4096 2160 60 40 2073600 |
| | 4096 2304 30 40 1105920 |
| mpeg2 | 1920 1088 30 40 244800 244800 |
|__________|_____________________________________________________|
Non-Secure encoder capabilities (Secure not supported)
(MB is defined as 16x16)
__________________________________________________________________
| Codec | W H fps Mbps MB/s Max MB/s|
|__________|_____________________________________________________|
| h264 | 1280 720 480 160 1728000 1958400 |
| | 1920 1088 240 160 1958400 |
| | 3840 2160 60 160 1944000 |
| | 4096 2160 48 160 1658880 |
| | 4096 2304 30 160 1105920 |
| hevc | 1280 720 480 160 1728000 1958400 |
| | 1920 1088 240 160 1958400 |
| | 3840 2160 60 160 1944000 |
| | 4096 2160 48 160 1658880 |
| | 4096 2304 30 160 1105920 |
| mpeg4-sw | 1280 720 30 4 108000 108000 |
| vp8 | 1280 720 240 40 864000 1036800 |
| | 1920 1088 120 40 979200 |
| | 3840 2160 30 40 972000 |
| | 4096 2160 30 40 1036800 |
| | 4096 2304 24 40 884736 |
| h263-sw | 864 480 30 2 48600 48600 |
|__________|_____________________________________________________|
-->
<MediaCodecs>
<Include href="media_codecs_c2.xml" />
<Include href="media_codecs_google_c2_audio.xml" />
<Include href="media_codecs_google_c2_telephony.xml" />
<Settings>
<Setting name="max-video-encoder-input-buffers" value="11" />
<Domain name="telephony" enabled="true" />
</Settings>
<Encoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="56" />
<Limit name="performance-point-4096x2160" value="60" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="1036800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-4096x2160" value="30" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="1958400" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Limit name="performance-point-4096x2304" value="56" />
<Limit name="performance-point-4096x2160" value="60" />
<Limit name="performance-point-3840x2160" value="60" />
<Limit name="performance-point-1920x1080" value="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="512x512" />
<Limit name="frame-rate" range="1-20" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Limit name="performance-point-512x512" value="480" />
<Feature name="bitrate-modes" value="CQ" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="864x480" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-2000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-720x480" value="30" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Quirk name="requires-loaded-to-idle-after-allocation" />
<Limit name="size" min="96x96" max="1280x720" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="108000" />
<Limit name="bitrate" range="1-4000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1280x720" value="30" />
<Feature name="can-swap-width-height" required="true" />
<Attribute name="software-codec" />
</MediaCodec>
</Encoders>
<Decoders>
<!-- Video Hardware -->
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="8192x4320" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="60" />
<Limit name="performance-point-4096x2160" value="96" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-1920x1088" range="480" />
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.avc.secure" type="video/avc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-4096x2160" value="60" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.mpeg2.secure" type="video/mpeg2" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-1920x1080" value="30" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="1036800" />
<Limit name="bitrate" range="1-100000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-4096x2160" value="30" />
<Limit name="performance-point-3840x2160" value="30" />
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="8192x4320" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="6" />
<Limit name="performance-point-4096x2304" value="60" />
<Limit name="performance-point-4096x2160" value="96" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-1920x1088" range="480" />
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9.secure" type="video/x-vnd.on2.vp9" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-4096x2160" value="60" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="8192x4320" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="3916800" />
<Limit name="bitrate" range="1-220000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="60" />
<Limit name="performance-point-4096x2160" value="96" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-1920x1088" range="480" />
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc.secure" type="video/hevc" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="4096x2304" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="2073600" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-60" />
<Limit name="concurrent-instances" max="3" />
<Limit name="performance-point-4096x2304" value="30" />
<Limit name="performance-point-4096x2160" value="60" />
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
<Feature name="secure-playback" required="true" />
</MediaCodec>
<!-- Video Software -->
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" >
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="864x480" />
<Limit name="alignment" value="4x4" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="48600" />
<Limit name="bitrate" range="1-16000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-720x480" value="30" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es">
<Quirk name="requires-allocate-on-input-ports" />
<Quirk name="requires-allocate-on-output-ports" />
<Limit name="size" min="96x96" max="1920x1088" />
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="36" max="244800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-30" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-1920x1080" value="30" />
<Feature name="can-swap-width-height" required="true" />
</MediaCodec>
</Decoders>
<Include href="media_codecs_google_c2_video.xml" />
</MediaCodecs>

View File

@@ -104,7 +104,6 @@
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc">
<Alias name="OMX.qcom.video.decoder.avc.low_latency" />
@@ -124,7 +123,6 @@
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.secure" type="video/avc" >
<Alias name="OMX.qcom.video.decoder.avc.secure" />
@@ -141,7 +139,6 @@
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc" />
@@ -160,26 +157,6 @@
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.low_latency" />
<Limit name="size" min="96x96" max="4096x4096" />
<Limit name="block-count" range="36-36864" /> <!--max-spatial: 4096x2304 -->
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" range="1-1958400" />
<Limit name="bitrate" range="1-110000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="concurrent-instances" max="16" />
<Feature name="low-latency" />
<Limit name="performance-point-4096x2304" value="60" />
<Limit name="performance-point-4096x2160" value="96" />
<Limit name="performance-point-3840x2160" value="120" />
<Limit name="performance-point-1920x1088" range="480" />
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.secure" type="video/hevc" >
<Alias name="OMX.qcom.video.decoder.hevc.secure" />
@@ -196,7 +173,6 @@
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" >
<Alias name="OMX.qcom.video.decoder.vp8" />
@@ -214,7 +190,6 @@
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9" />
@@ -233,7 +208,6 @@
<Limit name="performance-point-1920x1088" range="240" />
<Limit name="performance-point-1280x720" value="480" />
<Feature name="adaptive-playback" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder.secure" type="video/x-vnd.on2.vp9" >
<Alias name="OMX.qcom.video.decoder.vp9.secure" />
@@ -250,7 +224,6 @@
<Limit name="performance-point-3840x2160" value="60" />
<Feature name="adaptive-playback" />
<Feature name="secure-playback" required="true" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
</Decoders>
@@ -264,7 +237,6 @@
<Limit name="blocks-per-second" min="24" max="2073600" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="56" />
<Limit name="performance-point-4096x2160" value="60" />
@@ -273,16 +245,6 @@
<Limit name="performance-point-1280x720" value="480" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Feature name="can-swap-width-height" value="1" />
<!-- Video Quality control -->
<!-- QP bounding supported, and it uses vendor extensions -->
<Feature name="qp-bounds" />
<Mapping kind="vq" name="video-qp-b-max" value="vendor.qti-ext-enc-qp-range.qp-b-max" />
<Mapping kind="vq" name="video-qp-b-min" value="vendor.qti-ext-enc-qp-range.qp-b-min" />
<Mapping kind="vq" name="video-qp-i-max" value="vendor.qti-ext-enc-qp-range.qp-i-max" />
<Mapping kind="vq" name="video-qp-i-min" value="vendor.qti-ext-enc-qp-range.qp-i-min" />
<Mapping kind="vq" name="video-qp-p-max" value="vendor.qti-ext-enc-qp-range.qp-p-max" />
<Mapping kind="vq" name="video-qp-p-min" value="vendor.qti-ext-enc-qp-range.qp-p-min" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc">
<Alias name="OMX.qcom.video.encoder.hevc" />
@@ -293,7 +255,6 @@
<Limit name="blocks-per-second" min="24" max="2073600" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="56" />
<Limit name="performance-point-4096x2160" value="60" />
@@ -302,16 +263,6 @@
<Limit name="performance-point-1280x720" value="480" />
<Feature name="bitrate-modes" value="VBR,CBR" />
<Feature name="intra-refresh" />
<Feature name="can-swap-width-height" value="1" />
<!-- Video Quality control -->
<!-- QP bounding supported, and it uses vendor extensions -->
<Feature name="qp-bounds" />
<Mapping kind="vq" name="video-qp-b-max" value="vendor.qti-ext-enc-qp-range.qp-b-max" />
<Mapping kind="vq" name="video-qp-b-min" value="vendor.qti-ext-enc-qp-range.qp-b-min" />
<Mapping kind="vq" name="video-qp-i-max" value="vendor.qti-ext-enc-qp-range.qp-i-max" />
<Mapping kind="vq" name="video-qp-i-min" value="vendor.qti-ext-enc-qp-range.qp-i-min" />
<Mapping kind="vq" name="video-qp-p-max" value="vendor.qti-ext-enc-qp-range.qp-p-max" />
<Mapping kind="vq" name="video-qp-p-min" value="vendor.qti-ext-enc-qp-range.qp-p-min" />
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc">
<Limit name="size" min="96x96" max="512x512" />
@@ -320,7 +271,6 @@
<Limit name="blocks-per-second" min="24" max="2073600" />
<Limit name="bitrate" range="1-160000000" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Limit name="quality" range="0-100" default="80" />
<Limit name="performance-point-512x512" value="480" />
@@ -329,11 +279,8 @@
<MediaCodec name="c2.qti.heic.encoder" type="image/vnd.android.heic">
<Limit name="size" min="96x96" max="8192x8192" />
<Limit name="block-count" range="1024-138240" /> <!--max-spatial: 8192x4320 -->
<Limit name="alignment" value="2x2" />
<Limit name="block-size" value="16x16" />
<Limit name="blocks-per-second" min="24" max="2073600" />
<Limit name="frame-rate" range="1-480" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="6" />
<Limit name="quality" range="0-100" default="80" />
<Limit name="performance-point-8192x4320" value="3" />
@@ -342,7 +289,6 @@
<Limit name="performance-point-1920x1080" value="30" />
<Limit name="performance-point-1280x720" value="80" />
<Limit name="performance-point-1280x720" value="60" />
<Limit name="performance-point-720x480" value="240" />
<Feature name="bitrate-modes" value="CQ" />
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8">
@@ -354,7 +300,6 @@
<Limit name="blocks-per-second" min="24" max="1036800" />
<Limit name="bitrate" range="1-40000000" />
<Limit name="frame-rate" range="1-240" />
<Limit name="complexity" range="0-100" default="100" />
<Limit name="concurrent-instances" max="16" />
<Limit name="performance-point-4096x2304" value="24" />
<Limit name="performance-point-4096x2160" value="30" />
@@ -362,7 +307,6 @@
<Limit name="performance-point-1920x1080" value="120" />
<Limit name="performance-point-1280x720" value="240" />
<Feature name="intra-refresh" />
<Feature name="can-swap-width-height" value="1" />
</MediaCodec>
</Encoders>
</Included>
</Included>

View File

@@ -0,0 +1,185 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.
Not a Contribution.
Copyright 2015 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.
u 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.
-->
<MediaCodecs>
<Encoders>
<MediaCodec name="OMX.qcom.video.encoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="238-238" />
<Limit name="measured-frame-rate-720x480" range="277-287" />
<Limit name="measured-frame-rate-1280x720" range="200-204" />
<Limit name="measured-frame-rate-1920x1080" range="116-118" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="226-226" />
<Limit name="measured-frame-rate-720x480" range="336-339" />
<Limit name="measured-frame-rate-1280x720" range="183-194" />
<Limit name="measured-frame-rate-1920x1080" range="91-104" />
<Limit name="measured-frame-rate-3840x2160" range="37-40" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.hevc.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="340-400" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.h263sw" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="303-303" />
<Limit name="measured-frame-rate-352x288" range="259-259" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.mpeg4sw" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="299-299" />
<Limit name="measured-frame-rate-352x288" range="245-245" />
<Limit name="measured-frame-rate-640x480" range="148-148" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.encoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="363-484" />
<Limit name="measured-frame-rate-640x360" range="250-280" />
<Limit name="measured-frame-rate-1280x720" range="123-125" />
<Limit name="measured-frame-rate-1920x1080" range="16-40" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="106-234" />
<Limit name="measured-frame-rate-720x480" range="64-140" />
<Limit name="measured-frame-rate-1280x720" range="26-56" />
<Limit name="measured-frame-rate-1920x1080" range="20-44" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="22-35" />
</MediaCodec>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="287-459" />
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="151-208" />
<Limit name="measured-frame-rate-720x480" range="61-84" />
<Limit name="measured-frame-rate-1280x720" range="41-57" />
<Limit name="measured-frame-rate-1920x1080" range="28-39" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="251-350" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="228-318" />
<Limit name="measured-frame-rate-640x360" range="150-233" />
<Limit name="measured-frame-rate-1280x720" range="43-61" />
<Limit name="measured-frame-rate-1920x1080" range="19-27" />
</MediaCodec>
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="121-286" />
<Limit name="measured-frame-rate-720x480" range="49-110" />
<Limit name="measured-frame-rate-1280x720" range="19-41" />
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="109-109" />
<Limit name="measured-frame-rate-640x360" range="61-61" />
<Limit name="measured-frame-rate-1280x720" range="20-20" />
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="OMX.qcom.video.decoder.avc" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="960-1268" />
<Limit name="measured-frame-rate-720x480" range="857-1104" />
<Limit name="measured-frame-rate-1280x720" range="312-316" />
<Limit name="measured-frame-rate-1920x1088" range="246-250" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.hevc" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="784-1700" />
<Limit name="measured-frame-rate-640x360" range="500-527" />
<Limit name="measured-frame-rate-720x480" range="1046-1157" />
<Limit name="measured-frame-rate-1280x720" range="290-641" />
<Limit name="measured-frame-rate-1920x1080" range="316-318" />
<Limit name="measured-frame-rate-3840x2160" range="148-149" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.h263sw" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="268-418" />
<Limit name="measured-frame-rate-352x288" range="273-561" />
</MediaCodec>
<MediaCodec name="OMX.qti.video.decoder.mpeg4sw" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="409-410" />
<Limit name="measured-frame-rate-480x360" range="436-524" />
<Limit name="measured-frame-rate-1280x720" range="240-292" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp8" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x240" range="337-337" />
<Limit name="measured-frame-rate-640x360" range="330-750" />
<Limit name="measured-frame-rate-1280x720" range="337-337" />
<Limit name="measured-frame-rate-1920x1080" range="248-248" />
</MediaCodec>
<MediaCodec name="OMX.qcom.video.decoder.vp9" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x240" range="1103-1262" />
<Limit name="measured-frame-rate-320x180" range="533-543" />
<Limit name="measured-frame-rate-640x360" range="347-783" />
<Limit name="measured-frame-rate-1280x720" range="579-594" />
<Limit name="measured-frame-rate-1920x1080" range="496-518" />
<Limit name="measured-frame-rate-3840x2160" range="139-139" />
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="220-630" />
<Limit name="measured-frame-rate-720x480" range="250-513" />
<Limit name="measured-frame-rate-1280x720" range="200-420" />
<Limit name="measured-frame-rate-1920x1088" range="189-301" />
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="196-269" />
<Limit name="measured-frame-rate-720x480" range="56-77" />
<Limit name="measured-frame-rate-1280x720" range="21-33" />
<Limit name="measured-frame-rate-1920x1080" range="12-17" />
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="179-245" />
<Limit name="measured-frame-rate-640x360" range="120-164" />
<Limit name="measured-frame-rate-720x480" range="111-152" />
<Limit name="measured-frame-rate-1280x720" range="61-83" />
<Limit name="measured-frame-rate-1920x1080" range="36-49" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="460-626" />
<Limit name="measured-frame-rate-640x360" range="222-302" />
<Limit name="measured-frame-rate-1280x720" range="107-145" />
<Limit name="measured-frame-rate-1920x1080" range="31-43" />
</MediaCodec>
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="186-426" />
<Limit name="measured-frame-rate-720x480" range="102-228" />
<Limit name="measured-frame-rate-1280x720" range="52-116" />
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
</MediaCodec>
<MediaCodec name="c2.android.av1-dav1d.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="121-286" />
<Limit name="measured-frame-rate-720x480" range="60-120" />
<Limit name="measured-frame-rate-1280x720" range="60-90" />
<Limit name="measured-frame-rate-1920x1080" range="40-60" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="415-575" />
<Limit name="measured-frame-rate-640x360" range="200-450" />
<Limit name="measured-frame-rate-1280x720" range="44-60" />
<Limit name="measured-frame-rate-1920x1080" range="28-38" />
</MediaCodec>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="436-2502" />
<Limit name="measured-frame-rate-352x288" range="324-769" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="401-545" />
<Limit name="measured-frame-rate-480x360" range="300-2000" />
<Limit name="measured-frame-rate-1280x720" range="210-550" />
</MediaCodec>
</Decoders>
</MediaCodecs>

View File

@@ -1,166 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 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.
-->
<MediaCodecs>
<Encoders>
<MediaCodec name="c2.android.h263.encoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="669-693" /> <!-- N=64 v97%=1.5 -->
</MediaCodec>
<MediaCodec name="c2.android.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="331-331" /> <!-- N=64 v97%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="123-123" /> <!-- N=64 v97%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="83-83" /> <!-- N=64 v97%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="49-49" /> <!-- N=64 v97%=1.1 -->
</MediaCodec>
<MediaCodec name="c2.qti.avc.encoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="484-484" /> <!-- N=62 v97%=1.3 -->
<Limit name="measured-frame-rate-720x480" range="294-294" /> <!-- N=64 v97%=1.4 -->
<Limit name="measured-frame-rate-1280x720" range="160-160" /> <!-- N=64 v97%=1.6 -->
<Limit name="measured-frame-rate-1920x1080" range="84-84" /> <!-- N=62 v97%=1.7 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="51-51" /> <!-- N=64 v97%=1.1 -->
</MediaCodec>
<MediaCodec name="c2.qti.hevc.encoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="500-504" /> <!-- N=64 v97%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="292-292" /> <!-- N=64 v97%=1.4 -->
<Limit name="measured-frame-rate-1280x720" range="161-163" /> <!-- N=64 v97%=1.6 -->
<Limit name="measured-frame-rate-1920x1080" range="83-83" /> <!-- N=64 v97%=1.6 -->
<Limit name="measured-frame-rate-3840x2160" range="40-40" /> <!-- N=64 v97%=1.1 -->
</MediaCodec>
<!-- MANUALLY ENTERED -->
<MediaCodec name="c2.qti.hevc.encoder.cq" type="video/hevc" update="true">
<Limit name="measured-frame-rate-320x240" range="377-419" />
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.encoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="692-695" /> <!-- N=64 v97%=1.5 -->
</MediaCodec>
<MediaCodec name="c2.android.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="593-593" /> <!-- N=64 v97%=1.2 -->
<Limit name="measured-frame-rate-640x360" range="200-200" /> <!-- N=64 v97%=1.2 -->
<Limit name="measured-frame-rate-1280x720" range="58-58" /> <!-- N=64 v97%=1.2 -->
<Limit name="measured-frame-rate-1920x1080" range="24-24" /> <!-- N=64 v97%=1.2 -->
</MediaCodec>
<MediaCodec name="c2.qti.vp8.encoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="518-547" /> <!-- N=64 v97%=1.2 -->
<Limit name="measured-frame-rate-640x360" range="351-351" /> <!-- N=64 v97%=1.3 -->
<!-- measured 97%:100-171 med:108 SLOW -->
<Limit name="measured-frame-rate-1280x720" range="108-131" /> <!-- N=64 v97%=1.3 -->
<Limit name="measured-frame-rate-1920x1080" range="61-61" /> <!-- N=64 v97%=1.2 -->
</MediaCodec>
<!-- MANUALLY ENTERED -->
<MediaCodec name="c2.android.vp9.encoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="294-297" />
<Limit name="measured-frame-rate-640x360" range="89-90" />
<Limit name="measured-frame-rate-1280x720" range="22-22" />
</MediaCodec>
<MediaCodec name="c2.android.av1.encoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="121-286" />
<Limit name="measured-frame-rate-720x480" range="49-110" />
<Limit name="measured-frame-rate-1280x720" range="19-41" />
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
</MediaCodec>
</Encoders>
<Decoders>
<MediaCodec name="c2.android.h263.decoder" type="video/3gpp" update="true">
<Limit name="measured-frame-rate-176x144" range="2000-2008" /> <!-- N=129 v98%=1.0 -->
<Limit name="measured-frame-rate-352x288" range="1404-1404" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="734-734" /> <!-- N=132 v98%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="146-146" /> <!-- N=132 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="48-50" /> <!-- N=132 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="23-24" /> <!-- N=131 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="1469-1469" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="1240-1240" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="741-741" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="369-369" /> <!-- N=130 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.qti.avc.decoder.low_latency" type="video/avc" update="true">
<Limit name="measured-frame-rate-320x240" range="1469-1469" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-720x480" range="1240-1240" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="741-741" /> <!-- N=130 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="369-369" /> <!-- N=130 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="708-710" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-640x360" range="354-354" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-720x480" range="314-314" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="118-119" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="62-64" /> <!-- N=128 v98%=1.1 -->
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="1172-1172" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-640x360" range="1241-1241" /> <!-- N=128 v98%=1.2 -->
<Limit name="measured-frame-rate-720x480" range="1214-1214" /> <!-- N=128 v98%=1.2 -->
<Limit name="measured-frame-rate-1280x720" range="866-866" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="587-587" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-3840x2160" range="167-167" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.qti.hevc.decoder.low_latency" type="video/hevc" update="true">
<Limit name="measured-frame-rate-352x288" range="1172-1172" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-640x360" range="1241-1241" /> <!-- N=128 v98%=1.2 -->
<Limit name="measured-frame-rate-720x480" range="1214-1214" /> <!-- N=128 v98%=1.2 -->
<Limit name="measured-frame-rate-1280x720" range="866-866" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-1920x1080" range="587-587" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-3840x2160" range="167-167" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.mpeg4.decoder" type="video/mp4v-es" update="true">
<Limit name="measured-frame-rate-176x144" range="2334-2334" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-480x360" range="1303-1954" />
<Limit name="measured-frame-rate-1280x720" range="368-552" />
</MediaCodec>
<MediaCodec name="c2.android.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="1227-1227" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-640x360" range="472-472" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1280x720" range="113-113" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1920x1080" range="46-46" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.qti.vp8.decoder" type="video/x-vnd.on2.vp8" update="true">
<Limit name="measured-frame-rate-320x180" range="1383-1383" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-640x360" range="1170-1170" /> <!-- N=128 v98%=1.1 -->
<Limit name="measured-frame-rate-1280x720" range="597-597" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1920x1080" range="251-252" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.android.av1.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-352x288" range="186-426" />
<Limit name="measured-frame-rate-720x480" range="102-228" />
<Limit name="measured-frame-rate-1280x720" range="52-116" />
<Limit name="measured-frame-rate-1920x1080" range="20-30" />
</MediaCodec>
<MediaCodec name="c2.android.av1-dav1d.decoder" type="video/av01" update="true">
<Limit name="measured-frame-rate-320x240" range="121-286" />
<Limit name="measured-frame-rate-720x480" range="60-120" />
<Limit name="measured-frame-rate-1280x720" range="60-90" />
<Limit name="measured-frame-rate-1920x1080" range="40-60" />
</MediaCodec>
<MediaCodec name="c2.android.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="986-991" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-640x360" range="322-322" /> <!-- N=128 v98%=1.3 -->
<Limit name="measured-frame-rate-1280x720" range="97-97" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1920x1080" range="56-57" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
<MediaCodec name="c2.qti.vp9.decoder" type="video/x-vnd.on2.vp9" update="true">
<Limit name="measured-frame-rate-320x180" range="1342-1342" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-640x360" range="1043-1043" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1280x720" range="468-468" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-1920x1080" range="298-298" /> <!-- N=128 v98%=1.0 -->
<Limit name="measured-frame-rate-3840x2160" range="71-71" /> <!-- N=128 v98%=1.0 -->
</MediaCodec>
</Decoders>
</MediaCodecs>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright (C) 2015-2020 The Linux Foundation. All rights reserved.
Not a contribution.
Copyright (C) 2012 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.
-->
<Included>
<Decoders>
<MediaCodec name="OMX.google.opus.decoder" type="audio/opus" update="true" rank="100"/>
<!-- SimpleOMXComponet based software decoder-->
</Decoders>
</Included>

View File

@@ -57,6 +57,9 @@
<!ATTLIST VideoEncoderCap maxFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap minFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxFrameRate CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxHFRFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxHFRFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEncoderCap maxHFRMode CDATA #REQUIRED>
<!ELEMENT AudioEncoderCap EMPTY>
<!ATTLIST AudioEncoderCap name (amrnb|amrwb|aac|wma|lpcm) #REQUIRED>
<!ATTLIST AudioEncoderCap enabled (true|false) #REQUIRED>
@@ -72,6 +75,16 @@
<!ELEMENT AudioDecoderCap EMPTY>
<!ATTLIST AudioDecoderCap name (wma) #REQUIRED>
<!ATTLIST AudioDecoderCap enabled (true|false) #REQUIRED>
<!ELEMENT VideoEditorCap EMPTY>
<!ATTLIST VideoEditorCap maxInputFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxInputFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxOutputFrameWidth CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxOutputFrameHeight CDATA #REQUIRED>
<!ATTLIST VideoEditorCap maxPrefetchYUVFrames CDATA #REQUIRED>
<!ELEMENT ExportVideoProfile EMPTY>
<!ATTLIST ExportVideoProfile name (h264|h263|m4v) #REQUIRED>
<!ATTLIST ExportVideoProfile profile CDATA #REQUIRED>
<!ATTLIST ExportVideoProfile level CDATA #REQUIRED>
]>
<!--
This file is used to declare the multimedia profiles and capabilities
@@ -2176,25 +2189,33 @@
minBitRate="64000" maxBitRate="42000000"
minFrameWidth="176" maxFrameWidth="4096"
minFrameHeight="144" maxFrameHeight="2160"
minFrameRate="15" maxFrameRate="30" />
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="1920" maxHFRFrameHeight="1080"
maxHFRMode="120" />
<VideoEncoderCap name="h263" enabled="true"
minBitRate="64000" maxBitRate="2000000"
minFrameWidth="176" maxFrameWidth="800"
minFrameHeight="144" maxFrameHeight="480"
minFrameRate="15" maxFrameRate="30" />
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
<VideoEncoderCap name="m4v" enabled="true"
minBitRate="64000" maxBitRate="20000000"
minFrameWidth="176" maxFrameWidth="1280"
minFrameHeight="144" maxFrameHeight="720"
minFrameRate="15" maxFrameRate="30" />
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
<VideoEncoderCap name="hevc" enabled="true"
minBitRate="64000" maxBitRate="100000000"
minFrameWidth="176" maxFrameWidth="4096"
minFrameHeight="144" maxFrameHeight="2160"
minFrameRate="15" maxFrameRate="30" />
minFrameRate="15" maxFrameRate="30"
maxHFRFrameWidth="0" maxHFRFrameHeight="0"
maxHFRMode="0" />
<AudioEncoderCap name="aac" enabled="true"
minBitRate="8000" maxBitRate="96000"
@@ -2235,4 +2256,39 @@
-->
<VideoDecoderCap name="wmv" enabled="true"/>
<AudioDecoderCap name="wma" enabled="true"/>
<!--
The VideoEditor Capability configuration:
- maxInputFrameWidth: maximum video width of imported video clip.
- maxInputFrameHeight: maximum video height of imported video clip.
- maxOutputFrameWidth: maximum video width of exported video clip.
- maxOutputFrameHeight: maximum video height of exported video clip.
- maxPrefetchYUVFrames: maximum prefetch YUV frames for encoder,
used to limit the amount of memory for prefetched YUV frames.
For this platform, it allows maximum 30MB(3MB per 1080p frame x 10
frames) memory.
-->
<VideoEditorCap maxInputFrameWidth="1920"
maxInputFrameHeight="1088" maxOutputFrameWidth="1920"
maxOutputFrameHeight="1088" maxPrefetchYUVFrames="10"/>
<!--
The VideoEditor Export codec profile and level values
correspond to the values in OMX_Video.h.
E.g. for h264, profile value 1 means OMX_VIDEO_AVCProfileBaseline
and level 4096 means OMX_VIDEO_AVCLevel41.
Please note that the values are in decimal.
These values are for video encoder.
-->
<!--
Codec = h.264, Baseline profile, level 4.0
-->
<ExportVideoProfile name="h264" profile= "1" level="2048"/>
<!--
Codec = h.263, Baseline profile, level 70
-->
<ExportVideoProfile name="h263" profile= "1" level="128"/>
<!--
Codec = mpeg4, Simple profile, level 5
-->
<ExportVideoProfile name="m4v" profile= "1" level="128"/>
</MediaSettings>

View File

@@ -0,0 +1,8 @@
service vendor.sensors-hal-1-0 /vendor/bin/hw/android.hardware.sensors@1.0-service
interface android.hardware.sensors@1.0::ISensors default
class hal
user system
group system wakelock uhid context_hub input
task_profiles ServiceCapacityLow
capabilities BLOCK_SUSPEND
rlimit rtprio 10 10

200
device.mk
View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2019-2025 The LineageOS Project
# Copyright (C) 2021-2022 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
@@ -16,10 +16,6 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk)
# Add common definitions for Qualcomm
$(call inherit-product, hardware/qcom-caf/common/common.mk)
# Get Qcom components
TARGET_EXCLUDE_QCOM_SEPOLICY := true
TARGET_BOARD_PLATFORM := msmnile
# AAPT
PRODUCT_AAPT_CONFIG := normal
PRODUCT_AAPT_PREF_CONFIG := xxhdpi
@@ -27,6 +23,7 @@ PRODUCT_AAPT_PREF_CONFIG := xxhdpi
# Overlays
PRODUCT_PACKAGES += \
CarrierConfigOverlay \
DeviceAsWebcamRaphael \
FaceUnlockServiceOverlay \
FrameworksResRaphael \
SettingsProviderOverlayGlobal \
@@ -42,9 +39,9 @@ PRODUCT_ENFORCE_RRO_TARGETS := *
# Soong namespaces
PRODUCT_SOONG_NAMESPACES += \
$(LOCAL_PATH) \
vendor/qcom/opensource/usb/etc \
hardware/google/interfaces \
hardware/google/pixel \
hardware/qcom-caf/common/libqti-perfd-client \
hardware/xiaomi
# IncrementalFS
@@ -54,7 +51,8 @@ PRODUCT_PROPERTY_OVERRIDES += \
# Vendor init
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/etc/init/android.hardware.drm@1.3-service.widevine.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.drm@1.3-service.widevine.rc \
$(LOCAL_PATH)/configs/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc
$(LOCAL_PATH)/configs/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.neuralnetworks@1.3-service-qti.rc \
$(LOCAL_PATH)/configs/services/android.hardware.sensors@1.0-service.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/android.hardware.sensors@1.0-service.rc
# Permissions
PRODUCT_COPY_FILES += \
@@ -91,7 +89,6 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml \
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \
frameworks/native/data/etc/android.software.ipsec_tunnels.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnels.xml \
frameworks/native/data/etc/android.software.ipsec_tunnel_migration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.ipsec_tunnel_migration.xml \
frameworks/native/data/etc/android.software.midi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.midi.xml \
frameworks/native/data/etc/android.software.opengles.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \
frameworks/native/data/etc/android.software.sip.voip.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.sip.voip.xml \
@@ -104,6 +101,10 @@ PRODUCT_PROPERTY_OVERRIDES += \
suspend.short_suspend_backoff_enabled=true \
suspend.max_sleep_time_millis=40000
# ANT+
PRODUCT_PACKAGES += \
AntHalService-Soong
# Audio
PRODUCT_PACKAGES += \
android.hardware.audio@7.0-impl \
@@ -112,12 +113,10 @@ PRODUCT_PACKAGES += \
android.hardware.audio.service \
android.hardware.bluetooth.audio@2.1-impl \
android.hardware.soundtrigger@2.2-impl \
audio.primary.msmnile \
audio.bluetooth.default \
audio.primary.default \
audio.r_submix.default \
audio.usb.default \
audio_amplifier.msmnile \
libaudioroute.vendor \
libaudiopreprocessing \
libbatterylistener \
@@ -139,17 +138,11 @@ PRODUCT_PACKAGES += \
libtinycompress \
libvisualizer \
libvolumelistener \
liba2dpoffload \
libhdmiedid \
libhfp \
tinymix
$(call soong_config_set_bool,android_hardware_audio,skip_speaker_layout_channel_mask_field,true)
# Audio configs
PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/configs/audio/,$(TARGET_COPY_OUT_VENDOR)/etc) \
$(LOCAL_PATH)/configs/audio/dax-default.xml:$(TARGET_COPY_OUT_VENDOR)/etc/dolby/dax-default.xml
$(call find-copy-subdir-files,*,$(LOCAL_PATH)/configs/audio/,$(TARGET_COPY_OUT_VENDOR)/etc)
PRODUCT_COPY_FILES += \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
@@ -178,17 +171,12 @@ PRODUCT_PACKAGES += \
libcamera2ndk_vendor \
libdng_sdk.vendor \
libgui_vendor \
libMegviiFacepp-0.5.2 \
libmegface \
libshim_megvii \
libstdc++_vendor \
vendor.qti.hardware.camera.device@1.0.vendor \
vendor.qti.hardware.camera.postproc@1.0.vendor \
vendor.xiaomi.hardware.motor@1.0.vendor
$(call soong_config_set_bool,camera,override_format_from_reserved,true)
$(call soong_config_set,camera,package_name,com.android.camera)
$(call soong_config_set,libcameraservice,ext_lib,libcameraservice_extension.raphael)
# MiuiCamera
$(call inherit-product-if-exists, vendor/xiaomi/miuicamera/config.mk)
@@ -198,28 +186,22 @@ PRODUCT_COPY_FILES += \
# Display
PRODUCT_PACKAGES += \
android.hardware.graphics.composer@2.4-service \
gralloc.qcom \
hwcomposer.qcom
PRODUCT_PACKAGES += \
android.hardware.graphics.mapper@3.0-impl-qti-display \
android.hardware.graphics.mapper@4.0-impl-qti-display \
vendor.qti.hardware.display.allocator-service
PRODUCT_PACKAGES += \
vendor.qti.hardware.memtrack-service
PRODUCT_PACKAGES += \
vendor.qti.hardware.memtrack-service \
gralloc.msmnile \
hwcomposer.msmnile \
libtinyxml \
libdisplayconfig.qti \
libdisplayconfig.system.qti \
libgui_vendor \
libqdMetaData \
libqdMetaData.system \
libtinyxml \
libvulkan \
vendor.display.config@1.11.vendor \
vendor.display.config@1.5 \
vendor.display.config@2.0 \
vendor.display.config@2.0.vendor \
vendor.qti.hardware.display.allocator-service \
vendor.qti.hardware.display.allocator@1.0.vendor \
vendor.qti.hardware.display.allocator@3.0.vendor \
vendor.qti.hardware.display.allocator@4.0.vendor \
@@ -231,9 +213,6 @@ PRODUCT_PACKAGES += \
vendor.qti.hardware.display.mapper@4.0.vendor \
vendor.qti.hardware.display.mapperextensions@1.1.vendor
$(call soong_config_set,qtidisplay,gralloc_handle_has_reserved_size,true)
$(call soong_config_set_bool,qtimedia,disabled_ubwc,true)
PRODUCT_PACKAGES += \
disable_configstore
@@ -258,15 +237,15 @@ PRODUCT_PACKAGES += \
# Fingerprint
PRODUCT_PACKAGES += \
android.hardware.biometrics.fingerprint-service.xiaomi \
android.hardware.biometrics.fingerprint@2.3-service.xiaomi \
vendor.goodix.hardware.biometrics.fingerprint@2.1.vendor \
libudfpshandler
$(call soong_config_set,surfaceflinger,udfps_lib,//hardware/xiaomi:libudfps_extension.xiaomi)
# FM
PRODUCT_PACKAGES += \
FM2
FM2 \
libqcomfm_jni \
qcom.fmradio
# Gatekeeper
PRODUCT_PACKAGES += \
@@ -323,26 +302,6 @@ PRODUCT_COPY_FILES += \
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/etc/msm_irqbalance.conf:$(TARGET_COPY_OUT_VENDOR)/etc/msm_irqbalance.conf
# Init
PRODUCT_PACKAGES += \
fstab.qcom \
fstab.qcom.ramdisk \
fstab.qcom.vendor_ramdisk \
fstab.zram
PRODUCT_PACKAGES += \
init.power.rc \
init.qcom.rc \
init.qcom.sh \
init.qcom.usb.rc \
init.qcom.usb.sh \
init.recovery.qcom.rc \
init.target.rc \
init.xiaomi.rc \
ueventd.qcom.rc
$(call soong_config_set,libinit,vendor_init_lib,//$(LOCAL_PATH):init_xiaomi_raphael)
# Keylayout
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/keylayout/gpio-keys.kl:$(TARGET_COPY_OUT_SYSTEM)/usr/keylayout/gpio-keys.kl \
@@ -352,6 +311,12 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
android.hardware.keymaster@4.1.vendor
# LMK tuning
PRODUCT_PROPERTY_OVERRIDES += \
ro.lmk.filecache_min_kb=153600 \
ro.lmk.kill_timeout_ms=50 \
ro.lmk.stall_limit_critical=40
# Lights
PRODUCT_PACKAGES += \
android.hardware.light@2.0-service.xiaomi_raphael
@@ -360,10 +325,9 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
vendor.lineage.health-service.default
$(call soong_config_set,lineage_health,charging_control_charging_disabled,1)
$(call soong_config_set,lineage_health,charging_control_charging_enabled,0)
$(call soong_config_set,lineage_health,charging_control_charging_path,/sys/class/power_supply/battery/input_suspend)
$(call soong_config_set_bool,lineage_health,charging_control_supports_bypass,false)
# Livedisplay
PRODUCT_PACKAGES += \
vendor.lineage.livedisplay@2.1-service.raphael
# Logging
SPAMMY_LOG_TAGS := \
@@ -392,25 +356,18 @@ PRODUCT_PACKAGES += \
libavservices_minijail.vendor \
libavservices_minijail_vendor \
libcodec2_hidl@1.0.vendor \
libcodec2_soft_common.vendor \
libcodec2_vndk.vendor \
libsfplugin_ccodec_utils.vendor \
libstagefright_foundation-v33
libcodec2_vndk.vendor
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/media/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \
$(LOCAL_PATH)/configs/media/media_codecs_performance.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance.xml \
$(LOCAL_PATH)/configs/media/media_codecs_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor.xml \
$(LOCAL_PATH)/configs/media/media_codecs_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_c2.xml \
$(LOCAL_PATH)/configs/media/media_codecs_performance_c2.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \
$(LOCAL_PATH)/configs/media/media_codecs_vendor_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_vendor_audio.xml \
$(LOCAL_PATH)/configs/media/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles.xml \
$(LOCAL_PATH)/configs/media/media_profiles.xml:$(TARGET_COPY_OUT_ODM)/etc/media_profiles_V1_0.xml \
$(LOCAL_PATH)/configs/media/media_profiles_vendor.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_vendor.xml
# Properties
PRODUCT_SYSTEM_EXT_PROPERTIES += \
media.settings.xml=/vendor/etc/media_profiles_vendor.xml \
media.stagefright.thumbnail.prefer_hw_codecs=true \
ro.media.recorder-max-base-layer-fps=60
# Media Codecs
PRODUCT_COPY_FILES += \
frameworks/av/media/libstagefright/data/media_codecs_google_c2_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_c2_audio.xml \
@@ -443,6 +400,7 @@ PRODUCT_PACKAGES += \
android.hardware.nfc@1.2-service \
com.android.nfc_extras \
libchrome.vendor \
NfcNci \
SecureElement \
Tag
@@ -460,6 +418,25 @@ PRODUCT_COPY_FILES += \
frameworks/native/data/etc/android.hardware.se.omapi.uicc.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_nfc/android.hardware.se.omapi.uicc.xml \
frameworks/native/data/etc/com.android.nfc_extras.xml:$(TARGET_COPY_OUT_ODM)/etc/permissions/sku_nfc/com.android.nfc_extras.xml
# OMX
PRODUCT_PACKAGES += \
android.hardware.media.omx@1.0-service \
libc2dcolorconvert \
libcodec2_hidl@1.0.vendor \
libcodec2_vndk.vendor \
libmm-omxcore \
libOmxAacEnc \
libOmxAmrEnc \
libOmxCore \
libOmxEvrcEnc \
libOmxG711Enc \
libOmxQcelp13Enc \
libOmxVdec \
libOmxVenc \
libstagefrighthw \
libstagefright_omx.vendor \
libstagefright_softomx_plugin.vendor
# QDCM
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/etc/qdcm_calib_data_samsung_ea8076_fhd_cmd_dsi_panel.xml:$(TARGET_COPY_OUT_VENDOR)/etc/qdcm_calib_data_samsung_ea8076_fhd_cmd_dsi_panel.xml \
@@ -467,30 +444,19 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/etc/sdr_config.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/sdr_config.cfg \
$(LOCAL_PATH)/configs/etc/hdr_config.cfg:$(TARGET_COPY_OUT_VENDOR)/etc/hdr_config.cfg
# Partitions
PRODUCT_PACKAGES += \
vendor_bt_firmware_mountpoint \
vendor_dsp_mountpoint \
vendor_firmware_mnt_mountpoint
# Partitions
PRODUCT_USE_DYNAMIC_PARTITIONS := true
# Parts
PRODUCT_PACKAGES += \
DSPVolumeSynchronizer \
XiaomiDolby \
XiaomiParts
# Powerstats
PRODUCT_PACKAGES += \
android.hardware.power.stats@1.0-service.raphael
# Partitions
PRODUCT_PACKAGES += \
vendor_bt_firmware_mountpoint \
vendor_dsp_mountpoint \
vendor_firmware_mnt_mountpoint
# Perf
PRODUCT_PACKAGES += \
libqti-perfd-client
@@ -504,10 +470,10 @@ PRODUCT_PACKAGES += \
PRODUCT_PACKAGES += \
sendhint
# Enable Hint maneger for SurfaceFlinger and HWUI
# Enable adpf cpu hint session for SurfaceFlinger and HWUI
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += \
debug.hwui.use_hint_manager=true \
debug.hwui.target_cpu_time_percent=30
debug.sf.enable_adpf_cpu_hint=true \
debug.hwui.use_hint_manager=true
PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/etc/powerhint.json:$(TARGET_COPY_OUT_VENDOR)/etc/powerhint.json
@@ -539,9 +505,14 @@ PRODUCT_COPY_FILES += \
$(LOCAL_PATH)/configs/permissions/telephony_system-ext_privapp-permissions-qti.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/telephony_system-ext-privapp-permissions-qti.xml
# Quick Tap
PRODUCT_SYSTEM_EXT_PROPERTIES += \
PRODUCT_PROPERTY_OVERRIDES += \
persist.columbus.model=tap7cls_coral.tflite
# RCS
PRODUCT_PACKAGES += \
PresencePolling \
RcsService
# RIL
PRODUCT_PACKAGES += \
libprotobuf-cpp-full \
@@ -555,9 +526,22 @@ PRODUCT_PACKAGES += \
android.hardware.radio.config@1.2.vendor \
android.hardware.radio.deprecated@1.0.vendor
# Recovery
# Rootdir
PRODUCT_PACKAGES += \
init_xiaomi_raphael.recovery
fstab.qcom_ramdisk \
fstab.qcom \
fstab.zram
PRODUCT_PACKAGES += \
init.power.rc \
init.qcom.rc \
init.qcom.sh \
init.qcom.usb.rc \
init.qcom.usb.sh \
init.recovery.qcom.rc \
init.target.rc \
init.xiaomi.rc \
ueventd.qcom.rc
# Seccomp
PRODUCT_COPY_FILES += \
@@ -585,7 +569,8 @@ PRODUCT_COPY_FILES += \
# Shim
PRODUCT_PACKAGES += \
libpiex_shim
libpiex_shim \
libwatermark_shim
# Task Profiles
PRODUCT_COPY_FILES += \
@@ -629,15 +614,11 @@ PRODUCT_COPY_FILES += \
PRODUCT_PACKAGES += \
libtinyxml2
# Update
AB_OTA_UPDATER := false
# UFFD GC
OVERRIDE_ENABLE_UFFD_GC := false
# USB
PRODUCT_PACKAGES += \
android.hardware.usb@1.0-service
usb_compositions.conf \
android.hardware.usb@1.3-service.dual_role_usb \
android.hardware.usb.gadget@1.2-service-qti
# Vendor service manager
PRODUCT_PACKAGES += \
@@ -651,7 +632,6 @@ $(call inherit-product, packages/apps/ViPER4AndroidFX/config.mk)
# VNDK
PRODUCT_PACKAGES += \
libcrypto-v33 \
libutilscallstack.vendor:64 \
libnetutils.vendor:64 \
libsqlite.vendor:64 \
@@ -685,18 +665,8 @@ PRODUCT_COPY_FILES += \
# WiFi Display
PRODUCT_PACKAGES += \
libavservices_minijail \
libnl \
libpng.vendor
PRODUCT_BOOT_JARS += \
WfdCommon
PRODUCT_SYSTEM_EXT_PROPERTIES += \
debug.sf.enable_hwc_vds=0 \
persist.debug.wfd.enable=1 \
persist.sys.wfd.virtual=0
# Enable zygote critical window.
PRODUCT_PROPERTY_OVERRIDES += \
zygote.critical_window.minute=10

View File

@@ -3,10 +3,6 @@
"repository": "vendor_xiaomi_raphael",
"target_path": "vendor/xiaomi/raphael"
},
{
"repository": "kernel_xiaomi_raphael",
"target_path": "kernel/xiaomi/raphael"
},
{
"repository": "hardware_xiaomi",
"target_path": "hardware/xiaomi"
@@ -18,6 +14,12 @@
{
"repository": "vendor_xiaomi_miuicamera",
"target_path": "vendor/xiaomi/miuicamera",
"remote": "evo-gitea"
"remote": "evo-main"
},
{
"repository": "SOVIET-ANDROID/kernel_xiaomi_raphael",
"target_path": "kernel/xiaomi/raphael",
"remote": "github-non-los",
"branch": "14.0-matrix"
}
]

View File

@@ -1,108 +0,0 @@
#!/usr/bin/env -S PYTHONPATH=../../../tools/extract-utils python3
#
# SPDX-FileCopyrightText: 2024 The LineageOS Project
# SPDX-License-Identifier: Apache-2.0
#
from extract_utils.fixups_blob import (
blob_fixup,
blob_fixups_user_type,
)
from extract_utils.fixups_lib import (
lib_fixups,
lib_fixups_user_type,
)
from extract_utils.main import (
ExtractUtils,
ExtractUtilsModule,
)
namespace_imports = [
"device/xiaomi/raphael",
"hardware/qcom-caf/sm8150",
"hardware/qcom-caf/wlan",
"hardware/xiaomi",
"vendor/qcom/opensource/dataservices",
"vendor/qcom/opensource/commonsys-intf/display",
"vendor/qcom/opensource/commonsys/display",
"vendor/qcom/opensource/display",
]
def lib_fixup_vendor_suffix(lib: str, partition: str, *args, **kwargs):
return f'{lib}_{partition}' if partition == 'vendor' else None
lib_fixups: lib_fixups_user_type = {
**lib_fixups,
(
'com.qualcomm.qti.dpm.api@1.0',
'vendor.qti.hardware.fm@1.0',
'libmmosal',
'vendor.qti.hardware.wifidisplaysession@1.0',
'vendor.qti.imsrtpservice@3.0',
): lib_fixup_vendor_suffix,
}
blob_fixups: blob_fixups_user_type = {
'vendor/lib64/camera/components/com.qti.node.watermark.so': blob_fixup()
.add_needed('libpiex_shim.so'),
(
'vendor/lib64/libalAILDC.so',
'vendor/lib64/libalLDC.so',
'vendor/lib64/libalhLDC.so'): blob_fixup()
.clear_symbol_version('AHardwareBuffer_allocate')
.clear_symbol_version('AHardwareBuffer_describe')
.clear_symbol_version('AHardwareBuffer_lock')
.clear_symbol_version('AHardwareBuffer_release')
.clear_symbol_version('AHardwareBuffer_unlock'),
(
'vendor/lib64/libarcsoft_dualcam_refocus_front.so',
'vendor/lib64/libarcsoft_dualcam_refocus_rear_t.so',
'vendor/lib64/libarcsoft_dualcam_refocus_rear_w.so'
): blob_fixup()
.clear_symbol_version('remote_handle_close')
.clear_symbol_version('remote_handle_invoke')
.clear_symbol_version('remote_handle_open')
.clear_symbol_version('remote_register_buf_attr')
.clear_symbol_version('remote_register_buf'),
(
'vendor/etc/wfdconfig.xml'
): blob_fixup()
.regex_replace('<AudioStreamInSuspend>0</AudioStreamInSuspend>', '<AudioStreamInSuspend>1</AudioStreamInSuspend>')
.regex_replace('<HID>0</HID>', '<HID>1</HID>'),
(
'vendor/lib64/libwvhidl.so',
'vendor/lib/mediadrm/libwvdrmengine.so',
'vendor/lib64/mediadrm/libwvdrmengine.so'
): blob_fixup()
.add_needed('libcrypto_shim.so'),
(
'vendor/lib/libaudioroute_ext.so',
): blob_fixup()
.replace_needed('libaudioroute.so', 'libaudioroute-v34.so'),
(
'vendor/lib/android.hardware.camera.provider@2.4-external.so',
'vendor/lib64/android.hardware.camera.provider@2.4-external.so',
'vendor/lib/camera.device@3.4-external-impl.so',
'vendor/lib64/camera.device@3.4-external-impl.so',
'vendor/lib/camera.device@3.5-external-impl.so',
'vendor/lib64/camera.device@3.5-external-impl.so',
'vendor/lib/camera.device@3.6-external-impl.so',
'vendor/lib64/camera.device@3.6-external-impl.so',
): blob_fixup()
.replace_needed('libtinyxml2.so', 'libtinyxml2-v34.so'),
} # fmt: skip
module = ExtractUtilsModule(
'raphael',
'xiaomi',
blob_fixups=blob_fixups,
lib_fixups=lib_fixups,
namespace_imports=namespace_imports,
)
if __name__ == '__main__':
utils = ExtractUtils.device(module)
utils.run()

75
extract-files.sh Executable file
View File

@@ -0,0 +1,75 @@
#!/bin/bash
#
# Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2021 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
set -e
DEVICE=raphael
VENDOR=xiaomi
# Load extract_utils and do some sanity checks
MY_DIR="${BASH_SOURCE%/*}"
if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
ANDROID_ROOT="${MY_DIR}/../../.."
HELPER="${ANDROID_ROOT}/tools/extract-utils/extract_utils.sh"
if [ ! -f "${HELPER}" ]; then
echo "Unable to find helper script at ${HELPER}"
exit 1
fi
source "${HELPER}"
# Default to sanitizing the vendor folder before extraction
CLEAN_VENDOR=true
SECTION=
KANG=
while [ "${#}" -gt 0 ]; do
case "${1}" in
-n | --no-cleanup )
CLEAN_VENDOR=false
;;
-k | --kang )
KANG="--kang"
;;
-s | --section )
SECTION="${2}"; shift
CLEAN_VENDOR=false
;;
* )
SRC="${1}"
;;
esac
shift
done
if [ -z "${SRC}" ]; then
SRC="adb"
fi
function blob_fixup() {
case "${1}" in
vendor/lib64/hw/camera.qcom.so)
"${PATCHELF}" --remove-needed "libMegviiFacepp-0.5.2.so" "${2}"
"${PATCHELF}" --remove-needed "libmegface.so" "${2}"
"${PATCHELF}" --add-needed "libshim_megvii.so" "${2}"
;;
vendor/lib64/camera/components/com.qti.node.watermark.so)
"${PATCHELF}" --add-needed "libwatermark_shim.so" "${2}"
;;
esac
}
# Initialize the helper
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}"
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" \
"${KANG}" --section "${SECTION}"
"${MY_DIR}/setup-makefiles.sh"

View File

@@ -23,14 +23,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.biometrics.fingerprint</name>
<version>4</version>
<interface>
<name>IFingerprint</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.bluetooth.audio</name>
<version>4</version>
@@ -79,22 +71,6 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.light</name>
<version>2.0</version>
<interface>
<name>ILight</name>
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.power.stats</name>
<version>1.0</version>
<interface>
<name>IPowerStats</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.power</name>
<version>5</version>
@@ -223,17 +199,9 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>android.hardware.health.storage</name>
<version>1.0</version>
<interface>
<name>IStorage</name>
<instance>default</instance>
</interface>
</hal>
<hal format="aidl" optional="true">
<name>android.hardware.health</name>
<version>3</version>
<version>1</version>
<interface>
<name>IHealth</name>
<instance>default</instance>
@@ -590,12 +558,4 @@
<instance>default</instance>
</interface>
</hal>
<hal format="hidl" optional="true">
<name>vendor.dolby.hardware.dms</name>
<version>2.0</version>
<interface>
<name>IDms</name>
<instance>default</instance>
</interface>
</hal>
</compatibility-matrix>

View File

@@ -26,6 +26,7 @@ OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<manifest version="2.0" type="device" target-level="5">
<kernel target-level="4"/>
<hal format="hidl">
<name>android.hardware.audio</name>
<transport>hwbinder</transport>
@@ -46,6 +47,12 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<transport>hwbinder</transport>
<fqname>@2.2::ISoundTriggerHw/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.media.omx</name>
<transport>hwbinder</transport>
<fqname>@1.0::IOmx/default</fqname>
<fqname>@1.0::IOmxStore/default</fqname>
</hal>
<hal format="hidl">
<name>vendor.display.color</name>
<transport>hwbinder</transport>
@@ -71,21 +78,11 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<transport>hwbinder</transport>
<fqname>@4.1::IKeymasterDevice/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.media.c2</name>
<transport>hwbinder</transport>
<fqname>@1.0::IComponentStore/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.gatekeeper</name>
<transport>hwbinder</transport>
<fqname>@1.0::IGatekeeper/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.light</name>
<transport>hwbinder</transport>
<fqname>@2.0::ILight/default</fqname>
</hal>
<hal format="hidl">
<name>android.hardware.sensors</name>
<transport>hwbinder</transport>
@@ -245,7 +242,7 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<hal format="hidl">
<name>android.hardware.tetheroffload.control</name>
<transport>hwbinder</transport>
<fqname>@1.1::IOffloadControl/default</fqname>
<fqname>@1.0::IOffloadControl/default</fqname>
</hal>
<hal format="hidl">
<name>com.dsi.ant</name>

File diff suppressed because it is too large Load Diff

View File

@@ -9,6 +9,8 @@
#include "vendor_init.h"
#define FINGERPRINT "Xiaomi/raphael/raphael:11/RKQ1.200826.002/V12.5.2.0.RFKMIXM:user/release-keys"
static const variant_info_t raphael_global_info = {
.hwc_value = "GLOBAL",
.sku_value = "",
@@ -17,6 +19,8 @@ static const variant_info_t raphael_global_info = {
.device = "raphael",
.marketname = "",
.model = "Mi 9T Pro",
.build_fingerprint = FINGERPRINT,
.nfc = true,
};
@@ -28,6 +32,8 @@ static const variant_info_t raphaelin_info = {
.device = "raphaelin",
.marketname = "",
.model = "Redmi K20 Pro",
.build_fingerprint = FINGERPRINT,
.nfc = false,
};
@@ -39,6 +45,8 @@ static const variant_info_t raphael_info = {
.device = "raphael",
.marketname = "",
.model = "Redmi K20 Pro",
.build_fingerprint = FINGERPRINT,
.nfc = true,
};

View File

@@ -34,8 +34,13 @@ void set_variant_props(const variant_info_t variant) {
set_ro_build_prop("marketname", variant.marketname, true);
set_ro_build_prop("model", variant.model, true);
if (variant.nfc) {
property_override(SKU_PROP, "nfc");
property_override("ro.boot.hardware.sku", "nfc");
if (access("/system/bin/recovery", F_OK) != 0) {
set_ro_build_prop("fingerprint", variant.build_fingerprint);
property_override("ro.bootimage.build.fingerprint", variant.build_fingerprint);
property_override("ro.build.description", fingerprint_to_description(variant.build_fingerprint));
}
if (variant.nfc)
property_override(SKU_PROP, "nfc");
}

View File

@@ -0,0 +1,17 @@
cc_library_shared {
name: "libqti-perfd-client",
proprietary: true,
defaults: ["hidl_defaults"],
srcs: [
"client.c",
],
cflags: [
"-Werror",
"-Wextra",
"-Wall",
],
shared_libs: [
"liblog",
"libutils",
],
}

View File

@@ -0,0 +1,29 @@
/*
* Copyright (C) 2021-2024 The LineageOS Project
*
* SPDX-License-Identifier: Apache-2.0
*/
#define LOG_TAG "libqti-perfd-client"
#include <log/log.h>
#include <stdint.h>
void perf_get_feedback() {}
void perf_hint() {}
int perf_lock_acq(int handle, int duration, int arg3[], int arg4) {
ALOGI("perf_lock_acq: handle: %d, duration: %d, arg3[0]: %d, arg4: %d", handle, duration,
arg3[0], arg4);
return handle ?: 233;
}
void perf_lock_cmd() {}
int perf_lock_rel(int handle) {
ALOGI("perf_lock_rel: handle: %d", handle);
return handle ?: 233;
}
void perf_lock_use_profile() {}

View File

@@ -9,9 +9,6 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/product_launched_with_p.mk)
# OMX
TARGET_SUPPORTS_OMX_SERVICE := false
# Inherit from raphael device
$(call inherit-product, device/xiaomi/raphael/device.mk)
@@ -19,13 +16,11 @@ $(call inherit-product, device/xiaomi/raphael/device.mk)
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)
EVO_BUILD_TYPE := Official
TARGET_DISABLE_EPPE := true
TARGET_BOOT_ANIMATION_RES := 1080
TARGET_BUILD_APERTURE_CAMERA := false
TARGET_HAS_UDFPS := true
# Bypass charging node /sys/class/power_supply/battery/input_suspend
BYPASS_CHARGE_SUPPORTED := true
# Boot animation
TARGET_SCREEN_HEIGHT := 2340
TARGET_SCREEN_WIDTH := 1080
@@ -40,6 +35,5 @@ PRODUCT_CHARACTERISTICS := nosdcard
PRODUCT_GMS_CLIENTID_BASE := android-xiaomi
PRODUCT_BUILD_PROP_OVERRIDES += \
BuildDesc="raphael-user 11 RKQ1.200826.002 V12.5.2.0.RFKMIXM release-keys" \
BuildFingerprint=Xiaomi/raphael/raphael:11/RKQ1.200826.002/V12.5.2.0.RFKMIXM:user/release-keys
# Set BUILD_FINGERPRINT variable to be picked up by both system and vendor build.prop
BUILD_FINGERPRINT := Xiaomi/raphael/raphael:11/RKQ1.200826.002/V12.5.2.0.RFKMIXM:user/release-keys

40
livedisplay/Android.bp Normal file
View File

@@ -0,0 +1,40 @@
//
// Copyright (C) 2019-2020 The LineageOS 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.
cc_binary {
name: "vendor.lineage.livedisplay@2.1-service.raphael",
defaults: ["hidl_defaults"],
vintf_fragments: ["vendor.lineage.livedisplay@2.1-service.raphael.xml"],
init_rc: ["vendor.lineage.livedisplay@2.1-service.raphael.rc"],
relative_install_path: "hw",
srcs: [
":vendor.lineage.livedisplay@2.0-sdm-utils",
"AntiFlicker.cpp",
"SunlightEnhancement.cpp",
"service.cpp",
],
vendor: true,
shared_libs: [
"libbase",
"libbinder",
"libhidlbase",
"libutils",
"vendor.lineage.livedisplay@2.0",
"vendor.lineage.livedisplay@2.1",
],
header_libs: [
"vendor.lineage.livedisplay@2.0-sdm-headers",
],
}

View File

@@ -0,0 +1,51 @@
/*
* Copyright (C) 2021 The LineageOS 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.
*/
#define LOG_TAG "AntiFlickerService"
#include "AntiFlicker.h"
#include <android-base/logging.h>
#include <fstream>
namespace vendor {
namespace lineage {
namespace livedisplay {
namespace V2_1 {
namespace implementation {
static constexpr const char* kDcDimmingPath =
"/sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim";
Return<bool> AntiFlicker::isEnabled() {
std::ifstream file(kDcDimmingPath);
int result = -1;
file >> result;
LOG(DEBUG) << "Got result " << result << " fail " << file.fail();
return !file.fail() && result > 0;
}
Return<bool> AntiFlicker::setEnabled(bool enabled) {
std::ofstream file(kDcDimmingPath);
file << (enabled ? "1" : "0");
LOG(DEBUG) << "setEnabled fail " << file.fail();
return !file.fail();
}
} // namespace implementation
} // namespace V2_1
} // namespace livedisplay
} // namespace lineage
} // namespace vendor

47
livedisplay/AntiFlicker.h Normal file
View File

@@ -0,0 +1,47 @@
/*
* Copyright (C) 2021 The LineageOS 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.
*/
#ifndef VENDOR_LINEAGE_LIVEDISPLAY_V2_1_ANTIFLICKER_H
#define VENDOR_LINEAGE_LIVEDISPLAY_V2_1_ANTIFLICKER_H
#include <hidl/MQDescriptor.h>
#include <hidl/Status.h>
#include <vendor/lineage/livedisplay/2.1/IAntiFlicker.h>
namespace vendor {
namespace lineage {
namespace livedisplay {
namespace V2_1 {
namespace implementation {
using ::android::hardware::Return;
using ::android::hardware::Void;
using ::android::sp;
class AntiFlicker : public IAntiFlicker {
public:
// Methods from ::vendor::lineage::livedisplay::V2_1::IAntiFlicker follow.
Return<bool> isEnabled() override;
Return<bool> setEnabled(bool enabled) override;
};
} // namespace implementation
} // namespace V2_1
} // namespace livedisplay
} // namespace lineage
} // namespace vendor
#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_1_ANTIFLICKER_H

View File

@@ -0,0 +1,55 @@
/*
* Copyright (C) 2019-2020 The LineageOS 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.
*/
#define LOG_TAG "SunlightEnhancementService"
#include <android-base/file.h>
#include <android-base/logging.h>
#include <android-base/strings.h>
#include "SunlightEnhancement.h"
namespace vendor {
namespace lineage {
namespace livedisplay {
namespace V2_1 {
namespace implementation {
static constexpr const char* kHbmStatusPath =
"/sys/devices/platform/soc/soc:qcom,dsi-display-primary/hbm";
Return<bool> SunlightEnhancement::isEnabled() {
std::string buf;
if (!android::base::ReadFileToString(kHbmStatusPath, &buf)) {
LOG(ERROR) << "Failed to read " << kHbmStatusPath;
return false;
}
return std::stoi(android::base::Trim(buf)) == 1;
}
Return<bool> SunlightEnhancement::setEnabled(bool enabled) {
if (!android::base::WriteStringToFile((enabled ? "1" : "0"), kHbmStatusPath)) {
LOG(ERROR) << "Failed to write " << kHbmStatusPath;
return false;
}
return true;
}
} // namespace implementation
} // namespace V2_1
} // namespace livedisplay
} // namespace lineage
} // namespace vendor

View File

@@ -0,0 +1,47 @@
/*
* Copyright (C) 2019-2020 The LineageOS 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.
*/
#ifndef VENDOR_LINEAGE_LIVEDISPLAY_V2_1_SUNLIGHTENHANCEMENT_H
#define VENDOR_LINEAGE_LIVEDISPLAY_V2_1_SUNLIGHTENHANCEMENT_H
#include <hidl/MQDescriptor.h>
#include <hidl/Status.h>
#include <vendor/lineage/livedisplay/2.1/ISunlightEnhancement.h>
namespace vendor {
namespace lineage {
namespace livedisplay {
namespace V2_1 {
namespace implementation {
using ::android::sp;
using ::android::hardware::Return;
using ::android::hardware::Void;
class SunlightEnhancement : public ISunlightEnhancement {
public:
// Methods from ::vendor::lineage::livedisplay::V2_1::ISunlightEnhancement follow.
Return<bool> isEnabled() override;
Return<bool> setEnabled(bool enabled) override;
};
} // namespace implementation
} // namespace V2_1
} // namespace livedisplay
} // namespace lineage
} // namespace vendor
#endif // VENDOR_LINEAGE_LIVEDISPLAY_V2_1_SUNLIGHTENHANCEMENT_H

66
livedisplay/service.cpp Normal file
View File

@@ -0,0 +1,66 @@
/*
* Copyright (C) 2019-2020 The LineageOS 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.
*/
#define LOG_TAG "vendor.lineage.livedisplay@2.1-service.raphael"
#include <android-base/logging.h>
#include <binder/ProcessState.h>
#include <hidl/HidlTransportSupport.h>
#include "AntiFlicker.h"
#include "SunlightEnhancement.h"
#include "livedisplay/sdm/SDMController.h"
using android::OK;
using android::sp;
using android::status_t;
using ::vendor::lineage::livedisplay::V2_0::sdm::SDMController;
using ::vendor::lineage::livedisplay::V2_1::IAntiFlicker;
using ::vendor::lineage::livedisplay::V2_1::ISunlightEnhancement;
using ::vendor::lineage::livedisplay::V2_1::implementation::AntiFlicker;
using ::vendor::lineage::livedisplay::V2_1::implementation::SunlightEnhancement;
int main() {
status_t status = OK;
std::shared_ptr<SDMController> controller = std::make_shared<SDMController>();
sp<AntiFlicker> af = new AntiFlicker();
sp<SunlightEnhancement> se = new SunlightEnhancement();
android::hardware::configureRpcThreadpool(1, true /*callerWillJoin*/);
// AntiFlicker service
status = af->registerAsService();
if (status != OK) {
LOG(ERROR) << "Could not register service for LiveDisplay HAL AntiFlicker Iface ("
<< status << ")";
return 1;
}
// SunlightEnhancement service
status = se->registerAsService();
if (status != OK) {
LOG(ERROR) << "Could not register service for LiveDisplay HAL SunlightEnhancement Iface ("
<< status << ")";
return 1;
}
LOG(INFO) << "LiveDisplay HAL service is ready.";
android::hardware::joinRpcThreadpool();
LOG(ERROR) << "LiveDisplay HAL service failed to join thread pool.";
return 1;
}

View File

@@ -0,0 +1,10 @@
on boot
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/hbm
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim
chmod 0660 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/hbm
chmod 0660 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim
service vendor.livedisplay-hal-2-1 /vendor/bin/hw/vendor.lineage.livedisplay@2.1-service.raphael
class hal
user system
group system

View File

@@ -0,0 +1,8 @@
<manifest version="1.0" type="device">
<hal format="hidl">
<name>vendor.lineage.livedisplay</name>
<transport>hwbinder</transport>
<fqname>@2.1::IAntiFlicker/default</fqname>
<fqname>@2.1::ISunlightEnhancement/default</fqname>
</hal>
</manifest>

View File

@@ -1,2 +1,46 @@
# Audio
vendor.audio.feature.a2dp_offload.enable=true
vendor.audio.feature.afe_proxy.enable=true
vendor.audio.feature.anc_headset.enable=true
vendor.audio.feature.battery_listener.enable=true
vendor.audio.feature.compr_cap.enable=false
vendor.audio.feature.compress_in.enable=false
vendor.audio.feature.compress_meta_data.enable=true
vendor.audio.feature.compr_voip.enable=false
vendor.audio.feature.concurrent_capture.enable=false
vendor.audio.feature.custom_stereo.enable=true
vendor.audio.feature.display_port.enable=true
vendor.audio.feature.dsm_feedback.enable=false
vendor.audio.feature.dynamic_ecns.enable=false
vendor.audio.feature.ext_hw_plugin.enable=true
vendor.audio.feature.external_dsp.enable=false
vendor.audio.feature.external_speaker.enable=false
vendor.audio.feature.external_speaker_tfa.enable=false
vendor.audio.feature.fluence.enable=true
vendor.audio.feature.fm.enable=true
vendor.audio.feature.hdmi_edid.enable=true
vendor.audio.feature.hdmi_passthrough.enable=true
vendor.audio.feature.hfp.enable=true
vendor.audio.feature.hifi_audio.enable=false
vendor.audio.feature.hwdep_cal.enable=false
vendor.audio.feature.incall_music.enable=true
vendor.audio.feature.multi_voice_session.enable=true
vendor.audio.feature.keep_alive.enable=true
vendor.audio.feature.kpi_optimize.enable=true
vendor.audio.feature.maxx_audio.enable=false
vendor.audio.feature.ras.enable=true
vendor.audio.feature.record_play_concurency.enable=false
vendor.audio.feature.src_trkn.enable=true
vendor.audio.feature.spkr_prot.enable=true
vendor.audio.feature.ssrec.enable=true
vendor.audio.feature.usb_offload.enable=true
vendor.audio.feature.usb_offload_burst_mode.enable=true
vendor.audio.feature.usb_offload_sidetone_volume.enable=false
vendor.audio.feature.deepbuffer_as_primary.enable=false
vendor.audio.feature.vbat.enable=true
vendor.audio.feature.wsa.enable=false
vendor.audio.feature.audiozoom.enable=false
vendor.audio.feature.snd_mon.enable=true
# ODM
ro.vendor.qti.va_odm.support=1

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023-24 Paranoid Android
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Dolby Atmos -->
<string-array name="dolby_profile_entries">
<item>@string/dolby_profile_dynamic</item>
<item>@string/dolby_profile_video</item>
<item>@string/dolby_profile_music</item>
<item>@string/dolby_profile_game</item>
<item>@string/dolby_profile_voice</item>
</string-array>
<string-array name="dolby_profile_values">
<item>0</item>
<item>1</item>
<item>2</item>
<item>8</item>
<item>9</item>
</string-array>
</resources>

View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2023-24 Paranoid Android
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Dolby profiles -->
<string name="dolby_profile_dynamic">Dynamic</string>
<string name="dolby_profile_video">Movie/Video</string>
<string name="dolby_profile_music">Music</string>
<string name="dolby_profile_game">Game</string>
<string name="dolby_profile_voice">Voice</string>
</resources>

View File

@@ -11,7 +11,7 @@ android_app {
],
srcs: ["src/**/*.java"],
resource_dirs: ["res"],
certificate: "platform",
platform_apis: true,
system_ext_specific: true,

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorAccent">
<path
android:fillColor="#ff000000"
android:pathData="M6.55 8c-0.4 0-0.8 0.16-1.1 0.46C5.17 8.75 5 9.14 5 9.56v4.66c0 0.4 0.16 0.8 0.46 1.1 0.29 0.29 0.68 0.45 1.1 0.45H8.1c0.41 0 0.8-0.16 1.1-0.46 0.29-0.29 0.45-0.68 0.45-1.1v-1.55c0-0.41-0.16-0.8-0.45-1.1-0.3-0.29-0.69-0.45-1.1-0.45H6.55V9.55h3.11V8h-3.1Zm0 4.66h1.56v1.56H6.55v-1.56Z"/>
<path
android:fillColor="#ff000000"
android:pathData="M12 8c-0.42 0-0.81 0.16-1.1 0.46-0.3 0.29-0.46 0.68-0.46 1.1v4.66c0 0.4 0.16 0.8 0.45 1.1 0.3 0.29 0.69 0.45 1.1 0.45h1.56c0.4 0 0.8-0.16 1.1-0.46 0.29-0.29 0.45-0.68 0.45-1.1V9.56c0-0.4-0.16-0.8-0.46-1.1C14.35 8.17 13.96 8 13.54 8H12Zm0 1.55h1.55v4.67h-1.56V9.55Z"/>
<path
android:fillColor="#ff000000"
android:pathData="M17 1.01L7 1C5.9 1 5 1.9 5 3v4h2V3h10v18H7v-4H5v4c0 1.1 0.9 2 2 2h10c1.1 0 2-0.9 2-2V3c0-1.1-0.9-1.99-2-1.99Z"/>
</vector>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorAccent">
<path
android:fillColor="#ff000000"
android:pathData="M17 1.01L7 1C5.9 1 5 1.9 5 3v4h2V3h10v18H7v-4H5v4c0 1.1 0.9 2 2 2h10c1.1 0 2-0.9 2-2V3c0-1.1-0.9-1.99-2-1.99Z"/>
<path
android:fillColor="#ff000000"
android:pathData="M8.1 15.77c0.42 0 0.82-0.16 1.1-0.46 0.3-0.29 0.46-0.68 0.46-1.1V9.56c0-0.4-0.16-0.8-0.45-1.1C8.9 8.17 8.52 8 8.1 8H6.55c-0.4 0-0.8 0.16-1.1 0.46C5.17 8.75 5 9.14 5 9.56v1.55c0 0.41 0.16 0.8 0.46 1.1 0.29 0.29 0.68 0.45 1.1 0.45H8.1v1.56H5v1.55h3.1Zm0-4.66H6.56V9.55h1.56v1.56Z"/>
<path
android:fillColor="#ff000000"
android:pathData="M12 8c-0.42 0-0.81 0.16-1.1 0.46-0.3 0.29-0.46 0.68-0.46 1.1v4.66c0 0.4 0.16 0.8 0.45 1.1 0.3 0.29 0.69 0.45 1.1 0.45h1.56c0.4 0 0.8-0.16 1.1-0.46 0.29-0.29 0.45-0.68 0.45-1.1V9.56c0-0.4-0.16-0.8-0.46-1.1C14.35 8.17 13.96 8 13.54 8H12Zm0 1.55h1.55v4.67h-1.56V9.55Z"/>
</vector>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?android:attr/colorAccent">
<path
android:fillColor="#ff000000"
android:pathData="M17 3.01V15l2 2V3.01c0-1.1-0.9-1.99-2-1.99L7 1C6 0.99 5 1.99 5 2.99L7 5V3.01h10Zm4.2 18.19L19 19.01l-2-2-10-10-2-2-2.19-2.19L1.4 4.23 5 7.84v13.17c0 1.1 0.9 2 2 2h10c0.85 0 1.58-0.55 1.87-1.3l0.91 0.91 1.41-1.42ZM17 21.01H7L17 21v-0.99 1Zm-10 0V9.84l10 10.17V21L7 21.01Z"/>
</vector>

View File

@@ -3,7 +3,7 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/clear_speaker_title">
<SwitchPreferenceCompat
<SwitchPreference
android:key="clear_speaker_pref"
android:title="@string/clear_speaker_title"
android:icon="@drawable/ic_clear_speaker"

View File

@@ -3,14 +3,14 @@
xmlns:android="http://schemas.android.com/apk/res/android"
android:title="@string/popup_title">
<SwitchPreferenceCompat
<SwitchPreference
android:defaultValue="true"
android:icon="@drawable/ic_popup_light"
android:key="popup_led_effect"
android:summary="@string/popup_led_summary"
android:title="@string/popup_led_title" />
<SwitchPreferenceCompat
<SwitchPreference
android:key="always_on_camera_dialog"
android:icon="@drawable/ic_always_camera_dialog"
android:title="@string/always_on_camera_dialog_title"

View File

@@ -22,21 +22,21 @@ import android.provider.Settings;
import androidx.preference.Preference;
import androidx.preference.Preference.OnPreferenceChangeListener;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.SwitchPreferenceCompat;
import androidx.preference.SwitchPreference;
import org.lineageos.settings.R;
public class PopupCameraSettingsFragment extends PreferenceFragmentCompat implements
OnPreferenceChangeListener {
private SwitchPreferenceCompat mAlwaysCameraSwitch;
private SwitchPreference mAlwaysCameraSwitch;
public static final String KEY_ALWAYS_CAMERA_DIALOG = "always_on_camera_dialog";
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.popup_settings);
mAlwaysCameraSwitch = (SwitchPreferenceCompat) findPreference(KEY_ALWAYS_CAMERA_DIALOG);
mAlwaysCameraSwitch = (SwitchPreference) findPreference(KEY_ALWAYS_CAMERA_DIALOG);
boolean enabled = Settings.System.getInt(getContext().getContentResolver(),KEY_ALWAYS_CAMERA_DIALOG, 0) == 1;
mAlwaysCameraSwitch.setChecked(enabled);
mAlwaysCameraSwitch.setOnPreferenceChangeListener(this);

View File

@@ -27,7 +27,7 @@ import android.util.Log;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
import androidx.preference.SwitchPreferenceCompat;
import androidx.preference.SwitchPreference;
import org.lineageos.settings.R;
@@ -42,7 +42,7 @@ public class ClearSpeakerFragment extends PreferenceFragmentCompat implements
private Handler mHandler = new Handler(Looper.getMainLooper());
private MediaPlayer mMediaPlayer;
private SwitchPreferenceCompat mClearSpeakerPref;
private SwitchPreference mClearSpeakerPref;
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {

View File

@@ -68,15 +68,15 @@ vendor/lib64/vendor.qti.hardware.dsp@1.0.so
system_ext/lib/com.qualcomm.qti.ant@1.0.so
system_ext/lib64/com.qualcomm.qti.ant@1.0.so
# Alarm (system) - LA.QSSI.13.0.r1-09700-qssi.0
system_ext/app/PowerOffAlarm/PowerOffAlarm.apk|cbf84c83add302037b8ee9ec0f619f3dccb02f24
# Alarm (system) - LA.UM.9.14.r1-21000-LAHAINA.QSSI12.0
vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service|cbf84c83add302037b8ee9ec0f619f3dccb02f24
vendor/bin/power_off_alarm|cbf84c83add302037b8ee9ec0f619f3dccb02f24
vendor/etc/init/vendor.qti.hardware.alarm@1.0-service.rc|cbf84c83add302037b8ee9ec0f619f3dccb02f24
vendor/lib64/hw/vendor.qti.hardware.alarm@1.0-impl.so|cbf84c83add302037b8ee9ec0f619f3dccb02f24
vendor/lib64/vendor.qti.hardware.alarm@1.0.so|cbf84c83add302037b8ee9ec0f619f3dccb02f24
# Alarm
-product/app/PowerOffAlarm/PowerOffAlarm.apk
vendor/bin/hw/vendor.qti.hardware.alarm@1.0-service
vendor/bin/power_off_alarm
vendor/etc/init/vendor.qti.hardware.alarm@1.0-service.rc
vendor/lib/hw/vendor.qti.hardware.alarm@1.0-impl.so
vendor/lib/vendor.qti.hardware.alarm@1.0.so
vendor/lib64/hw/vendor.qti.hardware.alarm@1.0-impl.so
vendor/lib64/vendor.qti.hardware.alarm@1.0.so
# Audio Amplifier
vendor/firmware/tfa98xx.cnt
@@ -94,6 +94,7 @@ vendor/lib64/soundfx/libqcvirt.so|e6d206594228c8dcc290dd559473984b140499c2
vendor/lib64/soundfx/libshoebox.so|e7140795d8a8a8dbad64d4282168178d192431a0
# Audio
vendor/lib/hw/audio.primary.msmnile.so
vendor/lib/hw/vendor.qti.hardware.audiohalext@1.0-impl.so
vendor/lib/libadiertac.so
vendor/lib/libadm.so
@@ -106,6 +107,7 @@ vendor/lib/libresampler.so
vendor/lib/libssrec.so
vendor/lib/vendor.qti.hardware.audiohalext@1.0.so
vendor/lib/vndk/libxlog.so
vendor/lib64/hw/audio.primary.msmnile.so
vendor/lib64/hw/vendor.qti.hardware.audiohalext@1.0-impl.so
vendor/lib64/libadiertac.so
vendor/lib64/libaudcal.so
@@ -128,7 +130,6 @@ vendor/lib/libbt-hidlclient.so
vendor/lib/libbtnv.so
vendor/lib/vendor.qti.hardware.bluetooth_sar@1.0.so
vendor/lib/vendor.qti.hardware.bluetooth_sar@1.1.so
vendor/lib/vendor.qti.hardware.fm@1.0.so;MODULE_SUFFIX=_vendor
vendor/lib64/hw/android.hardware.bluetooth@1.0-impl-qti.so
vendor/lib64/hw/vendor.qti.hardware.bluetooth_sar@1.1-impl.so
vendor/lib64/hw/vendor.qti.hardware.btconfigstore@1.0-impl.so
@@ -138,7 +139,7 @@ vendor/lib64/libbt-hidlclient.so
vendor/lib64/libbtnv.so
vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.0.so
vendor/lib64/vendor.qti.hardware.bluetooth_sar@1.1.so
vendor/lib64/vendor.qti.hardware.fm@1.0.so;MODULE_SUFFIX=_vendor
vendor/lib64/vendor.qti.hardware.fm@1.0.so
# CDSP
vendor/bin/cdsprpcd
@@ -154,8 +155,8 @@ vendor/lib64/libcdsprpc.so
vendor/lib64/libsysmon_cdsp_skel.so
# CNE - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/app/CneApp/CneApp.apk;REQUIRED=CneApp.libvndfwk_detect_jni.qti_symlink|345dc6c677e9bd7a7d36033b8955e90d2a1594d5
vendor/app/IWlanService/IWlanService.apk|9ea57bfbf58799a564fcf498de9f5fe3506f7342
-vendor/app/CneApp/CneApp.apk;REQUIRED=CneApp.libvndfwk_detect_jni.qti_symlink|345dc6c677e9bd7a7d36033b8955e90d2a1594d5
-vendor/app/IWlanService/IWlanService.apk|9ea57bfbf58799a564fcf498de9f5fe3506f7342
vendor/bin/cnd|953858869b513828894800bf8556f3845d9665a2
vendor/etc/cne/wqeclient/ATT/ATT_profile1.xml|578f3f8f56059bfdbef926bcc68d01c15e06951f
vendor/etc/cne/wqeclient/ATT/ATT_profile2.xml|1fb42c672a12b6660bdce3ea94e0c43719dd9de8
@@ -186,7 +187,6 @@ vendor/etc/cne/wqeclient/VZW/VZW_profile5.xml|f76c894f3c6d5b6ed35113a088dc3174c9
vendor/etc/cne/wqeclient/VZW/VZW_profile6.xml|14d136e7fcc682311757d3edc0b9d3eaeba11815
vendor/etc/default-permissions/com.qualcomm.qti.cne.xml|c63c37d067e3009735fbc54d4603d43d7d6623e1
vendor/etc/init/cnd.rc|3a5183df3479500fb729493bc56c71166fc10bce
vendor/lib/libxml.so|e46a4dd57f543b0cbb897e5d861e987b9f0200bf
vendor/lib64/libcne.so|e14de8a25090dbf51b12ec5df580987ea2aa21a0
vendor/lib64/libcneapiclient.so|0973dc05f6d6d9c469fc804693af79e6f3a5056a
vendor/lib64/libcneoplookup.so|60d6abe85061de4fa75e5e4f69d477f37f1f8f64
@@ -301,7 +301,6 @@ vendor/etc/camera/sdm_ys_32p_120_21_5_perturb50.bin
vendor/etc/camera/vidhance_calibration
vendor/etc/camera/visidon_clearshot_params_algoup.xml
vendor/etc/camera/watermark_font_2300_3199.dat
vendor/lib/libcamera_nn_stub.so
vendor/lib/libcamxfdalgov7.so
vendor/lib/libcamxfdalgov8.so
vendor/lib/libcamxfdengine.so
@@ -470,47 +469,29 @@ vendor/etc/init/vendor.qti.hardware.capabilityconfigstore@1.0-service.rc|4ede025
vendor/lib/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so|adae94cab65e5b91553ba8c76a4bdda7b4fdd1f6
vendor/lib64/hw/vendor.qti.hardware.capabilityconfigstore@1.0-impl.so|12d4edcd852196a531f688ed74d86ea10c4acb43
# Dolby
vendor/bin/hw/vendor.dolby.hardware.dms@2.0-service
vendor/etc/init/vendor.dolby.hardware.dms@2.0-service.rc
vendor/etc/media_codecs_dolby_audio.xml
vendor/etc/vintf/manifest/manifest_vendor.dolby.hardware.dms.xml
vendor/lib/libdapparamstorage.so
vendor/lib/libdeccfg.so
vendor/lib/libstagefright_soft_ac4dec.so
vendor/lib/libstagefright_soft_ddpdec.so
vendor/lib/soundfx/libswdap.so|810d0e266e4a77f06cba72fe8bdde2e1ede4f9f9
vendor/lib/soundfx/libswgamedap.so
vendor/lib/soundfx/libswvqe.so
vendor/lib/vendor.dolby.hardware.dms@2.0.so
vendor/lib64/libdapparamstorage.so
vendor/lib64/libdlbdsservice.so
vendor/lib64/vendor.dolby.hardware.dms@2.0-impl.so
vendor/lib64/vendor.dolby.hardware.dms@2.0.so
# DPM (system) - from LA.QSSI.15.0.r1-14500-qssi.0
system/framework/tcmclient.jar|de34d4305038f6fcf3cb314fd352ac54cec7e928
system/lib64/vendor.qti.diaghal-V1-ndk.so|ac3381b74861e15a8fb2842dd8d929c97a5f0fa1
system_ext/bin/dpmd|bb4195a73a7e8a9abf02fb156cc27b7bb2c3a664
# DPM (system) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
-system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk|ebf1f753ed24f8b6ba87c5f27c628889c38d0a85
framework/tcmclient.jar|4e1dfaa243c67fec31b5a44086c9c417892761ae
system_ext/bin/dpmd|5a42bc4e5c841573579e0718d6e80e688767eeed
system_ext/etc/dpm/dpm.conf|95e27da8c989e96c6faea6f0697bce11955b62a5
system_ext/etc/init/dpmd.rc|738b638ff04cda368e22c03e16baf90ba157a6fc
system_ext/etc/permissions/com.qti.dpmframework.xml|c4b7ad0879d00c1eba4f3fe3a88ddb8aa153629a
system_ext/etc/permissions/dpmapi.xml|255903759a60a31c0876ec004e74554c753270fe
system_ext/framework/com.qti.dpmframework.jar|9843c8769469a6d8e3ddcd0aab709bf77c57128e
system_ext/framework/dpmapi.jar|504f269da33eae85b458dddcc99209f21506ce5c
system_ext/lib64/com.qualcomm.qti.dpm.api@1.0.so|c829dd39d50769ffa52e0eafe722e5e1261aa5e8
system_ext/lib64/libdiag_system.so|e00fa91ebc18ddaa55b3de979a43e1f0648a13b6
system_ext/lib64/libdpmctmgr.so|ab4c4ad66e6e27cf29ef98920a028f45c737a40b
system_ext/lib64/libdpmfdmgr.so|7935031c23d1561d746f1dc6c55983fe47bb5aba
system_ext/lib64/libdpmframework.so|7728504beca47245f14d4d7b40599d209d73640f
system_ext/lib64/libdpmtcm.so|9a6093944228ebe7fb1c7387a14cc114853c5278
system_ext/lib64/vendor.qti.diaghal@1.0.so|f33d7eb1654c5d9acba02376891df1bbe87d3f57
system_ext/priv-app/dpmserviceapp/dpmserviceapp.apk|158a598891636edcd4a90cfbec65443d2a7161a8
system_ext/framework/com.qti.dpmframework.jar|4fc38f534c788b80b432b385e07973bdd6e8c98f
system_ext/framework/dpmapi.jar|c379f7a671439737fbff03411f28891d0f9313c9
system_ext/lib64/com.qualcomm.qti.dpm.api@1.0.so|3e9786c8263de4135926a91083b70a737fc1d28b
system_ext/lib64/libdpmctmgr.so|206949728b98a513683468209dbce86ed29412b8
system_ext/lib64/libdpmfdmgr.so|da636fca9a9a91a897d17fd519448b10053a696b
system_ext/lib64/libdpmframework.so|d974f04f110b3c1a1282d78bb0ff8a29dc022439
system_ext/lib64/libdpmtcm.so|5521469cac3a2bec3da66cd36637df83ee59b97e
system_ext/lib64/vendor.qti.diaghal@1.0.so|339886a9895a29dfae15e8708d6eeacda1663908
# DPM (vendor) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/dpmQmiMgr|e682a4c6e684be96de179158c65e5732f052ab2c
vendor/etc/init/dpmQmiMgr.rc|1538743661a5c48c15cd105beaad20f72953885a
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so;MODULE_SUFFIX=_vendor|d9f1aa7f93b928f42499d613d20ccbc60f279097
vendor/lib/com.qualcomm.qti.dpm.api@1.0.so|8e97eba901841227ae7029f535a747fdefd6c369
vendor/lib/libdpmqmihal.so|843d7bd2dee10e67531deeedc8cbda480c71679f
vendor/lib64/com.qualcomm.qti.dpm.api@1.0.so|d9f1aa7f93b928f42499d613d20ccbc60f279097
vendor/lib64/libdpmqmihal.so|41eb89e66ba065c43a5eb79cd3c72cef0ee167aa
# DRM (Widevine L1)
@@ -518,12 +499,12 @@ vendor/lib/liboemcrypto.so
vendor/lib64/liboemcrypto.so
# DRM
-vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml
vendor/bin/hw/android.hardware.drm@1.3-service.widevine
vendor/bin/hw/vendor.qti.hardware.qseecom@1.0-service
vendor/bin/qseecomd
vendor/etc/init/qseecomd.rc
vendor/etc/init/vendor.qti.hardware.qseecom@1.0-service.rc
vendor/etc/vintf/manifest/manifest_android.hardware.drm@1.3-service.widevine.xml
vendor/lib/libQSEEComAPI.so
vendor/lib/libbase64.so
vendor/lib/libcpion.so
@@ -563,19 +544,19 @@ vendor/lib64/vendor.qti.hardware.qseecom@1.0.so
vendor/lib64/libdisp-aba.so|44993853ff9d4340e856e6f53d802f10372442d3
vendor/lib64/libdisplayqos.so|5548732c916e629f18f45ce257ce843b679a136a
# FM (system) - from LA.QSSI.15.0.r1-14500-qssi.0
system_ext/lib64/fm_helium.so|63a119fb67a51136d738c0fa2b65c6713b3ab077
system_ext/lib64/libfm-hci.so|96d572c590a04044f0db89356342e64ead887bc4
system_ext/lib64/vendor.qti.hardware.fm@1.0.so|15f2b7444d7f274d7b90ef7512dd75323b3bc0c5
# FM (system) - from LA.QSSI.12.0.r1-05800.02-qssi.0
-system_ext/lib64/vendor.qti.hardware.fm@1.0.so|b9dc0797da5790a7d5f1c9a7a2fd9c4a7b87d304
system_ext/lib64/fm_helium.so|f5c9cc8de62340ab8b38cca2555eeac9ab18d84b
system_ext/lib64/libfm-hci.so|6fd608b27c9caf5a055c7c29ae386f596f399bc1
# Fingerprint
vendor/lib64/hw/fingerprint.goodix_fod.so:vendor/lib64/hw/fingerprint.goodix_fod.msmnile.so;FIX_SONAME
vendor/lib64/hw/fingerprint.goodix_fod.so:vendor/lib64/hw/fingerprint.goodix_fod.msmnile.so
vendor/lib64/libgf_hal.so
# GNSS
-vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml
vendor/bin/hw/android.hardware.gnss@2.1-service-qti
vendor/etc/init/android.hardware.gnss@2.1-service-qti.rc
vendor/etc/vintf/manifest/android.hardware.gnss@2.1-service-qti.xml
vendor/lib/hw/android.hardware.gnss@2.1-impl-qti.so
vendor/lib/libbatching.so
vendor/lib/libgeofencing.so
@@ -591,52 +572,51 @@ vendor/lib64/libgps.utils.so
vendor/lib64/libloc_core.so
vendor/lib64/liblocation_api.so
# GPS - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/garden_app|4d5d58b8d8ecbb82db31b6e7f26f9fb749f9393b
vendor/bin/loc_launcher|515038f060e83db862cca5cc8b79a3eb07d689f4
vendor/bin/lowi-server|6ec426344a6d6e9896d0f5daba63c9d7d9145528
vendor/bin/mlid|b697c6acebe4ed417c1828b8e2dff6f4bc726547
vendor/bin/slim_daemon|7f4cbbd75f5ef58ddddbace7c0c6477564e87d8a
vendor/bin/xtra-daemon|fb490d2f3fe4d7ab2c2f976d392d41ab3d7b1e73
vendor/bin/xtwifi-client|ba69c0eddc2b5b37e80a5590c937e91fc4baf559
vendor/bin/xtwifi-inet-agent|2c7c1b9cedd02ba697043225feaca1ea97db9f0f
vendor/etc/cacert_location.pem|0789bf799c7e45d352a83e2f79ddb0cea86db85b
vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml|6514b13f55abc0acc28e004c35ff93fb972d61a9
vendor/etc/xtra_root_cert.pem|f55a31ec4d9cf8ce2724acadecf00c779f8767db
vendor/lib/libminksocket.so|7ede5ff3ad26dc8fe7f5ecd88f2c77b26dc6670e
vendor/lib64/hw/vendor.qti.gnss@4.0-impl.so|fa12aa8cae5e0311c0d56c63b020c4a9485fbf3b
vendor/lib64/libaoa.so|e38ab653612c7fb57a732c0ebadfbd0f9d174b8d
vendor/lib64/libcacertclient.so|1d07e004c6660fcd7004deacb446c5e9fe67ce72
vendor/lib64/libdataitems.so|06bb96e1cfcfd75a9b061ba1f4a7be91a19d6a7e
vendor/lib64/libgarden.so|f2c1c30c840f063f828791bd3462e2ea8ffd1eb7
vendor/lib64/libgarden_haltests_e2e.so|35071942c30e95722a6d230fee70ed23ebc7108b
vendor/lib64/libgdtap.so|f7ea2035c862fb385d37b224b419aeef4338883e
vendor/lib64/libgnsspps.so|77c9625bf121b1c35cfc679446336b38900fb8ac
vendor/lib64/libizat_client_api.so|b2635e24e150539dd968f16fea104c9d0ca29720
vendor/lib64/libizat_core.so|df7d29e9a8a501114874e361970135f1e152f4c8
vendor/lib64/libjnihelper.so|e4d517cc4109908b15518ca524fe4aed36a61739
vendor/lib64/liblbs_core.so|452ff087ea6e3b391cf472ded055c1066570e9d0
vendor/lib64/libloc_api_v02.so|b0c9f0c49461635d7ffb3ee45f79739ab7b58c5a
vendor/lib64/libloc_socket.so|15af11af0927edf74be83841d648663873d31694
vendor/lib64/liblocationservice.so|0c483784593bcb67f8ff25cdecc7645a02b63b05
vendor/lib64/liblocationservice_glue.so|d42ee5dd7687abeae596f2621e63fe8540cd0ea4
vendor/lib64/liblowi_client.so|c2978d2beb8b495f057f88627ee731f7559da388
vendor/lib64/liblowi_wifihal.so|d8132b8e7f0a3d43ac625fc04dfb033b02ad8adf
vendor/lib64/libminksocket.so|0722b9042892e83d4c615e0f70e4ad040365b170
vendor/lib64/libmmosal.so;MODULE_SUFFIX=_vendor|568c9dff1fe27cc4cd874181bf0d8ab5dc6d372b
vendor/lib64/libqcc_file_agent.so|a05fbdf0156cb4fc77a4b659be42cc8e146f45ce
vendor/lib64/libqdma_file_agent.so|290aea840cc61b40acd625052ad5ec2f4834e34f
vendor/lib64/libslimclient.so|74bebb8a94200a4db393634f7bd610f3c59447f7
vendor/lib64/libxtadapter.so|46f5a95f8effb8c21acf4044a0c792781271125f
vendor/lib64/vendor.qti.gnss@1.0.so|3dda1522caf6d732c4bebd2985f02baa51b20a93
vendor/lib64/vendor.qti.gnss@1.1.so|cdca8d04c6dc1c007880995a96d9aeb22f96b3b3
vendor/lib64/vendor.qti.gnss@1.2.so|66530d6c3da8a7155b82fa140e5d4d5c5e5600fd
vendor/lib64/vendor.qti.gnss@2.0.so|81949971ef69e6d25850606a8468efbe8a76bf18
vendor/lib64/vendor.qti.gnss@2.1.so|e37a7735035bddbfd5a0a4c53c781dc444ff12eb
vendor/lib64/vendor.qti.gnss@3.0.so|e5434e37a18bb48ae860399b848a20745783714b
vendor/lib64/vendor.qti.gnss@4.0-service.so|f97eea8b119fcaa62bb601c324977ef82806503d
vendor/lib64/vendor.qti.gnss@4.0.so|58881d09d13c82b795fa99bfd485c17c9075598d
vendor/lib64/vendor.qti.hardware.cacert@1.0.so|8b0fafcfc9c5aa000466c338ec4e92bb4f7d99a7
# GPS
-vendor/etc/vintf/manifest/vendor.qti.gnss@4.0-service.xml
vendor/bin/garden_app
vendor/bin/loc_launcher
vendor/bin/lowi-server
vendor/bin/mlid
vendor/bin/slim_daemon
vendor/bin/xtra-daemon
vendor/bin/xtwifi-client
vendor/bin/xtwifi-inet-agent
vendor/etc/cacert_location.pem
vendor/etc/xtra_root_cert.pem
vendor/lib64/hw/vendor.qti.gnss@4.0-impl.so
vendor/lib64/libaoa.so
vendor/lib64/libcacertclient.so
vendor/lib64/libdataitems.so
vendor/lib64/libgarden.so
vendor/lib64/libgarden_haltests_e2e.so
vendor/lib64/libgdtap.so
vendor/lib64/libgnsspps.so
vendor/lib64/libizat_client_api.so
vendor/lib64/libizat_core.so
vendor/lib64/libjnihelper.so
vendor/lib64/liblbs_core.so
vendor/lib64/libloc_api_v02.so
vendor/lib64/libloc_socket.so
vendor/lib64/liblocationservice.so
vendor/lib64/liblocationservice_glue.so
vendor/lib64/liblowi_client.so
vendor/lib64/liblowi_wifihal.so
vendor/lib64/libminksocket.so
vendor/lib64/libmmosal.so
vendor/lib64/libqcc_file_agent.so
vendor/lib64/libqdma_file_agent.so
vendor/lib64/libslimclient.so
vendor/lib64/libxtadapter.so
vendor/lib64/vendor.qti.gnss@1.0.so
vendor/lib64/vendor.qti.gnss@1.1.so
vendor/lib64/vendor.qti.gnss@1.2.so
vendor/lib64/vendor.qti.gnss@2.0.so
vendor/lib64/vendor.qti.gnss@2.1.so
vendor/lib64/vendor.qti.gnss@3.0.so
vendor/lib64/vendor.qti.gnss@4.0-service.so
vendor/lib64/vendor.qti.gnss@4.0.so
vendor/lib64/vendor.qti.hardware.cacert@1.0.so
# Gatekeeper - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/hw/android.hardware.gatekeeper@1.0-service-qti|2e33e885b92e413440511049025497945d6b8484
@@ -649,48 +629,54 @@ vendor/gpu/kbc/sequence_manifest.bin|cc050a8058904871b3cfabec74521d42f0a61a1f
vendor/gpu/kbc/unified_kbcs_32.bin|503228f87adc71131aa8134659b00dffe073e973
vendor/gpu/kbc/unified_kbcs_64.bin|d63c26959dc02b2efc251953e99dc6e7c32e7f6e
vendor/gpu/kbc/unified_ksqs.bin|8f77dc004796d58acb959e78f4994c5d6b90baef
vendor/lib/egl/eglSubDriverAndroid.so|a9d540641ac06335bf3689926da50d0408e2863e
vendor/lib/egl/libEGL_adreno.so;SYMLINK=vendor/lib/libEGL_adreno.so|f77d54d08edbbf13add12518338ff389c873e1cd
vendor/lib/egl/libGLESv1_CM_adreno.so|f85c647f07feb5e850426b8b04107e6fcbe73a42
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so|bbbf71932164655ecb2126b907e1d9cb2d897ebb
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|89416a47b7105de1e81d0540c6e2a82ae33b4dda
vendor/lib/egl/libq3dtools_esx.so|bfbd1e76dc1f81039ffebd6b7534be52173c349d
vendor/lib/hw/vulkan.adreno.so|bafd65cc8786aeb5bdc12e3c8db09fecdbcb2d01
vendor/lib/libC2D2.so|bf22239cc4a003a6cd1b3e273f60dc37e4d51730
vendor/lib/libCB.so|e638447c45228dcb6979e3031da8b3e966dd7482
vendor/lib/libOpenCL.so|a8a3952c475cf214fec74c324e540ee800ee9727
vendor/lib/libVkLayer_q3dtools.so|c9953ac8a64b9b9a31173c56812bead633a7d379
vendor/lib/libadreno_app_profiles.so|a463e2d1f105099ee361bed0ca20c97e29a645c0
vendor/lib/libadreno_utils.so|0ca6ab39e2757c6c1647682047ca221bd8d1e937
vendor/lib/libc2d30_bltlib.so|d1f37cf4d50619f59c5b199893fa93f134973647
vendor/lib/libgpudataproducer.so|2f3348614ea21ed4548154d0ab52ca2256d28e80
vendor/lib/libgsl.so|3e919532b22d1ba53a9f6141fdb3a9fbd1901f43
vendor/lib/libkcl.so|4de6a2a00aed99c2f180ae5cf3ec03a96b3be2d7
vendor/lib/libkernelmanager.so|09e05782cae3b8c5910d069c9d79eb4e58f2801d
vendor/lib/libllvm-glnext.so|caf1127450a30dfd034398cf142525f505071944
vendor/lib/libllvm-qcom.so|f7ee34774bbdb3e01a5ecaf9e98ac8f924b710f9
vendor/lib/vendor.qti.qspmhal@1.0.so;MODULE_SUFFIX=_vendor|736226264356bb89b73d81922f73b7f2b83540bc
vendor/lib64/egl/eglSubDriverAndroid.so|c950953ab821212322c44497c40f7bec912620a7
vendor/lib64/egl/libEGL_adreno.so;SYMLINK=vendor/lib64/libEGL_adreno.so|066dc49939ceec71978268737f3a32c8f2aeddf2
vendor/lib64/egl/libGLESv1_CM_adreno.so|a5ee6c77ea24be2423f661eeddfc868d279d4378
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so|e349a692959c6715da4b35e84c82c0eee4b01e00
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib64/libq3dtools_adreno.so|0edfcd0c063a82a4ab29542243a0f842632f31ee
vendor/lib64/egl/libq3dtools_esx.so|8ba3d0cbe51dff3b860cca48dcd294ccd0816e18
vendor/lib64/hw/vulkan.adreno.so|c00dfeefef27d950de5a10234cf78b4614521939
vendor/lib64/libC2D2.so|21a3b027b0857ee910f9db3e7558f35aafaadef5
vendor/lib64/libCB.so|b578472884e1edf149e9b92d1f518f4de7a6f4d2
vendor/lib64/libOpenCL.so|688a3a5f3fbece3eddc031e326aa0e3a7e58a091
vendor/lib64/libVkLayer_q3dtools.so|5ddfe2401db02f851d6472a7ba57c5fc67923675
vendor/lib64/libadreno_app_profiles.so|cc800fc022c229631a3878c956ad8febf853833d
vendor/lib64/libadreno_utils.so|af5daa45d0ba961541dc0072f2fe01fee059577f
vendor/lib64/libc2d30_bltlib.so|870b3b1950b3c918ba73292630d2a3dd1249dda7
vendor/lib64/libgpudataproducer.so|a2ebbc621637de0a63b5a6663b02575cb394fcda
vendor/lib64/libgsl.so|e8bcce903c5b03799a8e6c0c868efc0e2c356167
vendor/lib64/libkcl.so|505c6488d7c2c34ac6bcc578e6e90098553e5f4f
vendor/lib64/libkernelmanager.so|6e34cfed1b61ef27ac3740cf477e1ed836695513
vendor/lib64/libllvm-glnext.so|49d28aaf3f7fa559e29a6735ca74cffb20e8eabd
vendor/lib64/libllvm-qcom.so|ac78556c1a76cd9a7033d775e8f1ba4393b630df
vendor/lib64/vendor.qti.qspmhal@1.0.so;MODULE_SUFFIX=_vendor|b24925548b969a7745955bbd48069207aa5889fc
# Graphics (Adreno) - from hollywood-user-12-SQ3A.220605.009.A1-51062550053200150-release-keys & LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/lib/egl/eglSubDriverAndroid.so|b7aeb95cfacd5b00760c301387182c9298cb4334
vendor/lib/egl/libEGL_adreno.so;SYMLINK=vendor/lib/libEGL_adreno.so|2014ac4d10d5a5f4d960e57826d1f45a7dc9aaf4
vendor/lib/egl/libGLESv1_CM_adreno.so|7b73d8b9532710ea1ad538c7943016d066ebb43b
vendor/lib/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib/libGLESv2_adreno.so|55e4d52e7b130b7781b5d3cdc3899cd491e93669
vendor/lib/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|885bcf2e47ef4254a4562f3f24d2669ac8588817
vendor/lib/egl/libq3dtools_esx.so|b54279bd43dd68d92ecbe125f8fec742d2d9f636
vendor/lib/hw/vulkan.adreno.so|86e1b80847b33c71bb9a135baa6d322f1bf63f42
vendor/lib/libC2D2.so|d4214e245b14bab83e548ee3823502462396fe4a
vendor/lib/libCB.so|613a5fe1797095d39a6c5acee932b41efdfb224c
vendor/lib/libOpenCL.so|92ba443e943e491f88f4b585f6f147d50377eb94
vendor/lib/libOpenCL_adreno.so|042fc23bb794f42a299851a0493a2ea0e0f8e964
vendor/lib/libVkLayer_q3dtools.so|19d40e4c5c6104e889acfff640ed9b68b02a8032
vendor/lib/libadreno_app_profiles.so|c675243cc590091d5b520667fd9ea8b7dbb4c7c1
vendor/lib/libadreno_utils.so|31d91a0a5c2a3ed7c850b080796bfc70f14dd02d
vendor/lib/libc2d30_bltlib.so|8a307a717c60dece7e4272a19cb8757b52a8c9ba
vendor/lib/libdmabufheap.so|f42972808368d229ea3cf913459a3e231abd6fe1
vendor/lib/libgpudataproducer.so|28b76a626d4d89f2634753e98b73d5a3fb43a02c
vendor/lib/libgsl.so|9e6ad74025f3cc2d5423d12404a3a907b9d3e296
vendor/lib/libkcl.so|3b0a64440f0a1166de6867864470207a9603a094
vendor/lib/libkernelmanager.so|9c0c50a7857e49ed99aa990593ce0815e7b460db
vendor/lib/libllvm-glnext.so|ec988057f529b7418788ba37fc0f3a760927562b
vendor/lib/libllvm-qcom.so|1f4448771949b5ced6c2292f714a9e0f30116821
vendor/lib/libllvm-qgl.so|6696d0f045f0e6f8b2174b7a2acf2affdf88ede8
vendor/lib64/egl/eglSubDriverAndroid.so|70654c360d5f661d0d32fbce845a0bfae9d6d8be
vendor/lib64/egl/libEGL_adreno.so;SYMLINK=vendor/lib64/libEGL_adreno.so|d46c1ed43997be8336523dcf4d4ca8a9f4a98e6c
vendor/lib64/egl/libGLESv1_CM_adreno.so|a53e362a072b2dbec147ec1396d36a966700504e
vendor/lib64/egl/libGLESv2_adreno.so;SYMLINK=vendor/lib64/libGLESv2_adreno.so|c2badc5662480e24d082393cc4fea4f893d85176
vendor/lib64/egl/libq3dtools_adreno.so;SYMLINK=vendor/lib/libq3dtools_adreno.so|1fa6147a61610c5bb7d237ec5c5ef5d025c0de51
vendor/lib64/egl/libq3dtools_esx.so|235fdfbaa14ac599fb105d1923324ef6e537c34f
vendor/lib64/hw/vulkan.adreno.so|385413fad425dc17ce440712cc7237f8651b31bc
vendor/lib64/libC2D2.so|1eb43399606840ec844559be874c38dbd9f0c5e7
vendor/lib64/libCB.so|cf41bfe9531b7d3a289823318761d65be0b6ce30
vendor/lib64/libOpenCL.so|1809462d88a0e1a63553c6fcd5ea00ff75f1695b
vendor/lib64/libOpenCL_adreno.so|4ab8b26094374e2e048db90fe8f3a463f0b9b780
vendor/lib64/libVkLayer_q3dtools.so|0013a3267134a2a7a4005680e8f6c2dbcafaa898
vendor/lib64/libadreno_app_profiles.so|6417afc92fc2c7206db256d2b0a21db6fae9c216
vendor/lib64/libadreno_utils.so|c798a22fb0b00221cfc768b284a1f3516ca31cd1
vendor/lib64/libc2d30_bltlib.so|f64c7a4af7717da93fbefa7732e0e74e71915606
vendor/lib64/libdmabufheap.so|9bfa239c6f2a419b3f8235c57e930c055f675bf8
vendor/lib64/libgpudataproducer.so|84c99f42fc6a32a222fe49354cf9a14dae5951c6
vendor/lib64/libgsl.so|5357334c2419298f1f0a04de08199e19f72a7c3c
vendor/lib64/libkcl.so|33e81f66b1e01b0e5a37686d8190af332bd94cff
vendor/lib64/libkernelmanager.so|0e2cf9e1928b7bf654a1336a99f41264a11093f0
vendor/lib64/libllvm-glnext.so|da1e4e54f16d57d9088396ccf8768645d9f5d3bc
vendor/lib64/libllvm-qcom.so|1388077970a5778197053286cf8a827d84a2ce69
vendor/lib64/libllvm-qgl.so|ea4dfd9ee1d4a2643b5f0f369616bec2a3ce89ef
# Graphics (DRM) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/lib64/libsdedrm.so|7cf5f4e7e4dacae88e317d3397fdf25dabe45b65
@@ -698,20 +684,14 @@ vendor/lib64/libsdedrm.so|7cf5f4e7e4dacae88e317d3397fdf25dabe45b65
# Graphics (HDR) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/lib64/libhdr_tm.so|a222a7d838735c5ce73f06d4096fea3ca19611c8
# Graphics (SDM) - from from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/lib/libdisplaydebug.so|d843c4a7244bf768ce438f24d43a29f1053bf63e
vendor/lib/libdrmutils.so|d99807b940c43cd53aa3a40f0d052444da267cde
vendor/lib/libsdmutils.so|d5bdb87cde1436830ccb87467ac8fac6810b24fe
vendor/lib64/libdisplaydebug.so|ef90d21008136d3189b9ec099ed4e11ab25b61b7
vendor/lib64/libdrmutils.so|784ec1255c61ce58307bc63919c8f63ac385265e
vendor/lib64/libqseed3.so|7f2a659fb9acd84d79c11dbd6901b816d5d1214f
vendor/lib64/libsdm-color.so|d0984c33dcbf84940676917e0c3584b0ccfeaf03
vendor/lib64/libsdm-colormgr-algo.so|15f696a4575868e528360896f1e0098d531899c0
vendor/lib64/libsdm-diag.so|98c8e8a3a56bc0091f56714d569f03066f68fdea
vendor/lib64/libsdm-disp-vndapis.so|60da199073d2b0881bf075190a644b332503f39c
vendor/lib64/libsdmextension.so|e10d29f29b7a53b75369e58e8a165b2b86609f26
vendor/lib64/libsdmutils.so|b8ff6261c33ffe76960b1719a20d4181f896bb71
vendor/lib64/libtinyxml2_1.so|ff32deb110acb02cb5def5f3404f9064c1276483
# Graphics (SDM) - from from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.
vendor/lib64/libqseed3.so|1395834daf3c6cd07acbdbc44110decb3be362c2
vendor/lib64/libsdm-color.so|e82ee94b86f9c59044017ab527261a7aacbd6083
vendor/lib64/libsdm-colormgr-algo.so|11b65733d87ff65633a5fe8f4207dde12391625c
vendor/lib64/libsdm-diag.so|55dafc05ba68666f10412a534f7122d7f45bf403
vendor/lib64/libsdm-disp-vndapis.so|9ab6725a5efba29b77d1d6ab33e10e3ff3296960
vendor/lib64/libsdmextension.so|c1425aae0475207054351c2bf16c18350ccf7570
vendor/lib64/libtinyxml2_1.so|92101861d95cbdf9625d192d0b2295baa5960b68
# Graphics Firmware
vendor/firmware/a612_rgmu.bin
@@ -724,13 +704,10 @@ vendor/firmware/a640_zap.b01
vendor/firmware/a640_zap.b02
vendor/firmware/a640_zap.elf
vendor/firmware/a640_zap.mdt
vendor/firmware/a650_gmu.bin
vendor/firmware/a650_sqe.fw
vendor/firmware/a650_zap.elf
# HotwordEnrollment - from MIUI 12.5.2
product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk|62e301d2f386771facd9a9aa546c0fcc241116da
product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk|8639661f6fad570723bc6f2759da76604bd804fa
-product/priv-app/HotwordEnrollmentOKGoogleHEXAGON/HotwordEnrollmentOKGoogleHEXAGON.apk|62e301d2f386771facd9a9aa546c0fcc241116da
-product/priv-app/HotwordEnrollmentXGoogleHEXAGON/HotwordEnrollmentXGoogleHEXAGON.apk|8639661f6fad570723bc6f2759da76604bd804fa
system_ext/etc/permissions/com.android.hotwordenrollment.common.util.xml|563a58554d9c0dd0608552b644fbf74519a447bb
system_ext/framework/com.android.hotwordenrollment.common.util.jar|bef92589e75a6da6043f85f4b9b0e85866429624
@@ -792,7 +769,27 @@ vendor/lib64/libnpu.so
vendor/bin/vppservice|99524e6e27bf4f8c4b5c5234f887413623cfdb0f
vendor/etc/configstore/vpp.configstore.xml|ed961545186c66fd9523f25866c74f2e11ee63d7
vendor/etc/init/vppservice.rc|24c089e0e413cbb3fa6daaf0af4215870bdf1b8e
vendor/lib/libAlacSwDec.so|cb41b0945e57b349e6aa476cdac4315ee13a2def
vendor/lib/libApeSwDec.so|ce425ef9372ed6635e313422b3578f77b90ff526
vendor/lib/libFlacSwDec.so|6b17d0965c9f8bddab3ffd59e7bb16e92bb68d85
vendor/lib/libI420colorconvert.so|09a63a93d9cf2f78e31cb996a617071572e4f3db
vendor/lib/libMpeg4SwEncoder.so|ed6478056d874c784dd649b172e7f0bb3188ba9f
vendor/lib/libOmxAacDec.so|c3d19eb5668973a6d7b64133d1b607a384167875
vendor/lib/libOmxAlacDec.so|17fbc925be0efdcfeb3473081016ba0203d6fea5
vendor/lib/libOmxAlacDecSw.so|be917abb87f621c8d721a03ed42016ae12bdbf8a
vendor/lib/libOmxAmrDec.so|fdbab94512df85478417112b793c4a4cee46e7ec
vendor/lib/libOmxAmrwbplusDec.so|0346a6f6da04bac6e7d6464e205e2b1d1ce881a1
vendor/lib/libOmxApeDec.so|8f49462382e71f3b51f3269824fa49111ceb2ea8
vendor/lib/libOmxApeDecSw.so|a0980f890bfa7a04c4af2e3d40e176e7d7bbf693
vendor/lib/libOmxDsdDec.so|93832f5a8e016a0cd419fca916f29a7987d4af9e
vendor/lib/libOmxEvrcDec.so|e26f066a89944ee36450c5325b45e5529de60882
vendor/lib/libOmxG711Dec.so|7e310d958e5a68caeacef44a48acf0be5497beb6
vendor/lib/libOmxQcelp13Dec.so|ec0650fee64998b47cfed806cda26f0eb8fd85a8
vendor/lib/libOmxSwVdec.so|490d51df165e9f59a3bdf09c1fb08e79b1857309
vendor/lib/libOmxSwVencMpeg4.so|986ea618700cb170d9b5825bc6d8d9c0ff629059
vendor/lib/libOmxVideoDSMode.so|7c971196e417c1632150f1749bf18ded10def8b5
vendor/lib/libOmxVpp.so|ff50ac05e0b97a6a1a018164cfd1e4d601fc170c
vendor/lib/libOmxWmaDec.so|09ea4d8b190fbfcc61698c46f46c97b0f45fcdfc
vendor/lib/libdsd2pcm.so|c5ab1afd7a5a23bf83d80b5ac74247c3dd2085af
vendor/lib/libmm-color-convertor.so|904f9daeca6323b7d240c2f640a92852bac88146
vendor/lib/libmulawdec.so|89ebb1d9e77911f1abe37405016839d8436a9825
@@ -807,7 +804,25 @@ vendor/lib/libvpptestutils.so|4652a35c291d6f734fdd97e531f4cdf6520d91d4
vendor/lib/vendor.qti.hardware.vpp@1.1.so|3e0467d0c30bb6cccab12d2e67dacc5ea852b3df
vendor/lib/vendor.qti.hardware.vpp@1.2.so|d1226cfbeee864b7cac52bcee37fdf4524892fd6
vendor/lib/vendor.qti.hardware.vpp@1.3.so|6ff4979c9632ce9f244aeba7a0804332328f3fa9
vendor/lib64/libAlacSwDec.so|e520eafd5dd9ee29456b60f4668ea94394a61a63
vendor/lib64/libApeSwDec.so|76d3cc02ca1c3cdc3c71e57dc6e53027d2bf3d37
vendor/lib64/libFlacSwDec.so|c16096dee817ba98a5a7b79ae358ae0db27fe237
vendor/lib64/libI420colorconvert.so|ea24367de946f2c2a7f81b78c0a805edf8fd2d64
vendor/lib64/libMpeg4SwEncoder.so|17a2e12c6bb2184a73c54174f1ec14a2ccff4b11
vendor/lib64/libOmxAacDec.so|4e419724fb940a1fb93b018028dbf3ae6bd9e6ea
vendor/lib64/libOmxAlacDec.so|9182e31c172ca4794cfccc557e497b4e43bd08ef
vendor/lib64/libOmxAlacDecSw.so|b4170d63362517866eaac0e8ac286f60aeac9257
vendor/lib64/libOmxAmrDec.so|f94271e8c1d58d4db9eea90e41c0d64773953d07
vendor/lib64/libOmxAmrwbplusDec.so|31bbb7fb8b5fe5f4c5c30c39b67300bf0d0cc148
vendor/lib64/libOmxApeDec.so|f001e769e861a90c568635e32d445bd6e3b782ee
vendor/lib64/libOmxApeDecSw.so|f70889abc2d8beafa92d71d98a33d0e109b662f5
vendor/lib64/libOmxEvrcDec.so|c46237c40fc9ca24109d55dd82c64137768d68c5
vendor/lib64/libOmxG711Dec.so|e321b72ebf4cf36b3e7b7ff33a3e00870cd3a461
vendor/lib64/libOmxQcelp13Dec.so|1e428b6dbd8a3f010c1f5fa208a14c362a502cf6
vendor/lib64/libOmxSwVdec.so|83924a8119c8b26c0a4cc245a877e56929a152b1
vendor/lib64/libOmxSwVencMpeg4.so|956524c6928cd415865a900556b14c5f464dc28f
vendor/lib64/libOmxVpp.so|23ae4cd2860131786e3b34ed380eb81fd849cf6c
vendor/lib64/libOmxWmaDec.so|46e5cc33f54a863f499c73302b679cb81fead0c7
vendor/lib64/libmm-color-convertor.so|ade617dc02ec472e68755568d6295ab328aa97be
vendor/lib64/libmulawdec.so|9a21d843c7bd2a516e0f1ce375855b767947b314
vendor/lib64/libstagefright_soft_qtiflacdec.so|8531b262078659ec4f63f39a69c24605d4a0cd90
@@ -822,16 +837,10 @@ vendor/lib64/vendor.qti.hardware.vpp@1.1.so|e336f4a3d0a50ee985639db6a8a70ec98171
vendor/lib64/vendor.qti.hardware.vpp@1.2.so|7ae61a9c75d4a17f0aad5969ce1a27cd5b0552ae
vendor/lib64/vendor.qti.hardware.vpp@1.3.so|85a4e2ca843525db5c76486dbee4c5c7a672ee8d
# Media Codec2 - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/hw/vendor.qti.media.c2@1.0-service|83c2effb6f76cb095bae840d95a2026014d92fe9
vendor/etc/init/vendor.qti.media.c2@1.0-service.rc|03588c8be2ed0c97a3c440bc7f227ce80c2ab7ba
vendor/lib/libqcodec2.so|c5673b5f377fc855f1467ea2b3c3ed47ca68bbfb
vendor/lib64/libqcodec2.so|ebcb7ae53c292d689b57450120e280c5797cfaa1
# Mlipay
-vendor/etc/vintf/manifest/manifest_vendor.xiaomi.hardware.mlipay.xml
vendor/bin/mlipayd@1.1
vendor/etc/init/vendor.xiaomi.hardware.mlipay@1.1-service.rc
vendor/etc/vintf/manifest/manifest_vendor.xiaomi.hardware.mlipay.xml
vendor/lib64/libmlipay.so
vendor/lib64/libmlipay@1.1.so
@@ -839,9 +848,9 @@ vendor/lib64/libmlipay@1.1.so
vendor/lib/libsn100u_fw.so
# Neural Networks - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
-vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml|57e182a296097870a4c4ed1579c67da20c2b69de
-vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml|ac07e83ba7c2a87a2f216f04ec84df4539ea8507
vendor/bin/hw/android.hardware.neuralnetworks@1.3-service-qti|d8f5981b1bedaa9cbef1b9fc93a400dc98e89cfa
vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti-hta.xml|57e182a296097870a4c4ed1579c67da20c2b69de
vendor/etc/vintf/manifest/android.hardware.neuralnetworks@1.3-service-qti.xml|ac07e83ba7c2a87a2f216f04ec84df4539ea8507
vendor/lib64/libhexagon_nn_stub.so|6fdaffc1c9372c0e70bcd82f5d806162ca31c176
vendor/lib64/libhta_hexagon_runtime.so|e8f735a8d9396052fe217eafe506e28b492f024c
vendor/lib64/unnhal-acc-adreno.so|bc3aa43c7cc4b16ac8991ada3c0f731a5b4e37fc
@@ -852,7 +861,6 @@ vendor/lib64/unnhal-acc-hvx.so|d5123c50b9523190c71d90acc2635ff21595bd1a
# Peripheral manager - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/pm-proxy|c36785c811db9af0d6d938cdbc6b90dedaaf706e
vendor/bin/pm-service|c3d1b2f6e7f731b1328afbcf8e344405744528e3
vendor/lib/libspcom.so|3e1b92390ebcb02d35fcda89f80d1cfef3a03a71
vendor/lib64/libperipheral_client.so|9bfd41e276e16b8f7c6808f3d87531fc5be4cdd5
vendor/lib64/libspcom.so|7cc4390e7caf520586c22cdb7219842fa5d6ed2c
@@ -890,7 +898,6 @@ vendor/lib/libqmi_common_so.so|ff25aa6185ebf0700fd5c7d913f383bcd09ea866
vendor/lib/libqmi_csi.so|77e088094a86d9eab9fcdc3a86fb12b82f4c5d22
vendor/lib/libqmi_csvt_srvc.so|4f7890a0f6c80436341e639a3179b78495594612
vendor/lib/libqmi_encdec.so|d8642bf7e8193db310dafad8116222f3b3d9013a
vendor/lib/libqmi_legacy.so|7805ed3a940405d88d4b7dd29516c68ee19c5b08
vendor/lib/libqmiservices.so|54a2417ab396730b26a2a29e32531d637aa800fc
vendor/lib/libqrtr.so|89e9808e264dc47648c18549a4eedc2169b9c6ef
vendor/lib/libqsocket.so|bc42794c439b8a767e87b60071e3827a793218aa
@@ -911,7 +918,6 @@ vendor/lib64/libqmi_common_so.so|d817b576a054dd91e8e4346d73e6d635d221bfde
vendor/lib64/libqmi_csi.so|f1a30e304f667de6cfbe35c043465e3c8f92a673
vendor/lib64/libqmi_csvt_srvc.so|f1a3bc5d8e48e8bc3464b6a9ad652a7553240c79
vendor/lib64/libqmi_encdec.so|a18bb21e5b9b53e3dc8dc45f6e7e65e32a467607
vendor/lib64/libqmi_legacy.so|f324c6701ecf78ff50975c0bc7f99aea09cb3539
vendor/lib64/libqmiservices.so|d7540cd0888599a11dd2ebac1f19ff13d27f9e90
vendor/lib64/libqrtr.so|3ea4f27b261a1a5ddeee02e9561dc040ddb26514
vendor/lib64/libqsocket.so|3fa01c9aff6ed96a5ea9886c7696a046c929e339
@@ -925,45 +931,16 @@ vendor/lib64/libGPTEE_vendor.so|92c0215dbd3271e597d536c259df44aac716a402
vendor/lib64/libQTEEConnector_vendor.so|30e5fd8d4fff50083f44f6d0bd09f4bd287a8366
vendor/lib64/vendor.qti.hardware.qteeconnector@1.0.so|4e08dcd830d319c1a56d108c037b1f76eb5060d4
# Radio (IMS) (system) - from LA.QSSI.15.0.r1-14500-qssi.0
system_ext/app/ImsRcsService/ImsRcsService.apk|8a421431e6dcdadf281a55861c7256e24f6e223c
system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.0-java.xml|bd9fc166b542b4e730f194ebc996957770d9d497
system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.1-java.xml|b40fc74f7d5e58b4e918f952b89a79cf2a5c4088
system_ext/etc/permissions/com.qualcomm.qti.imscmservice-V2.2-java.xml|bfceff47fb0b55a418bed71de6050d876a776ac7
system_ext/etc/permissions/vendor.qti.ims.rcsservice.xml|c5c9dd633c3f5450f315017cd4645a11de3d7ed3
system_ext/etc/sysconfig/qti_whitelist_system_ext.xml|fc930929bee7d1f8ecc5b1c76193acdc2f923fe7
system_ext/framework/com.qualcomm.qti.imscmservice-V2.0-java.jar|00bb25e0327dbd36e0ce1e93da718038460847b4
system_ext/framework/com.qualcomm.qti.imscmservice-V2.1-java.jar|a801f4a578933d00c15b384ea25e7da25b65b932
system_ext/framework/com.qualcomm.qti.imscmservice-V2.2-java.jar|53da549a23cc86e87e4bad6d4d4b79fcdda9d2bc
system_ext/framework/com.qualcomm.qti.uceservice-V2.0-java.jar|4e94741714d816260f400a33fc66799f928ac840
system_ext/framework/com.qualcomm.qti.uceservice-V2.1-java.jar|74d6447b6219ff39fc9652818de0495dbaee7a59
system_ext/framework/vendor.qti.ims.callcapability-V1.0-java.jar|43360f4e9a0577597703f7fccb8c1d77cd34a224
system_ext/framework/vendor.qti.ims.callinfo-V1.0-java.jar|ca8e7f6f907df0852987be296082842cd56cc4e3
system_ext/framework/vendor.qti.ims.connection-V1.0-java.jar|15781e2856f4da51f548f43de9d3af58c9f49df1
system_ext/framework/vendor.qti.ims.connectionaidlservice-V1-java.jar|3641e287eaeb8fb936a16cdf260f09719bf0f5d4
system_ext/framework/vendor.qti.ims.factory-V2.0-java.jar|79e52a4c2fd9bf2b972399568ee84c017b6f24ab
system_ext/framework/vendor.qti.ims.factory-V2.1-java.jar|9724b39093bb929455beb41a26ae8768694ea343
system_ext/framework/vendor.qti.ims.factory-V2.2-java.jar|d751e2d8c2c6b8f0345f6e2e70e07c4bd68afc60
system_ext/framework/vendor.qti.ims.factoryaidlservice-V1-java.jar|5c3c778777f3b6bd22aa14a6c2c2a8b61bc5b656
system_ext/framework/vendor.qti.ims.rcsconfig-V1.0-java.jar|702b05c430b4e2dfc370b5b08c4b0cd2f069d9cc
system_ext/framework/vendor.qti.ims.rcssip-V1.0-java.jar|2fee9cd9ac04a08ef10c5aaf039501fcfa4c0395
system_ext/framework/vendor.qti.ims.rcssip-V1.1-java.jar|f43fc229ebc92235e12e3946fc8325a9fe943c59
system_ext/framework/vendor.qti.ims.rcssip-V1.2-java.jar|b3fe344e360ef53c9c5d6d925c7b9a0f605a324b
system_ext/framework/vendor.qti.ims.rcssipaidlservice-V1-java.jar|a7d2a6c9639dfb9dfbdc5361606b419a0384b8d0
system_ext/framework/vendor.qti.ims.rcsuce-V1.0-java.jar|06b9dfe2c5c65199f3709d9224c33f53bb958594
system_ext/framework/vendor.qti.ims.rcsuce-V1.1-java.jar|40bd25d668607efb933fecd6265940d89f21057b
system_ext/framework/vendor.qti.ims.rcsuce-V1.2-java.jar|04f0b4c1ce0bd7ef2fe2153289f5a752c7c1c7cf
system_ext/framework/vendor.qti.ims.rcsuceaidlservice-V1-java.jar|26388f7cd876286822e536bb76b1277ef1dc76fa
system_ext/lib64/lib-imsvideocodec.so|b020ec4cc5e360382b7a26f14352bcf19374ad66
system_ext/lib64/lib-imsvt.so|32fd182fe087a297395f1d6e1d90587a9b97d7c1
system_ext/lib64/lib-imsvtextutils.so|acce4410add2b5088adab8f7b4e37e36e0c09105
system_ext/lib64/lib-imsvtutils.so|8a1e06e3edf157b3cba2e608daf70ff0afa823d4
system_ext/lib64/libimscamera_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimscamera_jni.so|0b61c9104edbcf3284daae09b253b2acbed65ad6
system_ext/lib64/libimsmedia_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimsmedia_jni.so|7616e2b6a8cb3dd2c7c594eed1b16417a1257125
system_ext/lib64/vendor.qti.ImsRtpService-V1-ndk.so|c27f4e77d677a3e8d1c1c91ca1b40958dfb7f9d6
system_ext/lib64/vendor.qti.imsrtpservice@3.0.so|961321653e924726bd01af6bfbb33c6740bc66af
system_ext/lib64/vendor.qti.imsrtpservice@3.1.so|33008343e8ac15821278faecc1c234e8bea3fe2d
system_ext/priv-app/ims/ims.apk|a7f6f9f5634efa143fe0daa5065d74b91f3e780c
# Radio (IMS) (system) - from LA.QSSI.12.0.r1-05800.02-qssi.0
-system_ext/priv-app/ims/ims.apk|ed68ecd630ddbd49e88bd0b2e3b50ee35c334ef0
system_ext/lib64/lib-imsvideocodec.so|ba0a0696b468ee2458c196b3d252656d20eb197f
system_ext/lib64/lib-imsvt.so|f795cc87119b49587dbb1f3e4349fcf67b0610ed
system_ext/lib64/lib-imsvtextutils.so|50a092eb7b490f4307bddb3d5a4c595b458bc503
system_ext/lib64/lib-imsvtutils.so|9a7f904b12a066038c2b5725610e8dd45e3f75ed
system_ext/lib64/libdiag_system.so|46b48593c913d5cbb05518b31721bb0f33e6c1ba
system_ext/lib64/libimscamera_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimscamera_jni.so|0394fbe375893f9aa2fee5e28e5c657575025a12
system_ext/lib64/libimsmedia_jni.so;SYMLINK=system_ext/priv-app/ims/lib/arm64/libimsmedia_jni.so|a8271a46c31ed50a1f7f94d7ec78fb534f432296
system_ext/lib64/vendor.qti.imsrtpservice@3.0.so|34da5e45ae4817ccff75c6b8d1d0c125ebd253ed
# Radio (IMS) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/ims_rtp_daemon|514b4f3a8483c21526d98634aaf8f01e3a59328a
@@ -1014,16 +991,16 @@ vendor/lib64/vendor.qti.ims.rcsconfig@1.1.so|91521d031060612dbf53d4a6437eba56780
vendor/lib64/vendor.qti.ims.rcsconfig@2.0.so|bd0db76d555c51971dcfcce62d981f987af32811
vendor/lib64/vendor.qti.ims.rcsconfig@2.1.so|f52f0cd5e19455eba97dea61542217d4aa5c1841
vendor/lib64/vendor.qti.imsrtpservice@3.0-service-Impl.so|4fc84ea2ec56396fa1d6daa9c8f06b227be403a4
vendor/lib64/vendor.qti.imsrtpservice@3.0.so;MODULE_SUFFIX=_vendor|460e589128fce0b0e83bb3c75aa32f7e1a9494fd
vendor/lib64/vendor.qti.imsrtpservice@3.0.so|460e589128fce0b0e83bb3c75aa32f7e1a9494fd
# Radio (system) - from LA.QSSI.15.0.r1-14500-qssi.0
system_ext/app/DeviceInfo/DeviceInfo.apk|58e0b5831244827e05afedbb468fb69942a5e4c1
system_ext/app/QtiTelephonyService/QtiTelephonyService.apk|d5829c38c2370cb9acd8b3753d62cef709815614
# Radio (system) - from LA.QSSI.12.0.r1-05800.02-qssi.0
-system_ext/app/QtiTelephonyService/QtiTelephonyService.apk|a32f88ddcc8f9cba18aa5697ee5bd52201e89b13
-system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk|60af440aae61fcd6939af56a0b94d9b9ef5ebd55
product/etc/permissions/telephony_product_privapp-permissions-qti.xml|42f4553b61731e56d253766554d4479519cea3ff
system_ext/etc/permissions/qcrilhook.xml|30397e293b2c40e6b7a1d11c2a615cdd05de625a
system_ext/etc/permissions/telephony_system-ext_privapp-permissions-qti.xml|e4d155e1ba9b6b6b215eec7d70004cba6b6176e5
system_ext/framework/qcrilhook.jar|9787a32278ef29754c0b0fe665c6dae883c8e9c2
system_ext/framework/qti-telephony-common.jar|b10ad976bce39212eea726ad6b9dbf61c90d76b4
system_ext/priv-app/qcrilmsgtunnel/qcrilmsgtunnel.apk|f44654156c1c6689044ccdd1af56d49a90716572
system_ext/etc/permissions/telephonyservice.xml|b7831598d3c19c6ce4ef431d1cc44d94c3c35a8d
system_ext/framework/qcrilhook.jar|f2888f922b8347417dfa86741feb8348795fce6f
system_ext/framework/qti-telephony-common.jar|a22ed88e0cd81ea8c4788c26494c8b5fd666ec7c
# Radio (vendor) - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/bin/ATFWD-daemon|98b712409955b49330f7e179da8019be723850a3
@@ -1051,12 +1028,9 @@ vendor/etc/init/qcrild.rc|320b644319182f96e494ea30de26cb52b448f592
vendor/etc/init/ssgtzd.rc|140086da548acd74420c8f494c3351b4dedc1c80
vendor/etc/init/vendor.qti.rmt_storage.rc|bc212c6353c2ded44ae4d759605fbbe55aa4fa3f
vendor/etc/init/vendor.qti.tftp.rc|b27f188cbffba470a4510d50e46ff7c8446c22cb
vendor/etc/seccomp_policy/atfwd@2.0.policy|da0ecc6378a5df652f412c4aac8423e50f27a53e
vendor/etc/seccomp_policy/atfwd@2.0.policy|74fdb7d47bdb6d0cb06b13701a96a76c9171ab5d
vendor/etc/ssg/ta_config.json|e18554b038da3737b7352d1271e5fde9c789c9df
vendor/etc/ssg/tz_whitelist.json|c0dc4f4cfee20db5993eb5142e362cba7dfaecd6
vendor/lib/libconfigdb.so|082bcb0b6f1d86dc65f6e05fb59420d555131c1a
vendor/lib/libnetmgr.so|5e4ee4e68e011329662a5bd27be4caf025e5ff25
vendor/lib/libqcbor.so|e6907a4f9da62793c7e821fc5388c76c48f8774f
vendor/lib64/deviceInfoServiceModule.so|d9fb334e23fc38ac9b105af43b76c7f796f3d02a
vendor/lib64/libconfigdb.so|92884af781e10586e90319b4b2155db4f27b0215
vendor/lib64/liblqe.so|a9c9cc6539482655a5ef1c612050e7cd961c2fd3
@@ -1077,6 +1051,7 @@ vendor/lib64/libril-qc-hal-qmi.so|f304af57068c7968073b718fcbeed30ed3fc71e6
vendor/lib64/libril-qc-logger.so|8b01d4e2c0209b4142370593edac3ccc63a24716
vendor/lib64/libril-qc-ltedirectdisc.so|ce5caebbd1442a4827f256d2d626a1a008292c84
vendor/lib64/libril-qc-radioconfig.so|9b3d2857d3e13a3566a7a467ef1ab65a659076c9
vendor/lib64/libril-qcril-hook-oem.so|63a96306fddd3e16129a0ce26be8e82137960279
vendor/lib64/librilqmiservices.so|ad3512fa14ca5231fed6926d48b94633cebb8adf
vendor/lib64/libsettings.so|595e71e5841b9de36dc2e85e84e90ad4d05a5371
vendor/lib64/libsystem_health_mon.so|2cc55d78ea00b9fe8af9cd88fd8ef8c31ee5f494
@@ -1168,7 +1143,6 @@ vendor/etc/sensors/config/sns_tilt_to_wake.json
vendor/etc/sensors/config/tcs3701.json
vendor/etc/sensors/config/vl53l1_tof_0.json
vendor/etc/sensors/sns_reg_config
vendor/lib/libsnsapi.so
vendor/lib64/libsensorcal.so
vendor/lib64/libsensorslog.so
vendor/lib64/libsns_device_mode_stub.so
@@ -1185,8 +1159,9 @@ vendor/lib64/sensors.mius.proximity.so
vendor/lib64/sensors.ssc.so
# Snapdragon Computer Vision Engine - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
-vendor/lib/libfastcvopt.so|7cf6fc27e6536f32be9409532aa7e19e96ec7083
-vendor/lib64/libfastcvopt.so|de99aded67cd9834bc0c5aaf405d7d2a115a2883
vendor/lib/libfastcvdsp_stub.so|7f27cee24281bc9bf4f08c6100cc66bd650d8efb
vendor/lib/libfastcvopt.so|7cf6fc27e6536f32be9409532aa7e19e96ec7083
vendor/lib/libscveCommon.so|4be56b846f71f4ba8032471abf9f02dc5b01810c
vendor/lib/libscveCommon_stub.so|89e1a3d3302b6809ae4ca1d80f6c2e0cd3c3b752
vendor/lib/libscveObjectSegmentation.so|b60b43377262ef6cc7882ff5cc49d35e4c516670
@@ -1194,7 +1169,6 @@ vendor/lib/libscveObjectSegmentation_stub.so|f1a139933c16c2fde367506fe0419c15684
vendor/lib/libscveObjectTracker.so|26318c862d3d56596fe7208ebcc3ae1900f7d55f
vendor/lib/libscveObjectTracker_stub.so|cafdeed8fa0d51672806038065cf4ce38d442b6b
vendor/lib64/libfastcvdsp_stub.so|af78b8104678b87fbe07d679448ae2f4bc5c461e
vendor/lib64/libfastcvopt.so|de99aded67cd9834bc0c5aaf405d7d2a115a2883
vendor/lib64/libscveCommon.so|1603e11f268390739f9d0297ab0b8e84886becab
vendor/lib64/libscveCommon_stub.so|a818f00395ba18608798890017ac6b2d80f1f878
vendor/lib64/libscveObjectSegmentation.so|1598ad3797897eb3331a545c74d937c0ae0aeddf
@@ -1203,7 +1177,7 @@ vendor/lib64/libscveObjectTracker.so|0cf7d3128ae0019d882da5c9d8d9186d549177d1
vendor/lib64/libscveObjectTracker_stub.so|6f45aa215de07dfeacf811c06af750206bb1cf58
# Soter
vendor/app/SoterService/SoterService.apk
-app/SoterService/SoterService.apk
vendor/bin/hw/vendor.qti.hardware.soter@1.0-service
vendor/etc/init/vendor.qti.hardware.soter@1.0-service.rc
vendor/lib64/hw/vendor.qti.hardware.soter@1.0-impl.so
@@ -1212,14 +1186,15 @@ vendor/lib64/vendor.qti.hardware.soter@1.0.so
# Subsystem
vendor/bin/ssr_setup
# Thermal - from barbet 12 S2B2.211203.006-8015633
vendor/lib64/libthermalclient.so|0a12301d1557583db10f730d1d3cced841448b99
# Thermal - from coral-user-12-SQ1A.220105.002-7961164-release-keys
vendor/bin/thermal-engine|01cb7dc998c39016b54089c18921ad7d65b3c675
# ThermalClient
-vendor/lib/libthermalclient.so
-vendor/lib64/libthermalclient.so
# Time - from LA.UM.9.1.r1-13700-SMxxx0.QSSI13.0
vendor/app/TimeService/TimeService.apk|92317b3b72586489456d37057b4c3c8e55863923
-vendor/app/TimeService/TimeService.apk|92317b3b72586489456d37057b4c3c8e55863923
vendor/bin/time_daemon|48401d7f85c87aa3e12ce7b4a969a50cbf59c293
vendor/etc/init/init.time_daemon.rc|b253ca2a498757e14e1d7a051bf504ae09218f51
vendor/lib64/libtime_genoff.so|8bb116ad297a5e4a94da2f10509509cb6e863a5f
@@ -1229,77 +1204,6 @@ vendor/bin/hw/vendor.qti.hardware.tui_comm@1.0-service-qti|15378114c18fd1b1c8f96
vendor/etc/init/vendor.qti.hardware.tui_comm@1.0-service-qti.rc|2cfc563d7e1579374f001c94588fae7835a12ffc
vendor/lib64/vendor.qti.hardware.tui_comm@1.0.so|4ba792ee3234dca4cd7ebbd7b3f9003c800f51b4
# WiFi Display (system) - from dada OS2.0.217.0.WOCMIXM
system/framework/WfdCommon.jar|76fab5ed43206989057284fa26e8b894f1da102f
system_ext/bin/wfdservice64:system_ext/bin/wfdservice|34851904d02d11d3cfebbc7b8745a9444ba3e7c5
system_ext/etc/init/wfdservice.rc|907def8565d8f91f531ca7dfad880af05d540b0c
system_ext/etc/permissions/wfd-system-ext-privapp-permissions-qti.xml|6669d5ee462c981663b8ac573d84d334e4eed96c
system_ext/etc/seccomp_policy/wfdservice64.policy|1e331272649395423b11c575892e0bdc9433b820
system_ext/lib/libmmosal.so|d54f22775394bbe0668f0f40fd310d8b38945405
system_ext/lib/libmmparser_lite.so|82f4efae857bca5a3206e4c2189340e58054164c
system_ext/lib64/libmmosal.so|d46f10b470ecd829c6f2a424566f1cbbc6ebe234
system_ext/lib64/libmmparser_lite.so|924943141df2f070a9c04a614ce43c370b3b222e
system_ext/lib64/libmmrtpdecoder.so|8b143c0b004a2f5ab8d7911dd463de0ceea794e7
system_ext/lib64/libmmrtpencoder.so|eef3f64e6c2892fc0c87e176f5a83f7fe07761d3
system_ext/lib64/libwfdavenhancements.so|8c968c6930e44901ef8c6abd6356f2308600d90e
system_ext/lib64/libwfdclient.so|2d1bf9b010ecfb8532eaf6a12c8bf60f9e8ffe08
system_ext/lib64/libwfdcommonutils.so|3ae375016a9551e51f26710e8b07d20eeef2b76f
system_ext/lib64/libwfdconfigutils.so|4d8200cc4c455f54fcbce927f5cabeb7b591f5d0
system_ext/lib64/libwfddisplayconfig.so|27f5d6e284edf05cc7776e5be010912973000ab9
system_ext/lib64/libwfdmminterface.so|8d3d493fef797aef2feaab4e09e50250ddf5dc9a
system_ext/lib64/libwfdmmsink.so|4569ce9941eb5d06db599146ed80b8a32d7cd97f
system_ext/lib64/libwfdmmsrc_system.so|0cc970954800566baddbf760b153b027940180f5
system_ext/lib64/libwfdnative.so;SYMLINK=system_ext/priv-app/WfdService/lib/arm64/libwfdnative.so|9513bbbd813dd05fb063d3c9e72640a1bc9156c2
system_ext/lib64/libwfdrtsp.so|1ab4fc5b75d25f551df3593d5856e6f7893a4176
system_ext/lib64/libwfdservice.so|af0e31f17ed997a5d8bad64cdad486be28cb9f07
system_ext/lib64/libwfdsinksm.so|cc899b719fa11d844c65908d7fdc18600451324d
system_ext/lib64/libwfduibcinterface.so|432d54b072d8f1c80409b6e11f4f833ca9576937
system_ext/lib64/libwfduibcsink.so|d12b05bbcefdff6addc2c31567a656b7540d7489
system_ext/lib64/libwfduibcsinkinterface.so|a41b4d1fa4307a247b1f059a5b5cdf7f6a645db3
system_ext/lib64/libwfduibcsrc.so|5be7d282be9ab45297bd030f8e37a45f48aa8677
system_ext/lib64/libwfduibcsrcinterface.so|0e32acc87c8518e8ebb44f6ef341a2e278e1e7c2
system_ext/lib64/vendor.qti.hardware.wifidisplaysession@1.0.so|2b2563450ad6a8d46d5648b97f63f87c5d9983ca
system_ext/lib64/vendor.qti.hardware.wifidisplaysession_aidl-V1-ndk.so|58cd9358df40aa16ddf0e603b736c58588623b9e
system_ext/priv-app/WfdService/WfdService.apk|b8a1d9f83804d274fab6e09e0607082801207f60
# WiFi Display (vendor) - from sweet_k6a OS1.0.19.0.THGMIXM
vendor/bin/wfdvndservice|194bb3aef5237f05d0c8fab2c88846147a6cc55a
vendor/bin/wifidisplayhalservice|36bddae1febbee1bb53a80646d17c0fe36199757
vendor/etc/init/android.hardware.drm@1.1-service.wfdhdcp.rc|c266f08783a17f6583e3f22c85e55b0c200442ea
vendor/etc/init/com.qualcomm.qti.wifidisplayhal@1.0-service.rc|576ce4393b7746b77a230745aa9e9ee3bd31b17d
vendor/etc/init/wfdvndservice.rc|42e28fb8e0bf00620d7b9939b5bd3164ca671033
vendor/etc/seccomp_policy/wfdhdcphalservice.policy|23b46af886f3233c2bddff87507ae8d37c31c022
vendor/etc/seccomp_policy/wfdvndservice.policy|b46f0c22a1f9b65c6750205e161c0a3f84ac716b
vendor/etc/seccomp_policy/wifidisplayhalservice.policy|698f46d3a3b89be125e2fe88439c770e5c647037
vendor/etc/wfdconfig.xml|9e13371f7ae509cc0bbb3f2ace93c5ea5d87bf0f
vendor/lib/libFileMux_proprietary.so|b1e2801f2be356ff88bf5d6269ef7f9c655dff67
vendor/lib/libmm-hdcpmgr.so|057fc29807be0f2527c3026d01dff98cfe9018ad
vendor/lib/libmmosal.so;MODULE_SUFFIX=_vendor|6f71fd1d54d6ca8df7d362a72517b082ed412bbe
vendor/lib/libmmrtpdecoder_proprietary.so|d15b2eed6333693d40cd3d96e56873f707e889ff
vendor/lib/libmmrtpencoder_proprietary.so|997e08f2c9bd8ca971105f7afacc886853e2abae
vendor/lib/libwfdcodecv4l2_proprietary.so|871d4ea5842cf46ab4e28b6c245229352090ae0e
vendor/lib/libwfdcommonutils_proprietary.so|585527a3d010a0da02f3995aff3866493fc8bbf4
vendor/lib/libwfdconfigutils_proprietary.so|acaeb47249f02eec08a70c07cd413ddbd5a77b6b
vendor/lib/libwfddisplayconfig_proprietary.so|f24b3956a71df1f9602a0cfd486616e4f79c01bf
vendor/lib/libwfdhdcpcp.so|92ea12f382eb63a96c3dafbecf7d90bf91d5b5e8
vendor/lib/libwfdhdcpservice_proprietary.so|2c0e1cc8f1b601bb5f3ea30261bf18718c81da91
vendor/lib/libwfdmminterface_proprietary.so|afb38905fdc951985357765e830e2a14720ce668
vendor/lib/libwfdmmservice_proprietary.so|3e813eceb99e6c82184fad95a88ac5fe6a877a7d
vendor/lib/libwfdmmsrc_proprietary.so|6897735c19ab2c58671331eb9c060bb3116e2caf
vendor/lib/libwfdmodulehdcpsession.so|11f859b6bc89f3123c0ea3bf7b6cda3700443907
vendor/lib/libwfdrtsp_proprietary.so|86ed13764a23e52b37784019a11ed57c91fbb4cc
vendor/lib/libwfdsessionmodule.so|f61fd1dbf458198cae00a8175d489ae73aab7f7e
vendor/lib/libwfdsourcesession_proprietary.so|1023f7930bd892ae4617719d6c5bc5a1e992f35f
vendor/lib/libwfdsourcesm_proprietary.so|6cf1e24bb6f8c20ecd6a89a2cfe32b8b51554358
vendor/lib/libwfduibcinterface_proprietary.so|6c58302aa9d8b8ff044c6e79ddfb5ef9ce01b57e
vendor/lib/libwfduibcsink_proprietary.so|677bbedf0beed487348d9792cdfe4cde3062d33f
vendor/lib/libwfduibcsinkinterface_proprietary.so|c8b59137820fc3d27d9186b57bbcb8b06bc80299
vendor/lib/libwfduibcsrc_proprietary.so|c89cd0772f8fdea83fec1feae66ca635aa0b563d
vendor/lib/libwfduibcsrcinterface_proprietary.so|826a3a7c9f81e63abe1cf805e6abca2d1e6e0afb
vendor/lib/libwfdutils_proprietary.so|48c3b03eb30c6eec6cf53789393faa0dfb3d5142
vendor/lib/vendor.qti.hardware.wifidisplaysession@1.0.so;MODULE_SUFFIX=_vendor|1c38bab7199c0ebd418749b16dc8e10610eaf17c
vendor/lib/vendor.qti.hardware.wifidisplaysessionl@1.0-halimpl.so|a964ebf868307e4ef84c614154184d9c3afe8c86
# WiFi
vendor/bin/cnss-daemon
vendor/bin/nv_mac

66
reorder-libs.py Normal file
View File

@@ -0,0 +1,66 @@
#!/usr/bin/env python
#
# Copyright (C) 2021 The LineageOS Project
#
# SPDX-License-Identifier: Apache-2.0
#
from functools import cmp_to_key
from locale import LC_ALL, setlocale, strcoll
from pathlib import Path
FILES = [Path(file) for file in [
"proprietary-files.txt",
]]
setlocale(LC_ALL, "C")
def strcoll_extract_utils(string1: str, string2: str) -> int:
# Skip logic if one of the string if empty
if not string1 or not string2:
return strcoll(string1, string2)
# Remove '-' from strings if there,
# it is used to indicate a build target
string1 = string1.removeprefix('-')
string2 = string2.removeprefix('-')
# If no directories, compare normally
if not "/" in string1 and not "/" in string2:
return strcoll(string1, string2)
string1_dir = string1.rsplit("/", 1)[0] + "/"
string2_dir = string2.rsplit("/", 1)[0] + "/"
if string1_dir == string2_dir:
# Same directory, compare normally
return strcoll(string1, string2)
if string1_dir.startswith(string2_dir):
# First string dir is a subdirectory of the second one,
# return string1 > string2
return -1
if string2_dir.startswith(string1_dir):
# Second string dir is a subdirectory of the first one,
# return string2 > string1
return 1
# Compare normally
return strcoll(string1, string2)
for file in FILES:
if not file.is_file():
print(f"File {str(file)} not found")
continue
with open(file, 'r') as f:
sections = f.read().split("\n\n")
ordered_sections = []
for section in sections:
section_list = [line.strip() for line in section.splitlines()]
section_list.sort(key=cmp_to_key(strcoll_extract_utils))
ordered_sections.append("\n".join(section_list))
with open(file, 'w') as f:
f.write("\n\n".join(ordered_sections).strip() + "\n")

View File

@@ -2,8 +2,14 @@ prebuilt_etc {
name: "fstab.qcom",
src: "fstab.qcom",
vendor: true,
ramdisk_available: true,
vendor_ramdisk_available: true,
required: ["fstab.qcom_ramdisk"],
}
prebuilt_etc {
name: "fstab.qcom_ramdisk",
src: "fstab.qcom",
filename_from_src: true,
ramdisk: true,
}
prebuilt_etc {
@@ -16,14 +22,14 @@ prebuilt_etc {
name: "init.power.rc",
src: "init.power.rc",
vendor: true,
relative_install_path: "init/hw",
sub_dir: "init/hw",
}
prebuilt_etc {
name: "init.qcom.rc",
src: "init.qcom.rc",
vendor: true,
relative_install_path: "init/hw",
sub_dir: "init/hw",
}
prebuilt_etc {
@@ -32,23 +38,10 @@ prebuilt_etc {
vendor: true,
}
prebuilt_etc {
name: "init.qcom.usb.rc",
src: "init.qcom.usb.rc",
vendor: true,
relative_install_path: "init/hw",
}
sh_binary {
name: "init.qcom.usb.sh",
src: "init.qcom.usb.sh",
vendor: true,
}
prebuilt_etc {
name: "init.recovery.qcom.rc",
src: "init.recovery.qcom.rc",
relative_install_path: "init",
sub_dir: "init",
recovery: true,
}
@@ -56,14 +49,14 @@ prebuilt_etc {
name: "init.target.rc",
src: "init.target.rc",
vendor: true,
relative_install_path: "init/hw",
sub_dir: "init/hw",
}
prebuilt_etc {
name: "init.xiaomi.rc",
src: "init.xiaomi.rc",
vendor: true,
relative_install_path: "init/hw",
sub_dir: "init/hw",
}
prebuilt_etc {
@@ -71,4 +64,4 @@ prebuilt_etc {
filename: "ueventd.rc",
src: "ueventd.qcom.rc",
vendor: true,
}
}

View File

@@ -33,18 +33,23 @@
# Currently we dont have e2fsck compiled. So fs check would failed.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
system /system ext4 ro,barrier=1 wait,logical,first_stage_mount
system /system erofs ro wait,logical,first_stage_mount
vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount
vendor /vendor erofs ro wait,logical,first_stage_mount
system_ext /system_ext erofs ro wait,logical,first_stage_mount
product /product erofs ro wait,logical,first_stage_mount
odm /odm erofs ro wait,logical,first_stage_mount
system_ext /system_ext ext4 ro,barrier=1,discard wait,logical,first_stage_mount
system_ext /system_ext erofs ro wait,logical,first_stage_mount
product /product ext4 ro,barrier=1,discard wait,logical,first_stage_mount
product /product erofs ro wait,logical,first_stage_mount
odm /odm ext4 ro,barrier=1,discard wait,logical,first_stage_mount
odm /odm erofs ro wait,logical,first_stage_mount
/dev/block/by-name/vbmeta /vbmeta emmc defaults first_stage_mount
/dev/block/bootdevice/by-name/cache /cache ext4 nosuid,noatime,nodev,barrier=1 wait
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,formattable,check,first_stage_mount
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,background_gc=sync,reserve_root=32768,resgid=1065,fsync_mode=strict,gc_merge,atgc,checkpoint_merge,compress_algorithm=lz4,compress_extension=apk,compress_extension=apex,compress_extension=so latemount,wait,check,formattable,fscompress,quota,reservedsize=128M
/dev/block/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard,data=journal,commit=1 wait,formattable,check,first_stage_mount
/dev/block/bootdevice/by-name/userdata /data f2fs noatime,nosuid,nodev,discard,background_gc=sync,reserve_root=32768,resgid=1065,fsync_mode=strict,inlinecrypt,gc_merge,atgc,checkpoint_merge,compress_algorithm=lz4,compress_extension=apk,compress_extension=apex,compress_extension=so latemount,wait,check,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,keydirectory=/metadata/vold/metadata_encryption,fscompress,quota,reservedsize=128M
/dev/block/bootdevice/by-name/modem /vendor/firmware_mnt vfat ro,shortname=lower,uid=0,gid=1000,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/dev/block/bootdevice/by-name/dsp /vendor/dsp ext4 ro,nosuid,nodev,barrier=1 wait
/dev/block/bootdevice/by-name/persist /mnt/vendor/persist ext4 noatime,nosuid,nodev,barrier=1 wait

View File

@@ -1,4 +1,4 @@
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/zram0 none swap defaults zramsize=2147483648,zram_backingdev_size=512M
/dev/block/zram0 none swap defaults zramsize=2147483648,max_comp_streams=8,zram_backingdev_size=512M

View File

@@ -124,18 +124,3 @@ on property:vendor.setup.power=1
on boot
# Enable suspend to idle mode to reduce latency during suspend/resume
write /sys/power/mem_sleep "s2idle"
# Thermal HAL needed
on enable-thermal-hal
# Permission
chown root system /dev/thermal/cdev-by-name/battery/cur_state
chmod 660 /dev/thermal/cdev-by-name/battery/cur_state
# Enable State of Charge (SOC)
write /dev/thermal/tz-by-name/soc/mode "enabled"
on charger
start vendor.thermal.symlinks
start vendor.thermal-engine
trigger enable-thermal-hal

View File

@@ -140,6 +140,9 @@ on boot
mkdir /mnt/vendor/persist/iar_db 0770 system system
mkdir /mnt/vendor/spunvm 0770 system system
#Create WIGIG socket area
mkdir /dev/socket/wigig 0770 wifi wifi
setprop wifi.interface wlan0
#Remove SUID bit for iproute2 ip tool
@@ -209,7 +212,7 @@ on boot
enable vendor.dataqti
enable vendor.dataadpl
stop console
setprop init.svc.console stopped
# CSC DC Dimming
chown system system /sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim
@@ -273,9 +276,13 @@ on post-fs-data
mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi
mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi
mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
# Create the directories used by WiGig Sensing
mkdir /data/vendor/sensing 0770 system wifi
# Create the directories used by CnE subsystem
mkdir /data/vendor/connectivity 0771 radio radio
chown radio radio /data/vendor/connectivity
@@ -467,6 +474,28 @@ service qmiproxy /system/bin/qmiproxy
group radio diag
disabled
service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
-iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
-m/data/vendor/wifi/wigig_p2p_supplicant.conf \
-O/data/vendor/wifi/wigig_sockets -dd \
-e/data/vendor/wifi/wigig_entropy.bin -g@android:wigig/wpa_wigig0 \
-S wigigsvc
# we will start as root and wpa_supplicant will switch to user wifi
# after setting up the capabilities required for WEXT
# user wifi
# group wifi inet keystore
class main
socket wigig/wpa_wigig0 dgram 660 wifi wifi
disabled
oneshot
service vendor.sensingdaemon /vendor/bin/sensingdaemon
class hal
socket wigig/sensingdaemon stream 660 system wifi
user system
group wifi
disabled
service ptt_socket_app /system/vendor/bin/ptt_socket_app -d
class main
user wifi
@@ -686,9 +715,7 @@ service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.service
user audioserver
# media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock context_hub system
capabilities BLOCK_SUSPEND SYS_NICE
# setting RLIMIT_RTPRIO allows binder RT priority inheritance
rlimit rtprio 10 10
capabilities BLOCK_SUSPEND
ioprio rt 4
task_profiles ProcessCapacityHigh HighPerformance
socket audio_hw_socket seqpacket 0666 system system
@@ -704,14 +731,5 @@ service vendor.hwcomposer-2-4 /vendor/bin/hw/android.hardware.graphics.composer@
task_profiles ServiceCapacityLow
socket pps stream 0660 system system
service vendor.sensors-hal-1-0 /vendor/bin/hw/android.hardware.sensors@1.0-service
interface android.hardware.sensors@1.0::ISensors default
class hal
user system
group system wakelock uhid context_hub input
task_profiles ServiceCapacityLow
capabilities BLOCK_SUSPEND
rlimit rtprio 10 10
on boot && property:persist.sys.usb.config=*
setprop sys.usb.config ${persist.sys.usb.config}

View File

@@ -67,16 +67,6 @@ on init
write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/up_rate_limit_us 500
write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/down_rate_limit_us 20000
# Boot time uclamp tuning
write /dev/cpuctl/top-app/cpu.uclamp.min 15
write /dev/cpuctl/foreground/cpu.uclamp.min 15
write /dev/cpuctl/system/cpu.uclamp.min 15
write /dev/cpuctl/nnapi-hal/cpu.uclamp_min 50
# RT uclamp setting
setprop kernel.sched_util_clamp_min_rt_default 0
write /proc/sys/kernel/sched_util_clamp_min_rt_default 0
# Migrate cpuctl tasks once to cpuctl system
copy_per_line /dev/cpuctl/tasks /dev/cpuctl/system/tasks
@@ -170,15 +160,33 @@ on property:sys.boot_completed=1
# STOP EATING MY BATTERY AFTER 100H OF UPTIME FUCK YOU
stop statsd
# Setup final cpu.uclamp.min
#top-app
write /dev/cpuctl/top-app/cpu.uclamp.max max
write /dev/cpuctl/top-app/cpu.uclamp.min 0
write /dev/cpuctl/foreground/cpu.uclamp.min 10
write /dev/cpuctl/system/cpu.uclamp.min 0
write /dev/cpuctl/top-app/cpu.uclamp.latency_sensitive 1
# Set uclamp.max for some groups, which could indicate cpu importance used in scheduling
write /dev/cpuctl/background/cpu.uclamp.min 20
write /dev/cpuctl/system-background/cpu.uclamp.max 40
write /dev/cpuctl/dex2oat/cpu.uclamp.max 60
#foreground
write /dev/cpuctl/foreground/cpu.uclamp.max 80
write /dev/cpuctl/foreground/cpu.uclamp.min 0
write /dev/cpuctl/foreground/cpu.uclamp.latency_sensitive 0
#background
write /dev/cpuctl/background/cpu.uclamp.max 50
write /dev/cpuctl/background/cpu.uclamp.min 0
write /dev/cpuctl/background/cpu.uclamp.latency_sensitive 0
#system-background
write /dev/cpuctl/system-background/cpu.uclamp.max 60
write /dev/cpuctl/system-background/cpu.uclamp.min 0
write /dev/cpuctl/system-background/cpu.uclamp.latency_sensitive 0
#nnapi-hal
write /dev/cpuctl/nnapi-hal/cpu.uclamp.max max
write /dev/cpuctl/nnapi-hal/cpu.uclamp.min 75
write /dev/cpuctl/nnapi-hal/cpu.uclamp.latency_sensitive 1
#camera-daemon
write /dev/cpuctl/camera-daemon/cpu.uclamp.max max
write /dev/cpuctl/camera-daemon/cpu.uclamp.min 50
write /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive 1
@@ -212,7 +220,7 @@ on property:sys.boot_completed=1
# Setup runtime cpusets
write /dev/cpuset/top-app/cpus 0-7
write /dev/cpuset/foreground/cpus 0-6
write /dev/cpuset/foreground/cpus 0-3,5-6
write /dev/cpuset/background/cpus 0-1
write /dev/cpuset/system-background/cpus 0-2
write /dev/cpuset/restricted/cpus 0-3
@@ -259,7 +267,6 @@ service vendor.per_proxy /vendor/bin/pm-proxy
on charger
start vendor.power_off_alarm
setprop sys.usb.controller a600000.dwc3
setprop sys.usb.configfs 1
service vendor.spdaemon /vendor/bin/spdaemon
class core
@@ -276,10 +283,6 @@ service vendor.thermal-engine /vendor/bin/thermal-engine -c /vendor/etc/thermal-
class main
user root
group root
socket thermal-send-client stream 0666 system system
socket thermal-recv-client stream 0660 system system
socket thermal-recv-passive-client stream 0666 system system
socket thermal-send-rule stream 0660 system system
service vendor.lowi /vendor/bin/sscrpcd
class core

View File

@@ -311,6 +311,14 @@ firmware_directories /vendor/firmware_mnt/image/
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/wlan0/queues/rx-* rps_cpus 0660 system system
/sys/devices/soc/600000.qcom,pcie/pci0000:00/0000:00:00.0/0000:01:00.0/net/p2p0/queues/rx-* rps_cpus 0660 system system
# wigig
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/fst_link_loss 0660 wifi wifi
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/thermal_throttling 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/wil6210/snr_thresh 0660 wifi wifi
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/queues/rx-0/rps_cpus 0660 system system
/sys/bus/pci/drivers/wil6210* 0000:01:00.0/net/wigig0/gro_flush_timeout 0660 system system
/sys/devices/virtual/net/bond0 queues/rx-0/rps_cpus 0660 system system
#nfc permissions
/dev/nfc-nci 0660 nfc nfc
/dev/nq-nci 0660 nfc nfc
@@ -493,9 +501,3 @@ firmware_directories /vendor/firmware_mnt/image/
# Battery
/sys/class/power_supply/battery input_suspend 0660 system system
=======
# Torch control
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_0 brightness 0660 cameraserver camera
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:torch_1 brightness 0660 cameraserver camera
/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-05/c440000.qcom,spmi:qcom,pm8150l@5:qcom,leds@d300/leds/led:switch_2 brightness 0660 cameraserver camera

View File

@@ -3,12 +3,9 @@
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.carrierconfig.raphael"
android:versionCode="1"
android:versionName="1.0">
<application android:hasCode="false" android:allowBackup="false"/>
<overlay
android:targetPackage="com.android.carrierconfig"
android:isStatic="true"
android:priority="900"/>
package="com.android.carrierconfig.overlay.raphael">
<application android:allowBackup="false"/>
<overlay android:targetPackage="com.android.carrierconfig"
android:isStatic="true"
android:priority="100"/>
</manifest>

View File

@@ -1554,6 +1554,9 @@
<boolean name="allow_hold_video_call_bool" value="false" />
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
<boolean name="carrier_video_crs_supported_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
</carrier_config>
@@ -1622,6 +1625,9 @@
<item value="0201008616" />
</string-array>
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="carrier_data_channel_supported_bool" value="true" />
@@ -1671,6 +1677,9 @@
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
<boolean name="disable_filter_out_conference_host" value="true" />
<boolean name="support_video_conference_call_bool" value="false" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="carrier_video_crs_supported_bool" value="true" />
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
@@ -1742,6 +1751,9 @@
<item value="0201008616" />
</string-array>
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="carrier_data_channel_supported_bool" value="true" />
@@ -1877,6 +1889,9 @@
<item value="0201008616" />
</string-array>
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="carrier_data_channel_supported_bool" value="true" />
@@ -1943,6 +1958,9 @@
<item value="0201008616" />
</string-array>
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="carrier_data_channel_supported_bool" value="true" />
@@ -1982,6 +2000,9 @@
<boolean name="allow_hold_video_call_bool" value="false" />
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
<boolean name="carrier_video_crs_supported_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
</carrier_config>
@@ -2041,6 +2062,9 @@
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
<boolean name="disable_filter_out_conference_host" value="true" />
<boolean name="support_video_conference_call_bool" value="false" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="carrier_video_crs_supported_bool" value="true" />
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
@@ -2152,6 +2176,9 @@
<item value="0201008616" />
</string-array>
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="carrier_data_channel_supported_bool" value="true" />
@@ -2218,6 +2245,9 @@
<boolean name="carrier_allow_transfer_ims_call_bool" value="false" />
<boolean name="carrier_video_crs_supported_bool" value="true" />
<boolean name="carrier_support_send_media_configs_to_radio_layer_bool" value="true" />
<int-array name="carrier_nr_availabilities_int_array" num="1">
<item value="1" />
</int-array>
<boolean name="allow_hold_call_during_emergency_bool" value="false" />
<boolean name="vonr_enabled_bool" value="true" />
<boolean name="vonr_setting_visibility_bool" value="false" />

View File

@@ -0,0 +1,5 @@
runtime_resource_overlay {
name: "DeviceAsWebcamRaphael",
product_specific: true,
sdk_version: "current"
}

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 2024, YAAP
**
** 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.
*/
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.DeviceAsWebcam.overlay.raphael"
android:versionCode="1"
android:versionName="1.0">
<overlay android:targetPackage="com.android.DeviceAsWebcam" android:priority="880" android:isStatic="true" />
</manifest>

View File

@@ -0,0 +1,6 @@
[
"/dev/video0",
"/dev/video2",
"/dev/video32",
"/dev/video33"
]

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2024 YAAP
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.
-->
<resources>
<!-- Whether hardware video encoding is supported. default: true -->
<bool name="config_HardwareVideoEncode" translatable="false">false</bool>
<!-- Whether to default to HQ mode. default: false -->
<bool name="config_HighQualityVideoDefault" translatable="false">true</bool>
</resources>

View File

@@ -10,6 +10,6 @@
<application android:allowBackup="false"/>
<overlay
android:isStatic="true"
android:priority="900"
android:priority="750"
android:targetPackage="org.pixelexperience.faceunlock" />
</manifest>

View File

@@ -10,6 +10,6 @@
<application android:allowBackup="false"/>
<overlay
android:isStatic="true"
android:priority="900"
android:priority="750"
android:targetPackage="android" />
</manifest>

View File

@@ -250,6 +250,30 @@
device does not support hardware scan filters-->
<integer translatable="false" name="config_bluetooth_max_scan_filters">1</integer>
<!-- This string array should be overridden by the device to present a list of network
attributes. This is used by the connectivity manager to decide which networks can coexist
based on the hardware -->
<!-- An Array of "[Connection name],[ConnectivityManager.TYPE_xxxx],
[associated radio-type],[priority],[restoral-timer(ms)],[dependencyMet] -->
<!-- the 5th element "resore-time" indicates the number of milliseconds to delay
before automatically restore the default connection. Set -1 if the connection
does not require auto-restore. -->
<!-- the 6th element indicates boot-time dependency-met value. -->
<string-array translatable="false" name="networkAttributes">
<item>wifi,1,1,1,-1,true</item>
<item>mobile,0,0,0,-1,true</item>
<item>mobile_mms,2,0,4,60000,true</item>
<item>mobile_supl,3,0,2,60000,true</item>
<item>mobile_dun,4,0,2,60000,true</item>
<item>mobile_hipri,5,0,3,60000,true</item>
<item>mobile_fota,10,0,2,60000,true</item>
<item>mobile_ims,11,0,2,60000,true</item>
<item>mobile_cbs,12,0,2,60000,true</item>
<item>bluetooth,7,7,2,-1,true</item>
<item>mobile_emergency,15,0,5,-1,true</item>
<item>ethernet,9,9,9,-1,true</item>
</string-array>
<!-- This string array should be overridden by the device to present a list of radio
attributes. This is used by the connectivity manager to decide which networks can coexist
based on the hardware -->
@@ -395,6 +419,8 @@
<!--
<bool name="config_radio_reset_on_regular_deactivation">false</bool>
-->
<!-- Flag indicating if the speed up audio on mt call code should be executed -->
<bool name="config_speed_up_audio_on_mt_calls">true</bool>
<!-- Whether camera shutter sound is forced or not (country specific). -->
<bool name="config_camera_sound_forced">false</bool>
@@ -429,28 +455,27 @@
<!-- Default list of files pinned by the Pinner Service -->
<string-array translatable="false" name="config_defaultPinnerServiceFiles">
<item>"/apex/com.android.art/javalib/core-oj.jar"</item>
<item>"/apex/com.android.art/javalib/core-libart.jar"</item>
<item>"/system/lib64/libEGL.so"</item>
<item>"/system/bin/surfaceflinger"</item>
<item>"/system/framework/framework.jar"</item>
<item>"/system/framework/services.jar"</item>
<item>"/system/lib64/libEGL.so"</item>
<item>"/system/lib64/libGLESv2.so"</item>
<item>"/system/lib64/libhwui.so"</item>
<item>"/system/system_ext/priv-app/SystemUIGoogle/SystemUIGoogle.apk"</item>
<item>"/vendor/lib64/egl/libEGL_adreno.so"</item>
<item>"/vendor/lib64/egl/libGLESv2_adreno.so"</item>
<item>"/vendor/lib64/libCB.so"</item>
<item>"/vendor/lib64/libgsl.so"</item>
<item>"/vendor/lib64/libllvm-glnext.so"</item>
<item>"/vendor/lib64/libllvm-qcom.so"</item>
<item>"/vendor/lib64/hw/fingerprint.goodix_fod.msmnile.so"</item>
<item>"/system/framework/framework.jar"</item>
<item>"/system/framework/services.jar"</item>
<item>"/system/bin/surfaceflinger"</item>
<item>"/system_ext/priv-app/SystemUI/SystemUI.apk"</item>
<item>"/vendor/lib64/libllvm-qgl.so"</item>
<item>"/vendor/lib64/hw/fingerprint.goodix_fod.msmnile.so"</item>
<item>"/apex/com.android.art/javalib/core-oj.jar"</item>
<item>"/apex/com.android.art/javalib/core-libart.jar"</item>
</string-array>
<!-- Bytes that the PinnerService will pin for Home app -->
<integer name="config_pinnerHomePinBytes">6291456</integer>
<!-- Bytes that the PinnerService will pin for WebView -->
<integer name="config_pinnerWebviewPinBytes">20971520</integer>
<!-- Should the pinner service pin the Home application? -->
<bool name="config_pinnerHomeApp">true</bool>
<!-- Maximum number of supported users -->
<integer name="config_multiuserMaximumUsers">4</integer>
@@ -486,6 +511,14 @@
empty string is passed in -->
<string name="config_wlan_network_service_package">vendor.qti.iwlan</string>
<!-- List of biometric sensors on the device, in decreasing strength. Consumed by AuthService
when registering authenticators with BiometricService. Format must be ID:Modality:Strength,
where: IDs are unique per device, Modality as defined in BiometricAuthenticator.java,
and Strength as defined in Authenticators.java -->
<string-array name="config_biometric_sensors" translatable="false" >
<item>0:2:15</item> <!-- ID0:Fingerprint:Strong -->
</string-array>
<!-- If this is true, device supports Sustained Performance Mode. -->
<bool name="config_sustainedPerformanceModeSupported">true</bool>
@@ -564,6 +597,13 @@
rotations as the default behavior. -->
<bool name="config_allowAllRotations">true</bool>
<!-- The properties of a UDFPS sensor in pixels, in the order listed below: -->
<integer-array name="config_udfps_sensor_props" translatable="false" >
<item>540</item> <!-- <item>sensorLocationX</item> -->
<item>2026</item> <!-- <item>sensorLocationY</item> -->
<item>95</item> <!-- <item>sensorRadius</item> -->
</integer-array>
<!-- How long it takes for the HW to start illuminating after the illumination is requested. -->
<integer name="config_udfps_illumination_transition_ms">0</integer>
@@ -576,6 +616,14 @@
<!-- the number of the max cached processes in the system. -->
<integer name="config_customizedMaxCachedProcesses">64</integer>
<!-- The default refresh rate. Raphael manages this using the peak refresh rate setting, so set
this value to 0 so it has no effect. -->
<integer name="config_defaultRefreshRate">0</integer>
<!-- The default peak refresh rate for a given device. Change this value if you want to allow
for higher refresh rates to be automatically used out of the box -->
<integer name="config_defaultPeakRefreshRate">90</integer>
<!-- Enable Zram writeback feature to allow unused pages in zram be written to flash. -->
<bool name="config_zramWriteback">true</bool>
@@ -600,26 +648,6 @@
<!-- Type of the tap sensor. Empty if tap is not supported. -->
<string name="config_dozeTapSensorType" translatable="false">org.lineageos.sensor.single_tap</string>
<!-- Auto-brightness sensor type string -->
<string name="config_displayLightSensorType">"android.sensor.light"</string>
<!-- Whether device supports increased touch sensitvity -->
<!-- Whether device supports increased touch sensitvity -->
<bool name="config_supportGloveMode">true</bool>
<!-- Whether the new Auto Selection Network UI should be shown -->
<bool name="config_enableNewAutoSelectNetworkUI">true</bool>
<!-- Number of physical SIM slots on the device. This includes both eSIM and pSIM slots, and
is not necessarily the same as the number of phones/logical modems supported by the device.
For example, a multi-sim device can have 2 phones/logical modems, but 3 physical slots,
or a single SIM device can have 1 phones/logical modems, but 2 physical slots (one eSIM
and one pSIM) -->
<integer name="config_num_physical_slots">2</integer>
<!-- Whether to enable fp unlock when screen turns off on udfps devices -->
<bool name="config_screen_off_udfps_enabled">true</bool>
<!-- Default value for fp screen off unlock toggle, it only works for the devices that support
fp screen off unlock-->
<bool name="config_screen_off_udfps_default_on">true</bool>
</resources>

View File

@@ -50,10 +50,4 @@
<!-- Defines the sysfs attribute path used by the device
to enable/disable DC dimming. -->
<string name="config_deviceDcDimmingSysfsNode">/sys/devices/platform/soc/soc:qcom,dsi-display-primary/dc_dim</string>
<!-- PowerOffAlarmService -->
<bool name="config_powerOffAlarmEnabled">true</bool>
<!-- Whether the device supports Smart Pixels -->
<bool name="config_supportSmartPixels">true</bool>
</resources>

View File

@@ -1,10 +0,0 @@
//
// Copyright (C) 2024 The LineageOS Project
//
// SPDX-License-Identifier: Apache-2.0
//
runtime_resource_overlay {
name: "NfcResOverlayRaphael",
product_specific: true,
}

View File

@@ -1,12 +0,0 @@
<!--
Copyright (C) 2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.nfc.overlay.raphael">
<overlay
android:targetPackage="com.android.nfc"
android:targetName="NfcCustomization"
android:isStatic="true"
android:priority="900"/>
</manifest>

View File

@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2024 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- List of SKUs where Secure NFC functionality is supported -->
<string-array name="config_skuSupportsSecureNfc" translatable="false">
<item>nfc</item>
</string-array>
<bool name="enable_secure_nfc_support">true</bool>
</resources>

View File

@@ -10,6 +10,6 @@
<application android:allowBackup="false"/>
<overlay
android:isStatic="true"
android:priority="900"
android:priority="750"
android:targetPackage="com.android.settings" />
</manifest>

View File

@@ -43,6 +43,12 @@
<!-- Whether to show the Preference for Adaptive connectivity -->
<bool name="config_show_adaptive_connectivity">false</bool>
<!-- Whether to show peak refresh rate in display settings -->
<bool name="config_show_peak_refresh_rate_switch">true</bool>
<!-- Whether to show min refresh rate in display settings -->
<bool name="config_show_min_refresh_rate_switch">true</bool>
<!-- Whether device supports increased touch sensitvity -->
<bool name="config_show_touch_sensitivity">true</bool>

View File

@@ -10,6 +10,6 @@
<application android:allowBackup="false"/>
<overlay
android:isStatic="true"
android:priority="900"
android:priority="750"
android:targetPackage="com.android.systemui" />
</manifest>

View File

@@ -39,9 +39,6 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
low powered state yet. -->
<bool name="doze_single_tap_uses_prox">false</bool>
<!-- Whether usage of the proximity sensor during doze is supported -->
<bool name="doze_proximity_sensor_supported">false</bool>
<!-- Doze: whether the long press sensor uses the proximity sensor.
If both this parameter and doze_selectively_register_prox are true, registration for the
sensor will be delayed when the device first enters dozing but the device has not entered its
@@ -66,7 +63,4 @@ IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<!-- Should we vibrate on an icon animation of the shelf. This should only be active if the
vibrator is capable of subtle vibrations -->
<bool name="config_vibrateOnIconAnimation">true</bool>
<!-- Pixel pitch of the device. um/px -->
<item name="pixel_pitch" format="float" type="dimen">63.1</item>
</resources>

View File

@@ -18,18 +18,24 @@
<!-- Color of the UDFPS pressed view -->
<color name="config_udfpsColor">#00ffffff</color>
<!-- Preferred max refresh rate at AOD & Ambient Display, if supported by the display. -->
<integer name="config_aodMaxRefreshRate">60</integer>
<!-- Preferred refresh rate at keyguard, if supported by the display -->
<integer name="config_keyguardRefreshRate">60</integer>
<!-- Preferred max refresh rate at keyguard, if supported by the display. -->
<integer name="config_keyguardMaxRefreshRate">60</integer>
<!-- Whether to find optimal display refresh rate when using udfps -->
<bool name="config_udfpsOptimalRefreshRate">false</bool>
<!-- Update battery info every second when device is charging -->
<bool name="config_alternateFastchargeInfoUpdate">true</bool>
<!-- Whether show refresh rate QS tile -->
<bool name="config_showRefreshRateQsTile">true</bool>
<!-- FPSInfoService FPS node file path -->
<string name="config_fpsInfoSysNode" translatable="false">/sys/class/drm/sde-crtc-0/measured_fps</string>
<!-- Whether to disable Smart Pixels on UDFPS -->
<bool name="config_disableSmartPixelsOnUDFPS">true</bool>
<!-- Show 5G toggle in internet dialog when available -->
<bool name="config_supportsVONR">false</bool>
<!-- The CPU temperature divider, if needed -->
<integer name="config_cpuTempDivider" translatable="false">1000</integer>
</resources>

View File

@@ -10,6 +10,6 @@
<application android:allowBackup="false"/>
<overlay
android:isStatic="true"
android:priority="900"
android:priority="550"
android:targetPackage="com.android.phone" />
</manifest>

View File

@@ -29,7 +29,7 @@
<string name="config_ims_mmtel_package" translatable="false">org.codeaurora.ims</string>
<!-- String indicating the package name of the device ImsService implementation for RCS. -->
<string name="config_ims_rcs_package" translatable="false">vendor.qti.imsrcs</string>
<string name="config_ims_rcs_package" translatable="false">org.codeaurora.ims</string>
<!-- Package name for the call-based number verification app -->
<string name="platform_number_verification_package" translatable="false">com.google.android.gms</string>

View File

@@ -18,5 +18,5 @@ runtime_resource_overlay {
name: "TetheringConfigOverlay",
theme: "TetheringConfigOverlay",
sdk_version: "current",
product_specific: true,
product_specific: true
}

View File

@@ -7,5 +7,5 @@
android:targetPackage="com.android.networkstack.tethering"
android:targetName="TetheringConfig"
android:isStatic="true"
android:priority="900"/>
android:priority="750"/>
</manifest>

View File

@@ -2,5 +2,5 @@ runtime_resource_overlay {
name: "WifiOverlay",
theme: "WifiOverlay",
sdk_version: "current",
vendor: true
product_specific: true
}

View File

@@ -83,8 +83,4 @@
<!-- Boolean indicating that wifi only link configuratios that have exact same credentials (i.e PSK) -->
<bool translatable="false" name="config_wifi_only_link_same_credential_configurations">false</bool>
<!-- Enable concurrent restricted connectivity + internet connectivity
Note: this is conditional on the device supporting dual concurrent STAs. -->
<bool translatable="false" name="config_wifiMultiStaRestrictedConcurrencyEnabled">true</bool>
</resources>

View File

@@ -1,3 +1 @@
user=system seinfo=platform name=org.lineageos.settings domain=xiaomiparts_app type=system_app_data_file
user=bluetooth seinfo=default name=com.android.bluetooth domain=bluetooth type=bluetooth_data_file levelFrom=all isPrivApp=true

View File

@@ -1,6 +1,9 @@
get_prop({ appdomain -isolated_app_all }, vendor_fp_prop)
get_prop({ appdomain -isolated_app_all }, vendor_tee_listener_prop)
dontaudit appdomain sysfs_msm_subsys:dir search;
dontaudit appdomain sysfs_msm_subsys:file r_file_perms;
allow { appdomain -isolated_app_all } adsprpcd_file:dir r_dir_perms;
allow { appdomain -isolated_app_all } public_adsprpcd_file:file r_file_perms;
allow { appdomain -isolated_app_all } vendor_xdsp_device:chr_file r_file_perms;

View File

@@ -1,4 +0,0 @@
# HALs
attribute hal_dms;
attribute hal_dms_client;
attribute hal_dms_server;

2
sepolicy/vendor/bootanim.te vendored Normal file
View File

@@ -0,0 +1,2 @@
dontaudit bootanim sysfs_msm_subsys:dir search;
dontaudit bootanim sysfs_msm_subsys:file r_file_perms;

View File

@@ -1,2 +0,0 @@
allow cameraserver sysfs_torch:file rw_file_perms;
allow cameraserver sysfs_leds:dir r_dir_perms;

View File

@@ -1,5 +1,4 @@
dontaudit untrusted_app ashmem_device:chr_file open;
dontaudit vendor_thermal-engine self:capability dac_override;
dontaudit {
hal_audio_default

View File

@@ -18,9 +18,6 @@ type sysfs_msm_boot, fs_type, sysfs_type;
type sysfs_touchpanel, fs_type, sysfs_type;
type pps_socket, file_type;
# Torch
type sysfs_torch, fs_type, sysfs_type;
# Powerstats
type sysfs_power_stats, fs_type, sysfs_type;
type sysfs_power_stats_ignore, sysfs_type, fs_type;

Some files were not shown because too many files have changed in this diff Show More